(Unoffical) DEFCON 23 HHV Parts Kit
Last Update: August 4, 2015Introduction
Hello!
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
COUNT PART # DESCRIPTION 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')