DEV Community

Daniel Elias Diamon Vazquez
Daniel Elias Diamon Vazquez

Posted on Originally published at todoandroid.42web.io

Programming PIC Microcontrollers on Android via USB-OTG (PIC k150 Protocol)

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)    │
                                                        └──────────────────────┘
Enter fullscreen mode Exit fullscreen mode

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!

Top comments (0)