โ† Back to Timelapse Maestro

Recover a Dynamic Perception NMX

Reinstall the firmware and reset to factory settings ยท Last updated: September 28, 2026

If your Dynamic Perception NMX powers on but won't connect or respond, often after a motor was turned while power was being plugged in or unplugged, reinstalling its firmware and clearing its saved settings is the fix. Dynamic Perception's own Web Updater no longer works, so this guide does the same job by hand. It takes about 15 minutes.

This is a community guide for owners of original Dynamic Perception hardware. Timelapse Maestro is not affiliated with Dynamic Perception. Follow it at your own risk. The part of the NMX that receives updates is separate from the firmware, so a failed attempt can simply be retried.

Why the DP Web Updater fails

The updater downloads its list of firmware versions from an old Dynamic Perception web address that now redirects to their website, so it never finds anything to install.

Installing the firmware with a current version of avrdude, the tool the updater ran behind the scenes, doesn't work either. The NMX's update loader has a bug that sends the upper part of the firmware to the wrong place when avrdude delivers it the way current versions do. This guide uses a short script instead, which sends the firmware in a way that avoids the bug.

What you need

  • A Micro-USB cable that carries data. Some phone charging cables are power only and won't work.
  • A Mac or Windows computer.

1. Download the files

You need the install script and the firmware for your model:

  • Install script: nmx_flash.py
  • Standard NMX firmware: nmx-0.77.hex (Dynamic Perception download)
  • NMX Stealth firmware (the later silent-motor version): nmx-stealth-1.02.hex (Dynamic Perception download)

For the firmware, the first link is our mirror and the second is the same file from Dynamic Perception's original download server, while it's still online. Either works. Save everything to your Downloads folder, and if a file's name ends up different from the one shown above (for example nmx_flash.py.txt or 0.77.hex), rename it to match so the command in step 4 finds it.

If you're not sure which model you have, start with the standard firmware. You can always install again.

2. Get Python ready

The script runs on Python, a free programming tool.

Mac: nothing to install. The first time you run the command in step 4, your Mac may offer to install its command line developer tools. Click Install, wait for it to finish, then run the command again.

Windows: install Python from python.org. Then open Command Prompt and run:

py -m pip install pyserial

3. Put the NMX in update mode

  1. Disconnect everything from the NMX: power, motors, and camera.
  2. Press and hold the E-Stop button.
  3. While holding it, plug the NMX into your computer with the USB cable.
  4. Let go of the button.

The NMX is now powered by USB and waiting for new firmware.

4. Reinstall the firmware and reset settings

Copy and run the command for your computer. The script finds the NMX on its own. Stealth owners: use nmx-stealth-1.02.hex in place of nmx-0.77.hex.

Mac (Terminal):

python3 ~/Downloads/nmx_flash.py ~/Downloads/nmx-0.77.hex

Windows (Command Prompt):

py %USERPROFILE%\Downloads\nmx_flash.py %USERPROFILE%\Downloads\nmx-0.77.hex

It takes under a minute. The script finds the NMX, checks that it's in update mode, installs the firmware, reads it back to check every byte, and resets the saved settings. It should finish like this:

Verified: all 103616 bytes match.
Saved settings cleared. The NMX will rebuild factory defaults on its next start.

Done. Unplug the USB cable, reconnect your motors, and power the NMX up normally.

If the script says it couldn't find the NMX, or that the NMX isn't in update mode, unplug the NMX and repeat step 3, holding E-Stop a little longer. If that doesn't help, try a different USB cable. On Windows, Dynamic Perception's NMX Windows USB driver may also be needed.

Why reset the settings: installing firmware on its own leaves the NMX's saved settings untouched, and those are often what got scrambled. The script clears the flag that tells the NMX it has saved settings, so on its next start it rebuilds them from factory defaults. To keep your settings, add --keep-settings to the end of the command. To check an NMX without changing anything, add --verify-only.

5. Try it out

Unplug the USB cable, reconnect your motors, and power the NMX up normally. Try to keep the motors still while you connect power. It should appear as DP-NMX in Timelapse Maestro or any other NMX app. Because settings are back to factory defaults, re-check things like microsteps in the app's Motor Setup screen.

Still stuck?

Email support@timelapsemaestro.com and paste in whatever the script printed. We're happy to help.

About these files

Both firmware files are the official Dynamic Perception builds, mirrored here because the original download site may not stay online. The NMX firmware is open source under the GPL: source for the standard firmware and the Stealth firmware is on GitHub.

nmx_flash.py is a short script we wrote for this guide. It's plain text, so you can open it in any text editor to see exactly what it sends to your NMX.

โ† Back to Timelapse Maestro