Git Product home page Git Product logo

picsimlab's Introduction

Linux release Windows release

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.

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 the complete list of parts can be accessed in the documentation.

PICsimLab

PICsimLab

More info

For users

Online Documentation

Examples

Online version of PICSimLab

Changelog

PICSimLab on Twitter

PICSimLab on Discord

For developers

Development Documentation

TODO list

Stable version executables download

If you are on Linux or Windows you can download the last version at:

https://github.com/lcgamboa/picsimlab/releases

If you are on macOS you can run PICSimLab using Wine:

  • Download and install xquartz
  • Download and install Wine
  • Download the executable and double-click it to run the installer

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/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/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/build_w32.sh

To recompile use:

make FILE=Makefile.cross_32 -j$(nproc) 

Experimental version

Experimental version can be built using the parameter "exp" on scripts:

bscripts/build_all_and_install.sh exp
bscripts/build_w64.sh exp
bscripts/build_w32.sh exp

And recompiled using the parameter "exp" on Makefiles:

make -j$(nproc) exp
make FILE=Makefile.cross -j$(nproc)  exp
make FILE=Makefile.cross_32 -j$(nproc) exp

macOS from source

Theoretically it is possible to compile PICSimLab natively on macOS. But I do not have access to any computer with macOS to try to compile and until today nobody has communicated that they managed to do it. (help wanted)

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

Microcontroller simulation

Data visualization

Graphic editing

Circuit design

Utils:

Download analytics

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.

picsimlab's People

Contributors

lcgamboa avatar dantop03 avatar rmaalmeida avatar tomashubelbauer avatar jsmith-solectria avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.