Whistling Birds Gauntlet Darts

Stage 01 · firmware & wiring harness

Flash the board. Wire the harness.

Parts should be in front of you before starting this stage — board, servo, reed switch, speaker, LED strip, and the 30 AWG wire from the BOM. A data-capable USB-C cable is required for flashing; charge-only cables won’t work.
Completed Whistling Birds wiring harness ready for installation

Before you start

  • All BOM components in hand
  • Data-capable USB-C cable
  • Soldering iron and 30 AWG wire

You'll complete

  • Firmware flashed and verified
  • Harness fully soldered
  • Servo connector bent flat

Time & difficulty

  • 1–3 hours
  • Soldering required


Install the Firmware Before Wiring

Flash CircuitPython and copy the project files onto the microcontroller before any wiring begins. With firmware already running, you can verify each solder joint with live tests as the harness comes together — a wiring fault found at this stage takes 30 seconds to fix; the same fault buried inside a completed gearbox can take 30 minutes.

The full install procedure (Windows one-click install.bat, plus a manual fallback for Mac/Linux/advanced users, plus the complete config.py reference) lives in the Software and Configuration guide:

Software and Configuration: Update Firmware

Power Switch & Battery Monitoring

The power switch wires to the board's EN and GND pins to turn the prop on and off. The optional battery-monitoring voltage divider lands on the same GND pad as the switch — both are soldered together in a single pass at the microcontroller. The 2-pin JST in the middle of the harness keeps the switch detachable for service.

Power button switch as received from the vendor, still in its original housing
Stock switch as received — still in the vendor housing before any disassembly
Rewired power switch plugged into the microcontroller's EN/GND header
Finished switch plugged into the microcontroller — ready for final install

Battery Monitoring Optional

Battery monitoring uses two 100kΩ resistors arranged as a voltage divider between BAT and GND, with the midpoint feeding the microcontroller's A3 analog input. The firmware reads A3 to report LiPo charge level. The schematic below shows where each resistor lands on the Prop-Maker Feather.

Battery monitoring circuit schematic for the Adafruit RP2040 Prop-Maker Feather
Voltage divider schematic — Adafruit reference
Power button switch fully prepped with the long-side leads, JST, and short-side leads ready for install
Power switch prepped — long side trimmed to 3 3/4″ (board side), short side stays long until trimmed for an exact fit at the gearbox.
  1. Open the switch housing. Use a small flathead screwdriver at the seam to pop the case open and remove the switch from the stock housing. The housing is discarded.
  2. Desolder the stock switch leads. Remove the existing wires from the switch terminals so the tabs are clean. Keep the wires and the inline 2-pin JST — both are reused.
  3. Trim the long side to length. Cut the long (board-side) leads to 3 3/4″ (3.75″). Strip and tin the bare ends. The short (switch-side) leads stay long for now — they'll be trimmed for an exact fit after the JST is positioned in the gearbox.
  4. Position the JST in the gearbox. Seat the JST connector about halfway along the wall in the battery compartment of the gearbox. This sets the run length for the long-side leads going up to the microcontroller and lets you route them cleanly before soldering.
    Power-switch JST seated about halfway along the wall of the gearbox battery compartment
    JST positioned in the battery compartment, leads routed toward the MCU
  5. Position all leads on the microcontroller before soldering. Place every connection that lands on the board first, so the GND pad is soldered once with both attachments together:
    • Switch long side: one 3 3/4″ lead at EN, the other at GND.
    • Battery monitoring (optional): one 100kΩ resistor between BAT and A3; a second 100kΩ resistor between A3 and GND. Tuck both resistors flat under the board near the A3 pin so they don't stand proud of the PCB.
    Either switch lead can go to either of EN or GND — the switch is just closing a circuit between them.
  6. Solder all pads in one pass. Heat each pad once: BAT, A3, GND, and EN. The GND pad takes both the switch's GND lead and the divider's GND-side resistor in a single joint — do them together so the pad is reflowed only once.
    Power switch leads soldered to the EN and GND pins on the Prop-Maker Feather
    Long-side switch leads soldered to EN and GND
    Completed battery monitoring resistor installation on the Prop-Maker Feather
    Voltage divider tucked under the board at A3
  7. Trim the switch side for an exact fit. With the JST seated in the battery compartment and the long side soldered to the microcontroller, trim the switch-side leads so the switch sits cleanly in its slot on the side wall — typically about 1 1/2″ (1.5″). Strip and tin the bare ends.
  8. Solder the short side to the switch. Solder the trimmed leads to the switch terminals. The switch is not polarized — either lead can go to either terminal.
  9. Clip and check. If you installed the resistors, clip any excess lead length. Confirm the divider center junction sits at A3 and there are no solder bridges between pads.
  10. Protect the switch joints. Add a small dab of hot glue over each soldered switch joint once the wiring is confirmed and the leads are positioned correctly.
  11. Verify continuity. Use a multimeter on the JST pins to confirm the switch closes and opens cleanly with each click. Functional ON/OFF behavior is verified later when the JST is plugged onto the microcontroller during gearbox assembly.

Reed Switch

The reed switch arms and disarms the system using a magnet on the hand plate — no buttons, no exposed contacts. It can be swapped for a standard momentary switch if preferred.

