

Power circuit new
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
4STM32G071RBT6
LQFP-64(10x10)-40℃~+85℃ 1.71V~3.6V 128KB 12bit 12bit 32 Bit 36KB 60 64MHz ARM Cortex-M0+ Built-in+External FLASH LQFP-64(10x10) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)MCP1640-I/MC
DFN-8(2x3)-40℃~+125℃@(TJ) 1 19uA 2V~5.5V 350mA 500kHz 800mV~5.5V Adjustable Boost Boost Built-in Yes DFN-8(2x3) DC-DC Converters ROHSMicrochip TechnologyDC-DC ConvertersMT3608
SOT-23-6-40℃~+85℃ 1 1.2MHz 100uA、1.6mA 2A 2V~24V Adjustable Boost Boost Built-in No SOT-23-6 DC-DC Converters ROHS西安航天民芯DC-DC ConvertersSS14
SMA(DO-214AC)-55℃~+150℃ 1A 25A 300uA@40V 40V 550mV@1A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes
README
README.mdLong Range Telemetry Module (Phase-I)
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
+------------------------------+
| 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 / File | Description |
|---|---|
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.pdf | Documentation on CDMA transmission speed, spreading factors, and modulation characteristics. |
G48- Update-LO Simulation... | Report and simulation data for the Local Oscillator circuit. |
Design1.ms14 | NI Multisim top-level schematic and RF modulator simulation circuit. |
L_oscillator.ms14 | NI Multisim Colpitts oscillator simulation model. |
d2.ms14 & d2out.scp | Multisim circuit simulation and oscilloscope graph captures. |
oscillator.cir | SPICE 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 callingnoInterrupts()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:
__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}$$
| Parameter | Theoretical / Target | Measured (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
- Moksha Parikh (
U23EC001) -- GitHub Profile - Ridham Chaudhary (
U23EC030) — GitHub Profile - Omkar Sinh (
U23EC048) — GitHub Profile
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| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100n | Capacitor_SMD:C_0603_1608Metric | C1, C2, C4, C5, C11 |
| 3 | 10u | Capacitor_SMD:C_0603_1608Metric | C6, C8, C10 |
| 2 | 22u | Capacitor_SMD:C_0603_1608Metric | C7, C9 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 1 | 100k | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 1u | Capacitor_SMD:C_0603_1608Metric | C3 |
| 1 | 22u | Inductor_SMD:L_0603_1608Metric | L4 |
| 1 | 4.7u | Inductor_SMD:L_0603_1608Metric | L2 |
| 1 | 562k | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 750k | Resistor_SMD:R_0603_1608Metric | R9 |
| 1 | 976k | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | Battery_Cell | Connector_Wire:SolderWire-0.25sqmm_1x02_P4.2mm_D0.65mm_OD1.7mm_Relief2x | BT2 |
| 1 | GPIO_PINSET | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | GPIO_PINSET1 |
| 1 | GPS | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | GPS1 |
| 1 | MCP1640-I/MC | mcp1640:DFN8_2x3MC_MCH | U6 |
| 1 | MT3608 | MT3608:SOT95P280X145-6N | U4 |
| 1 | PWM_OUT | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | PWM_OUT1 |
| 1 | SHT4x | Sensor_Humidity:Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad | U2 |
| 1 | SPI | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | SPI1 |
| 1 | SS14 | Diode_SMD:D_SMA | D2 |
| 1 | STM32G071RBT6 | Package_QFP:LQFP-64_7x7mm_P0.4mm | U5 |
| 1 | SWD_PORT | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | SWD_PORT1 |
| 1 | Temp_ADC | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | Temp_ADC1 |
| 1 | UART1_SENSOR | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | UART1_SENSOR1 |
Similar boards
- 4 layers275 × 240 mm

- 2 layers75 × 74 mm

- 4 layers

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 mm

Current sense
westonb/little-bee-B1
A high performance current & magnetic field probe
113 parts331CC-BY-SA-4.0 - 2 layers142.2 × 132.1 mm

- 2 layers100 × 100 mm

- 2 layers76.2 × 147.3 mm

- 4 layers160 × 65 mm

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
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.