Din Djarin Build Guides

Whistling Birds v2.5: The Refinement Release

v2.5 is a refinement release built from the lessons of real-world builds, installations, and testing. The core Whistling Birds design remains the same, with improvements throughout the mechanics, firmware, power management, and serviceability. Existing v2 builds can run the new firmware without replacing the printed mechanism.

Whistling Birds v2.5: The Refinement Release

v2.5 is a refinement release.

The Whistling Birds have changed considerably since the first version, but some of the lessons only came from building more of them, installing them in different gauntlets, and seeing how they behaved through actual use.

v2.5 closes several of those remaining gaps. The core design is still the same, but the mechanics are more secure, the firmware is more complete, servicing is easier, and several small compromises from the earlier versions have been worked out.

It is less about adding a list of new features and more about bringing the whole system closer to what I originally wanted it to be.

What you’ll notice in v2.5

  • Faster, more cinematic firing: salvos accelerate into a rip, with staggered whistles and afterburner glows that fade dart by dart.
  • More consistent movement: revised row connections and timing keep every row where it belongs.
  • Longer battery life: the new Power Saving mode dials back brightness and sound, extending continuous armed runtime by roughly 50% in testing.
  • Brightness and power controls: set them directly from the gauntlet, no computer needed.
  • Settings that survive updates: colors, salvo size, animation, brightness, volume, and power mode persist instead of needing to be set again.
  • Easier servicing: the gearbox releases from the gauntlet with a pull tab.

Updating from v2?

Firmware: recommended. v2.5 runs on your existing v2 printed parts and adds the new firing effects, persistent settings, battery management, brightness control, Power Mode, the rebuilt demo mode, and a set of fixes. If you’re keeping the original v2 timing gear, there is one servo-angle setting to check after updating; see Updating an existing build below.

Printed parts: optional. If your current mechanism is working well, keep it. The v2.5 parts improve row retention, mounting, and timing. If you do install them, replace the printed mechanism as a complete v2.5 set rather than mixing old and new parts. The revised timing gear, push arms, LED housings, and mounting geometry are designed to work together.

USB power detection: optional. The prop charges from any USB power source either way. The two-resistor modification only lets it recognize wall chargers and power banks so the charging animation comes on automatically. Without it, that automatic display appears only when a computer is connected.

Hardware: optional. The v2.5 Hardware Upgrade Kit brings an existing build to current spec from $15: the louder current-spec speaker, JST quick-disconnect wiring for the LED assembly and reed switch, and the two resistors for USB power detection. The complete v2.5 printed parts set is a $5 add-on, open to everyone. It is a do-it-yourself upgrade for every kit tier, Assembled Kits included.

v2.5 in action: the full 12-dart swarm dump, embers fading dart by dart. Audio on.

Full v2.5 changelog

Everything below is the complete change list for the release.

Model changes

Updating the printed parts is optional: the v2.5 firmware works with existing v2 builds. If you do choose the mechanical update, replace the printed mechanism as a complete v2.5 set rather than mixing old and new parts: the revised timing gear, push arms, LED housings, and mounting geometry are designed to work together.

Rows stay where they belong

Rows now hold their positions during firing and retraction. The old timing gear had a minor overlap between the row stages, which meant the middle and outer rows could shift visibly when the row before them retracted. The v2.5 gear removes the overlap. The redesign also prints better: I removed the overhangs from the gear geometry, so the print defects they invited (a common cause of a binding drive train) are far less likely.

The new gear requires updated servo angles: the inner-row stop moved from 150 to 160 degrees to match it. v2.5 ships with the matching defaults, so a new v2.5 build requires no servo-angle changes; if you are running older gear prints or have customized your angles, the seating notes in config.py walk you through it. The drive gear picked up a matching revision from the same export.

Previous v2 timing gear next to the new v2.5 timing gear that removes the overlap between row stages
Previous v2 timing gear vs. the new v2.5 timing gear: the overlap between row stages is gone.

More secure row attachment

