Skip to the content
PCBKitNew board
2 layers90 × 86 mmSatellite, the printed circuit board in 3D

CubeSat-Style 1U Satellite Working Model: Dual-Axis Solar Tracking, ESP32-CAM Payload, LoRa Telemetry & Image Downlink, KiCad PCB & OpenSCAD CAD

Size
90 × 86 mm
Copper layers
2
Thickness
1.6 mm
Parts
37
Nets
25
Pads
143
Tracks, vias
314, 54
Pours
4
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
30 Sep 2026
Updated
30 Sep 2026

Overview

Satellite is an open-source printed circuit board by srjofficial, from the srjofficial/satellite-model repository on GitHub, published under the MIT licence. It is a 2-layer board of 90 × 86 mm with 37 parts on 25 nets, routed with 314 tracks and 54 vias.

It is built around the ESP32-CAM and BME280. Its parts include 21 connectors, 4 capacitors and 4 resistors. It belongs with the ESP32 and RISC-V boards of this library.

Main components

2

README

hardware/kicad/README.md

KiCad project (carrier board, rev A)

Open satellite.kicad_pro in KiCad 8 or newer.

FileContents
satellite.kicad_schSchematic: every module as a header symbol, nets joined by labels
satellite.kicad_pcb90 x 86 mm 2-layer board, placed and routed, GND pour on both layers, antenna keep-out
satellite.pretty/Footprints (headers, module sockets, 0805, radial cap, test point, M3 hole)
generate_kicad.pyRegenerates everything above and ../netlist.csv (python3 generate_kicad.py)
pcb-preview.pngPicture of the routed board

How the board works

Nothing is soldered directly to the board except headers and small passives. Modules (ESP32-CAM, ESP32 DevKit, Ra-02 LoRa, TP4056, boost, LDO, INA219 x2, BME280, MPU6050) plug into or wire to headers. Servos, LDRs, solar panel, battery holder and switch connect through 2-3 pin headers.

Mounting holes: M3 at 80 x 76 mm spacing (matches cad/satellite.scad). The top edge (y = 0) is the camera edge.

First steps in KiCad

  1. Open the PCB, press B to fill zones, then run Inspect > Design Rules Checker.
  2. Open the schematic, run Inspect > Electrical Rules Checker. Expect warnings about passive pins; every pin is typed "passive" on purpose.
  3. Tools > Update PCB from Schematic should report no changes.
  4. Check the 3D viewer, then File > Fabrication Outputs > Gerbers/Drill and save to gerbers/.

What was and was not checked

Checked by script: file syntax (balanced S-expressions), every schematic label sits on a pin, all 24 signal/power nets routed, minimum copper clearance 0.216 mm against a 0.2 mm rule, nothing inside the antenna keep-out or near the edge.

Not checked: I could not open these files in KiCad itself. Expect small load or DRC surprises. Fix them in KiCad rather than re-running the script if you have already edited the board.

Verify before ordering a board

  • Module pinouts vary by clone. Compare the ESP32-CAM, DevKit, Ra-02, INA219 and TP4056 pin order and row spacing against your actual modules. Row spacing is set in generate_kicad.py (ROW_CAM, ROW_DEV); edit and re-run.
  • Servo and boost traces are 0.8 mm; signals 0.4 mm. Servo stall current can exceed what one 18650 through a boost converter delivers. Keep the 470 uF capacitors.
  • The battery path goes through INA219 #2 (0.1 ohm shunt), so peak load current drops roughly 0.1 V per amp.
  • GPIO12 (LoRa MISO) is an ESP32 boot-strap pin and GPIO2 (LoRa RESET) must be low or floating to flash; unplug the LoRa module if flashing fails.
  • Label the board "untested design" until built and tested.

Parts

