Languages
DUELink modules speak plain text commands over USB, I2C, or UART, so any environment that can write text can drive them. The pages below cover how to use DUELink from each language we officially support — same command names everywhere; the only thing that changes is the library wrapper.

From your host
Send commands from code running on a PC, Raspberry Pi, Arduino, micro:bit, phone, or any other host.
- Python — the most common starting point on a PC or Raspberry Pi.
- JavaScript — Node.js on a PC, or directly in the browser via Web Serial.
- .NET — C# / F# on Windows, macOS, or Linux.
- MicroPython — runs on small MCU boards like the Raspberry Pi Pico.
- MakeCode — block environment for micro:bit and Arduino in the classroom.
On the module
These languages let you write code that runs on the DUELink module's on-board STM32, with no host needed.
- MicroBlocks — block coding aimed at classrooms (full guide under For Educators).
- Arduino IDE — Arduino sketches running on the module's MCU (covered under On-Module Code).
- C++ — bare-metal C++ for full toolchain control.
Niche and experimental
Other places DUELink has been driven from — starting points more than full guides.
- App Inventor — control modules from an Android app.
- Swift — iOS / macOS.
- Excel — yes, from spreadsheet formulas.
- Other — anything else that can write text over a serial port.