picp(1) command line utility to drive a PICSTART programmer


picp [-c] [-d] [-v] ttyname [-v] devtype [-i] [-h] [-q] [-v] [-s [size]] [-b|-r|-w|-e][pcidof]


This manual page documents briefly the picp command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

picp is a Linux (and Windows) command line interface to Microchip's PICSTART Plus, Newfound Electronic's Warp-13, and JuPic PIC programmers. Originally written by Andrew Pines, picp is now maintained by Jeff Post.

Thanks to Jim Robertson of Newfound Electronics, who generously donated a Warp-13a programmer and technical advice so that picp would work with both the Warp-13 and PICSTART Plus programmers.

Thanks also to Adam Jurkiewicz, who donated a JuPic programmer for testing. JuPic is an excellent replacement for the Warp-13 programmer (which is no longer being sold).

picp is licensed under the GNU General Public License.


A summary of options is included below.
serial (or USB) device the PICSTART or Warp-13 is attached to (e.g. /dev/ttyS0 or com1)
the pic device to be used (12C508, 16C505, etc.)
blank checks the requested region or regions
enable comm line debug output to picpcomm.log (must be before ttyname)
(if only parameter) show device list
erases the requested region (flash parts only)
ignores verify errors while writing
show a short help message
use ISP protocol (must be first option after devtype)
sets quiet mode (excess messages supressed)
initiates a read (Intel Hex record format)
-s [size]
shows a hash mark status bar of length [size] while erasing/writing
writes to the requested region. -wpx will suppress actual writing to program space (for debugging picp)
shows PICSTART Plus version number
(if only parameter) show picp version number
Read/Write/Erase parameters
p [filename]
program memory, optionally reading/writing filename
c [val]
configuration bits (val is a numeric word value when writing)
i [val]
ID locations
d [filename]
data memory, optionally reading/writing filename
o [val]
oscillator calibration space
entire flash device (only applies to -e, erase)
filename is an optional input or output file (default is stdin/stdout)



picp -c /dev/ttyS1 16f84 -wp widget.hex

This example programs a 16F84 device with the program in the file widget.hex using the ttyS1 serial port, and writes comm line debug information in the file picpcomm.log.

The -i option causes picp to use a slightly different protocol for communicating with the Warp-13 programmer when programming 18fxxx chips connected to the ISP port of the Warp-13. This appears to be necessary only when using BluePole firmware version 1.5. Use this option only if you experience problems without it.


This manual page was written by Josh Huber <[email protected]>, for the Debian GNU/Linux system (but may be used by others).