
Sunbeam em7000
Resident-X/brew-state
brew-state: bare-metal C state estimation and forward-horizon profiling for the Sunbeam EM7000. Built with Staircase.

Electronics and software for a mini RC helicopter
Heli avionics is an open-source printed circuit board by 1-max-1, from the 1-max-1/heli-avionics repository on GitHub. It is a 4-layer board of 65.5 × 39 mm with 78 parts on 55 nets, routed with 465 tracks and 128 vias.
It is built around the ATMEGA4808-AF, NRF24L01P-R and DRV8212DRL, with the BMP390L, TPS7A2030PDBVR-TP and CC0603KRX7R9BB104 among its other parts. Its parts include 30 capacitors, 13 resistors, 10 connectors, 8 ICs and 3 inductors. It belongs with the robots and motor control and radio and wireless boards and the AVR (ATmega, ATtiny) boards of this library.
This repository contains the electronics and software for a rc-helicopter control system. This includes an onboard flight computer and a mobile application for remote control. The PCB is designed to drive coaxial blades using brushed DC motors. It also contains an rf transciever chip for wireless communication and a pressure sensor for altitude measurement.
I had to learn alot for this project, as there were several things I had no experience with such as the radio transceiver circuitry. In the end, it turned out well and was very fun to make.
The PCB fabrication and assembly was sponsored by PCBWay. I’m pleased with how it turned out, and I’ve written a short review below based on my experience working with them.
The boards appear durable and well-made, with solid electrical connectivity. Silkscreen print is sharp and the overall finish gives off a professional feel.
Assembly was just as good. All components were placed with precision and the soldering was clean. There were no bridges, no excess, and everything stayed neatly within the boundaries.
Working with PCBWay was a smooth experience. They were professional and quick to respond to any questions I had. One thing I really appreciated was their communication before making any key decisions. For example:
Pricing was fair, considering the quality and the support included. Quoting and sourcing components was made easy — PCBWay handled that for me, which saved a lot of time. Shipping was fast and the boards arrived well-packed.
Overall, I'm happy with the result and wouldn’t hesitate to use PCBWay again in future projects. If you’re looking for a PCB manufacturer that’s reliable, responsive, and produces high-quality results, they’re worth checking out.
Motor drivers
The system uses three DRV8212 BDC motor drivers to drive the tail and coaxial propellors. Some analysis shows that these chips should handle the current demands while remaining below maximum safe temperatures.
The motor driver circuit also includes significant bulk capacitance to handle large spikes in motor current.
The first design of the motor driver circuit used 1 driver chip for both motors. However after more testing, I found that the motors drew more current than expected when at full power. This was over the maximum limit of the motor driver chip. Initially, I started looking for replacement chips with better capabilities. However, the options were either too big, unavailable or could not operate at the voltage I wanted. Eventually, I realised this was the wrong way to go about it and decided to have another look at the original drivers. I discovered that if the 2 outputs on the chip were joined together, this would effectively double the maximum current, which was now sufficient for these motors. However, this solution does require 2 driver chips instead of one. I initially had concerns about space on the board, but after many hours of rearranging and rerouting I found a way to fit both parts on the board.
MCU
The MCU is an atmega4808. Although possibly not the fanciest choice, I selected this one because it's easy to program, I have used it before, and I know how to make it work.
Programming
The MCU can be programmed through UPDI or through the USART pins (once the bootloader has been uploaded). These are broken out to pin headers for easy access. The board also includes an external reset line + button.
I have also broken out an I2C line and a spare GPIO to another pin header in case I want to add more things onto the helicopter in the future.
Radio
This board includes a rf transceiver: nrf24l01. Like the MCU, this is not fancy but there's alot of documentation for it and I'd rather start with something easier because my rf knowledge is limited (for now).
The board contains an impedance matching network to match the transceiver output to 50 ohms. A wire antenna is used because it should give the best range and I dont have space for a PCB antenna or any bulky connectors like SMA. The antenna will also have to be tuned by cutting it to a specific length. I think UC has network analyzers which could help with this...
Power regulation
There are two seperate TPS7A2030 voltage regulators - one for the radio and one for the rest of the circuit. This is done to try and minimize noise on the radio. The MCU also keeps track of the battery voltage through a divider to ensure that it remains at a safe level.
Sensors
The board includes a BMP390 pressure sensor which can be used to determine the altitude of the helicopter.
TODO
Using platformIO, c++
IN PROGRESS
This is a small esp32-based device which is placed near the user when flying the helicopter. It acts as a bridge between the flight computer and the mobile application. BLE messages are processed and sent over a long range nrf24 link, and vice versa.
IN PROGRESS
This is a React Native mobile application for control of the helicopter. It includes throttle and directional controls, trim adjustment, buttons for extra features (e.g. auto landing), telemetry display and signal strength indication. The app automatically connects to the AeroLink and communicates with it.
I found this helicopter in an e-waste center. The remote was missing and some of the electronics seemed to be burnt.
| Disassembled helicopter on test stand |
After taking it apart and relubricating all the shafts and gears, I tested the motors and they still seemed to work fine. I decided it would be fun to fix it up and make my own controller for it.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 17 | 22uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1, C2, C4, C5, C15, C16, C17, C18, C19, C20, C21, C22, C25, C26, C30, C31 +1 |
| 3 | 22k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R3, R5, R6 |
| 3 | DRV8212 | heli-footprints:WSON-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mm_ThermalVias | U3, U4, U8 |
| 3 | MountingHole | MountingHole:MountingHole_2mm | H1, H2, H3 |
| 2 | 100nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3, C28 |
| 2 | 12pF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C9, C11 |
| 2 | 4k7 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R12, R13 |
| 2 | Conn_01x01 | Connector_Wire:SolderWire-1sqmm_1x01_D1.4mm_OD3.9mm | J6, J8 |
| 2 | JST_XH_01x02 | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J3, J4 |
| 2 | TPS7A2030PDBV | Package_TO_SOT_SMD:SOT-23-5_HandSoldering | U6, U7 |
| 2 | TestPoint | TestPoint:TestPoint_Pad_1.5x1.5mm | TP1, TP3 |
| 2 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | TP2, TP4 |
| 1 | 1.5pF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C13 |
| 1 | 1000uF | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C23 |
| 1 | 100R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10 |
| 1 | 10nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C8 |
| 1 | 150R | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R7 |
| 1 | 16MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R4 |
| 1 | 1nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C27 |
| 1 | 1pF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C14 |
| 1 | 2.2nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C10 |
| 1 | 2.7nH | Inductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolder | L1 |
| 1 | 3.9nH | Inductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolder | L3 |
| 1 | 3300uF | Capacitor_THT:CP_Radial_D10.0mm_P5.00mm | C24 |
| 1 | 330R | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R2 |
| 1 | 33k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1 |
| 1 | 33nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C7 |
| 1 | 4.7pF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C12 |
| 1 | 470R | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R11 |
| 1 | 51k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R8 |
| 1 | 68R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9 |
| 1 | 8.2nH | Inductor_SMD:L_0603_1608Metric_Pad1.05x0.95mm_HandSolder | L2 |
| 1 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | ATmega4808-A | Package_QFP:TQFP-32_7x7mm_P0.8mm | U1 |
| 1 | Antenna | Connector_Wire:SolderWire-0.5sqmm_1x01_D0.9mm_OD2.1mm | AE1 |
| 1 | BMP390L | heli-footprints:BMP390L | U5 |
| 1 | JST_1.25mm | heli-footprints:Molex_PicoBlade_53047-0210_1x02_P1.25mm_Vertical | J7 |
| 1 | JST_PH_01x02 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J2 |
| 1 | JST_PH_01x03 | Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical | J5 |
| 1 | LOGO | LOGO | G*** |
| 1 | NCD0805R1 | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D2 |
| 1 | NRF24L01P | heli-footprints:NRF24L01_HandSolder_SpecialPad | U2 |
| 1 | Pin_Header_1x1 | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J10 |
| 1 | Pin_Header_1x2 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J9 |
| 1 | Pin_Header_2x3 | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical | J1 |
| 1 | Reset | Button_Switch_SMD:SW_Push_SPST_NO_Alps_SKRK | SW1 |
The 77 most common of 78 parts.

