(Unoffical) DEFCON 23 HHV Parts Kit

Last Update: August 4, 2015

Congrats on getting a DEFCON 23 Hardware Hacking Village Parts Kit!

Please note that this kit is provided by myself only. I have no connection to, arrangement with, or permission from the DEFCON convention or the Hardware Hacking Village.

So, I'm a big fan of DEFCONs hardware hacking village, in particular their free stuff table. The table was mostly empty last year though, and while there was a lot of kit building I felt that there wasn't a lot of tinkering - people using parts on hand and some creativity to make interesting things.
A few people had brought their own parts for badge hacking and whatnot, but I suspect most con goers aren't able to bring anything. With this in mind I dug into my parts boxes and pursued various electronic surplus retailers to put together this kit.

There are parts for a basic ARM microcontroller development board.
There are a bunch of interesting components and electronic odds and ends.
There are zero instructions, lessons, or project plans.

Have fun! :D

Parts List

1x			PL2303HX		Generic USB-to-serial cable
1x			LPC1114FN28		NXP Semiconductor ARM Cortex-M0+ microcontroller in a DIP-28 package (DKPN 568-10143-5-ND)
1x			LM567			DTMF tone decoder and frequency synth
2x			L78L05ACZTR		TO-92, 100mA +5VDC linear voltage regulator (DKPN 497-1184-1-ND)
2x			L78L33ACZ		TO-92, 100mA +3.3VDC linear voltage regulator (DKPN 497-7288-ND)
4x			2N3906TF		TRANSISTOR PNP 40V 200MA TO-92 (DKPN 2N3906TFCT-ND)
4x			2N3904-AP		TRANSISTOR NPN 40V TO-92 (DKPN 2N3904-APCT-ND)

1x			S875-16R 4F		Hamamatsu ceramic base Si photodiode 
4x			RI-29 			Miniature magnetic reed switch
4x			N/A			Tactile push-button switches, right angle 
1x			N/A			Magnetic pickup coil
1x			N/A			(Surplus) Board from battery charger; pogo contacts, EEPROM

4x			MIM 5383H4		38kHz infrared receiver (PIN photodiode, decoder), TV remote receiver
4x			IR1503			Everlight Electronics Co Ltd 5mm Infrared LED (DKPN 1080-1071-ND)

1x			N/A			1x40 0.1" header
1x			N/A			DIP-28 socket
1x			N/A			1 7/8" X 2 1/4" perf board
1x			N/A			2-AA battery holder with snap contacts
2x			N/A			Battery snap contacts for 9V battery

1x			N/A			Packet of assorted LEDs
5x			N/A			0.1uF 100V ceramic capacitors
3x			N/A			2200uF 25V radial electrolytic capacitors
8x			1N4450			Small Signal Switching Diode (Rohm)
1x			N/A			Assortment of 1% resistors (approx. 50)

1x			N/A			Approx 10"x1" strip of dual sided peel-and-stick foam pad
1x			N/A			Approx 5"x1" strip of dual sided peel-and-stick foam pad
1x			N/A			Kapton/polymide tape, 10mm x 30m roll
2x			N/A			Cylindrical neodymium magnets, 8mm x 10mm, N35 grade

LPC1114 Information
The NXP LPC1114 is an ARM Cortex M0+ microcontroller in a hobby-friendly DIP-28 package.
A good place to start is the datasheet: LPC111X. It has information like pin out, a list of implemented features, a high level overview of the internal memory, and basic electrical characteristics.
You're next stop should be the LPC111x User Manual UM10298. This has highly detailed information about the internal registers and the various features of the chip.

Here is a schematic for a rudimentary development board:

Note that the PIO0_1 pin enables ISP programming when it is pulled low.

PL2303HX USB-to-serial Adapter Drivers
The USB-to-serial adapter your kit comes with uses a Prolific PL-2303HX chip.
Windows and Mac drivers are available at the link above, along with the datasheet and related documentation and software.
Linux systems should automatically recognize and setup the device as a standard serial port (i.e. USBttyX).

GCC Toolchain
A GCC toolchain is being maintained by ARM employees, and install packages are available for Windows, Mac, and Linux.
You may also want to read through the toolchain build manual.

LPC1114 Development Files and Examples
Frank Duignan at the Electrical and Electronic Engineering department, Dublin Institute of Technology has very kindly put together header files for the LPC1114, eliminating the need for bloated IDEs and compiler suites. He has also provided numerous examples. Check out his page here.

You may also be interested in an even further simplified 'blink an LED' example I pulled together, available here.
(Be sure to update the makefile so it knows where your toolchain is installed.)

Uploading/ISP Programming Utilities
Flash Magic is NXPs official programming utility; versions for Windows and Mac are both available.

On Linux you will need to build and install lpc21isp.
(The makefile may need to be modified. Remove '-static' from CFLAGS if you get this error during compilation: 'ld: library not found for -lcrt0.o')