==== Mindy Microchip PIC32MX ICSP ====
{{:projects:mindy.jpg?200|chipKITPi}}
\\ \\
{{:projects:mindyxl.jpg?200|SDXL}}
This is a Microchip PIC32 ICSP (in circuit serial programmer) for PIC32 micro-controllers. Mindy allows a PIC32 to program the flash on a PIC32.
Mindy is a port of [[:projects:mork|Mork]] which in turn is an adaptation of [[:projects:nanu-nanu|Nanu nanu]] Microchip PIC32MX ICSP. This time Mindy is for PIC32 based boards such as the [[:boards:chipkitpi|chipKIT Pi]] and the [[:boards:sdxl|SDXL]].
=== Licence ===
Mork is licensed under same terms as [[:projects:pickle|Pickle Microchip PIC ICSP]] which is the source of the software used to create this project. The Pickle [[:projects:pickle:licence|LICENCE]] is found here. This licence details the rights and liabilities of using the application and it should be especially understood that I, the author, will not accept any responsibility for any side effects of running it. Do not download and use this firmware unless you are willing to accept the consequences of it failing for any reason.
=== Credits and thanks ===
This software was written by Darron M Broad and is an adaptation of [[:projects:pickle|Pickle Microchip PIC ICSP]].
Thanks go to Alan Ott and Signal 11 software who wrote m-stack, the PIC micro USB stack used by this application.
=== Install ===
First install the [[:tools:xc32|MPIDE]] compiler.
Fetch the source and build.
hg clone http://hg.kewl.org/pub/Mindy
cd Mindy
make
If you have a [[:boards:chipkitpi|chipKIT Pi]], you can program the firmware like this. Remember to enter bootload mode with the buttons.
make -f Makefile.mx250_ckpi program
For the MX270 on the [[:boards:chipkitpi|chipKIT Pi]], it's almost the same.
make -f Makefile.mx270_ckpi program
If you have a [[:boards:sdxl|SDXL]] do this.
make -f Makefile.sdxl program
If the above fail to install, then you probably need [[:projects:pickle|Pickle]] for the loader utility. If you prefer, you can use [[:tools:pic32prog|PIC32Prog]] and just select the correct hex file and interface.
=== Set up ===
For the [[:boards:chipkitpi|chipKIT Pi]] the connections are as follows.
{{:projects:mindy.png?200|}}
On the SDXL, RB0 (A10) = PGC, RB1 (A11) = VPP, RB2 (A12) = PGD
=== Program ===
In this example, [[:tools:pic32prog|PIC32Prog]] is used to program a chip. This application also works in Windows if necessary.
pic32prog -S -d /dev/ttyACM0 mx150.hex
Programmer for Microchip PIC32 microcontrollers, Version 2.0.9986ac0
Copyright: (C) 2011-2015 Serge Vakulenko
Adapter: STK500v2 Bootloader
Program area: 1d000000-1d07ffff
Processor: Bootloader
Flash memory: 512 kbytes
Boot memory: 12 kbytes
Data: 55500 bytes
Erase: done
Program flash: ######################################################### done
Program boot: ### done
Rate: 23799 bytes per second
=== Verify ===
Similar to programming before, but now just to verify.
pic32prog -v -d /dev/ttyACM0 mx150.hex
Programmer for Microchip PIC32 microcontrollers, Version 2.0.9986ac0
Copyright: (C) 2011-2015 Serge Vakulenko
Adapter: STK500v2 Bootloader
Program area: 1d000000-1d07ffff
Processor: Bootloader
Flash memory: 512 kbytes
Boot memory: 12 kbytes
Data: 55500 bytes
Verify flash: ######################################################## done
Verify boot: ## done
Rate: 27165 bytes per second