PICSimLab: Real-Time Emulator for PIC, Arduino, ESP32 & STM32
Empower your embedded development with a versatile open-source hardware simulator. Test your firmware in a professional virtual lab environment without the need for physical boards.
PICSimLab Hub is an independent, unofficial community resource site — not the official PICSimLab website. About this site
Powerful Emulation Capabilities
PICSimLab is not just a simple simulator; it is a comprehensive virtual laboratory designed for embedded systems engineering and education.
Real-Time Simulation
Experience high-fidelity execution of your firmware. PICSimLab integrates professional backends like simavr, uCsim, and QEMU to ensure your code runs as it would on real silicon.
Virtual Spare Parts
Connect your virtual boards to a vast library of components, including LCDs (HD44780, ili9340), Keypads, Stepper Motors, SD Cards, and even Ethernet Shields (W5500).
IDE Integration
Seamlessly integrates with your existing workflow. Support for MPLAB X, Arduino IDE, and VS Code (PlatformIO) via GDB debugger and virtual serial ports.
IoT & Connectivity
Simulation support for ESP32 and ESP32-C3 via QEMU. WiFi-related support is partial and added feature by feature; Bluetooth simulation is not documented.
Signal Analysis
Built-in basic two-channel oscilloscope for viewing signals on any microcontroller pin, with voltage and frequency measurements.
Remote Control
Automate your tests using the Remote Control interface. Interact with the simulator via serial commands for automated CI/CD pipelines.
Supported Boards & Architectures
PICSimLab integrates multiple simulation backends to support a wide range of development boards.
Note: PICSimLab uses specialized forks of simavr, picsim, uCsim, and QEMU to emulate the supported boards and spare parts.
How It Works in Your Workflow
Bridge the gap between your code and virtual hardware in three simple steps.
Write & Compile
Use your favorite IDE (VS Code, Arduino, or MPLAB X) to write your C/C++ or Assembly code and generate the .hex or .bin file.
Load Firmware
Open PICSimLab, select your target board (e.g., ESP32 DevKit), and load your compiled firmware file into the virtual microcontroller.
Real-Time Debug
Interact with virtual LEDs, LCDs, and sensors. Use the built-in Oscilloscope or connect GDB for line-by-line debugging.
Compatible Ecosystem
PICSimLab vs. Alternatives
How PICSimLab compares on cost, offline use and debugging.
| Feature | PICSimLab | Proteus (Paid) | Wokwi (Web) |
|---|---|---|---|
| Cost | Free (GPL v2) | Expensive License | Free / Premium |
| ESP32/STM32 Support | High (QEMU Integration) | Limited/Complex | Good (Browser-based) |
| Offline Use | Full Support | Full Support | Requires Internet |
| GDB Debugging | MPLAB X / remote GDB | Excellent | Basic |
| Peripheral Variety | Ethernet/Motors/Sensors | Massive Library | Moderate |
* PICSimLab is a free (GPL-2.0) open-source hardware emulator that integrates with local IDEs (MPLAB X, Arduino IDE, VS Code with PlatformIO) without the recurring cost of commercial software.
Frequently Asked Questions
Quick answers to common questions about PICSimLab installation and capabilities.
Is PICSimLab really free for commercial use?
Yes. PICSimLab is licensed under the GPL v2, which means it is free to use for education, personal projects, and professional development. You can download and use all its features without any subscription fees.
Does it support macOS natively?
Yes. Since v0.9.3, PICSimLab provides native macOS builds (.dmg for Intel x86_64 and Apple Silicon arm64) — see the download page. An official online version also exists, but it has no debugging or serial support and runs slower than the desktop version.
Can I simulate WiFi and Bluetooth with ESP32?
Only in part. The QEMU backend for ESP32 has gained WiFi-related features incrementally (for example, ESP32-C3 WiFi and ESP-NOW, and HTTPS over WiFi on ESP32, per the official changelog), but the official documentation does not promise full WiFi simulation, and Bluetooth simulation is not documented. Treat network features as partial and test on real hardware before relying on them.
What is the difference between Stable and Unstable versions?
The stable version (currently v0.9.3) is the tested release recommended for general use. Separately, GitHub also publishes an unstable latestbuild snapshot of the newest code, which may contain bugs. v0.9.3 itself is a stable release, not an alpha or experimental build.
Can I add my own custom components?
Yes, as an open-source project, you can develop your own spare parts. PICSimLab provides a development API and documentation for contributors to extend the library of virtual sensors and actuators.
Target Scenarios & Use Cases
Discover how PICSimLab empowers different stages of embedded development.
Automated CI/CD Pipelines
By utilizing the PICSimLab_NOGUI and Remote Control interface, developers can integrate hardware simulation into automated test suites. Ensure every commit passes functional tests in a virtual environment.
$ telnet localhost 5000
> help
> blist
> version
Technical Specifications
Trusted & Verified
🛡️ Safe & Clean Downloads
Downloads on PICSimLab.com link to the official PICSimLab releases on GitHub. SHA-256 checksums for the current release are listed on the download page so you can verify your file.
- ✔️ Primary downloads link to the official GitHub releases
- ✔️ SHA-256 checksums listed on the download page
Need to verify your file? See how to check SHA-256 checksums on the download page.
