Skip to the content
PCBKitNew board
2 layers40.3 × 39.7 mmPower circuit new, the printed circuit board in 3D

This repository contains the embedded firmware, circuit schematics, simulation models, and validation benchmarks for the Long Range Telemetry Module (Phase-I) designed for high-altitude drone and UAV/CanSat payload…

Size
40.3 × 39.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
32
Nets
69
Pads
166
Tracks, vias
432, 15
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
23 Jan 2026
Updated
12 Oct 2026

Overview

Power circuit new is an open-source printed circuit board by Omkar1464, from the Omkar1464/Telemetry-Module-using-CDMA-Modulation repository on GitHub. It is a 2-layer board of 40.3 × 39.7 mm with 32 parts on 69 nets, routed with 432 tracks and 15 vias.

It is built around the STM32G071RBT6, MCP1640-I/MC and MT3608, with the SS14 among its other parts. Its parts include 11 capacitors, 6 resistors, 4 ICs, 2 inductors and 1 diode. It belongs with the STM32 boards of this library.

Main components

4

README

README.md

Long Range Telemetry Module (Phase-I)

SVNIT Surat Platform Carrier Frequency Baseband

B.Tech Phase-I Project Report & Codebase
Department of Electronics Engineering, Sardar Vallabhbhai National Institute of Technology (SVNIT), Surat
Academic Year: 2025–26 | Project Group: G60
Project Guide: Dr. Suresh Dahiya (Assistant Professor, DoECE)
Authors: Moksha Parikh (U23EC001), Ridham Chaudhary (U23EC030), Omkar Sinh (U23EC048)


📌 Overview

This repository contains the embedded firmware, circuit schematics, simulation models, and validation benchmarks for the Long Range Telemetry Module (Phase-I) designed for high-altitude drone and UAV/CanSat payload communication.

Operating under the severe resource constraints of an 8-bit ATmega328P microcontroller (16 MHz clock, 2 KB SRAM), the system implements a Direct Sequence Spread Spectrum (DSSS) / Code Division Multiple Access (CDMA) baseband transmitter alongside a discrete 433 MHz RF front-end architecture.

Key Capabilities

  • Dual-Channel CDMA Modulation:
    • In-Phase (I) Channel: Carries GPS navigation data ($f_d = 100\text{ Hz}$) spread by a 1000-chip PRN sequence ($N = 1000$, theoretical processing gain $G_p = 30\text{ dB}$).
    • Quadrature (Q) Channel: Carries high-rate environmental telemetry ($f_d = 10\text{ kHz}$) spread by a 10-chip sequence ($N = 10$).
  • Cycle-Accurate 100 kHz Baseband Chip Rate: $10.0\ \mu\text{s}$ per chip generated through Direct Port Manipulation (DPM), interrupt jitter elimination, and deterministic cycle calibration.
  • RF Front-End Design & Simulation: Colpitts Local Oscillator (MPSH10 BJT) and dual-gate MOSFET (BF998) mixer stage simulated in NI Multisim and laid out on a custom 2-layer mixed-signal PCB in KiCad.

🏗️ System Architecture

text
                       +------------------------------+
                       |      2.5V - 3V Battery       |
                       +--------------+---------------+
                                      |
                            [DC-DC Boost Converter]
                                      |
                 +--------------------+--------------------+
                 | (3.3V / 5V Logic)                       | (Vcc RF)
                 v                                         v
+------------------------------------+    +----------------------------------+
|           Sensors & Inputs         |    |        Discrete RF Chain         |
| - u-blox NEO-6M GPS (UART @ 9600)  |    | - MPSH10 Colpitts LO (~358 MHz)  |
| - SHT-40 Humidity & Temp (I2C)     |    | - Dual BF998 MOSFET Mixers       |
| - PT1000-S Platinum RTD (I2C)      |    | - SAW Filter FL1 (433.92 MHz)    |
| - On-board NTC Thermistor (ADC)    |    | - RD01MUS2B RF Power Amplifier   |
+-----------------+------------------+    | - Pi-Matching Network & SMA Port |
                  |                        +-----------------+----------------+
                  v                                          ^
+------------------------------------+                       |
|       ATmega328P Controller        |                       |
| - LFSR PRN Generator (10-bit)      |                       |
| - 8x Bit-Packed Memory Storage     |                       |
| - Single-Cycle Port Writes (DPM)   |                       |
+--------+--------------------+------+                       |
         | (Dout-1: I-Chan)   | (Dout-2: Q-Chan)             |
         +--------------------+------------------------------+

📂 Repository File Structure

