Skip to the content
PCBKitNew board
4 layers75.6 × 100 mmFlight log, the printed circuit board in 3D

Flight log

knivier/SkyCell

The telecommunications solution on a balloon...for broke people alike.

Size
75.6 × 100 mm
Copper layers
4
Thickness
1.6 mm
Parts
208
Nets
307
Pads
905
Tracks, vias
2,851, 379
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
28 Apr 2025
Updated
2 Oct 2026

Overview

Flight log is an open-source printed circuit board by knivier, from the knivier/SkyCell repository on GitHub, published under the MIT licence. It is a 4-layer board of 75.6 × 100 mm with 208 parts on 307 nets, routed with 2,851 tracks and 379 vias.

It is built around the BGM220SC12WGA2R, PE4259-63 and LPS22HB, with the AP2112K-3.3, LSM6DS3 and IRLML6402 among its other parts. Its parts include 69 capacitors, 63 resistors, 17 connectors, 15 diodes and 11 ICs. It belongs with the Silicon Labs (EFR32, EFM) boards of this library.

Main components

11

README

README.md

SkyCell

The telecommunications solution on a balloon...for broke people alike.

This event was funded by the Apex event where we launched SkyCell on June 21st, 2025. It was the culmination of work from all of our teammates and over two months of planning (not to mention $400 in parts alone funded by Apex and the over $1200 in flight coverage as well).

The Vision

Hurricanes, tornados, dust storms, and whatever other disasters wreck havoc on communications systems every year, risking lives. Technological dependency for communication has made telecommunication-based systems extremely important, and disasters pose a significant risk to that.

Our team came up with the idea of SkyCell: A disaster-relief based telecommunications relief package/module that could be a backup incase primary communications systems fail.

The Goals

  1. Receive telemetry data in a JSON format from SkyCell when it is in the air
  2. Be able to connect to SkyCell via a LoRA transceiver
  3. Send and receive messages using SkyCell through meshtastic software

The Execution

Planning

The initial plans were a basic CAD viewing of what SkyCell could look like along with a basic BOM. We knew we needed LoRA based communications, so we went with ESP-32s due to their relatively affordable prices (specifically, Heltec V3s). Pat also wanted to have SDR logging capabilities, so those components were added as well. We also got our own GPS module because we wanted SkyCell to be largely independent from the main balloon.

For the main motherboard, we initially wanted to think about using a Raspberry Pi 5. However, it's a known fact that they aren't a great value, and a significantly better deal was a Radxa Rock 5C. This board was more efficient and more powerful than the RPi5 while also being cheaper (on amazon that is).

For power, we initially thought about 4x AA batteries but later went with 8, then 6 for some redundancy. Energizer Li-Ion Ultimate's were chosen as Apex organizers mentioned they were one of the few AAs that supported as low as -40C temperatures.

For software, we went with a modular design, choosing to implement features slowly as we coded our main board. Built in logging was very important as should SkyCell fail to send messages, we would want to see why. These were written on a local SD card in the R5C.

