

Carrier
A portable ADS-B / FLARM receiver
- Size
- 105 × 95 mm
- Copper layers
- 4
- Thickness
- 1.59 mm
- Parts
- 220
- Nets
- 157
- Pads
- 708
- Tracks, vias
- 1,191, 234
- Pours
- 100
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 25 Sep 2026
- Updated
- 31 Oct 2026
Overview
Carrier is an open-source printed circuit board by mp911de, from the mp911de/airgrep repository on GitHub. It is a 4-layer board of 105 × 95 mm with 220 parts on 157 nets, routed with 1,191 tracks and 234 vias.
It is built around the MAX-M10S-00B, BMP580 and FUSB303BTMX, with the BQ25798RQMR, CL21B106KAYQNNE and 1N4148WS among its other parts. Its parts include 69 resistors, 59 capacitors, 13 transistors, 10 diodes and 9 connectors.
Main components
12MAX-M10S-00B
LCC-18(9.7x10.1)LCC-18(9.7x10.1) GNSS Modules ROHSu-bloxGNSS ModulesBMP580
LGA-10(2x2)-40℃~+85℃ 0.5pa/K 1.73V~3.6V 30Kpa~1.25bar 5.5uA 6pa 75pa I2C、SPI、I3C LGA-10(2x2) Pressure Sensors ROHSBosch SensortecPressure SensorsFUSB303BTMX
X2-QFN-12(1.6x1.6)-40℃~+85℃ 2.85V~5.5V 356uA 5uA Controller USB 2.0、USB 3.1 X2-QFN-12(1.6x1.6) USB Converters ROHSonsemiUSB ConvertersBQ25798RQMR
QFN-29(4x4)-40℃~+85℃ 17uA 1~4 3.6V~24V 5A Charging IC I2C Lithium Battery Support QFN-29(4x4) Battery Management ROHSTexas InstrumentsBattery ManagementCL21B106KAYQNNE
080510uF 25V X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSSamsung Electro-MechanicsMultilayer Ceramic Capacitors MLCC - SMD/SMT1N4148WS
SOD-3231.25V@150mA 100V 150mA 1uA@75V 200mW 2A 4ns Independent SOD-323 Switching Diodes ROHSJiangsu Changjing Electronics Technology (CJ)Switching DiodesAO3401A
SOT-231 P-Channel 14nC@10V 30V 47mΩ@10V、60mΩ@4.5V、85mΩ@2.5V 4A 55pF 645pF 80pF 900mV SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETs0603B222K500NT
06032.2nF 50V X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSGuangdong Fenghua Advanced Tech (FH)Multilayer Ceramic Capacitors MLCC - SMD/SMTFRC0402F7683TS
0402Chip Resistor - Surface MountFOJANK3-1280S-F1
SMD-25℃~+80℃ 10000 times 3.5mm 3.7mm 300mA 6V 9.1mm Black Gull Wing Rectangular Columnar SPDT Surface Mount, Right Angle SMD,9.1x3.7mm Slide Switches ROHSHRO ElectronicsSlide SwitchesH5VLD3B
SOD-323-55℃~+125℃ 12V 15pF 50nA 5V 6V 8A@8/20us 95W@8/20us Bidirectional ESD IEC 61000-4-2、IEC 61000-4-5 Single-channel SOD-323 ESD and Surge Protection (TVS/ESD) ROHShongjiachengESD And Surge Protection (TVS/ESD)ARG02BTC1241
0402-55℃~+155℃ 1.24kΩ 50V 62.5mW Thin Film Resistor ±0.1% ±25ppm/℃ 0402 Chip Resistor - Surface Mount ROHSViking TechChip Resistor - Surface Mount
README
README.mdairgrep
A portable ADS-B / FLARM receiver. Started as carrier board for a removable ESP32-S3 touch display and ADSBee 1090U receiver, with a soldered MAX-M10S GNSS receiver. It adds a single-cell Li-ion charger, a 5 V boost rail, a fuel gauge, a barometer and a buzzer.
Current state
- Schematic (7 sheets) and board (105 x 95 mm, 4 layers, all SMD parts on top) are implemented. The active TI PCB and schematics define the hardware;
tools/check.shreports the ERC, DRC and parity state. - Order status and open work are in docs/open-issues.md.
Where things are
| Path | Content |
|---|---|
| docs/requirements.md | What the device must do. Read first. |
| docs/checklist-draft.md | Draft hardware review checks, investigation guidance and trial evaluation |
| docs/specs.md | Technical data: radio, charging, battery, power budget, runtimes and validation limits |
| docs/decisions.md | Reasons behind the design decisions |
| docs/mechanical.md | Board outline, mounting holes, module placement, battery, antennas, enclosure |
| docs/interfaces.md | Pin maps of the modules and the carrier connectors |
| docs/i2c-bus-requirements.md | I2C speed, bandwidth, capacitance and pull-up limits |
| docs/firmware.md | What the display firmware must do: operating modes, charger host control, charger-mode display, sleep |
| docs/bom-hand-sourced.md | Parts to buy and fit by hand, with order links and order status |
| docs/open-issues.md | Open work only |
| issues/ | Local issue tracker, one markdown file per issue |
specs/power_params.json, tools/power_budget.py | Power model inputs and the script that generates the power, runtime and charging tables in docs/specs.md |
hardware/carrier-ti-charger/ | Active KiCad 10 project carrier.kicad_pro, BQ25798 charger. lib/ holds symbols, footprints and 3D models, carrier-schematic.pdf is the schematic print, jlcpcb/ holds the production exports. |
hardware/carrier-max-charger/ | Frozen MAX77757 reference, no further development. Legacy tools and results remain available with --project NAME. |
hardware/insulator/ | KiCad project of the insulator board between carrier and battery, generated by tools/make_insulator.py |
hardware/sim/ | Verification by simulation, see hardware/sim/README.md: charge cut-off (run_thermal.py), converters and undervoltage latch (run_power.py), board heat (run_heat.py), emissions and receiver desense (run_emi.py), enclosure vents (vent_model.py). Active results use the ti suffix or heat/ti/; MAX results are historical. |
mechanical/ | Placement drawing (placement.png, placement.svg, generator draw_placement.py) and extracted module geometry (JSON) |
datasheets/ | Data sheets of the parts in use, see datasheets/README.md |
sources/ | Manufacturer CAD: display KiCad project (display.zip), GNSS and gauge Eagle files, ADSBee reference image and schematic text |
tools/ | Scripts: design check (check.sh), board queries (board.py), net-coloured copper maps (netmap.py), power budget, CPL correction for JLCPCB (fix_cpl.py), insulator generator |
Tools
- KiCad 10.0.6, including
kicad-cliand its bundled Python for the scripts that usepcbnew.tools/kpyruns that Python. - Python 3.14; the simulation packages are listed in
hardware/sim/requirements.txt - ngspice 47 (Homebrew) for
hardware/sim/ python3 tools/report-holes-vias.py path/to/board.kicad_pcbreports via copper/drill sizes, minimum nominal annular rings, plated and non-plated footprint drills, slots, counts and nets in mil. Edge.Cuts cutouts are excluded.python3 tools/report-traces.py path/to/board.kicad_pcbreports straight and arc track widths by layer, with counts and nets in mil. Both reports are read-only, sorted by size, and automatically usetools/kpywhen needed.
Parts
220| Qty | Value | Footprint | References |
|---|---|---|---|
| 20 | 100n 16V | Mark:C_0402_1005Metric_NoSilk | C5, C12, C16, C27, C28, C29, C30, C31, C37, C38, C39, C40, C43, C44, C46, C50 +4 |
| 19 | 100k 1% | Resistor_SMD:R_0603_1608Metric | R12, R13, R27, R36, R41, R48, R49, R52, R53, R54, R55, R58, R62, R64, R69, R83 +3 |
| 11 | 22u 10V X7R | Capacitor_SMD:C_0805_2012Metric | C9, C10, C13, C14, C18, C19, C20, C33, C47, C51, C52 |
| 8 | 10u 25V X7R | Capacitor_SMD:C_0805_2012Metric | C6, C11, C24, C25, C26, C41, C42, C62 |
| 8 | 1M | Resistor_SMD:R_0603_1608Metric | R10, R42, R44, R45, R46, R47, R67, R68 |
| 7 | 2N7002 | Package_TO_SOT_SMD:SOT-23 | Q8, Q9, Q10, Q11, Q12, Q15, Q16 |
| 5 | 1N4148WS | Diode_SMD:D_SOD-323 | D6, D8, D9, D11, D12 |
| 5 | 1k | Resistor_SMD:R_0603_1608Metric | R28, R29, R30, R32, R43 |
| 5 | AO3401A | Package_TO_SOT_SMD:SOT-23 | Q2, Q3, Q4, Q7, Q14 |
| 4 | 10n | Capacitor_SMD:C_0603_1608Metric | C21, C23, C35, C59 |
| 4 | 1u | Capacitor_SMD:C_0603_1608Metric | C63, C64, C65, C66 |
| 4 | MountingHole_2.7mm_M2.5_Pad_Via | MountingHole:MountingHole_2.7mm_M2.5_Pad_Via | MH1, MH2, MH3, MH4 |
| 3 | 1.5k 1% | Mark:R_0402_1005Metric_NoSilk | R74, R76, R79 |
| 3 | 1.8k | Resistor_SMD:R_0603_1608Metric | R70, R71, R72 |
| 3 | 2.2n 50V | Capacitor_SMD:C_0603_1608Metric | C54, C55, C56 |
| 3 | 4.7u 16V X5R | Capacitor_SMD:C_0603_1608Metric | C1, C15, C48 |
| 3 | 470R | Resistor_SMD:R_0603_1608Metric | R23, R26, R31 |
| 3 | 47n 50V | Capacitor_SMD:C_0603_1608Metric | C8, C17, C45 |
| 3 | 768k 1% | Mark:R_0402_1005Metric_NoSilk | R60, R80, R81 |
| 3 | Fiducial | Mark:Fiducial_1mm_Mask2mm | FID1, FID2, FID3 |
| 3 | K3-1280S-F1 | Mark:SW-SMD_K3-1280S-F1 | SW1, SW2, SW3 |
| 3 | MountingHole_2.7mm_M2.5 | MountingHole:MountingHole_2.7mm_M2.5 | MH12, MH13, MH14 |
| 3 | MountingHole_6.5mm_Pad | MountingHole:MountingHole_6.5mm_Pad | MH6ANTGNSS, MH7ADS1090, MH8ADS980 |
| 3 | TPS259474LRPWR | Mark:VQFN-10_L2.0-W2.0-P0.45-HR_LM73100 | U11, U12, U14 |
| 2 | 1.5k | Resistor_SMD:R_0603_1608Metric | R19, R20 |
| 2 | 150R | Resistor_SMD:R_0603_1608Metric | R61, R86 |
| 2 | 2.2uH FC-ALX4030D-2R2MT | Mark:IND-SMD_L4.2-W4.2_FC-ALX4030D | L1, L2 |
| 2 | 4.7k 1% | Mark:R_0402_1005Metric_NoSilk | R56, R77 |
| 2 | 47k 1% | Resistor_SMD:R_0603_1608Metric | R33, R63 |
| 2 | 5.1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R90, R91 |
| 2 | 5.6k 1% | Resistor_SMD:R_0603_1608Metric | R73, R75 |
| 2 | H5VLD3B ESD 5V | Diode_SMD:D_SOD-323 | D4, D5 |
| 1 | +5V | Mark:TestPoint_Pad_D1.5mm | TP7 |
| 1 | +VBAT | Mark:TestPoint_Pad_D1.5mm | TP1 |
| 1 | +VSYS | Mark:TestPoint_Pad_D1.5mm | TP2 |
| 1 | +VUSB | Mark:TestPoint_Pad_D1.5mm | TP5 |
| 1 | 1.24k 0.1% | Mark:R_0402_1005Metric_NoSilk | R78 |
| 1 | 10 Ω 1% 0805 | Mark:R_0805_2012Metric_NoSilk | R82 |
| 1 | 100p | Capacitor_SMD:C_0603_1608Metric | C22 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R40 |
| 1 | 10k | Mark:R_0402_1005Metric_NoSilk | R87 |
| 1 | 120k 1% | Resistor_SMD:R_0603_1608Metric | R57 |
| 1 | 160k | Resistor_SMD:R_0603_1608Metric | R17 |
| 1 | 1n DNP snubber | Capacitor_SMD:C_0603_1608Metric | C36 |
| 1 | 2.2R DNP snubber | Resistor_SMD:R_0603_1608Metric | R39 |
| 1 | 220k | Resistor_SMD:R_0603_1608Metric | R16 |
| 1 | 240k 1% | Resistor_SMD:R_0603_1608Metric | R14 |
| 1 | 27nH | Inductor_SMD:L_0402_1005Metric | L3 |
| 1 | 47p C0G | Mark:C_0402_1005Metric_NoSilk | C58 |
| 1 | 560R | Resistor_SMD:R_0603_1608Metric | R84 |
| 1 | 5A 0466005.NRHF | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | 6.8k | Resistor_SMD:R_0603_1608Metric | R18 |
| 1 | 75k 1% | Resistor_SMD:R_0603_1608Metric | R15 |
| 1 | 82k 1% | Resistor_SMD:R_0603_1608Metric | R59 |
| 1 | ACTIVE_ANT | Mark:SW-SMD_SHOUHAN_2.54-1P_TPGT | SW5 |
| 1 | BAT | Mark:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical_R10 | J11 |
| 1 | BLM31KN471SZ1L | Inductor_SMD:L_1206_3216Metric | FB1 |
| 1 | BMP580 | Mark:LGA-10_L2.0-W2.0-P0.50-TL_BMP581 | U10 |
| 1 | BQ25798RQMR | Package_DFN_QFN:Texas_RQM0029A_VQFN-29_4x4mm_P0.4mm | U4 |
| 1 | CHG_INT_N | Mark:TestPoint_Pad_D1.5mm | TP8 |
| 1 | CR2032 | Mark:BAT-SMD_BS-CR2032-8 | BT1 |
| 1 | CSD17575Q3 | Mark:VSON-8_3.3x3.3mm_CSD17575Q3 | Q13 |
| 1 | DISPLAY_CTRL | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J10 |
| 1 | FUSB303BTMX | Mark:X2QFN-12_L1.6-W1.6-P0.40-TL | U15 |
| 1 | GND | Mark:TestPoint_Pad_D1.5mm | TP6 |
| 1 | GNSS_ANT | Mark:U.FL_Hirose_U.FL-R-SMT-1_Vertical | J7 |
| 1 | GNSS_LISTEN | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP4 |
| 1 | JP_PWR_ADS | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP3 |
| 1 | JP_PWR_ESP | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP1 |
| 1 | J_ADS_GNSS ADSBee J4 | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J5 |
| 1 | J_ADS_MAIN ADSBee J5 | Connector_PinSocket_2.54mm:PinSocket_1x13_P2.54mm_Vertical | J6 |
| 1 | J_ESP_A support | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J4 |
| 1 | J_ESP_B power/UART | Connector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_Vertical | J1 |
| 1 | J_ESP_C I2C | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J9 |
| 1 | J_ESP_D support | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | J8 |
| 1 | KT-0603W white | LED_SMD:LED_0603_1608Metric | D10 |
| 1 | L-115WEGW red/green CC | LED_THT:LED_D3.0mm-3 | D2 |
| 1 | LED 3mm green | Mark:LED_D3.0mm | D3 |
| 1 | LED_EN | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP2 |
| 1 | MAX-M10S-00B | Mark:ublox_MAX-M10S | U16 |
The 200 most common of 220 parts.
More from mp911de/airgrep
1- 4 layers105 × 95 mm