Folder / FileDescription
GPS-Neo6M/Arduino firmware for NEO-6M GPS NMEA sentence extraction, checksum validation, and coordinate parsing using TinyGPS++.
I_trail/ & I_trial1/Baseband firmware implementation for the I-Channel (1000-chip LFSR generation, bit-packing, cycle-accurate delay loops).
Q_trail/Baseband firmware implementation for the Q-Channel (10-chip array spreading code, corrected timing loops).
task1/ & task2/Firmware test suites, sensor serialization routines, and hardware debugging logs.
BF998 MOSFET LIB/Spice simulation libraries and component footprints for the BF998 dual-gate N-channel MOSFET.
Datasheet/Technical documentation and datasheets for active and passive components (MPSH10, BF998, RD01MUS2B, NEO-6M, SHT-40).
CDMA transferring rate.pdfDocumentation on CDMA transmission speed, spreading factors, and modulation characteristics.
G48- Update-LO Simulation...Report and simulation data for the Local Oscillator circuit.
Design1.ms14NI Multisim top-level schematic and RF modulator simulation circuit.
L_oscillator.ms14NI Multisim Colpitts oscillator simulation model.
d2.ms14 & d2out.scpMultisim circuit simulation and oscilloscope graph captures.
oscillator.cirSPICE netlist for the Colpitts Local Oscillator stage.

⚡ Firmware & Timing Engineering

1. Memory Optimization (8× SRAM Reduction)

The ATmega328P has only 2 KB of SRAM. Allocating 1000 chips as individual uint8_t bytes would consume 1000 bytes (almost 50% of total SRAM):

  • Solution: Bit-packing stores 8 chips per byte, reducing the 1000-chip array to just 125 bytes (uint8_t I_CDMA_PACKED[125]).
  • LFSR PRN Generator: Generated dynamically at startup via a 10-bit LFSR using primitive polynomial $x_n = x_{n-10} \oplus x_{n-7}$ with initial seed 0x02DF, eliminating large hardcoded arrays in flash memory.

2. Elimination of Interrupt Jitter & Direct Port Manipulation

  • Standard Arduino digitalWrite() requires ~50–60 clock cycles.
  • Direct Port Manipulation (DPM) writes directly to PORTB, changing pin states in a single clock cycle ($62.5\text{ ns}$ at $16\text{ MHz}$):
    cpp
    PORTB |=  (1 << PORTB2); // Set Pin 10 HIGH (1 cycle)
    PORTB &= ~(1 << PORTB2); // Set Pin 10 LOW  (1 cycle)
  • The Arduino core timer (Timer0) introduces up to $2\ \mu\text{s}$ interrupt jitter every $1.024\text{ ms}$. This is eliminated by calling noInterrupts() before entering the continuous transmission loop.

3. Cycle-Accurate Calibration Loop

To achieve a target chip rate of $f_c = 100\text{ kHz}$ ($T_c = 10.0\ \mu\text{s}$): $$\text{Total Clock Budget} = 10.0\ \mu\text{s} \times 16\text{ MHz} = 160\text{ cycles}$$ Accounting for loop overhead, bit shifting, and DPM write (~3 cycles), the calibrated delay is:

cpp
__builtin_avr_delay_cycles(157); // 157 cycles @ 16 MHz = 9.81 us

🔬 Hardware Verification & Measurement Results

Because random PRN sequences produce consecutive identical chips that cause auto-counter readouts to fluctuate on oscilloscopes (the PRN frequency illusion), a DSO Calibration Mode with an alternating 0xAA (10101010b) test pattern was used for hardware verification: $$f_{\text{DSO}} = \frac{f_c}{2} = 50.0\text{ kHz}$$

ParameterTheoretical / TargetMeasured (Tektronix DSO)Timing Deviation
I-Channel Baseline (Alternating)$50.0\text{ kHz}$ ($20.0\ \mu\text{s}$ period)$45.89\text{ kHz}$ ($22.20\ \mu\text{s}$)$-8.22%$
Q-Channel Baseline (Post-Correction)$50.0\text{ kHz}$ ($20.0\ \mu\text{s}$ period)$45.03\text{ kHz}$ ($22.20\ \mu\text{s}$)$-9.94%$
Single Chip Duration$10.0\ \mu\text{s}$$\approx 11.10\ \mu\text{s}$Within $\pm 10%$ SDR budget
Logic Level (Rail-to-Rail)$5.0\text{ V}$$5.60\text{ V} - 7.60\text{ V}_{\text{pk-pk}}$*Rail-to-rail confirmed

*Note: High peak-to-peak reading on the DSO is attributed to probe measurement ringing on the nanosecond-fast DPM rise/fall edges.


