Create an updated schematic and PCB layout for a compact Arduino Nano-based model rocket flight computer. This is an expansion of an existing flight computer that uses an Arduino-compatible controller, BMP280 barometric pressure sensor, ICM-20948 9DoF IMU, microSD card logging, servo deployment, and a 60 mm circular PCB form factor.
The new design must use an Arduino Nano as the main controller module. Keep the design compatible with Arduino firmware and common Arduino libraries. The board should include:
- Arduino Nano socket/header footprint
- BMP280 barometer on I2C
- ICM-20948 IMU on I2C
- microSD card module/socket on SPI
- Four 3-pin servo output headers
- Four MOSFET-switched deployment output channels
- Four 2-pin pluggable terminal blocks for the deployment output channels
- One momentary ARM button
- One RGB status LED
- Separate power domains for logic, servos, and deployment outputs
- A physical arming switch or removable jumper for the deployment/pyro power rail
- Test pads for 5V_LOGIC, 5V_SERVO, PYRO_BATT+, GND, each MOSFET gate, and each deployment output
- Clear silkscreen labels for every connector, pin, polarity, and status indicator
Use this pin map:
A0 / D14 = RGB status LED data
A6 = ARM button analog input with external 10k pull-down resistor
A4 = I2C SDA
A5 = I2C SCL
D10 = SD card chip select
D11 = SD card MOSI
D12 = SD card MISO
D13 = SD card SCK
D3 = Servo 1 signal
D5 = Servo 2 signal
D6 = Servo 3 signal
D9 = Servo 4 signal
D2 = MOSFET deployment channel 1 gate
D4 = MOSFET deployment channel 2 gate
D7 = MOSFET deployment channel 3 gate
D8 = MOSFET deployment channel 4 gate
Design the RGB status LED as a single addressable RGB LED such as WS2812B/NeoPixel style. Connect its data input to A0/D14 through a 330–470 ohm series resistor. Add a 0.1 uF decoupling capacitor close to the LED between VCC and GND. The LED states should be:
- Green = SAFE / not armed
- Red = ARMED
- Blue = FLIGHT COMPLETE / after landing
Design the ARM button as a momentary pushbutton connected to A6. Wire the button from 5V_LOGIC to A6, and add a 10k pull-down resistor from A6 to GND. The firmware will use analogRead on A6 and require a 2-second long press before arming.
Important safety requirement:
The ARM button must only soft-arm the firmware. It must not directly energize the deployment outputs. The board must include a separate physical arming switch, removable jumper, or keyed interlock in series with the deployment/pyro battery rail. The deployment MOSFETs must default OFF during boot and reset using gate pulldown resistors. Add gate resistors between the Nano pins and MOSFET gates.
For each of the four deployment channels, use a low-side logic-level N-channel MOSFET circuit:
PYRO_SAFE+ goes to terminal block pin 1.
Terminal block pin 2 goes to MOSFET drain.
MOSFET source goes to PYRO_GND.
Nano digital output goes through a gate resistor to MOSFET gate.
MOSFET gate has a pulldown resistor to source/GND.
Add clear labels: PYRO1, PYRO2, PYRO3, PYRO4.
Keep this at the electronics interface level only. Do not include explosive charge design.
For the four servo outputs, create 3-pin headers labeled:
GND, 5V_SERVO, SIG.
Use pins D3, D5, D6, and D9 for the servo signals. Servo power must come from a separate 5V_SERVO regulator/BEC rail, not from the Nano 5V pin. Tie all grounds together at a controlled common ground point.
For the microSD interface:
D10 = CS
D11 = MOSI
D12 = MISO
D13 = SCK
Use proper 3.3V logic handling if using a raw microSD socket. If using a microSD module footprint, label whether it expects 5V or 3.3V input.
For the I2C sensors:
A4 = SDA
A5 = SCL
Place the ICM-20948 close to the center of the circular PCB and add a silkscreen arrow indicating rocket nose/up direction. Place the BMP280 away from heat sources, regulators, MOSFETs, and high-current traces. Provide vent exposure for the barometer if this board will be mounted inside an avionics bay.
PCB layout constraints:
- Circular PCB, approximately 60 mm diameter
- Keep MOSFET/high-current deployment traces away from I2C sensor traces
- Put microSD access near the board edge
- Put terminal blocks near the board edge
- Put the ARM button and RGB LED somewhere visible and accessible
- Add mounting holes if possible
- Use wide traces for servo power and deployment current paths
- Use thin traces for logic signals
- Add ground pour
- Add clear silkscreen: SAFE, ARMED, FLIGHT COMPLETE, ARM BUTTON, PYRO ARM, SERVO1-4, PYRO1-4, SD, I2C, 5V_LOGIC, 5V_SERVO, PYRO_BATT+, GND
Generate:
- Full schematic
- PCB layout
- Updated block diagram
- Updated BOM
- Notes explaining power domains, arming logic, LED status logic, and safety interlocks
- Firmware pin definitions and pseudocode for the arm button and RGB LED state machine
i want it to be a circle shape with a diameter of 50