Skip to the content
PCBKitNew board
2 layers130 × 100 mmRestore backup 2026-08-18T23-50-42-462, the printed circuit board in 3D

Restore backup 2026-08-18T23-50-42-462

Serra-Rocketry/flight-computer

[Telemetry] Onboard flight computer for rocket avionics.

Size
130 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
11
Nets
55
Pads
92
Tracks, vias
26, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
4 Nov 2025
Updated
5 Nov 2026

Overview

Restore backup 2026-08-18T23-50-42-462 is an open-source printed circuit board by Serra-Rocketry, from the Serra-Rocketry/flight-computer repository on GitHub, published under the MIT licence. It is a 2-layer board of 130 × 100 mm with 11 parts on 55 nets, routed with 26 tracks and 0 vias.

It is built around the ESP32-S3-DEVKITC-1-N8R2, BMP585 and RFM95W-915S2, with the BC547 among its other parts. Its parts include 4 ICs, 1 resistor, 1 transistor, 1 connector and 1 switch. It belongs with the ESP32 boards of this library.

Main components

4

README

README.md

Avionics — Onboard Computer

v2.0 Flight Computer for Serra Rocketry (#11 - Dedalo).

OOP + FreeRTOS + 4-state FSM, validated against real flight data. Built for the ESP32-S3.

Overview

Real-time avionics firmware for a sounding rocket. Runs on an ESP32-S3 under FreeRTOS, reading barometric (BMP585), inertial (LSM6DS3) and GPS (NEO-8M) sensors to detect flight events and deploy the parachute at apogee.

  • Flight state machine: IDLE → ASCENT → DESCENT → LANDED, with sub-event flags (liftoff, burnout, apogee, freefall, parachute)
  • Parachute deployment: Apogee + stable negative Vz, 3-cycle confirmation, 50 m ground guard — validated against RocketPy + real flight data points
  • Telemetry: 22-field CSV over LoRa @ 915 MHz to ground receiver
  • Logging: SD card (primary) with LittleFS flash fallback
  • Safety: NaN/Inf rejection, sensor fallback, TWDT watchdog, multi-condition parachute logic

Architecture

text
firmware/
├── firmware.ino          # setup()/loop() — orchestrates init*Task()
├── config.h              # Pins, thresholds, radio parameters
├── sensors/              # ISensor implementations (BMP585, LSM6DS3, GPS)
├── flight/               # FreeRTOS tasks + FlightStateMachine
├── modules/              # Actuators/peripherals (servo, LoRa, buzzer, FS)
└── docs/architecture.md  # v2.0 architecture (consolidated from REFACTORING_PLAN.md)

Two FreeRTOS cores with queue-based communication:

CoreTaskPriorityRateResponsibility
1FlightControlTask205 HzSensors + FSM + parachute + watchdog
0TelemetryTask55 HzGPS enrichment + LoRa + file + Serial
0LoggerTask1—Async log queue with level filter

Quick Start

Arduino IDE (recommended)

  1. Board: ESP32-S3 Dev Module (enable "USB CDC On Boot")
  2. Open firmware/firmware.ino
  3. Install libraries: Adafruit BMP5xx, Adafruit LSM6DS3, TinyGPS++, ESP32Servo, LoRa by Sandeep Mistry
  4. Compile (Ctrl+R) and upload (Ctrl+U)

Validate without hardware

bash
python3 extras/FSM_tester/FSM_Tester.py       # FSM against 1,873 real data points
python3 extras/validate_telemetry_format.py    # 22-field telemetry alignment

Key Specifications

ParameterValue
FlightControl rate5 Hz (200 ms)
Telemetry rate5 Hz (200 ms)
Parachute confirm3 consecutive Vz < −2 m/s
Ground guard50 m AGL
LoRa frequency915 MHz (Brazil/Americas ISM)
LoRa configSF7, BW 125 kHz, CR 4/5, CRC on, +17 dBm
StorageSD card (SPI) → LittleFS fallback
Sensor queue25 slots (∼2.4 KB)
Log queue50 slots (∼7.2 KB)

Documentation

Repository Layout

text
firmware/   v2.0 firmware (OOP + FreeRTOS + FSM)
test/       Hardware validation sketches (sensors, servo, FSM)
docs/       software.md, hardware.md, telemetry-format.md, flowchart.md
hardware/   KiCad schematic + PCB + BOM
extras/     Scripts, FSM tester, format validator, emergency deploy

Status

All refactoring plan phases are complete — v2.0 is fully implemented and documented. See CHANGELOG.md for the full release history.

Team

Serra Rocketry — IPRJ/UERJ

License

This project is licensed under the MIT License - see the LICENSE file for details.

Parts

11
QtyValueFootprintReferences
2Parachute_ServoConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalM1, M2
11kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR1
1BC547Package_TO_SOT_THT:TO-92_InlineQ1
1BMP585electronics:BMP585U2
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1Conn_Coaxial_SmallConnector_Coaxial:BNC_TEConnectivity_1478204_VerticalJ1
1ESP32-S3-DEVKITC-1-N8R2ESP32-S3-DEVKITC-1-N8R8:ESP32-S3-DEVKITC-1-N8R8U5
1RBFButton_Switch_THT:SW_XKB_DM1-16UP-1SW1
1RFM95W-915S2RF_Module:HOPERF_RFM9XW_THTU1
1SD Card mini moduleelectronics:SD Card mini moduleU4

Questions

How big is the Restore backup 2026-08-18T23-50-42-462 PCB?

It measures 130 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Restore backup 2026-08-18T23-50-42-462 use?

11 parts, built around the ESP32-S3-DEVKITC-1-N8R2, BMP585, RFM95W-915S2 and BC547. 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 Restore backup 2026-08-18T23-50-42-462 KiCad files?

From the Serra-Rocketry/flight-computer repository on GitHub, at the commit this page was made from: the board is hardware/electronics/electronics/_restore_backup_2026-08-18T23-50-42-462/electronics.kicad_pcb and its schematic hardware/Telemetria Foguete/Telemetria Foguete.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Restore backup 2026-08-18T23-50-42-462 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).

More from Serra-Rocketry/flight-computer

1
  • 2 layers140 × 60 mmFlight computer, the printed circuit board in 3D

    Flight computer

    Serra-Rocketry/flight-computer

    [Telemetry] Onboard flight computer for rocket avionics.

    44 partsMIT

Similar boards

  • 4 layers82.8 × 33 mmE ink watch, the printed circuit board in 3D

    E ink watch

    sandgum/Triangulate-ES_01-Watch

    A 5mm thick smartwatch which uses an E-ink display and two OLEDs to display information while consuming very little power

    162 parts22
  • 8 layersSportwatch revA, the printed circuit board in 3D

    Sportwatch revA

    slimmpylk/Skoll_Ultra

    a custom outdoor and endurance-sports smartwatch.

    184 parts
  • 4 layers120 × 76 mmPanel, the printed circuit board in 3D

    Panel

    vbartusevicius/weather-station

    Open-source rooftop weather and air-quality station with no moving parts (Ø 96 × 235 mm, UV-stabilised ASA): ultrasonic wind, acoustic rain and hail, UV / sunlight / night-sky brightness, temperature, humidity…

    235 parts
  • 2 layers13.2 × 11.4 mmWeather head, the printed circuit board in 3D

    Weather head

    GarronAnderson/InsideMyHive-V2

    an open-source bee box monitor, now low-power with (hopefully) better code

    7 parts