Sometimes you come across the situation that you need someting and there are two solutions: buying it or creating it.
This time I needed a KitProg2 to check it could be used to program the PSoC6 on our Onethinx LoRaWAN core module. I had some old CY8CKIT-059 KitProg1 kits lying around so I decided to see if it could be converted into a KitProg2. First thing I did was comparing the schematics. Wow, these matched! Also both versions used the same PSoC5LP (CY8C5868LTI-LP039). Good news!
Next thing I did was see if I could use the bootloader host functionality to flash the KitProg2 firmware onto the PSoC5LP. For some reason that didn't work out well, as soon as the host sends data, the kitprog bootloader seems to hang.
So next I tried to see if I could hook up the Miniprog3 directly to the PSoC5LP. As I looked at the schematic I noticed the SWD lines for programming aren't routed so it would be hard to connect wires to these tiny QFN pads. Also the KitProg user guide states: Note: Programming of KitProg through MiniProg3 is not possible in prototyping kits (CY8CKIT-043 and CY8CKIT-059). Bugger!
However when I closely looked at the schematic I noticed the second SWD port pair is connected to the USB+ and USB- pads. The Test Controller inside PSoC checks for acitvity on this port within a small time window, so best is to use the XRES line. Luckily the XRES line on the PSoC5LP is routed to a non-used pad (R1/C2).
Then I hooked it up to the Miniprog3, loaded the KitProg2 firmware and pressed program. Bingo. The PSoC5LP programmed well and after connecting the KitProg to the USB port it was directly recognized as KitProg2. Wooohoooo!!
I like to share how to do this:
Connect a Miniprog3 (or maybe another KitProg, didn't try this) in the following way:
Load the KitProg2 firmware (..:\Program Files (x86)\Cypress\Programmer\KitProg2.hex)
Set the MiniProg3 connector to 5p, programming mode to reset and the programming speed to 3.2 MHz.
Set the Power to 5V and press Toggle Power
Press Program, wait till finished and have fun with your KitProg2