The Dynamic Perception Motion Engine is the default firmware for the nanoMoCo stepper controller/driver board. It provides a robust set of capabilities for driving stepper motors, running cameras, and generally operating as a motion node on a bus of many independent nodes.
This package includes the firmware source code for the Arduino IDE, all required libraries, and the bootloader source code. The Motion Engine firmware and supporting libraries are released under the GNU GPLv3 license.
NOTE: The Motion Engine Firmware is now maintained in our GitHub account, download latest versions from here directly: nanoMoCo Firmware
The Motion Engine can run on a nanoMoCo board, or any Atmega328-based Arduino board. It provides numerous features, not the least of which are:
- Complete MoCoBus integration for remote command and control
- Including recognition of all broadcast commands
- Real-time synchronization with other nanoMoCo nodes for autonomous operation
- Asynchronous, non-blocking camera control
- Asynchronous, non-blocking motor control at up to 5,000 steps/second with easing, or 10,000 steps/second without easing
- Numerous types of moves available: from standard continuous; defined continuous with arrival time, acceleration/deceleration, and distance specified; planned interleaved motion for easy shoot-move-shoot operation
- Three types of motion easing algorithms: linear, quadratic, and inverse quadratic
- Automatic (programmed) and interactive operation
- Full control over motor microsteps, disable driver between moves, and more
- Arduino 1.0 or newer
- nanoMoCo controller, or compatible Arduino with additional hardware
- Always copy contents of Libraries directory to <Documents Folder>/Arduino/libraries and re-start Arduino IDE when downloading new version
- Open Firmware/MotionEngine/MotionEngine.ino in Arduino IDE
Initial public release of the Motion Engine firmware.