The LED rows now lock to the gearbox positively, with far less chance of a row coming loose and binding the mechanism. The row-to-gearbox connection has evolved with each revision: magnets in the original design, hooks in v2, and now a French-cleat-style interface on the short push arm and the inner and middle LED housings and covers. During test fitting, I caught a row starting to work its way out of the v2 hooks, and a partially seated row can cause the unit to bind or stall. The cleat seats so that the parts only come apart by tilting the row down, which is only possible with the unit out of the gauntlet. Once installed, the fiber optics in the nozzle hold the rows at their working angle.

Previous v2 hook row linkage next to the new v2.5 French-cleat linkage on the short push arm and row housings
Previous v2 hook connection vs. the new v2.5 cleat connection: the cleat registers the row on the arm and holds it there.

Easier removal for maintenance

The gearbox now releases with a flexible pull tab instead of a fight with the mounting system. The gearbox and the front nozzle mount gained the tab: pull it, the retention clip lets go, and the gearbox slides straight forward.

The Whistling Birds v2.5 nozzle mount with the flexible pull tab that releases the gearbox
The tab is part of the nozzle mount: pull it and the gearbox slides straight forward.

Rear bracket: large-flange variant

There is a new alternate rear bracket, Gearbox-Rear-Bracket-LargeFlange. It gives the glue joint more surface area and its flange covers the mounting opening, useful on larger gauntlets where the standard bracket leaves the opening visible. Print whichever suits your gauntlet; both remain in the parts set.

Slim rear bracket on Chamanleon FX and Great Ape Studio gauntlets next to the large-flange variant that covers the mounting opening
The slim bracket on two gauntlets, and the large-flange variant covering the mounting opening.

MCU cover and snap clip

The microcontroller cover and its snap clip are revised: the cover no longer dislodges when pressed from the front, and the clip no longer pushes the board into the cover as you install it.

A smaller power button

New kits ship with a smaller power switch: 13mm, down from the original 18mm. The standard Gearbox model fits the 13mm switch, and a Gearbox-large-button variant keeps the original 18mm switch compatible. Upgrading from an earlier kit? Keep your existing button and print the large-button gearbox; both variants are in the parts set.

The pre-plated 3MF carries both: the standard gearbox on the main plate, and a separate Large Power Button (Pre v2.5) plate with the gearbox cut for the original 18mm switch.

The four P1S build plates: Gearbox, Fiber Optics, Full Assembly, and the Large Power Button (Pre v2.5) gearbox variant
The build plates: the standard gearbox on plate 01, and the Large Power Button (Pre v2.5) gearbox variant on its own plate.

Fiber-optic jigs: shorter and more compact, plus a new sharpening jig

The heat jigs (a mirrored pair, A and B) hold the fiber-optic strands straight while you heat-form them, and are now shorter and more compact. The revised glue jig also seats the beskar dart tips at the correct depth for gluing, so tip placement is repeatable.

New to the set is a tip-sharpening jig: it adapts the fiber optic to a tungsten electrode sharpener, holding each strand consistently against the grinding wheel for repeatable points. We currently use the 20° port. The fiber optics guide shows it in use.

The compact pair replaces the previous Fiber-Optics-Jig-A/B files in the parts set.

The Whistling Birds v2.5 fiber-optic heat jigs, the mirrored A and B pair that hold the strands straight for heat-forming
The mirrored heat-jig pair holds the strands straight for heat-forming.
The Whistling Birds v2.5 fiber-optic glue jig, which seats the twelve dart tips at gluing depth
The glue jig seats all twelve dart tips at gluing depth.

Shorter dart tips, easier painting

The dart tips are shortened to remove some of the friction we found with some gauntlet designs. The resin models of the tips are also arranged to make it easier to get to all sides of each dart when painting.

Previous v2 beskar dart tip next to the shorter v2.5 tip, with the angled 12-tip resin set that leaves every face reachable for painting
The v2.5 tip is shortened from 22 mm to 17 mm, and the resin set is angled for clear access to every face.

Retired parts

The servo clip and the nozzle guides are retired from the parts set, along with the old fiber-optic jigs, and the two dart-tip lengths are consolidated into a single Dart-Tip model. If you are printing v2.5 fresh, the parts list in the build guide is current.


Firmware changes

The magnet arms the unit instantly

