P a u l C h i l t o n electronics, programming, gadgets

1Apr/120

mbed NXP ARM Microcontroller

Posted by Paul

mbed logo

I am always on the lookout for new processors that I can use for my projects at home and at work. My recent discovery is the ARM Cortex M3 based mbed LPC1768 device from NXP.

The device uses an NXP LPC1768 ARM Cortex M3 processor embedded on a small footprint development board with some great features for quick development.

  • Built in 3.3V regulator
  • Debugging USB port
  • Online development environment with access to lots of peripheral libraries
  • Simple device programming by copying binary onto device as if it was a USB drive
  • Ethernet capability with just an Ethernet Magjack socket
  • Additional USB connectivity
  • CAN Bus
  • Analog inputs and output
  • PWN outputs
  • SPI, I2C and Serial interfaces

The mbed's are around £40 which although isn't as cheap as some of the Arduino based solutions around is actually quite reasonable for the performance and features available. It also uses 0.1" (2.54mm) pitch headers that are designed to fit directly onto a breadboard.

One of the unique things about this device is that it is not just a processor on a board, it is actually two processors, an Ethernet PHY, flash memory power supply components and status LEDs. The main M3 processor runs the application as normal but a secondary processor handles communication with the PC and exposes the mbed as both a USB drive and a USB serial port. When the application is compiled a binary is saved onto the flash chip of the mbed via the USB interface (just like saving files onto a USB key drive), then when the mbed is reset the secondary processor boots up first and checks which binary file on the flash drive is the latest and then saves this program to the main processor. The main processor is then started as normal. The secondary processor also exposes a USB Serial port which can be used to debug the program and send data to it.

This little device is well worth checking out if your interested in embedded programming and is a simple way to get started with ARM based development.