Brushless | Gearbox Pusher | Console | Single-trigger | Dual Pusher Switch

Features / Setup:

  • Brushless flywheels
  • Gearbox Pusher with front and rear switches
  • Select Fire – Auto, Burst, Semi, Safe
  • Narfduino Console (3-button ) – PFC8575 Shift Register
  • Ammo Counter
  • Single-stage fire trigger
  • Adjustable ROF / FPS
  • Instant-response pusher control
  • 2 Profiles
  • Fully re-mappable buttons
  • Low-power cut-out
  • Jam detection
  • 3s only (as the default gearbox uses a motor that doesn’t respond well to 4s)
  • Hold trigger on startup to reset settings

Typical Blasters

  • FDL 3
  • Similar gearbox based blasters with dual pusher switches and mag switch

Parts required

  • FDL 3 components with modified magwell and gearbox mount parts for mag switch.
  • Additional pusher switch for mag sensor
  • Generic spring for mag sensor (I used a Retaliator lock spring)
  • Or other blaster body with relevant parts
  • BLHeli_32 ESC’s
  • Narfduino Console – 3-button
  • Narfduino (if using alternate hardware, ensure you update the dead time to match your mosfets – the timing is specific and measured in nanoseconds)
  • ESC split cable
  • Connectors for power / pusher motor (JST fits in the wiring channels fine)


  • Modified FDL models are subject to a non-commercial license per Project FDL regardless of any license you may hold with Blasters By Airzone models.
  • The firmware allows you to adjust the spin-up and spin-down times of the motor. While you can set the spin-down time to 0 for instant braking, it is likely you will melt something.
  • Changing the pin assignments will be a real headache.

Wiring Diagram

  • Console SDA to Narfduino A4 (SDA)
  • Console SCL to Narfduino A5 (SCL)
  • Console INT to Narfduino A3
  • Console +5v / Gnd to Narfduino +5v / Gnd
  • Trigger to D6
  • Mag Switch to D7
  • Pusher – Front Switch to D2
  • Pusher – Rear Switch to D3
  • ESC / BLHeli_32 to D9 (use a splitter cable in the front cowling)

Source Code

Source Code Tweaks

Logo Change
Open Logo.h in Arduino and swap between LOGO_KITTY and LOGO_WOODY
You can create your own using a vertically oriented LCD bitmap in 128×64 resolution.

Default Options
Navigate to the below code and change the settings.
MotorSpeedFull = 30-100
ROFAdjustmentA & B (Auto & Burst) = 0 – 150 in 15 increments; 0 = max
AccelerateTime / DecelerateTime = 0 – 32768 milliseconds. Impacts the rate of change of the motors.
MotorStartDwellTime / Stop = 0 – 32768 milliseconds. Impacts the dwell time prior and post firing cycle