Test Arduino circuits and code before soldering a single component
Arduino Electronic Circuit Simulator
A software environment for experimenting with circuits, Arduino microcontrollers and component behavior before building hardware, for education and prototyping.
ElectronicsProject status: In development
Problem statement
Learning electronics and microcontroller programming usually depends on physical hardware: boards, components, wiring and measurement tools. For students and hobbyists, this equipment is not always easy to obtain, and a simple wiring mistake can damage components.
In early prototyping, testing ideas on real hardware is slow, and finding out whether a fault lies in the code or in the circuit can take a lot of time. A simulation environment that shows circuit behavior and program execution side by side can make this cycle shorter and less risky.
Technical approach
The simulator is designed as a software environment in which users place components such as LEDs, resistors, push buttons and sensors on a workspace, connect them to the pins of a virtual Arduino board and run their program.
The core consists of two main parts: a microcontroller model that tracks program execution, the state of digital and analog pins and serial output, and a simplified circuit model that represents component behavior based on voltage levels and connections. The aim is educational accuracy and understandable behavior, not a full replacement for professional analog circuit simulators.
Architecture
1
Circuit editor
Graphical interface for placing components, wiring them and setting their properties.
2
Microcontroller model
Executes the Arduino program and manages digital pins, analog inputs and serial communication.
3
Component and circuit model
Simplified behavioral models for LEDs, resistors, buttons, potentiometers and sensors.
4
Simulation scheduler
Synchronizes code execution with circuit state updates in discrete time steps.
5
Visualization and serial monitor
Displays component states, pin values and the program serial output.
Features
Placing and wiring components on a virtual board
Digital input and output simulation
Analog input simulation with adjustable values
Behavior of LEDs, resistors, buttons and basic sensors
Serial monitor for program output
Detection of common wiring mistakes
Suited to teaching exercises and early prototyping
Design decisions
The most important decision in this project was choosing the right level of accuracy. A complete, precise analog simulation is complex and slow, and it is not necessary for teaching purposes. The circuit is therefore represented by a simplified behavioral model: an LED lights up depending on its orientation and the presence of a current-limiting resistor, and an analog input returns a value within the range of the analog-to-digital converter. This level of detail is sufficient for understanding circuit logic and testing code.
The second decision was to keep the microcontroller model separate from the circuit model. The two parts communicate only through pin states, so new components can be added without changing the program execution logic.
Simulation flow
In each time step, the simulation core executes part of the program, passes pin state changes to the circuit model and feeds the components' responses, such as a button state or a sensor reading, back into the microcontroller inputs. Serial output appears in a separate window so users can debug their program much as they would with a real board.
Each component has a defined interface describing its inputs, outputs and behavior.
Simple warnings for common wiring mistakes, such as an LED without a resistor, support learning.
The modular structure allows each component to be tested automatically in isolation.
Possible extensions
Possible extensions include a larger component library, displays and motors, ready-made exercise scenarios, and simulating the transmission of sensor data to an IoT platform. The latter builds a bridge between electronics education and the design of industrial IoT systems.
A layered reference model for industrial IoT systems, from sensors to ERP integration, plus the non-functional requirements and deployment choices that decide whether a system still works years later.
An application that identifies traditional meters from images and, based on the meter and display type, suggests suitable retrofit approaches for smart metering.
Network monitoring, configuration automation, routing optimization and VPN management on MikroTik and Cisco equipment, focused on reliability and maintainability.
MikroTik
Cisco
Network Automation
Project status: Ongoing
Interested in a similar solution?
Let’s discuss how this approach could be adapted to your equipment and requirements.