Touch the magnet and the arming sequence starts on contact. Keeping the magnet in contact for about two seconds still opens the configuration menu, and that works from either direction: hold through an arm, or touch-to-disarm and keep holding. Continued contact is ignored once the toggle has fired, so the unit stays in the state you put it in until you lift the magnet and touch again.

Firing is a swarm now

Salvos ramp: the first darts fire deliberately, then the gaps tighten into a rip, with the whistles staggered on the same curve. It is most dramatic on a full 12-dart dump, but every salvo size gets the behavior. Each fired dart also settles into its afterburner glow the instant it fires and fades out on its own timer with an ember-like decay, so the glow chases the firing wave across the rows. Back-to-back salvos overlap, so rapid firing keeps embers from earlier shots alive under the new ones.

Two firing fixes come along with this: every row now physically retracts the moment it empties during a full dump, and embers left glowing after a salvo finish fading on their own.

Demo mode is now a guided tour

Demo mode was rebuilt as a hands-free showcase of everything the prop can do: every look it cycles through is one you can set as your own from the menu. Each round a random color, idle animation, and salvo size is selected and the unit then arms, displaying the idle animation for a few seconds, and fires until empty. Stop it any time with the magnet or a downward tilt.

Personalization persists, and is more durable

Your menu choices (colors, salvo size, idle animation, brightness, volume, power mode) are now kept in a protected part of the board’s memory. Firmware updates leave them alone, and so does plugging into a computer. Previously, in rare cases, connecting to a computer while the prop was saving a setting could scramble its storage and leave the unit dark; settings now live somewhere that cannot happen. If you are updating from an earlier version, your saved settings carry across automatically.

Battery monitoring and management

Battery monitoring and power management improvements, built around three bands that every cue shares, read straight off the twelve-tip gauge: green at five or more tips, amber at three or four, red at one or two.

  • Low-battery warning on arming. New this version: in Power Saving mode, arming in the amber or red band flashes the band color on the strip, so you know before the show starts.
  • Gradual low-battery dimming. Across the amber band the prop eases the LED brightness down toward a floor, in both power modes, so a fading battery stretches your runtime.
  • Calibrated gauge. The battery reading is now corrected against a bench meter (it previously read about 6% low), so the gauge and every band cue land where the battery actually is.
  • Direction-aware battery display. The display runs downward when you are on battery and draining, and upward when plugged in and charging, so a glance tells you which way things are going.
  • Battery view on plug-in. Connecting a USB cable while the prop is powered on and disarmed brings the battery view up on its own. (With the power switch off, the board is not running, so there is no charging indication.) Tilting out of the view dismisses it until you unplug, and unplugging resets it, so it is always available on the next connection. On v2.5 builds, with USB power detection fitted as standard, this works with any power source. On an earlier build without the modification, the view appears when a computer is connected while the prop is awake. Wall chargers, power banks, and waking the prop from sleep need the hardware change described below.
  • Plugging in no longer extends the darts. Power arriving shows the battery view and charges quietly: the darts stay in, so a charger connected mid-convention can’t push darts into fabric or a holster. (The old bench convenience is available as EXTEND_DARTS_ON_PLUG_IN in the advanced settings file.)
  • Longer standby. Disarmed and idle, the prop powers down its LED, speaker, and servo rail entirely and sleeps until the magnet wakes it, instead of waking itself every few seconds. After half an hour untouched it drops into a deep sleep that stretches standby to days, and the next magnet touch wakes it straight into arming after a brief pause. The power switch is still the right way to store it long term.

Config menu: three new items

The on-device config menu now has ten items. Brightness, Power Mode, and Config Reset are new; Demo Mode moves to position nine.

  1. Battery Level
  2. Firing Mode
  3. Idle Animation
  4. Dart Tip Color
  5. Afterburner Color
  6. Volume
  7. Brightness (new)
  8. Power Mode (new)
  9. Demo Mode (was item 7)
  10. Config Reset (new)

Brightness sets the LED output level from the menu. It defaults to full output, so the dart tips are visibly brighter than v2 out of the box. Measured at full brightness on the recommended battery, expect 6–8 hours armed and lit; Power Saving’s half brightness stretches the top end toward twelve. Also available as LED_BRIGHTNESS in config.py.

