PyMCUProg

Python cross platform programmer and debugger for Microchip CMSIS interfaces.

Processor support is limited and various components are marked with “alpha” support at this time.

It can work with boards with built-in interfaces or the SNAP and PICKIT 4 interfaces updated with new firmware and switched into AVR mode (untested).

Interesting side note, the SNAP was £7 and the PICKIT 4 £45 in 2019 and now cost £39 for the SNAP and £88 for the PICKIT 4 in 2022. Microchip offer this free tool with limited support yet very expensive hardware to use it with.

TODO

Connect a MCHP SNAP in CMSIS mode to the Seeduino Xiao and see if it functions.

Install

Python 3 is a requirement and the tool is installed using pip.

apt install python3 python3-pip
rehash
pip3 install pymcuprog

Supported MCUs

Listing the devices directory will inform you of the supported controllers.

ls /usr/local/lib/python3.7/dist-packages/pymcuprog/deviceinfo/devices/

The help file mentions getting software packs for more options but visiting the pack site offers nothing useful.

Microchip ATMEGA328PB XPLAINED MINI

Supported interface but unsupported microcontroller (ATMega328PB).

USB

This is a virtual console port (AKA USB software modem).

Bus 001 Device 024: ID 03eb:2145 Atmel Corp. ATMEGA328P-XMINI (CDC ACM)
Test

Unknown MCU

pymcuprog ping
Connecting to anything possible
Connected to mEDBG CMSIS-DAP from Atmel (serial number ATML2523052700002178)
Debugger firmware version 1.22.134
Debugger hardware revision 0
Device mounted: 'atmega328pb'
No device specified.  Using on-board target (atmega328pb)
Unable to setup stack for device atmega328pb
Currently supported devices (in 'devices' folder):
attiny84a, avr32dd32, avr16dd28, pic16f17146, avr64dd20, pic18f47q10, pic16f1769, attiny814, avr64dd14, attiny417, pic16f1768, avr32da28, avr64du28, atmega1609, dspic33ck64mc105, avr128da28, avr64ea32, avr64db48, pic18f57q84, pic16f18146, avr64db32, pic16f18076, pic18f16q41, attiny1614, pic16f15276, uc3a3256, attiny1617, attiny1616, avr64db64, attiny824, avr32db28, atsamd21g18a, avr64da32, pic16f15376, pic18f47q43, pic16f18456, atmega808, avr64da28, pic18f56q71, avr64du32, avr128db48, attiny426, attiny806, attiny402, attiny804, pic18f06q20, avr128da64, attiny427, atmega328p, attiny3226, atmega4808, pic16f18446, attiny817, attiny1626, attiny104, attiny414, avr128db28, pic18f57q43, pic24fj128ga705, pic16f1779, attiny212, avr64ea28, avr32da32, attiny406, avr32db48, avr64da48, avr16dd20, avr64da64, avr128db32, avr64dd28, pic18f16q20, attiny826, pic18f47k40, avr32dd14, attiny816, pic18f16q40, attiny404, avr16dd14, atmega1608, attiny416, attiny3227, pic18f46q71, avr32da48, attiny1604, attiny3217, atmega809, pic16f15244, avr64db28, pic18f47k42, avr32dd28, atxmega128a1u, atmega3209, atmega3208, avr64dd32, attiny1624, avr128da32, avr16dd32, attiny202, avr128da48, pic16lf18456, avr32dd20, attiny214, avr64ea48, atmega4809, attiny827, attiny3224, pic24fj64gu205, attiny3216, avr32db32, attiny412, attiny424, atmega324pb, attiny1606, atsamd21e18a, attiny807, attiny1607, avr128db64, attiny204, attiny1627

Microchip DM164140 - MPLAB Xpress Evaluation Board

Unsupported interface, microcontroller (PIC16F18855) support unknown.

USB

This is mass storage device and no idea if the firmware can be altered otherwise.

Bus 001 Device 023: ID 04d8:0057 Microchip Technology, Inc. 
Test
pymcuprog ping
Connecting to anything possible
pyedbglib.hidtransport.hidtransportbase - ERROR - No CMSIS-DAP devices found.
Unable to connect to USB device

Resources

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information