Programming PIC Microcontrollers on Android via USB-OTG without a PC

Flashing classic microcontrollers like the Microchip PIC16F628A typically requires a desktop PC running legacy Windows software and serial drivers. For field technicians, embedded developers, and hardware hobbyists, carrying a laptop to the workbench or installation site is often inconvenient.

To solve this, I developed PIC k150 Programming, an open-source Android tool that enables full read, write, blank-check, and fuse configuration directly from an Android smartphone or tablet over USB-OTG.

🛠️ Technical Architecture

The application communicates directly with the popular K150 programmer hardware using the KITSRUS P018 / P18A Programmer Firmware Protocol.

 ┌──────────────────────┐ USB-OTG Cable ┌──────────────────────┐ │ Android Device │ ════════════════════════════► │ K150 Programmer HW │ │ (USB Host Controller)│ (P018 / P18A Protocol) │ (FTDI / CH340 + PIC) │ └──────────────────────┘ └──────────┬───────────┘ │ ZIF Socket ▼ ┌──────────────────────┐ │ Microchip PIC (DUT) │ │ (e.g. PIC16F628A) │ └──────────────────────┘ 

Key Engineering Features:

  • No Root Required: Uses the native Android USB Host API (android.hardware.usb).
  • Hardware-Validated Protocol: Validated in laboratory conditions on real silicon (PIC16F628A) and backed by virtual C++/Python emulation suites with PTY ports.
  • Diagnostic Controls: Real-time 13V VPP / 5V VDD diagnostic switching, baudrate echo testing, and ZIF socket status indicators.
  • Multi-Protocol Support: Clean runtime selection between P18A, P018, P016, and P014 protocols.

📦 Source Code, Downloads & Web

Contributions, chip requests, and issues are warmly welcomed on GitHub!