Great Scott Gadgets
H2HC 2013 Badge
The H2HC 2013 Badge celebrates the 10th anniversary of the Hackers to Hackers Conference in Brasil. It is a
USB-enabled ARM Cortex-M3 development board based
on the LPC1343, and it is intended as an experimental platform for
development of a next-generation GoodFET.
The primary goal of the badge is to make it easy for H2HC attendees to get
started with embedded ARM development.
Bootloader
The H2HC 2013 Badge is delivered with no firmware installed except for the LPC1343’s ROM bootloader which functions as a USB Mass Storage device. Simply plug the badge in to a USB host computer, and it will appear as a storage device with one file, firmware.bin. Overwrite firmware.bin with your own firmware binary, hit the reset button, and it will start running your code!
The first time you plug in the badge it will execute the bootloader. After any firmware has been installed, you can invoke the bootloader by pressing the ISP button, pressing the RESET button, releasing the RESET button, and then releasing the ISP button.
Known bug: The bootloader was probably only tested on Windows. If you use a Linux host computer, instead of overwriting firmware.bin directly you must use simpleflash.
Development Setup
To compile firmware for the H2HC 2013 Badge, you’ll need an ARM
GCC toolchain. The easiest way to install a toolchain is to
download a binary distribution of the official GNU toolchain
for embedded ARM processors.
Simply unpack the downloaded
archive and add the bin directory to your PATH.
For a good starter project, download the LPC1343 Code Base. In its default configuration, this project will build firmware that flashes one LED and implements a USB serial interface. For more information including links to the LPC1343 documentation, see [Getting Started with the LPC1343 Code Base](https://web.archive.org/web/20150809012033/http://www.microbuilder.eu/Projects/LPC1343ReferenceDesign/GettingStartedLPC1343.aspx.
Example: Getting Started From Linux
You will need to be root or will need to adjust permissions (e.g. with udev) to perform some of these steps.
Plug in the badge to a Linux host computer. If this is not the first time you have attempted to install firmware, follow the instructions above to invoke the bootloader.
Mount the bootloader filesystem (change /dev/sdb to match the device file created for the bootloader mass storage device):
mkdir /mnt/bootloader mount /dev/sdb /mnt/bootloader
Install toolchain:
cd /tmp wget https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q3-update/+download/gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2 tar -xjf gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2 PATH=/tmp/gcc-arm-none-eabi-4_7-2013q3/bin:$PATH
Install simpleflash:
wget https://raw.github.com/r0ket/r0ket/master/tools/bootloader/simpleflash chmod 755 simpleflash
Install LPC1343 Code Base:
wget http://www.microbuilder.eu/Files/Projects/LPC1343RefDesign/LPC1343_CodeBase_v1.1.1.zip unzip LPC1343_CodeBase_v1.1.1.zip cd microbuilder-LPC1343CodeBase-1d625af chmod 755 tools/lpcrc/bin/lpcrc-linux ln -s tools/lpcrc/bin/lpcrc-linux lpcrc
Compile and install sample firmware:
make ../simpleflash firmware.bin umount /mnt/bootloader
Unplug badge from USB host.
Plug back in to USB host.
The sample firmware should now execute. Verify this by making sure TXLED flashes slowly.
Try interacting with the USB serial interface:
screen /dev/ttyACM0
GreatFET
The H2HC 2013 Badge is based on the gflpc1343, an experimental GoodFET design also known as the GreatFET. Firmware implementing GoodFET features does not yet exist, but the TARGET pin header is designed for future use compatible with existing GoodFET designs.
Open Source
The H2HC 2013 Badge is open source hardware. You can find the KiCad design files in the GoodFET svn repository under contrib/gflpc1343/h2hc2013badge/.