lcgamboa/picsimlab
lcgamboa/picsimlab has 686 GitHub stars and 114 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-14 16:58 UTC. Last push 2026-11-08.
实测星标增长
- 24小时
- +1
- 7天
- 正在收集历史
- 15天
- 正在收集历史
- 1个月
- 正在收集历史
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
关于
PICSimLab - Programmable IC Simulator Laboratory ⚠️ Please note: The official distribution of the PICSimLab simulator binaries is available on github.com and SourceForge.net. Be cautious of unofficial sites, such as picsimlab.com, which do not disclose the owner.
学习资源README.md
原文⚠️ Please note: The official distribution of the PICSimLab simulator binaries is available on github.com and SourceForge.net. Be cautious of unofficial sites, such as picsimlab.com, which do not disclose the owner.
PICSimLab - Programmable IC Simulator Laboratory
PICSimLab is a realtime emulator of development boards with MPLABX/avr-gdb debugger integration. PICSimLab supports microcontrollers from picsim, simavr, uCsim, qemu-stm32, qemu-esp32, and gpsim. PICSimLab has integration with MPLABX/Arduino IDE for programming the microcontroller's boards. As the purpose of PICSimLab is to emulate real hardware it does not have any source code editing support. For code editing and debugging the same tools used for a real board should be used with PICSimLab, such as MPLABX, Arduino IDE, or VSCode with PlatformIO. Using the PICSimLab Code Project Wizard, you can quickly create pre-configured code templates for both writing and debugging a wide range of boards. For boards based on the PIC16F and PIC18F microcontrollers, the wizard generates projects that utilize MPLAB X. For boards based on AVR, STM32, and ESP32, the wizard generates projects that utilize VSCode+PlatformIO.
PICSimLab supports several devices (spare parts) that can be connected to the boards for simulation. Such as example LEDs and push buttons for simple outputs and inputs and some more complex ones like the ethernet shield w5500 for internet connection or the color graphic display ili9340 with touchscreen. The complete list of parts can be accessed in the documentation.


More info
For users
For developers
Stable version executables download
If you are on Linux, macOS or Windows you can download the last version at:
https://github.com/lcgamboa/picsimlab/releases
Unstable last code version executables download
The binaries of last code available on github can be downloaded at: Latest code build (unstable) release
The unstable test version have the unreleased features of Changelog_auto.md
If you need a specific binary that is not available please contact me.
Install from source
In Debian Linux and derivatives Linux native:
Using a user with permission to run the sudo command:
In first time build:
git clone --depth=1 https://github.com/lcgamboa/picsimlab.git
cd picsimlab
bscripts/install_deps.sh
bscripts/build_all_and_install.sh
To recompile use:
make -j$(nproc)
Cross-compiling for Windows (from Linux or WSL on win10)
In first time build in Debian Linux and derivatives target Windows 64 bits:
git clone https://github.com/lcgamboa/picsimlab.git
cd picsimlab
bscripts/install_deps.sh
bscripts/build_w64.sh
To recompile use:
make FILE=Makefile.cross -j$(nproc)
For target Windows 32 bits:
git clone https://github.com/lcgamboa/picsimlab.git
cd picsimlab
bscripts/install_deps.sh
bscripts/build_w32.sh
To recompile use:
make FILE=Makefile.cross_32 -j$(nproc)
macOS from source
Thanks to @valentingorelov, we now have macOS support.
In first time build:
git clone --depth=1 https://github.com/lcgamboa/picsimlab.git
cd picsimlab
bscripts/build_all_and_install_macos.sh
bscripts/make_macos_bundle_and_dmg.sh
To recompile use:
make -j$(nproc)
Troubleshooting:
The simulation in PICSimLab consists of 3 parts:
- The microcontroller program
- Microcontroller simulation (made by picsim and simavr)
- Simulation of boards and parts
When a problem occurs it is important to detect where it is occurring.
One of the most common problems is the error in the microcontroller program. Before creating an issue, test your code on a real circuit (even partially) to make sure the problem is not there.
Errors in the microcontroller simulation can be detected using code debugging. Any instruction execution or peripheral behavior outside the expected should be reported in the project of simulator used (picsim or simavr).
If the problem is not in either of the previous two options, the problem is probably in PICSimLab. A good practice is to send a source code together with a PICSimLab workspace (.pzw file) to open the issue about the problem.
Libraries and projects used in PICSimLab (all free software):
Graphic interface
wxwidgets - For graphic suport
lxrad - Graphic library
lunasvg - Support to use SVG
Microcontroller simulation
picsim - PIC simulator
simavr - AVR simulator
- original: https://github.com/buserror/simavr
- modified version used by PICSimLab: https://github.com/lcgamboa/simavr
ucsim - 8051, STM8 and Z80 simulator
- original: http://mazsola.iit.uni-miskolc.hu/~drdani/embedded/ucsim/
- modified version used by PICSimLab: https://github.com/lcgamboa/uCsim_picsimlab
qemu-stm32 - STM32 simulator
- original: https://github.com/beckus/qemu_stm32/
- modified version used by PICSimLab: https://github.com/lcgamboa/qemu/tree/picsimlab-stm32
qemu-esp32 - ESP32 simulator
- original: https://github.com/a159x36/qemu
- modified version used by PICSimLab: https://github.com/lcgamboa/qemu/tree/picsimlab-esp32
gpsim - PIC simulator
Data visualization
gtkwave - Wave viewer
Pulseview - Logic analyzer (with protocol decoder support)and MSO GUI for sigrok
Graphic editing
gimp - pictures and img maps edition
inkscape - SVG pictures edition
pcbdraw - To convert kicad pcb to SVG
Circuit design
- kicad - To design circuits and pcbs
Utils:
picsimlab_md - for debug with MPLABX
com0com - For serial emulation in windows
tty0tty - For serial emulation in linux
Download analytics
GitHub
lcgamboa/picsimlabrepo- latest PICSimLab release
- all PICSimLab releases
- individual file counters (grouped per release)
- latest PICSimLab release
SourceForge
picsimlabrepo
Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.
In papers and reports, please refer to PICSimLab as follows: 'L. C. G. Lopes. PICsimLab - Programmable IC Simulator Laboratory . https://github.com/lcgamboa/picsimlab', e.g. using the following BibTeX code:
@MISC{PICSimLab,
author = {L. C. G. Lopes},
title = {PICSimLab - Programmable IC Simulator Laboratory },
howpublished = "\url{https://github.com/lcgamboa/picsimLab}"
}