
Fpv drone
zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.
Remote is an open-source printed circuit board by zeodotdev, from the zeodotdev/zeo-boards repository on GitHub. It is a 2-layer board of 45 × 100 mm with 49 parts on 47 nets, routed with 311 tracks and 44 vias.
It is built around the ATMEGA32U4-AU, E6QYDD1204-IRA940NM and IRM-H638T/TR2, with the BAT54 among its other parts. Its parts include 15 switches, 11 capacitors, 9 resistors, 4 ICs and 4 diodes. It belongs with the AVR (ATmega, ATtiny) boards of this library.
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.
Streams sensor data over Wi-Fi as UDP broadcast JSON packets on port 12345.
# Source ESP-IDF environment
source ~/esp/esp-idf/export.sh
# Enter firmware directory
cd firmware
# Set target and configure Wi-Fi credentials
idf.py set-target esp32s3
idf.py menuconfig # Navigate to "ZeoDevBoard Configuration" → set SSID and password
# Build
idf.py build
# Flash (use esptool.py directly if idf.py has port permission issues)
esptool.py --chip esp32s3 -p /dev/ttyACM0 -b 460800 \
--before default_reset --after hard_reset write_flash \
--flash_mode dio --flash_size 2MB --flash_freq 80m \
0x0 build/bootloader/bootloader.bin \
0x8000 build/partition_table/partition-table.bin \
0x10000 build/zeodevboard.bin
# Monitor serial output (optional)
idf.py -p /dev/ttyACM0 monitorOnce flahsed, the board can run on battery power.
Displays 6 live panels: Accelerometer XYZ, Gyroscope XYZ, Temperature, Humidity, Pressure, and a status panel with packet counts.
cd plotter
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
./venv/bin/python plotter.pyThe plotter listens on UDP port 12345. Make sure your machine is on the same network as the board.
IMU (100 Hz):
{"type":"imu","ts":1234,"ax":0.12,"ay":-0.05,"az":-9.81,"gx":1.2,"gy":-0.3,"gz":0.1}Environment (1 Hz):
{"type":"env","ts":1234,"temp":25.3,"hum":45.2,"press":1013.4}ts is milliseconds since boot.
demo_board/
├── firmware/
│ ├── CMakeLists.txt
│ ├── sdkconfig.defaults
│ └── main/
│ ├── CMakeLists.txt
│ ├── Kconfig.projbuild # Wi-Fi SSID/password config
│ ├── main.c # App entry, FreeRTOS tasks
│ ├── wifi.c / wifi.h # Wi-Fi STA connection
│ ├── sensors.c / sensors.h # BME280 + LSM6DS3 I2C drivers
│ └── udp_sender.c / udp_sender.h # UDP broadcast
├── plotter/
│ ├── plotter.py
│ └── requirements.txt
├── ZeoDevBoard.kicad_sch # Root schematic
├── mcu.kicad_sch # MCU sheet
├── power_supply.kicad_sch # Power supply sheet
├── sensors.kicad_sch # Sensors sheet
├── ZeoDevBoard.kicad_pcb # PCB layout
└── README.md| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100nF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C7, C8, C9 |
| 3 | 1uF | Capacitor_SMD:C_0402_1005Metric | C3, C5, C6 |
| 3 | BAT54 | Diode_SMD:D_SOD-323 | D3, D4, D5 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R2, R9 |
| 2 | 22pF | Capacitor_SMD:C_0402_1005Metric | C10, C11 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R7, R8 |
| 1 | 10 | Resistor_SMD:R_0805_2012Metric | R5 |
| 1 | 100 | Resistor_SMD:R_0402_1005Metric | R1 |
| 1 | 16MHz | Crystal:Crystal_SMD_HC49-SD | Y1 |
| 1 | 1F/5.5V | Capacitor_SMD:C_1210_3225Metric | C4 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | 22 | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 330 | Resistor_SMD:R_0402_1005Metric | R3 |
| 1 | ATmega32U4-A | Package_QFP:TQFP-44_10x10mm_P0.8mm | U2 |
| 1 | Back | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW10 |
| 1 | C1 | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW13 |
| 1 | C2 | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW14 |
| 1 | Down | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW8 |
| 1 | E6QYDD1204-IRA940NM | E6QYDD1204-IRA940nm:LED-SMD_L3.2-W2.1-R-FD | U4 |
| 1 | Green | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | Home | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW11 |
| 1 | IRM-H638T | OptoDevice:Everlight_IRM-H6xxT | U1 |
| 1 | LOGO | LOGO | G*** |
| 1 | Learn | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW15 |
| 1 | Left | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW4 |
| 1 | MCP1700-3.3V | Package_TO_SOT_SMD:SOT-23 | U3 |
| 1 | Mute | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW3 |
| 1 | Power | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW1 |
| 1 | Q_NPN | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | Right | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW6 |
| 1 | Select | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW5 |
| 1 | Solar_Panel | Connector_Wire:SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | J1 |
| 1 | Solar_Panel_Back | Connector_Wire:SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | J3 |
| 1 | Source | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW12 |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J2 |
| 1 | Up | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW2 |
| 1 | Vol+ | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW9 |
| 1 | Vol- | Button_Switch_SMD:SW_SPST_B3SL-1002P | SW7 |
It measures 45 × 100 mm and has 2 copper layers, 1.6 mm thick.
49 parts, built around the ATMEGA32U4-AU, E6QYDD1204-IRA940NM, IRM-H638T/TR2 and BAT54. 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 zeodotdev/zeo-boards repository on GitHub, at the commit this page was made from: the board is jared_tv_remote/remote.kicad_pcb and its schematic demo_board/ZeoDevBoard.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 zeodotdev before reusing the design.

zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

zeodotdev/zeo-boards
ESP32-S3 development board with onboard BME280 (temperature, humidity, pressure) and LSM6DS3 (6-axis IMU) sensors. This repo contains the designs, ESP-IDF firmware, and a Python plotter for visualization.

john0312/hitcon-pcb-badge
execute fw/merge.py to merge STM32CubeIDE generated main.c with user code in main.cc into main.cc.

atomic14/esp32-tv-hardware
This is Work In Progress - I'm still working on this.

OklahomaOpenSourceHardware/OKC-OSH-2024-Badge
2024 badge for Oklahoma PCB Tech Conferences

ArcaneNibble/jlc-katzen
cat ear blinky toy (JLCPCB turn-key assembly process capabilities test)


Boardoza/Boardoza_IrDA_Transceiver_Infrared_Wireless_Communication_Breakout_Board
Compact infrared transceiver breakout board for short-range asynchronous wireless serial communication.

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.
