Skip to main content

picpro a kitsrus PIC CLI programmer

This is complete rewrite of kitsrus_pic_programmer into Python 3 + bunch of fixes and features.

Tox tests

Supported kitsrus programmers

  • K128
  • K149 version A to F
  • K150 (Tested)
  • K182

Note: The programmer must have the latest firmware version, which utilizes the P18A protocol. Firmware versions using older protocols (P018, P016, P014, or earlier) are not supported.

See https://www.kitsrus.com/pic.html.

Installation

PIP (pip3 on some distros)

pip install picpro

Repository

You can also use these repositories maintained by me

Debian and derivatives

Add repository by running these commands

wget -O- https://repository.salamek.cz/deb/salamek.gpg | sudo tee /usr/share/keyrings/salamek-archive-keyring.gpg
echo "deb     [signed-by=/usr/share/keyrings/salamek-archive-keyring.gpg] https://repository.salamek.cz/deb/pub all main" | sudo tee /etc/apt/sources.list.d/salamek.cz.list

And then you can install a package picpro

apt update && apt install picpro

Archlinux

Add repository by adding this at end of file /etc/pacman.conf

[salamek]
Server = https://repository.salamek.cz/arch/pub/any
SigLevel = Optional

and then install by running

pacman -Sy picpro

Usage

Command details:
    program             Program PIC chip.
    verify              Verify PIC flash.
    dump                Dump PIC data as binary.
    erase               Erase PIC.
    chipinfo            Prints chipinfo as JSON in terminal.
    hexinfo             Prints information about hexfile.

Usage:
    picpro program -p PORT -i HEX_FILE -t PIC_TYPE [--id=PIC_ID] [--fuse=FUSE_NAME:FUSE_VALUE...] [--icsp]
    picpro verify -p PORT -i HEX_FILE -t PIC_TYPE [--icsp]
    picpro erase -p PORT -t PIC_TYPE [--icsp]
    picpro dump <mem_type> -p PORT -o HEX_FILE -t PIC_TYPE [--icsp] [--binary]
    picpro chipinfo [<PIC_TYPE>]
    picpro hexinfo <HEX_FILE> <PIC_TYPE>
    picpro (-h | --help)
    picpro (-v | --version)


Options:
    --icsp                           Enable ISCP programming.
    --fuse=FUSE_NAME:FUSE_VALUE      Set fuse value directly.
    --id=PIC_ID                      Set PIC id to be programmed in pic.
    -p PORT --port=PORT              Set serial port where programmer is connected.
    -t PIC_TYPE --pic_type=PIC_TYPE  Pic type you are programming/reading.
    -i HEX_FILE --hex_file=HEX_FILE  Hex file to flash or to read.
    -o HEX_FILE --hex_file=HEX_FILE  Hex file to write.
    --binary                         Input/Output file is in binary.
    -v --version                     Display version info

Example: Program chip

picpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675

Example: Verify chip program

picpro verify -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675

Example: Dump ROM as hex file

picpro dump rom -p /dev/ttyUSB0 -o rom.hex -t 12F675

Example: Dump EEPROM as hex file

picpro dump eeprom -p /dev/ttyUSB0 -o eeprom.hex -t 12F675

Example: Dump CONFIG as hex file

picpro dump config -p /dev/ttyUSB0 -o config.hex -t 12F675

Example: Program chip via ISCP

picpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675 --icsp

Example: Program chip and override fuses provided from HEX file

picpro program -p /dev/ttyUSB0 -i YOUR_HEX_FILE.hex -t 12F675 --fuse=FUSE_NAME:FUSE_VALUE --fuse=FUSE_NAME:FUSE_VALUE

Enable serial port access

To allow the user to access the serial ports (for some distros), run the following command:

sudo usermod -a -G dialout $USER

Metadata

Release files for picpro 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for picpro 0.4.1
File Size Uploaded
picpro-0.4.1.tar.gz 49.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for picpro 0.4.1
File Interpreter ABI Platform
picpro-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 107.2 kB

Release files / picpro-0.4.1.tar.gz

Download URL picpro-0.4.1.tar.gz
Size 49.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8ce79fc0c852260b1e735ddbb6a6e20a92cb49ecd2c5afdd15ff69ca12f89b53
BLAKE2b-256 checksum
How to use checksums
7a250255e40ecbc1ef566ec17883b67b282bddb1f0f3e48fb25784b4aca7ba4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / picpro-0.4.1-py3-none-any.whl

Download URL picpro-0.4.1-py3-none-any.whl
Size 57.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d216a25db1ce19a2c80f986e95ee68c0139935cb56ea848b8e2b534e8343b91b
BLAKE2b-256 checksum
How to use checksums
5e6648deaf7808d04bfb6142406bcefe56fb7758375395deb2e262cbb60e3d29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.3.0

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.0

1 release file

0.0.13

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.3

1 release file

0.0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page