The main driver for v2 was getting the Whistling Birds ready for preassembled kit production. Since the original release, I have been collecting feedback from DIY builders and making small iterative improvements. That feedback helped, but preparing kits for customers who are much less likely to want to open the unit back up and troubleshoot it forced a deeper review of the design, fit, finish, and manufacturability.
v2 is the result of that review. On the hardware side, the focus was a cleaner gearbox, better fit and finish, lower friction, stronger snap-fit behavior, and geometry that prints more consistently. On the software side, the focus was improved usability and personalization so the module feels easier to operate and easier to tailor to the owner.
Looking for the build docs? The full build guide, assembly instructions, operations guide, and support docs are available here: Whistling Birds Guide Landing Page.
Model changes
The biggest physical change in v2 is the gearbox and front-module system. The entire assembly was reviewed from the perspective of repeatable production, cleaner installation, and long-term reliability. The goal was not to change what the prop is supposed to do, but to rebuild the parts that were creating friction during printing, fitting, assembly, and service.
Nearly every printed part was touched. That includes the short push arms and the inner and middle LED housings: the short arms now retain those rows with printed hooks, and the housings add wire guides on both sides of the lead exit so the printed parts protect the solder joint instead of the wire taking the load. Everything else was rebuilt from the ground up around better geometry, better fit, and more reliable assembly behavior.
Better fit, finish, and print quality across the gearbox
A large part of the v2 effort was improving how the gearbox prints and how the finished parts come together. The geometry was rebuilt to reduce ugly edge conditions, improve how surfaces resolve in print, and produce cleaner-fitting parts with less post-print cleanup. That matters for DIY builders, but it matters even more when building finished kits that need to look and feel production-ready out of the box.
Power button moved to the side
The power button is now on the side of the unit instead of the top face. That makes it easier to press intentionally, less likely to get bumped during handling, and easier to access once the module is installed in a gauntlet.
Power button rewired to EN/GND for charge-while-off
The power button is now wired to the microcontroller's EN and GND pins instead of breaking the LiPo line. The battery stays connected to the charging circuit at all times, so plugging in USB-C charges whether the prop is on or off. Earlier revisions required the button to be in the ON position for charging to work — a frequent source of confusion.
Thanks to Keith Rohrer for the tip on wiring the power switch and LiPo battery so the unit can charge while it is off. Wiring details are in the updated harness and gearbox guide sections.
EN and GND on the microcontroller — the power button now controls the board's reset line instead of the LiPo path.JST connectors on the LED array and reed switch
The LED array and reed-switch leads now come pre-terminated with 2-pin JST connectors so the front module and the reed switch can be disconnected without desoldering. A new printed JST bracket at the front of the gearbox cradles the reed-switch connector — the harness side seats from inside the gearbox, and the reed switch plugs into it from outside in the gauntlet. Removing the prop for service no longer requires breaking solder joints.
Thanks to Steve Hunt for the quick-connect plug tips that led to the JST connectors on the LED array and reed switch.
Gearbox cover replaced with a servo clip
The full gearbox top cover and its retention screw are gone. v2 replaces them with a smaller friction-fit servo clip that retains only the gear train. The lower profile drops the overall stack height for tighter gauntlet fits, and the clip installs and removes without tools. To remove it, lever from the sides or back — the retention geometry resists forward pressure (the direction the gear train pushes), so prying from the front fights the clip.
Continuous bottom and lower side walls
The gearbox bottom is now a continuous wall with no break-out openings, which strengthens the housing and gives every cover a flat, predictable surface to snap against. The side walls were also lowered so the unit clears the inner enclosure of tighter gauntlets like Chamanleon FX without binding.
Case covers and snap closures
The surrounding covers were rebuilt with the housing update. The wire cover, MCU cover, and battery cover were all adjusted so the parts seat more cleanly, close with less fiddling, and hold with a more reliable snap fit. This is the kind of change that looks minor in a diff, but it matters immediately when assembling units repeatedly or opening them for service.
Lower friction geartrain
The moving parts got a focused cleanup. One of the bigger mechanical issues in v1 was the servo's mounting screw rubbing against the drive-gear axle every cycle. v2 increases the servo-gear diameter to lift the axle clear of the screw, eliminating that drag at the source. The timing gear and drive gear profiles were also revised so the train rotates more smoothly through its full range — less load on the servo, quieter cycles, and a more predictable feel by hand.
Outer LED row: clip replaced with hook-and-tab attachment
The original outer-row connection used a separate clip that was awkward to position and apply. v2 replaces that clip entirely. The long push arm now has a forward-pointing hook at its tip, and the outer LED housing has a matching tab. The short push arms and the inner/middle LED rows were also redesigned around a mechanical tab/slot connection that wraps the wire lead: the small 3×1 mm magnets are gone, the new connection no longer relies on a magnetic latch that can pop loose and leave the dart tips extended, and the printed parts now carry the load instead of the solder joint. To attach: seat each short row fully so the wrapped wire lead and printed slot are captured by the short push arm, then hook the outer row onto the long push arm with one finger and press down and back to engage. To remove: pull the outer LED row forward with a slight upward motion so the tab clears the hook.
Gearbox Mounting System replaces velcro
v1 used adhesive velcro to retain the gearbox in the gauntlet, which was inconsistent and made service access harder than it needed to be. v2 introduces the Gearbox Mounting System: a glued nozzle mount at the front and a glued rear retaining clip at the back. The gearbox slides onto them in one motion and sits in a repeatable position every time. Velcro is no longer required.
Thanks to Drue McCombs for the bird cage idea that led to the Gearbox Mounting System.
Firmware changes
The firmware changes in v2 are focused on usability and personalization. The goal was to make the prop easier to operate, easier to configure, and easier to tailor to the owner without losing the feel of the original behavior. This release also updates the default gear timing values because the revised model changes the effective size relationship between the servo gear and the drive gear.
Servo timing defaults
The default _SERVO_ANGLES in v2 firmware are unchanged from v1: [0, 50, 100, 150]. The revised v2 servo-gear and drive-gear geometry still seats cleanly at the original angles, so a stock v2 build does not require any servo-angle adjustment in config.py.
If you want the new firmware features without upgrading the hardware, only carry forward the _SERVO_ANGLES that already work for your build if it still uses the older smaller servo gear. Do not copy the rest of a v1 config.py into the v2 release files; those settings are not otherwise compatible.
Config menu changed from double-tap to long hold
The config menu now opens with a long magnet hold while disarmed instead of the older double-tap gesture. That makes menu entry more deliberate and cuts down on accidental triggers from movement during normal handling.
Battery status is the default menu entry
The first thing shown when the config menu opens is now the battery view. That gives quick access to the current charge state without making you step through other items first, which is more useful in real operation than landing on a generic entry state.
Firing mode became a first-class setting
Firing behavior is now configured through two independent settings in the config menu: Firing Mode and Salvo Size. That makes the current behavior visible and adjustable without relying on gesture-only logic.
Firing Mode controls whether and how firing is triggered:
- Off. The unit arms normally and the LEDs activate, but firing gestures do nothing. Good for arming up, walking around, and getting photos without risk of accidentally firing.
- Tilt (default). Tilt the wrist left or right to fire. Tilt up or down while armed to cycle through salvo sizes.
- Shake. A sharp wrist shake fires the weapon. Tilt left or right to cycle salvo sizes — left/right is used here instead of up/down because a shake motion is more likely to accidentally register as an up/down tilt, so the salvo control uses the other axis to stay out of the way.
Salvo Size controls how many darts fire per trigger. The available sizes can be changed in the config file; the defaults are:
- 0 — Row by row. Darts fire from each row in sequence rather than all at once.
- 1 — Single dart. One dart fires per trigger.
- 4 — Small salvo. Four darts fire in sequence — the same burst seen in The Mandalorian Season 1, Episode 2.
- 12 — Full salvo. All twelve darts fire.
Idle animations were added
Armed idle behavior now offers seven selectable patterns that play on the dart-tip LEDs while the prop is armed. Most adapt to the saved Dart Tip Color as the primary tone and the Afterburner Color as the accent, so changing those colors reskins every animation automatically — Rainbow is the exception and always runs the full spectrum.
| Animation | What it looks like |
|---|---|
| Solid Primary | Steady dart-tip color across every LED. Lowest-power option and the default on a fresh install. |
| Breathing | All LEDs inhale and exhale in the dart-tip color over a roughly one-second cycle. |
| Scanner | A bright head in the afterburner color sweeps back and forth across the strip, leaving a soft trail over the dart-tip color. |
| Orbit | An accent-colored dot rotates around the ring with a half-blended counter-dot tracking the opposite side. |
| Heat Pulse | A travelling shimmer blends primary and accent colors in a phase-shifted wave — reads like rippling heat or a slow plasma roll. |
| Sparkle | Dim primary base with bright white pops appearing on random LEDs many times per second. |
| Rainbow | The full color wheel scrolls evenly around the LEDs. Ignores the dart-tip and afterburner color settings. |
Pick one from the on-device Idle Animation menu item, or set SELECTED_ANIMATION in config.py. The operations guide has the full live-preview behavior.
Volume control in the config menu
Audio volume is now adjustable from the config menu, so owners can dial in the right level for their environment without editing config.py.
Ongoing cleanup for battery life
As always, the firmware work also includes cleanup aimed at squeezing more useful runtime out of a very small battery-powered device. Some of that comes from explicit behavior changes, and some of it comes from incremental housekeeping in how the controller and LEDs behave when the prop is not actively firing.
Upgrading from v1
If your v1 build is working correctly, you do not need to rebuild it immediately. The v2 changes focus on usability, serviceability, and cleaner behavior rather than changing the core concept of the module.
If you are planning a rebuild, the biggest differences to expect are the updated gearbox geometry, the side-mounted power button, the stronger snap-fit behavior across the covers, the lower-friction mechanism cleanup, the easier front-module attachment, the revised servo/drive gear relationship, and the firmware usability updates.
If you are only taking the software update on older v1 hardware, install the v2 files cleanly instead of migrating your old settings forward. If your build still uses the older smaller servo gear, note the _SERVO_ANGLES that already work for your mechanism and re-enter only those values in the new config.py after the update. The firmware update process is documented on the Software and Configuration page and covers the correct sequence: delete the existing files from CIRCUITPY and copy the new release files over cleanly.
Get started
Ready to build? Whistling Birds is available across the build path that fits you best:
- Digital files — print and source components yourself.
- DIY kit — printed parts plus the hardware bill of materials, you do the wiring.
- Completed wiring harness — add to a DIY kit to skip the soldering.
- Drop-in kit — fully assembled, validated for Chamanleon FX, Galactic Armory, and Great Ape gauntlets. Now open for pre-order.
Not sure which is right for you? The Whistling Birds Guide walks through fit checks, tools, and decisions before you commit. If you'd rather wait for the next batch of finished kits, join the notify list and we'll email you when stock is open.
0 comments