Essential Arduino Tool: SimulIDE Circuit Simulator

Essential Arduino Tool: SimulIDE Circuit Simulator

When starting with electronics DIY, the most commonly used platform is Arduino. Arduino packages a large number of libraries, and the community has various peripheral libraries, making it very convenient for application development. Additionally, with JLCPCB’s free PCB prototyping service, it is quite easy to create a product that looks decent.

However, when writing firmware, one might still encounter many pitfalls. If verification is done after the PCB is produced, any problems could lead to a long wait, and the time spent on manual soldering would be wasted. If using a breadboard, a bunch of jumper wires is required, and sometimes the corresponding components are not available, or it is inconvenient to connect jumper wires, making testing difficult.

At this point, I looked for a circuit simulator and found SimulIDE, so let’s check its performance.

Introduction to SimulIDE

Essential Arduino Tool: SimulIDE Circuit Simulator

SimulIDE official website:https://simulide.com/p/

SimulIDE is a simple real-time electronic circuit simulator, intended for hobbyists or students to learn and experiment with analog and digital electronic circuits and microcontrollers.It supports PIC, AVR, Arduino, and other MCUs and MPUs.

SimulIDE is a real-time circuit simulator that supports a considerable number of analog and digital devices, and also includes support for PIC, AVR, Arduino, and other MCUs.

A Simple Example

Previously, to port the Google Dinosaur game to the CH32V003 game console, I needed to compile this code first, and the images in the original author’s code are stored by rows, while the CH32V003 initializes by columns, so a conversion is needed. To verify if the conversion is correct, I used SimulIDE to run the firmware and check if it operates normally.

For articles related to the CH32V003 game console and the Google Dinosaur game, you can refer to the following previous articles:

  • Ported the Google Dinosaur game to a keychain game console!

  • How about a coin-sized game console? It can play Snake and Pac-Man – fully open source!

Here, I used three components: Arduino Uno, SSD1306, and a button, plus an oscilloscope to check if the I2C signals are normal.

Essential Arduino Tool: SimulIDE Circuit Simulator

After verifying that images and fonts render correctly in SimulIDE, I could proceed to port it to the CH32V003.

Common Settings

Arduino Uno

In the Arduino Uno settings, you can set the MCU frequency and the firmware file to load. Notably, the Reload hex at Simulation Start option allows you to reload the firmware from the file location every time the simulation starts, so you can always use the latest firmware after external compilation.

Essential Arduino Tool: SimulIDE Circuit Simulator

SSD1306 OLED Settings

The most common settings for the SSD1306 OLED are to set the screen size and color. For example, here we change the display color to yellow.

If you need to simulate an OLED with a resolution of 128×32, you can modify the parameters here.

Essential Arduino Tool: SimulIDE Circuit Simulator

Additionally, one thing to note about the SSD1306 is its I2C communication address. If it does not match the one in the code, it will not display content correctly.

Essential Arduino Tool: SimulIDE Circuit Simulator

Other Examples

I have also used SimulIDE to learn how to use operational amplifiers to implement a low-side voltage detection circuit.

Essential Arduino Tool: SimulIDE Circuit Simulator

More Components

Most components that can be used in the electronics DIY process can be found in SimulIDE, like common encoders, buttons, LEDs, displays, motors, etc. The MCUs are mainly from the Arduino AVR mega series, which is a small drawback, but it is sufficient for most scenarios.

Essential Arduino Tool: SimulIDE Circuit Simulator

There are also some sensors like ultrasonic, temperature, and humidity sensors.

Essential Arduino Tool: SimulIDE Circuit Simulator

For friends just starting with DIY, this should help reduce some rework 😃.

References

  • https://simulide.com/p/

  • Ported the Google Dinosaur game to a keychain game console!

  • How about a coin-sized game console? It can play Snake and Pac-Man – fully open source!

Other DIY Projects

No-code DIY All-in-One Air Monitoring Station AirCube, can also connect to Home Assistant

Essential Arduino Tool: SimulIDE Circuit Simulator

How about a coin-sized game console? It can play Snake and Pac-Man – fully open source!

Essential Arduino Tool: SimulIDE Circuit Simulator

Cost 60 yuan, using ESP32-S3 to make an open-source game console that can play FC/NES, GameBoy, plus exclusive colored PCB

Essential Arduino Tool: SimulIDE Circuit Simulator

Don’t waste idle fast charging heads, DIY a USB-PD power deception device with screen display power

Essential Arduino Tool: SimulIDE Circuit Simulator

Follow the public account for updates

If this article has helped you, please follow, like, share, or forward it. Thank you very much 😃.

Historical Articles

  • A pure PCB keyboard project that is only the size of a credit card

  • Ported the Google Dinosaur game to a keychain game console!

  • Let’s make a voice assistant based on ChatGPT!

  • DIY electric V8 engine desktop model, both oil and electric cars are silent

  • 3D print a black Wukong photo – the backlight effect is great!

  • Don’t waste idle case fans, turn it into a stepless speed desktop fan for 5 yuan

  • Coming soon, using the ESP32-S3 microcontroller to run a RISC-V emulator to run Linux, this time it only takes 8 seconds to boot

  • Running Linux on a 70-cent CH32V003 microcontroller, booting takes 5 minutes

  • No-code DIY All-in-One Air Monitoring Station AirCube, can also connect to Home Assistant

  • How about a coin-sized game console? It can play Snake and Pac-Man – fully open source!

  • Listen to advice and eat well, try using CH334R to make a USB 2.0 Hub

  • Don’t waste idle fast charging heads, DIY a USB-PD power deception device with screen display power

  • Cost 60 yuan, using ESP32-S3 to make an open-source game console that can play FC/NES, GameBoy, plus exclusive colored PCB

  • A small steel mesh printing platform project experience

  • 30 yuan DIY a flexible filament atmosphere light

  • Fully open source! DIY USB ammeter tutorial using a 70-cent microcontroller, getting started with hardware design, firmware development, and appearance modeling

  • Continuing to save costs, DIY SMT stencils using laser engravers and kraft paper

Leave a Comment

×