We also wanted to implement a camera (you can see remnants of that in code\kniv's testing) and created a compression algorithm for that as well that could have sent images over LoRA theoretically. However, this was later cut out in the final planning stages due to the higher expenses.

Building

The building stage took an additional two months. During this time, parts were coded, assembled, and soldered down.

Launch Night Issues

When testing with battery power (attempting to send/receive messages on battery) and with using a DC current power supply (regulatable), we discovered that the DC buck converter was having issues catching up with 5V, especially when systems like GPS and radios started (see: project-images\prelaunch_night.jpg), which caused bootlock and SD card corruption issues. This led to us trying to give as much voltage to the R5C without frying it (we gave up to 5.2v on the DC-DC and supplied 12V at one point), and we also tried large capacitors (up to 10,000µF). We also tried using a custom DC-DC 5V stepdown from another 'Apexer' with no luck. We even used a oscilloscope (that was a new one) to find out voltage patterns and isolate the problem.

In the end, we needed to scratch the idea of having AA batteries and instead chose to have a power bank fitted. This would only give us up to 30min of time, but it was better than having a non-functional project as a whole.

We also wanted to have some telemetry sensors like a BMP180 for barometric, altitude, and temperature, along with an AHT21 for humidity and more temperature. During the flight though, the BMP180 got fried and when the AHT21 was working, it was already too late to implement a UART based system to connect the Pico to the R5C.

Launch Time

The module was launched at around the afternoon and traveled for around two hours. We only received around 3-4 packets of data and were able to connect to the node quite far away (LoRA systems were set up back at the main site while the balloon was launched quite far north).

Review

What parts would we use instead?

For starters, a significantly better DC-DC Buck Converter. The issues would have been fixed if we could give more power to the pi at certain points (ex at startup give the Pi 5V->5.5V->5V) so there was more startup power.

A BME280 would've also been a life saver as it integrates all the sensors we needed (BMP180 + AHT21) into one.

Finally, although the ESP32s did pick up some transmissions, we only received an estimated <20% of total sent packets. Using a significantly longer antenna along with a GUI-based LoRA system (something like the # LILYGO T-Deck Plus ESP32-S3 915Mhz LORA-89 SX1262 Ulbox GPS 2.8-inch Display TTGO) would have likely increased efficiency.

What software choices would we do instead?

We should've sent packets more frequently and not tried to do so much in the beginning. In the end, many of our new attempts failed and made it a lot more worse for the stuff that should have been trivial.

Did we do what we set out to do?

We never sent out messages on the launch date because the balloon was travelling at 60m/s when we got disconnected (that's over 200kph). However, we did still connect to the node for a minute, and we also received mostly valid telemetry packets.

SkyCell was never meant to be a full project showcase 100% completed, it was rather a proposal or a proof of concept that it is possible over LoRA

If we were given an extra $200 (bringing the total budget to $600), it's likely that our project would have been a lot more polished, however we're happy that we got live data anyways.

Parts

208
QtyValueFootprintReferences
27100nFCapacitor_SMD:C_0603_1608MetricC19, C20, C25, C44, C45, C50, C51, C52, C53, C54, C55, C56, C57, C58, C61, C62 +11
1610kResistor_SMD:R_0603_1608MetricR3, R4, R5, R19, R23, R24, R25, R27, R37, R38, R39, R52, R53, R56, R78, R80
9100kResistor_SMD:R_0603_1608MetricR40, R41, R43, R45, R62, R68, R69, R70, R71
9220Resistor_SMD:R_0603_1608MetricR87, R88, R89, R90, R91, R92, R93, R94, R95
8100Resistor_SMD:R_0603_1608MetricR46, R63, R64, R65, R66, R67, R79, R81
7IRLML6402Package_TO_SOT_SMD:SOT-23Q1, Q3, Q4, Q5, Q6, Q8, Q9
5LEDLED_SMD:LED_0603_1608MetricD3, D4, D7, D21, D22
410kΩResistor_SMD:R_0603_1608MetricR11, R12, R54, R55
41x3 servoConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ6, J9, J13, J14
42.2 pFCapacitor_SMD:C_0603_1608MetricC7, C9, C13, C59
4PMEG6020ERDiode_SMD:Nexperia_CFP3_SOD-123WD19, D20, D23, D26
30.1uFCapacitor_SMD:C_0603_1608MetricC64, C65, C66
3100 nFCapacitor_SMD:C_0603_1608MetricC1, C2, C23
31kResistor_SMD:R_0603_1608MetricR13, R58, R59
31uFCapacitor_SMD:C_0603_1608MetricC35, C63, C72
3Conn_02x03_Counter_ClockwiseConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ2, J7, J8
3RResistor_SMD:R_0603_1608MetricR26, R29, R30
3SMLVN6RGBLED_SMD:LED_ROHM_SMLVN6D15, D16, D17
21.2 pFCapacitor_SMD:C_0603_1608MetricC4, C12
21.8 pFCapacitor_SMD:C_0603_1608MetricC42, C60
210 nHInductor_SMD:L_0603_1608MetricL6, L9
210nFCapacitor_SMD:C_0603_1608MetricC24, C26
210uFCapacitor_SMD:C_0603_1608MetricC28, C32
210 kΩResistor_SMD:R_0603_1608MetricR1, R2
212pFCapacitor_SMD:C_0603_1608MetricC10, C17
212 pFCapacitor_SMD:C_0603_1608MetricC5, C6
21nFCapacitor_SMD:C_0603_1608MetricC21, C22
22.7 pFCapacitor_SMD:C_0603_1608MetricC11, C41
2330Resistor_SMD:R_0603_1608MetricR22, R47
24.7kResistor_SMD:R_0603_1608MetricR6, R7
24.7uFCapacitor_SMD:C_0603_1608MetricC18, C67
25k1Resistor_SMD:R_0603_1608MetricR20, R21
26.8 nHInductor_SMD:L_0603_1608MetricL5, L8
2Conn_CoaxialSMA_CONNECTOR:LPRS_SMA_CONNECTORJ3, J25
2PolyfuseFuse:Fuse_0603_1608MetricF1, F2
2SW_SP3TNR01103ANG13-1C:SW_NR01103ANG13-1CSW1, SW2
2Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-2-2.54_1x02_P2.54mm_HorizontalJ19, J20
2TestPointTestPoint:TestPoint_Pad_1.0x1.0mmTP12, TP13
2arming terminalTerminalBlock_Phoenix:TerminalBlock_Phoenix_MPT-0,5-2-2.54_1x02_P2.54mm_HorizontalJ15, J16
11.0 pFCapacitor_SMD:C_0603_1608MetricC43
11.5 pFCapacitor_SMD:C_0603_1608MetricC8
1100 nFCapacitor_SMD:C_0603_1608MetricC3
1100nCapacitor_SMD:C_0603_1608MetricC27
1100uCapacitor_SMD:C_0603_1608MetricC31
110uCapacitor_SMD:C_0603_1608MetricC29
11uCapacitor_SMD:C_0603_1608MetricC36
122uFCapacitor_SMD:C_0603_1608MetricC34
12k2Resistor_SMD:R_0603_1608MetricR72
12u2Capacitor_SMD:C_0603_1608MetricC30
13.3 nFCapacitor_SMD:C_0603_1608MetricC33
13.9 nHInductor_SMD:L_0603_1608MetricL3
132MHzCrystal:Crystal_SMD_Abracon_ABM10-4Pin_2.5x2.0mmY4
1350kResistor_SMD:R_0603_1608MetricR44
1430kResistor_SMD:R_0603_1608MetricR42
147 nHInductor_SMD:L_0603_1608MetricL1
14n7Capacitor_SMD:C_0603_1608MetricC16
18.2 nHInductor_SMD:L_0603_1608MetricL4
1A3909A3909:MSOP10-PADIC1
1AP2112K-3.3Package_TO_SOT_SMD:SOT-23-5U15
1BGM220SC12WGA2RKiCADv6:BGM220SC12WGA2RU11
1BSS138Package_TO_SOT_SMD:SOT-23Q7
1BuzzerBuzzer_Beeper:MagneticBuzzer_PUI_AT-0927-TT-6-RBZ1
1Conn_01x02_PinConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ10
1Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical1x3servo1
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ12
1CrystalCrystal:Crystal_AT310_D3.0mm_L10.0mm_VerticalY1
1DMG2301LPackage_TO_SOT_SMD:SOT-23Q2
1D_SchottkyDiode_SMD:D_0603_1608MetricD1
1GPSRF_GPS:Quectel_L96U6
1H9161TR-NDU.FL-R-SMT_01_:HRS_U.FL-R-SMT_01_J4
1LPS22HBPackage_LGA:ST_HLGA-10_2x2mm_P0.5mm_LayoutBorder3x2yU5
1LSM6DS3Package_LGA:LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4yU10
1LTC4412xS6Package_TO_SOT_SMD:TSOT-23-6U13
1MMCUMK20DX256VLH7:QFP50P1200X1200X160-64NU1
1Micro_SD_Card_Det1Connector_Card:microSD_HC_Hirose_DM3D-SFJ1
1NANDPackage_SO:SOIC-8_5.3x5.3mm_P1.27mmU8
1NMCUPackage_QFP:TQFP-64_10x10mm_P0.5mmU3
1PE4259Package_TO_SOT_SMD:SOT-363_SC-70-6U12
1PESD5V‑S5ULCDiode_SMD:D_0603_1608MetricD2
1PRTR5V0U2XPackage_TO_SOT_SMD:SOT-143D8

The 201 most common of 208 parts.

Questions

How big is the Flight log PCB?

It measures 75.6 × 100 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Flight log use?

208 parts, built around the BGM220SC12WGA2R, PE4259-63, LPS22HB and AP2112K-3.3. 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 Flight log KiCad files?

From the knivier/SkyCell repository on GitHub, at the commit this page was made from: the board is code/Flight controller, data/flight computer/flight log.kicad_pcb and its schematic code/Flight controller, data/flight computer/flight log.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Flight log 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 layers68.8 × 90.3 mmHorizon, the printed circuit board in 3D

    Horizon

    Horizon-Avionics/Horizon-H1

    Building a fully open-source flight computer for amateur rocketry!

    173 parts17
  • 4 layers43.5 × 53.1 mmVanguard new, the printed circuit board in 3D

    Vanguard new

    SpacePicklesRocketry/2025-Electrical-2

    New electrical repo(buggy old one)

    100 parts
  • 4 layers42.3 × 51.9 mmVanguard new, the printed circuit board in 3D

    Vanguard new

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    93 parts915
  • 2 layers102.9 × 103.7 mmDrone ESP32, the printed circuit board in 3D

    Drone ESP32

    Asaf66/Drone_ESP32

    Rev 2 fixes the issues found while assembling the first board:

    80 parts
  • 6 layers25 × 42.5 mmSerene Mini, the printed circuit board in 3D

    Serene Mini

    cshariq/Serene

    Can't hear your friend talking on the highway? Do you need to blast your music just to hear it well? Well, you're in luck, because Serene is a portable noise-cancelling device that can remove all of that noise!

    81 parts
  • 4 layers23.4 × 25.4 mmLow Power LoRa, the printed circuit board in 3D

    Low Power LoRa

    SorenGilkeyJohnson/LowLoRa

    A solar powered, batteryless LoRa (expandable) sensor node powered from a supercapacitor charged by a small solar cell using an energy harvester.

    70 parts3CERN-OHL-S-2.0
  • 4 layers122.2 × 115.1 mmScan controller kicad, the printed circuit board in 3D

    Scan controller kicad

    fwachsmuth/Filmkorn-Raw-Scanner

    The Filmkorn Raw Scanner, turning 8mm and 16mm films into lossless 12-bit CinemaDNG

    170 parts13MIT