PICPIO
Program PIC microcontrollers the easy way, right inside VS Code.
Write clean, high-level C for Microchip PIC chips, build it, and flash to real hardware, with one-command setup, ready-made libraries, and a built-in simulator.
picpio.in · © CURIOUS WORM
PICPIO turns Visual Studio Code into a complete IDE for Microchip PIC development. No hand-written makefiles, no fighting toolchain paths: create a project, pick your chip, write your code, press Build and Upload.
✨ Features
- One-command project setup: pick a PIC, get a ready-to-build project with a clean
main.c, a per-chip pin map, and an auto-generated REFERENCE.md.
- Build & flash to hardware: drives Microchip's MPLAB XC compilers and your PICkit/programmer behind a single click.
- High-level HAL: simple, readable functions for GPIO, ADC, PWM, UART, I²C and SPI that work the same across supported chips.
- Bare-metal too: prefer registers? Full SFR IntelliSense (autocomplete on
TRISB, PORTAbits, …) for register-level teaching and code.
- Configuration Bits Wizard: pick FOSC, watchdog, brown-out and every other config bit from real per-chip options, MPLAB style, then insert it straight into
main.c (bare-metal projects).
- 130+ ready-made libraries: add drivers (OLED/TFT displays, LCDs, motor & stepper drivers, ADC/DAC expanders, RTCs, RF/CAN/LoRa, USB-CDC, GPS/GSM, keypads, SD/FAT, sensors, PID, servo, and more) with
lib add.
- Built-in simulator, no hardware needed: run your sketch and see it work:
- Live pin states, a Signal Scope (DSO) and a Logic Analyzer decoding real SPI / I²C / USART waveforms.
- Rendered parts: SSD1306 OLED, character LCDs, ILI9488/ILI9341 TFTs, WS2812 strips, 7-segment, matrix keypads, and P10 32×16 LED panels, all light up live.
- Live sensor data: BME280, MPU6050, DS3231 RTC, VL53L0X, and the TCS34725 (with an on-screen colour swatch) return realistic values.
- W5500 Ethernet web server: serves a real page reachable from a browser on your LAN, right out of the simulator.
- A circuit you can wire, for bare-metal projects: drop parts on a canvas and click to join them, then watch your register writes drive real components.
- Parts that behave: LEDs (any colour, right-click to pick), pushbuttons and switches, potentiometers, transistors, relays, buzzers, DC motors and fans, and servos. Leave a lead unwired and nothing runs, exactly as on a breadboard.
- A multimeter with five modes: DC volts, resistance, continuity (it beeps), capacitance and inductance, solved across the whole network rather than read off the part you clipped.
- A signal generator: sine, square, triangle and sawtooth, at a frequency and amplitude you set.
- A six-channel scope probe: clip the channels anywhere in the circuit and read them against the probe's own ground lead.
- Serial monitor, display designer, on-chip debug, and an auto PID tuner built in.
🔌 Supported chips
Broad coverage across Microchip's PIC lineup:
- PIC16F: classic enhanced-midrange and the modern PIC16F1 core (PPS + ADCC)
- PIC18F: classic (4550/452/2550), low-voltage L-variants, Q-series, and K40/K42/K50/K80/K83
- PIC24F/FJ/EP, dsPIC30F, dsPIC33F/E/C/CH/CK, and the newer dsPIC33AK
- PIC32: MX, MZ, MK, and MM (32-bit MIPS, XC32), plus the WFI32 Wi-Fi module
The New Project wizard lists 800+ supported chips. Pick yours and PICPIO wires up the right compiler (XC8, XC16, XC32, or XC-DSC) automatically.
🚀 Getting started
- Install PICPIO from the Marketplace.
- Run PICPIO: New Project (
Ctrl+Shift+P) and choose your chip.
- Write your code in
src/main.c.
- Press Build, then Upload to flash your hardware.
Prefer the keyboard? Press Ctrl+P in VS Code and run: ext install picpio.picpio
Requirements
- A Microchip MPLAB XC compiler (XC8 for 8-bit, XC16 for 16-bit) installed on your machine.
- A PIC programmer (e.g. PICkit) to flash real hardware. The simulator needs no hardware.
- A free sign-in the first time you use it, so we know who's using PICPIO.
- 4 GB of RAM minimum, 8 GB recommended. Editing and building are light, but
the simulator and the Display Designer each open a full panel of their own,
and on a 4 GB machine you will want only one of them open at a time. Below
4 GB they will run out of memory rather than run slowly.
📚 Libraries
Add a driver with one command:
picpio lib add SSD1306
PICPIO ships plain-C drivers for common breakout boards and writes a usage snippet straight into your project, plus the device's raw communication protocol into REFERENCE.md.
🏷️ About
PICPIO is built and maintained by CURIOUS WORM (Electronics Made Real) to make register-based and HAL-based PIC programming approachable for students and makers.
PICPIO automates Microchip's MPLAB XC tools, which remain subject to their own licenses. PICPIO is not affiliated with or endorsed by Microchip Technology Inc.
© 2026 CURIOUS WORM · curiousworm.in · picpio.in
| |