Similar boards
- 6 layers153.3 × 53 mm

SCAN
jjsprandel/SCAN_PCB
Welcome to the SCAN repository! Below, you will find all the necessary information, from hardware design to software documentation.
186 parts1 - 4 layers36 × 36 mm

Week6 CH592D SHT40 Pro Verification
421890164au-cell/temperature-humidity-sensor-pro
CH592D and SHT40 based low-power BLE temperature and humidity sensor PCB project
25 parts - 6 layers90 × 45 mm

Hw tele stern
shorlee/TeleSTERN
The TeleSTERN Project is an Open Source Rocketry Flight Computer based on the TeleMega by Altus Metrum.
303 parts3GPL-3.0 - 4 layers60 × 31 mm

GarageDoor pro
nikolaus018/garageDoor-pro
ESP32-C3 + GPS board that opens the garage door when you leave and arrive: firmware, KiCad PCB and perfboard build
46 parts1MIT - 4 layers76 × 54 mm

Pixelblaze battery backpack
SK-Electronics-Consulting/electronics-widgets
Small, Custom Tools for Electronics
112 parts1 - 6 layers121 × 83 mm

- 2 layers96 × 74.4 mm

Monolith
luftaquila/monolith
DIY wireless real-time datalogging platform for Student Formula and Baja.
138 parts45 - 4 layers118.7 × 72.5 mm

Framework ExpansionBay IO Module
XPModder/Framework-ExpansionBay
Some stuff I made for the Framework Laptop 16 Expansion Bay
90 parts3
Questions
How big is the Carrier PCB?
It measures 105 × 95 mm and has 4 copper layers, 1.59 mm thick.
What parts does the Carrier use?
220 parts, built around the MAX-M10S-00B, BMP580, FUSB303BTMX and BQ25798RQMR. 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 Carrier KiCad files?
From the mp911de/airgrep repository on GitHub, at the commit this page was made from: the board is hardware/carrier-ti-charger/carrier.kicad_pcb and its schematic hardware/carrier-max-charger/battery_control.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Carrier design in my own project?
Its repository states no licence, so its author keeps all rights: ask mp911de before reusing the design.