μSim: PICmicro instruction simulator

μSim is a lightweight PIC™ CPU and ALU simulator. This simulator supports the PICmicro mid-range instruction set and designed to work on both PC and Arduino platforms.

Compare with most of the other emulators, μSim does not provide all MCU features and peripherals. This simulator design as a minimalistic system, and based on the requirements, it can extend with additional peripherals and features. To accomplish this μSim is written with minimum system dependencies and with less complexity. To avoid resource overflows/overruns the source code is carefully organized with a few functions and data types.

μSim setup for Arduino and PIC16F84 MCU.

Apart from the instruction decoder, this system simulates 1024 words of flash memory, 68 bytes of SRAM, two 8 bit GPIO ports, and register map similar to PIC16F84 MCU. Some of the common MCU peripherals and features such as interrupts, timers, and UART systems are not integrated into this simulator.

The main objective of this project is to provide a framework to build virtual MCUs for small-scale embedded systems. More details of this project are available at the documentation at GitHub Wiki. The setup tutorials are also available at hackster.io and medium.

μSim is an open-source project released under the terms of Apache License 2.0. Source code and compiled binaries are available at github.com/dilshan/usim.

Comments