Resident-X/brew-state
brew-state: bare-metal C state estimation and forward-horizon profiling for the Sunbeam EM7000. Built with Staircase.



kaminaris/GigaESC-DFN5x6
Compact, modular three-phase ESC power board for the GigaESC project. Designed in KiCad 10 on a 100 × 60 mm, four-layer PCB, with separate plug-in control and power-supply boards.

Omern187/lite-wing-drone
This repository contains the current KiCad-based LiteWing prototype package: source PCB files, manufacturing outputs, assembly data, 3D reference models, firmware binaries, datasheets, and design-review records.

yeyintlwin/kicad-board-design
Design a two-layer KiCad PCB entirely from Python scripts - no GUI step, no commercial autorouter

HeyPCB/esp32-sensors-2
ESP32-S3 boards, one sensor each: KiCad 10, JLCPCB-ready, CERN-OHL-S-2.0

HeyPCB/whisker
Drop-in controller for Petoi's Nybble robot cat running the stock OpenCat firmware: ATmega328P, PCA9685, MPU-6050, USB-C, 3 A buck, protected battery input. 4-layer KiCad 10 board plus printed cradle.
It measures 65.5 × 39 mm and has 4 copper layers, 1.57 mm thick.
78 parts, built around the ATMEGA4808-AF, NRF24L01P-R, DRV8212DRL and BMP390L. 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.
From the 1-max-1/heli-avionics repository on GitHub, at the commit this page was made from: the board is hardware/heli_avionics.kicad_pcb and its schematic hardware/batt_power.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask 1-max-1 before reusing the design.