Skip to main content

On-Module Code

Every DUELink module ships with firmware that responds to plain text commands from a host โ€” that's the default workflow, covered in Get Started. But the same on-board STM32 microcontroller can also run your own code, for projects that don't need a host or where you want full control of the hardware. Here are the ways to do it.

Ghizzy eyes โ€” a DUELink module running on its own

Quick guide: MicroBlocks for classrooms ยท Arduino IDE if you've used Arduino ยท C++ for full toolchain control. The internal scripting engine that powers the default firmware is also documented under Advanced for the power user.


In the classroom? Use MicroBlocksโ€‹

A MicroBlocks program running on a DUELink board

For educators and first-time coders, MicroBlocks is the easiest path โ€” block coding that runs directly on the module, with a complete CincoBit curriculum.


A range of DUELink boards programmable from the Arduino IDE

Arduino is our recommended path for developers. Every DUELink module is also an Arduino-compatible board โ€” making the whole catalog a family of *duino boards in every shape, with every feature. If you've used Arduino before, you'll be productive in minutes.


Direct C++โ€‹

C++ logo

The same family of *duino boards is also programmable in bare-metal C++. Use STM32CubeIDE, Keil MDK, or any ARM toolchain for full control of the STM32 microcomputer.


Behind the scenes: the Internal Engineโ€‹

DUELink Logo

The default firmware on every module is a small DUELink scripting engine โ€” it's what receives plain text commands and runs them. You don't usually need to think about it, but advanced users can dig into the engine, scripting language, drivers, host mode, the console, and more under the Advanced section of the docs.