Introducing the LPC810
Created: 11 May 2013, Last modified: 7 April 2015
An eight pin 30MHz 32bit Cortex M0+
The moment I read about this MCU I immediately knew I wanted to try it.
It's a 32 bit processor in a DIP package and requires no extra components even including a internal oscillator, meaning it can be easily breadboarded.
There are only eight pins but the configuration allows for any pin, besides Vdd and Vss, to be either GPIO, USART, I2C or SPI.
Memory is limited to 4KB flash and 1KB SRAM and can run at 30 MHz. It has two USARTs, I2C and SPI.
It reminds me a lot of the Atmega Attiny MCUs. Sadly it lacks an ADC but it still looks fun enough to try it.
This article got featured in Hackaday.com: Programming a through-hole ARM microcontroller.
Circuit for In-System Programming
In this example we will be using an inexpensive UART/USB adapter and Flashmagic to upload the binary to the MCU.
The needed circuit is very simple because, as stated before, the LPC810M021FN doesn't need any additional components to work.
Pin 5 works as a switch turning on In-System Programming (ISP) when connected to GND.
Pins 8 and 2 will connect to TX and RX on the UART/USB adapter and pins 6 and 7 to +3.3v and GND respectively.
Open source example program
Microbuilder provides an open source code base for LPC810 projects on github.com.
The sources can be compiled with LPCXpresso, a free IDE from NXP, but to save you some trouble here is an already compiled binary LPC810_Blinky_0_2.hex.
Uploading the program with Flashmagic
Flashmagic is a free and easy to use tool that can upload program files to a large variety of microcontrollers.
Make sure you select the correct COM port where the USB to TTL UART is connected in your computer. In this example COM 5 is selected.
Flashmagic can be downloaded from: http://www.flashmagictool.com/
Simple circuit for blinking led
After uploading the binary we can build the following simple circuit to see a connected led blink.
This time pin 4 is connected to a led followed by a resistor.
When connected +3.3v to pin 6 and GND to pin 7 the led will flash.