📡 RF Front-End & PCB Design

  • Colpitts Local Oscillator: Built with an MPSH10 NPN BJT ($f_T \approx 650\text{ MHz}$). $$C_{eq} = \frac{C_1 C_2}{C_1 + C_2} = \frac{22 \times 22}{22 + 22} = 11\text{ pF}$$ $$f_0 = \frac{1}{2\pi \sqrt{L_2 \cdot C_{eq}}} = \frac{1}{2\pi \sqrt{0.18\ \mu\text{H} \cdot 11\text{ pF}}} \approx 358\text{ MHz}$$
  • Multisim Simulation: Sustained oscillation confirmed at $357\text{ MHz}$ with an output amplitude of $3.54\text{ V}_{\text{pk}}$ ($< 0.3%$ discrepancy from analytical equations).
  • Custom PCB (KiCad): 2-layer mixed-signal board featuring segregated functional partitions:
    • Top-Right: NEO-6M GPS module placed near the perimeter for antenna clearance.
    • Top-Center: ATmega328P TQFP-32 with SPI header and adjacent clock crystal.
    • Left: Power management (NCP1640T, HT3608) and Local Oscillator.
    • Bottom-Right: RF chain with dual BF998 mixers, SAW filter, RD01MUS2B PA, and SMA connector backed by a solid stitched ground plane.

👥 Authors & Academic Affiliation

Project Guide:
Dr. Suresh Dahiya, Assistant Professor, Department of Electronics and Communication Engineering
Sardar Vallabhbhai National Institute of Technology (SVNIT), Surat, Gujarat, India.

Parts

32
QtyValueFootprintReferences
5100nCapacitor_SMD:C_0603_1608MetricC1, C2, C4, C5, C11
310uCapacitor_SMD:C_0603_1608MetricC6, C8, C10
222uCapacitor_SMD:C_0603_1608MetricC7, C9
24.7kResistor_SMD:R_0603_1608MetricR1, R2
1100kResistor_SMD:R_0603_1608MetricR10
11uCapacitor_SMD:C_0603_1608MetricC3
122uInductor_SMD:L_0603_1608MetricL4
14.7uInductor_SMD:L_0603_1608MetricL2
1562kResistor_SMD:R_0603_1608MetricR8
1750kResistor_SMD:R_0603_1608MetricR9
1976kResistor_SMD:R_0603_1608MetricR7
1Battery_CellConnector_Wire:SolderWire-0.25sqmm_1x02_P4.2mm_D0.65mm_OD1.7mm_Relief2xBT2
1GPIO_PINSETConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalGPIO_PINSET1
1GPSConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalGPS1
1MCP1640-I/MCmcp1640:DFN8_2x3MC_MCHU6
1MT3608MT3608:SOT95P280X145-6NU4
1PWM_OUTConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalPWM_OUT1
1SHT4xSensor_Humidity:Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPadU2
1SPIConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalSPI1
1SS14Diode_SMD:D_SMAD2
1STM32G071RBT6Package_QFP:LQFP-64_7x7mm_P0.4mmU5
1SWD_PORTConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalSWD_PORT1
1Temp_ADCConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalTemp_ADC1
1UART1_SENSORConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalUART1_SENSOR1

Questions

How big is the Power circuit new PCB?

It measures 40.3 × 39.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Power circuit new use?

32 parts, built around the STM32G071RBT6, MCP1640-I/MC, MT3608 and SS14. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Power circuit new KiCad files?

From the Omkar1464/Telemetry-Module-using-CDMA-Modulation repository on GitHub, at the commit this page was made from: the board is PCB/POWER_MICROCONTROLLER/power circuit _new/power circuit _new.kicad_pcb and its schematic PCB/POWER_MICROCONTROLLER/power circuit _new/power circuit _new.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Power circuit new design in my own project?

Its repository states no licence, so its author keeps all rights: ask Omkar1464 before reusing the design.

Similar boards

  • 4 layers275 × 240 mmSupervisor, the printed circuit board in 3D

    Supervisor

    BennetLeff/temper

    a breville control freak ++

    440 parts1
  • 4 layersPomodoro V1, the printed circuit board in 3D

    Pomodoro V1

    MaxLell/Pomodoro_Clock

    So this is basically what this device (will) is about. It will sit on my desk and ping me, when I need to take a break, and not only ping me, but rather shine a bright light at me, so that I actually get my lazy a up…

    155 partsMIT
  • 4 layers130 × 25 mmCurrent sense, the printed circuit board in 3D

    Current sense

    westonb/little-bee-B1

    A high performance current & magnetic field probe

    113 parts331CC-BY-SA-4.0
  • 2 layers142.2 × 132.1 mmInterphase, the printed circuit board in 3D

    Interphase

    Durburz/interphase

    a mitosis clone with more keys!!1eleven

    115 parts50MIT
  • 2 layers100 × 100 mmWifi PB panel, the printed circuit board in 3D

    Wifi PB panel

    AntonioMR/Wifi-Play-Board

    Placa de experimentacion para el ESP12F (ESP8266)

    416 parts29
  • 2 layers76.2 × 147.3 mmAriCalculator RevC, the printed circuit board in 3D

    AriCalculator RevC

    hotwolf/AriCalculator

    A homemade pocket calculator

    513 parts15GPL-3.0
  • 4 layers160 × 65 mmCapybara rocket, the printed circuit board in 3D

    Capybara rocket

    adam-kabbara/RSX-CANSAT-2026

    This is a repository design to manage the files made by the Aerial team under the Robotics for Space eXploration design team at the University of Toronto

    174 parts4