MAD documentation

Architecture

Power, firing, sensing and control in the Rev A design.

Rev A is prototype hardware and is not flight qualified. This page describes the design as drawn; it may change.

Power and firing

The JST-PH input passes through a resettable fuse and a reverse-polarity P-MOSFET. An LTC3115-1 buck-boost regulator produces the 5 V battery rail across the 3–18 V input range. USB VBUS and the battery regulator are diode-ORed into the 5 V system rail, and an AP2112K supplies 3.3 V logic.

The TPS61040 firing charger is intentionally supplied from the battery rail, so USB alone cannot charge the firing bank.

The firing bank is two 470 µF, 16 V capacitors at a nominal 12 V. Both the charge and fire commands pass through separate 74LVC1G08 AND gates whose second input is the physical ARM header. A low-side MOSFET switches the match. A 2.2 kΩ bleeder makes the bank decay when charging is disabled, but the voltage must always be verified before handling.

Sensing and control

The RP2040 reads an MMC5983MA magnetometer over I²C. The magnetometer occupies the nose end of the PCB inside an explicit inner- and back-copper keepout.

Orientation is the sole apogee cue. Voltage readings are safety interlocks and telemetry, not alternate apogee sensors.

ADC channels monitor battery voltage, firing-bank voltage and low-current continuity. An RGB LED reports state. A W25Q128 QSPI flash reserves a 4 MiB append-only flight-log region at the top of the device.

Connectors

Connector Function
J1 Battery input, JST-PH: pin 1 positive, pin 2 ground
J2 Electric match, 5 mm screw terminal
J3 ARM jumper; remove whenever handling the output
J4 USB-C device for configuration and logs, USB 2.0 full speed
J5 SWD programming and debug

GPIO map

GPIO Function
0 / 1 Magnetometer SDA / SCL
2 Magnetometer interrupt
3 ARM_PRESENT input
4 / 5 CHARGE_CMD / FIRE_CMD
6 / 7 / 8 RGB LED
26 / 27 / 28 Battery / capacitor / continuity ADC

USB commands

The Rev A firmware answers three commands over USB:

Command Action
STATUS Reports state, battery voltage, capacitor voltage and whether the ARM jumper is present
DUMP Outputs the flight log
ERASE Erases the flight log; refused while the ARM jumper is present