Skip to workspace
PixelOkay
Microcontroller Studio Local · No hardware needed
Tools
CIRCUIT CANVASSelect a pin and a port to connect
100%
Virtual Arduino circuit
Stopped0 ms

Live pin monitor

D0–D13 · A0–A5

Microcontroller Studio guide

Quick start: Choose an example, press Run, and interact with the button or sensor in the Inspector. Select a board pin and a component port to wire new parts. Drag a component to reposition it.

Supported virtual boards: Arduino Uno R3 and classic ATmega328P Nano share D0–D13, A0–A5, 5V and GND in this logical simulator. PWM works on D3, D5, D6, D9, D10 and D11.

Code subset: void setup(), void loop(), global/local numeric or boolean variables, assignment, arithmetic and comparisons, if/else, pinMode, digitalRead/Write, analogRead/Write, delay, Serial.begin/print/println, millis, min/max/abs/map/constrain. No for, while, custom functions, arrays, pointers, libraries, actual C++ compilation, physical-voltage simulation or AVR execution. Include a positive delay in repeating loops.

Wiring: LEDs require digital IN and GND, buttons require OUT to digital pin and GND with INPUT_PULLUP, analog sensors require OUT to A0–A5 plus 5V and GND. The software does not calculate current and cannot replace physical circuit checks. Real LEDs need current-limiting resistors.

Privacy and files: Runs locally and never sends source code to a server. Browser draft saving uses localStorage when available. Save a project JSON file for portability; diagrams export to SVG. No Arduino IDE, Wokwi or Tinkercad compatibility is claimed.

Limits: 18 components, 55 connections, 18,000 sketch characters, bounded execution, 2,000 trace transitions. Signal traces are logical samples, not electrical waveforms. No breadboard physics, compilation of uploaded sketches, actual sensor drivers or real USB board interaction.

Using Arduino & Microcontroller Simulator

Choose a sample, connect compatible pins and component ports, then check your sketch syntax. Run, pause or step through the supported language and use Signals to inspect logical observations. Save an editable project before closing.

This is a logical teaching model, not an AVR emulator, full C++ compiler or electrical solver. Libraries, interrupts and C++ for/while loops are unsupported. PWM is a duty value, not a resolved physical waveform; traces retain at most 2,000 transitions and are not part of saved projects. Browser drafts are best effort.

Choose a logical sketch project, source file or signal trace

Practice: inspect a supported blink example

  1. Open a supplied example and inspect its virtual connections and supported sketch syntax.
  2. Run or step the logical model and examine the selected pin in Signals.
  3. Save the project and export a trace separately if needed.

This is an authored teaching exercise, not executed firmware or a measured hardware waveform.

Microcontroller simulation questions

Will a successful run prove my C++ sketch works on a real board?

No. The interpreter supports a restricted language, not full C++, AVR emulation, libraries or interrupts. It is not an electrical solver or a hardware acceptance test.

Is PWM displayed as a physical pulse waveform?

No. PWM is represented as a duty value. Logical traces are bounded observations, not sampled physical signals, and saved projects do not contain their history.

Related tools