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-generatedREFERENCE.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+Pin 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.
- 🐛 Maker: curiousworm.in
- 🟧 Product: picpio.in
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