Skip to content

Supported Microcontrollers

Essential Topic for learning Bottango.

Your computer lacks the necessary hardware to actually make motors and other effectors move. Bottango needs to connect to a microcontroller running the Bottango open-source firmware and communicate commands to it in order to move your real-world hardware.

Bottango calls the microcontrollers connected to your computer that are running the Bottango firmware “hardware drivers.”

The good news is, if you want to use most of the functionality covered in this documentation, you don’t need to write a line of your own code. Bottango provides an open-source firmware to install onto a compatible microcontroller, and Bottango will handle all of the communication and details from there.

The open-source Bottango firmware is written to work with any microcontroller that can run Arduino framework C++ code. You may think that means just “Arduinos,” but the list of compatible hardware is much longer. The Arduino framework is a library of portable microcontroller code, not just certain “Arduino”-branded microcontrollers.

Read on for some recommendations and options.

If you’re just starting out with Bottango, the easiest microcontroller to get started with is an Arduino Uno R3 (or equivalent from other brands). This is the workhorse of the maker community, and can be found in every country at a low price.

Bottango’s firmware will run without any code changes on an Uno R3. You can flash your microcontroller directly from the desktop app, and you can get started pretty quickly.

However, an Arduino Uno R3 has very limited RAM and storage, so it does have some limitations. You can only control up to 8 servos with an Arduino Uno R3 and Bottango, and exporting animations to standalone playback without a computer is functionally not possible unless you have VERY small and short animations.

An Arduino Nano has the same capabilities as an Arduino Uno R3, just in a smaller form factor. If you run into the limitations of an Uno R3, but don’t want to dip your toes into the more powerful boards listed below, an Arduino Mega can control up to 16 servos, has more (but not a lot more) space to store exported animations, and uses mostly the same steps to get started with Bottango. A Mega though is much larger and usually a bit more expensive.

Most things an Arduino Uno R3 can do, an ESP32 can usually do a lot better. And what’s more, the cost of an ESP32-based microcontroller dev board is usually at or below the cost of an Arduino Uno R3. With an ESP32-based dev board, you can control a lot more effectors, have plenty of room for storing animations, and unlock extra functionality like wireless connectivity, storing animations on SD cards (with the required additional hardware), etc.

When asked, Bottango usually recommends an ESP32-based board as the go-to recommendation for anyone that wants to move beyond the basics of an Arduino Uno R3, due to the low cost, large feature set, powerful performance, and ubiquity.

However, there’s a bit more of a beginning learning curve to setting up and using an ESP32 with Bottango.

If you’re just starting out, which should you pick? It depends on how comfortable you are troubleshooting and problem-solving.

The advantage of an Arduino Uno R3 is that it is standardized. If it’s an Arduino Uno R3, it probably has the feature set that makes it work with Bottango. As well, an Arduino Uno R3 is the easiest board to get started with quickly.

An ESP32 is more of an ecosystem than a specific board or product. You’ll need to find a compatible dev board, and understand what is unique about the one you chose. An ESP32-based development board will also have a more complicated initial setup. You cannot currently upload the firmware via the app; you’ll need to learn how to use the Arduino IDE and set it up to work with your development board.

It’s not possible to list all the possible supported hardware because it would be impossible to test every possible option. If it can run Arduino code, it probably will work with Bottango. If it doesn’t work, message the Bottango developers. Either there’s user error, or there’s an interesting reason why that the developers would want to know about and eventually fix. Some other popular advanced options that have been used successfully in the community include:

  • Teensy based dev boards
  • Arduino Uno R4
  • Advanced Arduino branded boards like the MKR series, or Zero
  • ARM Cortex based microcontrollers
  • ESP8266 and more recent ESP32 such as ESP32-S3

The list goes on from there. In short, if it can run Arduino framework C++, there’s a good chance, though not a guarantee, that you can get it working with Bottango. If you already have the hardware on hand and you want to know, just give it a try!