Config Reset clears every setting saved from the menu back to the factory values (or your edited config.py, which takes back over), then restarts the prop. It is deliberately hard to trip: the item always shows every tip in red, and selecting it starts a red pulse you must confirm with a second tilt up within five seconds.

Power Mode sets how hard the prop runs, with two settings. Full Power, the default, keeps brightness and volume exactly as you set them and stays armed until you disarm it. Power Saving halves brightness and volume and retracts after ten idle minutes, for long convention days. Also available as POWER_MODE in config.py.

Config menu improvements

  • Faster saves. The confirmation plays the instant you tilt to save.
  • You can count where you are. Each menu item lights a pattern with exactly as many tips as its number, on the nozzle itself: count the lit tips and you know your place. Navigation draws the pattern instantly, and quick wobbles won’t skip items. Config Reset is the one exception: every tip, always red.
  • Capped selectors. Volume and Brightness now stop at both ends and warn you when you reach one, with a short tone and a red flash on the strip; Power Mode simply stops at its two options.
  • Smoother menu pulse. The menu’s pulsing background renders at the same frame rate as the idle animations.

Fixes and under the hood

  • Fixed the salvo-size selector getting stuck when a size appears more than once in your SALVO_SIZES list; each entry is now its own stop in the cycle.
  • Fixed a crash at the start of demo mode's second round.
  • Fixed the middle row retracting late during full-dump salvos.
  • Fixed afterburner embers freezing mid-fade between hand-fired salvos.
  • A general cleanup pass under the hood: less code on the board, more headroom, and easier for us to maintain.
  • Firmware fills in defaults for any settings missing from an older config.py, so an existing build boots cleanly on the new firmware with its old config.
  • For the tinkerers: an optional RUNTIME_LOG_SECONDS setting records how long the prop ran, for anyone measuring their own battery life. Defaults off.

Hardware changes

USB power detection: two added resistors

Standard for v2.5 builds; optional for earlier builds that upgrade. The board detects a USB cable by the data handshake with a computer, so a plain wall charger or power bank supplies power without the firmware knowing. Two added resistors, wired as a divider from the board’s USB header to a spare pin, put the 5 V line itself where the firmware can read it, so plugging into any power source registers as plugged in. New v2.5 builds include this step (see the USB Power Detection section of the wiring guide), and the firmware ships with it enabled (VBUS_SENSE_PIN = "D5" in config.py). If you are upgrading an earlier build you can add it or leave it: the firmware and every other v2.5 change work either way, and charging itself never depends on it: the battery charges from any USB power source regardless. Without the modification the unit detects only USB data connections (a computer); the automatic wall-charger and power-bank charging display is the one thing that stays off.

Power button: 13mm

New kits ship a 13mm power switch in place of the original 18mm. Wiring and behavior are identical; only the size and the gearbox opening differ. Both gearbox variants remain in the parts set; see A smaller power button under Model changes.


Updating an existing build

Firmware: the v2.5 package is delivered through your original order’s download link: sign in to your account, open the order, and download again; the link always serves the current version. Updating is the same copy-the-files process as before, and the package’s Software guide walks through it. Your menu settings (colors, salvo size, animation, brightness, volume, power mode) are kept on the board and come through the update untouched. If you have edited the configuration file by hand, back it up first and carry your values into the new one, as the guide describes.

Printed parts: updating the printed parts is optional. If you want the v2.5 mechanical changes, the models are a full replacement set: reprint or replace every printed part, then run the default servo angles. If your v2 build is working well, keep it. The v2.5 firmware runs on either. One note if you keep the old gear: the new default angles match the new gear, so if the inner row overshoots after the firmware update, set the inner-row angle back to 150 in config.py (the file’s comments walk through it).

Hardware: the speaker, the JST quick-disconnects, and the USB power-detection resistors are sold together as the v2.5 Hardware Upgrade Kit, with the printed set as a $5 option. It is a do-it-yourself upgrade for every kit tier; the v2.5 gearbox is paired with the v2.5 LED housings, so there is no exchange service.


Guides & support

The full build guide, assembly instructions, operations guide, and support docs live here: Whistling Birds Guide Landing Page.

The download package now also includes the Operations Guide as a PDF, and the guide gains a Convention and Event Use section: the questions a door weapons-check asks, answered from how the module is built.