Skip to content

Final Export

Advanced Topic Skip if you’re new, explore when you’re ready.

The final step is to export the animations themselves. Select what format you’d like: firmware code, SD card files, or JSON data.

Screenshot: Final Export

If you have only one hardware driver to export, Bottango will place all exported files in the selected location. If you have more than one hardware driver to export, Bottango will create a folder for each hardware driver and place the appropriate exported code for each one accordingly.

For instructions on how to use the generated files, refer to the Bottango firmware documentation.

As stated above, the preferred workflow is to control your hardware in real-time with a USB connection. If you do export out code, be aware of some of the following limitations:

  • You are limited in the storage capacity of a microcontroller. You can only put so many keyframes on a microcontroller in exported code.
  • SD card support requires you to add your own SD card hardware to your hardware. As well, you need a microcontroller with capabilities more like a Teensy or an ESP32. An Arduino Uno R3 will not be able to use SD card exported files.
  • The workflow for synchronizing stepper motors without using a Bottango USB connection is more complex. See the Bottango firmware documentation for more details.
  • Looping animations are supported, and the code is smart enough to move effectors back to start positions before repeating the animation if it is not a perfect loop. However, there is currently no support for seamless blending from the end or middle of one arbitrary animation to the beginning of another if the two animations do not already line up. This functionality is planned for a future version. Until then, if you start playing an animation, the code will assume that each motor is where it should be right at the start.

When you enable exported animation playback on your hardware driver, that puts your hardware in “listen-only” mode, and it will ignore all commands that it receives over USB, if you happen to plug it in. That means that you cannot issue new animation commands, motor registration commands, or stop commands. You should make sure you have your own safe way to execute a replacement stop function on your hardware if you are using generated code and can quickly and safely stop movement when needed.

While connected over USB in listen mode, you can still see the log of what the hardware driver is doing in the Hardware view. This can be helpful for troubleshooting or support.