37
QtyValueFootprintReferences
410ksatellite:R_0805R1, R2, R3, R4
4M3satellite:MountingHole_3.2mm_M3H1, H2, H3, H4
2470uFsatellite:CP_Radial_D8.0mm_P3.50mmC1, C2
1100nFsatellite:C_0805C4
110uFsatellite:C_0805C3
118650 holdersatellite:Header_1x02_P2.54mm_XAxisJ10
13.3V LDOsatellite:Header_1x03_P2.54mm_XAxisJ13
15V boostsatellite:Header_1x04_P2.54mm_XAxisJ12
1BME280satellite:Header_1x04_P2.54mm_XAxisJ14
1ESP32 DevKit 30psatellite:ESP32_DevKit_30pin_Socket_Row22.86mmJ2
1ESP32-CAMsatellite:ESP32-CAM_Socket_2x08_Row22.86mmJ1
1Flash jumper (IO0-GND)satellite:Header_1x02_P2.54mm_XAxisJ5
1INA219 batterysatellite:Header_1x06_P2.54mm_XAxisJ9
1INA219 solarsatellite:Header_1x06_P2.54mm_XAxisJ7
1LDR BLsatellite:Header_1x02_P2.54mm_XAxisJ20
1LDR BRsatellite:Header_1x02_P2.54mm_XAxisJ21
1LDR TLsatellite:Header_1x02_P2.54mm_XAxisJ18
1LDR TRsatellite:Header_1x02_P2.54mm_XAxisJ19
1LoRa antennasatellite:Header_1x02_P2.54mm_XAxisJ4
1MPU6050satellite:Header_1x04_P2.54mm_XAxisJ15
1Pan servosatellite:Header_1x03_P2.54mm_XAxisJ16
1Power switchsatellite:Header_1x02_P2.54mm_XAxisJ11
1SX1278 Ra-02satellite:SX1278_RA-02_2x08_P2.00mm_Row16mmJ3
1Solar panelsatellite:Header_1x02_P2.54mm_XAxisJ6
1TP 3V3satellite:TestPoint_Pad_D2.0mmTP2
1TP 5Vsatellite:TestPoint_Pad_D2.0mmTP1
1TP GNDsatellite:TestPoint_Pad_D2.0mmTP4
1TP VBATsatellite:TestPoint_Pad_D2.0mmTP3
1TP4056 modulesatellite:Header_1x06_P2.54mm_XAxisJ8
1Tilt servosatellite:Header_1x03_P2.54mm_XAxisJ17

Questions

How big is the Satellite PCB?

It measures 90 × 86 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Satellite use?

37 parts, built around the ESP32-CAM and BME280. 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 Satellite KiCad files?

From the srjofficial/satellite-model repository on GitHub, at the commit this page was made from: the board is hardware/kicad/satellite.kicad_pcb and its schematic hardware/kicad/satellite.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Satellite design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers102.7 × 77.6 mmEspcam, the printed circuit board in 3D

    Espcam

    mazyacin/espcam-breakout-board

    high end espcam breackout board for IOT and monetering

    64 partsMIT
  • 2 layers38.1 × 63.5 mmSstv backpack, the printed circuit board in 3D

    Sstv backpack

    vaugerbird/sstv-backpack

    A ESP32-CAM SSTV backpack for the Baofeng UV-5R + others!

    29 parts94GPL-2.0
  • 2 layers146.2 × 99 mmFPVRover, the printed circuit board in 3D

    FPVRover

    Circuit-Digest/ESP32-Cam-Surveillance-Car

    Watch full video on ESP32 surveillance car

    35 parts15
  • 2 layers78 × 62 mmPortier connecte, the printed circuit board in 3D

    Portier connecte

    InnoGreenTech/ESP32-CAM-pir-static-relay

    ESP32-CAM mounting on a board with pir, photo-resistor sensors, AC/DC power and a static relay.

    16 parts5
  • 2 layers188.2 × 129.7 mmQms kiosk, the printed circuit board in 3D

    Qms kiosk

    jamestansx/qms

    Queue Management System

    10 parts5
  • 2 layers82.3 × 43.5 mmNight Gogle, the printed circuit board in 3D

    Night Gogle

    airsoftak25/Night-Gogle

    My small project about creating a Night vision gogle witch cost less than 2000CZK each

    29 parts2
  • 2 layers82 × 58 mmNoirShot, the printed circuit board in 3D

    NoirShot

    rabinniroula/NoirShot

    instant thermal camera

    50 parts2