Skip to main content

A utility for programming PIC microntronllers.

Project description

picchick

A utility to aid in programming PIC microcontrollers

Overview

piccchick is a commandline utility written in python that interfaces with a serial device in order to program PIC16 using the low-voltage ICSP interface.

The function is the same as avrdude, i.e. to provide a way to flash a compiled .hex file onto a microcontroller. The typical development stack involving picchick looks like:

Developing (nano) > Compiling (xc8-cc) > Flashing (picchick)

Installation

Requirements

  • xc8 compiler installed to one of:

(linux) /opt/microchip/xc8/
(Windows) c:\Program Files (x86)\Microchip\xc8\ *Windows not currently Supported

  • python >= 3.10

    • pyserial
  • Compatible serial programmer

    • Currently the only compatible programmer is the picstick.

From PyPi

picchick can be installed using pip:

pip install picchick
<...>
picchick -h

From Source

picchick can also be run as a python module:

python -m picchick -h

A wrapper script is also provided:

./picchick.sh -h

Usage

Flashing

The typical command to erase then flash a hexfile onto a device looks like:

picchick -p <port> -d <chipID> --erase -f <hexfile>
picchick -p /dev/ttyACM0 -d 16lf19196 --erase -f blink.hex
$> picchick -h

usage: picchick [options] [hexfile]

A utility for programming PIC microcontrollers

positional arguments:
  hexfile               path to the hexfile

options:
  -h, --help            show this help message and exit
  -f, --flash           flash hexfile onto the device
  --read addr           read specified address or chunk of memory
  --write addr word     write word to specified address
  --erase [addr]        erase device or specified address
  -d chipID, --device chipID
                        device to be programmed
  -p port, --port port  programmer serial port
  --baud baud           serial connection baudrate
  --map                 display the hexfile
  --list-ports          list available serial ports

flag arguments:
  [addr]:		device memory address in hexadecimal
	'all'		    all device memory areas
	'flash'		user flash area

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

picchick-0.2.0.tar.gz (9.5 kB view hashes)

Uploaded Source

Built Distribution

picchick-0.2.0-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page