Wiring diagram for the reed switch: green wire to Btn pin, black wire to Gnd
Wiring: green → Btn  ·  black → Gnd
Finished reed switch with heat-shrink on both leads and cable management grouping
Finished reed switch with heat-shrink
  1. Prep the JST lead. Use the 2-pin JST connector and attached wires for the reed switch. Strip and tin the two loose wire ends.
  2. Bend the leads 90°. Bend each reed switch lead 90° to create a flat solder surface, then solder the JST leads. Either lead can go to either reed switch leg — reed switches are not polarized.
  3. Protect the joints. Slide 12 mm sections of heat shrink over each lead and apply heat to secure.

Speaker

The transducer speaker uses vibration rather than a built-in cone, so it must be pressed firmly against a solid surface inside the gearbox to produce sound. The stock solid-core leads are fragile — replace them before assembly.

Transducer speaker wiring diagram: red to SPK+, black to SPK-
Red → SPK+  ·  black → SPK−
Speaker with flexible leads replaced and heat-shrink applied
Flexible leads with heat-shrink protection
  1. Replace the stock leads. Cut 6″ of red (SPK+) and black (SPK−) wire, strip and tin both ends. Replace one wire at a time to avoid losing track of polarity — mark one terminal with a marker if needed.
  2. Solder the new wires. Solder red to SPK+ and black to SPK−.
  3. Cable management. Apply four 25 mm heat-shrink sections spaced 5 mm apart along the wire pair.
  4. Reinforce the joints. After heat-shrink, add a small dab of hot glue over each solder point to prevent movement and breakage during use.

LED Arrays

Twelve individually addressable RGB LEDs provide the dart lighting. The strip is cut into three segments (outer: 7 LEDs, middle: 4 LEDs, inner: 1 LED) and reconnected with very thin 30 AWG wire to minimise friction in the housing.

LED array wiring diagram showing 5V, GND, and Data connections across three strip segments
Each segment: red → 5V  ·  black → GND  ·  green → Data. Data direction follows the arrow on the strip.
Completed LED array with all three segments wired and heat-shrink applied
Completed LED array — all 12 LEDs
  1. Outer row (7 LEDs). Use the 3-pin JST connector and attached wires for the outer row. Strip and tin the three loose wire ends, then solder them to the entry end of the outer segment. Ensure the data arrow on the strip points away from the terminal block (toward the LEDs). Slide 4–5 mm of heat shrink over each joint — do not shrink yet. Connect to the microcontroller (5V, GND, Neo) and trigger the reed switch to verify. Shrink after a successful test.
  2. Middle row (4 LEDs). Cut 2″ of red, black, and green wire for the link between the outer and middle segments. Solder one end to the middle segment, position heat shrink (do not shrink), then solder the other end to the outer-row wires. Test before shrinking.
  3. Inner row (1 LED). Cut 2″ of red, black, and green wire for the link between the middle and inner segments. Same process: solder one side, position heat shrink, solder the other side to the middle-row wires, test all 12 LEDs, then shrink.
Troubleshooting LED issues
  • No LEDs at all: Check 5V, GND, and Data for connectivity between the strip and the microcontroller.
  • Some LEDs off or flickering: Cold solder joint or broken data trace at a cut point. Reflow suspect joints.
  • Strip won’t fit in housing: Heat shrink is over a resistor or LED chip. Re-open and reposition so tubing sits only on the flat solder pads.

Terminal Block

The terminal block is a solderless screw-terminal connector on the microcontroller board. It makes it easy to connect the reed switch, speaker, and LED array: each lead screws directly into the labeled post — no soldering, no heat shrink. Wire one component at a time and tug-test each connection before moving on.

Terminal block wiring diagram showing pin assignments for Btn, Gnd, SPK-, SPK+, 5V, and Neo
Terminal block pin assignments
Completed wiring harness with all components wired to the terminal block
Completed harness, ready for installation
Component Wire Pin
Reed switch Green (Data) Btn
Reed switch Black (GND) Gnd
Speaker Black SPK−
Speaker Red SPK+
LED strip Red (5V) 5V
LED strip Black (GND) Gnd
LED strip Green (Data) Neo
  1. Strip the wire ends. Strip about 5 mm of insulation from each lead and twist the strands so they hold a clean shape inside the screw terminal.
  2. Reed switch: green → Btn, black → Gnd. Loosen each screw, insert the lead, tighten, then tug-test — the wire should not pull free.
  3. Speaker: black → SPK−, red → SPK+. Loosen, insert, tighten, tug-test.
  4. LED strip: red → 5V, black → Gnd, green → Neo. Loosen, insert, tighten, tug-test.
  5. Final test. Power up the board over USB-C and verify: magnet triggers the reed switch, all three LED segments light up, speaker produces sound when triggered.

Servo Terminals — Low-Profile Bend

The three servo terminal posts must be bent flat to fit the microcontroller inside the low-profile gearbox cover. Take your time and make small incremental bends — bending too quickly at the solder base can lift pads from the PCB.

Servo connector with posts bent flat inside the gearbox, seated in the low-profile MCU cover
Posts bent flat — connector seated in the MCU cover without compressing the pins
  1. Place the servo connector on the tips of the posts. Balance it on the top of the three pins without pushing down. Confirm signal/voltage/ground orientation before bending.
  2. Support the PCB near the header to prevent torsion at the solder joints.
  3. Apply gentle, even pressure to bend the posts over. Press the connector slowly toward the USB port — the plug acts as the lever, bending all three posts together. Target ~45°. Pause and check for kinks or cracked bases if you feel resistance.
  4. Test fit under the MCU cover. The connector must seat without compressing the pins. Verify the servo still powers and responds.

Wiring harness is complete, and ready for install

Completed wiring harness with all components wired to the terminal block
Completed wiring harness — ready for Stage 02