Can I program for Arduino without having a real board?

There are a whole slew of Arduino simulators out there, many free, and some paid products as well.

  • The CodeBlocks Arduino development environment includes a free Arduino simulator, still under development but functional.
  • Simuino simulates the Arduino Uno and Mega pins - not a pretty-looking realistic simulator, but it works.
  • The Python based Arduino Simulator is another option, that plays well with the official IDE
  • Virtronics Simulator for Arduino looks promising, but I don't see why I would pay $14.99 for it, when I could buy one or more actual Arduino clones for that price

Many other Arduino simulators are out there if you search, and new ones are being announced, even crowdfunded, all the time.


I like to use circuits.io aka TinkerCAD for this.

It's cloud based and has some nice features including PCB design and collaboration.

IMO the Arduino simulation and capability is impressive and intuitive.


Plenty of options exist in the world of electronics simulators, but circuits.io aka TinkerCAD is probably the most versatile one out there.

  • You can compose your circuit on a virtual breadboard which looks just like real.
  • You can actually watch a LED blinking or press a button during real-time simulation rather than struggling with abstract waveforms.
  • You can combine digital devices like a 555 timer or shift registers with (interactive) analog components like resistors and LEDs.
  • You can program an Arduino and simulate the microcontroller together with your analog circuit around it.
  • You can debug an Arduino: when the simulator reaches your breakpoint, the simulation is paused and you can easily check every variable in your code and every voltage or current in your circuit.
  • You can use and observe different communication protocols like UART, I2C and SPI.
  • You can pause the simulation in the middle of an I2C sequence by putting a breakpoint in the driver code (e.g. interrupt service routine for I2C events)
  • It's FREE!

Example

This is an example circuit that has with an IR Remote and an LCD Screen.

Disclaimer: We are the makers of 123D Circuits