How to flash Hackaday Badge 2018
Hackaday organized wonderful conference in Belgrade in May 2018. Traditionally, each participant received special Badge that is this time small computer. Badge is based on 32bit Microchip PIC as CPU, supports writing in customized BASIC. It is ideal to be used as a small serial terminal with keyboard and display. But to do so, you need support for “kin” BASIC function which is not working in firmware v1.00. So you need to flash new firmware! But hey, because Voja is old school and prefers Microchip controllers, USB2Serial cable is not enough! :( Hope next time they will choose ESP32
You need to get PICkit3 USB adapter. (thank you Boris!) Here are the next steps for all electronics fun that do not use Microchip PIC regularly.
Notice that left pin is unconnected!
(read more here)
Now let’s test badge as serial console!
Wiring Diagram:
* Badge Pin Ground (GND) –> Ground on serial cable
* Badge Pin TX (C14) –> RX on serial cable (White in this example)
* Badge Pin RX (C13) –> TX on serial cable (Green in this example)
* Important: Leave voltage disconnected (Red in this example)
On your computer (Mac/Linux) type:
screen /dev/tty.XXXYYY 19200
where XXXYYY depends on what USB2TTL adapter you are using and OS installed.
On Badge Write BASIC code that will transmit typed keys over serial port:
10 cls
15 wait 500
20 PRINT MyTerminal
30 k = kin 1
40 out k
50 goto 10
Everything that you type on badge will be transmitted/seen on computer!
Here is log file of MPLAB X IDE while flashing you badge…
PicKIT3 log:
2018-06-14 15:10:09 +0200 – Completed loading IPE.
2018-06-14 15:13:40 +0200 – Loading hex file. Please wait…
Loading code from /Users/mac/Documents/FPGAhackaday/FlashBadge/basic-badge-master/firmware/badge1.X/badge1.X.production.hex…
Warning: /Users/mac/Documents/FPGAhackaday/FlashBadge/basic-badge-master/firmware/badge1.X/badge1.X.production.hex contains code that is located at addresses that do not exist on the 11AA010.
Code incompletely loaded.
2018-06-14 15:13:40 +0200 – Hex file loaded successfully.2018-06-14 15:15:11 +0200 – Loading hex file. Please wait…
Loading code from /Users/mac/Documents/FPGAhackaday/FlashBadge/basic-badge-master/firmware/badge1.X/badge1.X.production.hex…
Warning: /Users/mac/Documents/FPGAhackaday/FlashBadge/basic-badge-master/firmware/badge1.X/badge1.X.production.hex contains code that is located at addresses that do not exist on the 11AA010.
Code incompletely loaded.
2018-06-14 15:15:11 +0200 – Hex file loaded successfully.*****************************************************
Connecting to MPLAB PICkit 3…
Currently loaded firmware on PICkit 3
Firmware Suite Version…..01.26.56 *
Firmware type…………..MidrangeNow Downloading new Firmware for target device: PIC32MX370F512H
Downloading bootloader
Bootloader download complete
Programming download…
Downloading RS…
RS download complete
Programming download…
Downloading AP…
AP download complete
Programming download…Currently loaded firmware on PICkit 3
Firmware Suite Version…..01.51.08
Firmware type…………..PIC32MXTarget device was not found (could not detect target voltage VDD). You must connect to a target device to use PICkit 3.
*****************************************************
Connecting to MPLAB PICkit 3…
Currently loaded firmware on PICkit 3
Firmware Suite Version…..01.51.08
Firmware type…………..PIC32MXTarget voltage detected
Target device PIC32MX370F512H found.
Device ID Revision = A0
2018-06-14 15:21:16 +0200 – Loading hex file. Please wait…
Loading code from /Users/mac/Documents/FPGAhackaday/FlashBadge/basic-badge-master/firmware/badge1.X/badge1.X.production.hex…
2018-06-14 15:21:16 +0200 – Hex file loaded successfully.2018-06-14 15:21:20 +0200 – Programming…
Device Erased…
Programming…
The following memory area(s) will be programmed:
program memory: start address = 0x1d000000, end address = 0x1d0797ff
boot config memory
configuration memory
Programming/Verify complete
2018-06-14 15:22:00 +0200 – Programming complete
Pass Count: 1