Getting Started with SimulIDE and Arduino
I was looking for an alternative to Tinkercad to simulate building, coding, and running Arduino projects. SimulIDE Circuit Simulator seemed like an ideal candidate.
SimulIDE is a simple real time electronic circuit simulator, intended for hobbyist or students to learn and experiment with analog and digital electronic circuits and microcontrollers. It supports PIC, AVR , Arduino and other MCUs and MPUs.
I installed it from Flathub (SimulIDE). It worked well. It is easy to understand and work with. It’s also easy for a beginner to pick up and start designing circuits in 5 minutes. I tried a few basic circuits. Then I tried the Blink circuit and Fade circuits based on Arduino. Unlike previous ones, this one included building a firmware and loading it. To make it complex, I was also using the Flatpak version of the Arduino IDE. Then I found two options
Load Firmware in SimulIDE
In this option, we will build the software in the Arduino IDE. Compile it. Once it generates a firmware (a HEX file), we will load it into SimulIDE. For this, we need to know where the compilation output is in the Arduino IDE, and then make sure SimulIDE has access to that path. Enable verbose output in the Arduino IDE Preferences, and then compile. The IDE will print the path. Take the path, go to Flatseal 1, and give SimulIDE access to that path.
Now SimulIDE has access to the folders where firmware is built. Before you simulate the circuit, right-click the Uno, go to mega328-109, and then load firmware. Choose the hex file. Alternatively, right-click Uno, go to mega328-109 – Properties, enter the firmware path, and select Reload HEX at Simulation Start.
Now everything is set up. Code and Compile in Arduino IDE. Come to SimulIDE and restart the simulation. That will load the recent firmware and start the simulation.
Configure SimulIDE with Arduino Toolchain
For this, you can use the SimulIDE flatpak version, but you will need the native Arduino installed on the machine. For me, I downloaded the Arduino Linux ZIP file version. Then extracted it into a local directory, say /home/thej/code/arduino-ide_2.3.10_Linux_64bit. Then go to Flatseal and grant SimulIDE access to the folder /home/thej/code/arduino-ide_2.3.10_Linux_64bit .
Once this is done, open an INO file (the Arduino Sketch) on the right-hand panel of the SimulIDE. Go to compiler settings and set the Arduino installation folder path (/home/thej/code/arduino-ide_2.3.10_Linux_64bit) as the Tool path.
Now it’s all set. Use the integrated editor in the SimulIDE to edit code, compile, and load firmware. Then simulate.
Both setups were easy, even though Flatpak made it a bit difficult. If you are not using Flatpak, then you can ignore the Flatseal permission-giving part. The rest of the configuration will still work. Once set up, both flows worked flawlessly. For most people option 2, setting up Arduino toolchain is an easy option. See the demo below.
SimulIDE is an amazing piece of software for beginners. You will have fun building and simulating circuits in it. Try it and let me know.
- Flatseal is a graphical utility to review and modify permissions from your Flatpak applications. ↩








