Compiler

An online Arduino compiler that runs your sketch, too

Mokxi is a free online Arduino compiler that runs in your browser, with nothing to install and no account needed. A real clang builds your sketch inside the tab, and the result runs on a simulated board wired to a real breadboard, so you see the LED blink, not just “Done compiling.”

  • 455parts on the bench
  • 43boards running now
  • 1.00xreal time, on every board
Arduino Uno: blinklive0.000 s 0.00x
Click to open it in the editor
Compiled firmware, running right now on our own AVR core. Click it to open the sketch in the editor.
How it works

What happens when you press Run

A real toolchain, on your own machine.

The build is a real clang and a real lld, compiled to WebAssembly and running in a Web Worker, so the canvas never stutters while it works. Nothing is uploaded: there is no build server, no queue and no build minutes.

The toolchain downloads once and stays in your browser’s cache, and the board’s runtime library is built once beside it; after that only your sketch is compiled. On our test machine, pressing Run after an edit had a blink sketch running in about a second. The /fast page has every measured number and the script behind them. A hash of every file decides whether a build is needed at all, so an undo puts you straight back where you were.

Errors come back the way a desktop editor shows them: underlined on their line, listed in the Build tab, one click from the file, line and column. A library that is not there stops with a message naming the one that does the same job.

Boards

All 40 boards compile in the browser

Four instruction sets on one toolchain, each with its own runtime that speaks the Arduino language.

AVRArduino Uno, Nano, Mega 2560, Leonardo, Micro, Pro Mini and Pro Micro, and the ATtiny85
Arm Cortex-MArduino Uno R4 Minima and WiFi, Raspberry Pi Pico and Pico W, Nano RP2040 Connect, XIAO SAMD21, micro:bit V2, STM32F411 Black Pill and STM32F103 Blue Pill
XtensaESP32 DevKit V1, ESP32-DevKitC V4, LOLIN32 Lite, ESP32-S3-DevKitC-1, XIAO ESP32-S3, Arduino Nano ESP32, and the ESP8266 NodeMCU, D1 mini and ESP-01S
RISC-VESP32-C3-DevKitM-1, XIAO ESP32-C3, ESP32-C3 SuperMini, ESP32-C6-DevKitC-1 and XIAO ESP32-C6

Every board, with what is modeled on each

Libraries

The libraries tutorials use, already there

Paste a tutorial and its includes work.

More than 100 common Arduino libraries are built in under their usual names, from Servo, Wire and SPI to LiquidCrystal, the Adafruit display and sensor headers, DHT, OneWire, RTClib, SoftwareSerial and TinyGPS++. Each is Mokxi’s own header, written from the library’s documented calls and run against the simulated part, and each part’s help page says where it differs from the original.

There is no Library Manager. On every plan you can add a library of your own, as a zip in the Arduino layout or as loose .h and .cpp files, and it compiles with every board’s sketch.

Compared

Mokxi and the Arduino Cloud Editor

Two different jobs. The Cloud Editor puts your sketch on a real board; Mokxi runs it before there is one.

MokxiArduino Cloud Editor
What it doesCompiles your sketch and runs it on a simulated board and breadboardCompiles your sketch and uploads it to a real board
Needs a board to see the code runNoYes
Where it compilesIn your browser tab, with no build serverIn the Arduino Cloud
Compile limitNone25 compilations a day on the free plan; unlimited on paid plans
LibrariesMore than 100 common libraries built in, as Mokxi’s own headers; your own on every planEvery library in the Arduino Library Manager
AccountNot needed to compile and runAn Arduino account
Upload to a real boardOver Web Serial to Arduino AVR boards and ESP32-C3 boards (Beta), a .uf2 for the Pico, or a .hex or .bin to flashThrough the Cloud Agent, or Web Serial on Chromebooks for a listed set of boards
Circuit, parts and instrumentsA breadboard, the whole parts bench, a scope, a meter and a logic analyzerNone; it is a code editor

If the board is on your desk and you need any library in the Library Manager, use the Cloud Editor or the Arduino IDE. If the board has not arrived, a class has no kits, or you want to see what the circuit does before you wire it, Mokxi runs the sketch now. Many people use both: write and test here, then export the project as an Arduino IDE or PlatformIO folder from the Export menu and upload it there.

Questions

Can I compile Arduino code online without installing anything?

Yes. Open the Mokxi editor and press Run: a real clang compiles the sketch inside your browser and the board runs it. Nothing is installed, and no account is needed.

Can I test Arduino code without a board?

Yes. That is what the compiler is for here: the build runs on a simulated board, wired to a breadboard with LEDs, buttons, sensors and displays, with the serial monitor beside it.

Can it check my Arduino code for errors?

Yes, in two ways. Press Run and the compiler lists every error and warning with its file and line; click one to jump to it, and for common slips, such as a wrong capital letter in an Arduino call or a missing #include, it offers the fix. Then the Circuit Doctor reads the code and the wiring together and points out what a compiler cannot see: a pin the code uses that nothing is wired to, a missing pinMode, an LED with no resistor, a button left floating. Both run in your browser on every plan. The Doctor can also ask an AI to explain what it found, with a daily allowance on each plan that the pricing page lists.

Is there a daily compile limit?

No. The compiler runs on your own machine, so there are no build minutes and no queue. After the first build, an edit and run took about a second on our test machine; the /fast page has the measured numbers.

Which libraries can I include?

More than 100 common Arduino libraries are built in under their usual names: Servo, Wire, SPI, EEPROM, LiquidCrystal and LiquidCrystal_I2C, the Adafruit display and sensor headers, DHT, OneWire, RTClib, SoftwareSerial and more. Each is Mokxi’s own header. A library that is missing stops with a clear message naming the one to use instead, and on every plan you can add a library of your own.

Is Mokxi a replacement for the Arduino Cloud Editor?

Not when you are uploading to a board on your desk and need any library in the Library Manager: that is the Cloud Editor’s job, or the Arduino IDE’s. Mokxi is for writing and testing a sketch before the hardware is there, or when a class has no kits. Its Export menu writes the project as an Arduino IDE folder when you are ready.

Does it work on a Chromebook?

Yes. The compiler and the simulator run in Chrome with nothing to install.

Can I compile for an ESP32 or a Raspberry Pi Pico?

Yes. All 40 boards compile in the browser, including eleven ESP32 boards, three ESP8266 boards, the Pico, the Pico W and three STM32 boards.

Compile something now

Open the editor, change the blink to 100 milliseconds and press Run. Nothing to install, and no account needed.