mbed NXP LPC11U24

Order and mbed Microcontroller

Rapid Prototyping for USB devices, battery applications and low-cost 32-bit ARM® Cortex™-M0 based designs

mbed NXP LPC11U24

Overview

The mbed Microcontrollers are a series of ARM microcontroller development boards designed for rapid prototyping.

The mbed NXP LPC11U24 Microcontroller in particular is designed for prototyping low cost USB devices, battery powered applications and 32-bit ARM® Cortex™-M0 based designs. It is packaged as a small DIP form-factor for prototyping with through-hole PCBs, stripboard and breadboard, and includes a built-in USB FLASH programmer.

/media/uploads/simon/m0-pinout.png

The mbed Microcontrollers provide experienced embedded developers a powerful and productive platform for building proof-of-concepts. For developers new to 32-bit microcontrollers, mbed provides an accessible prototyping solution to get projects built with the backing of libraries, resources and support shared in the mbed community.

Features

  • NXP LPC11U24 MCU
    • Low power ARM® Cortex™-M0 Core
    • 48MHz, 8KB RAM, 32KB FLASH
    • USB Device, 2xSPI, I2C , UART, 6xADC, GPIO
  • Prototyping form-factor
    • 40-pin 0.1" pitch DIP package, 54x26mm
    • 5V USB, 4.5-9V supply or 2.4-3.3V battery
    • Built-in USB drag 'n' drop FLASH programmer
  • mbed.org Developer Website
    • Lightweight Online Compiler
    • High level C/C++ SDK
    • Cookbook of published libraries and projects

Tools and Software

The mbed Microcontrollers are all supported by the mbed.org developer website, including a lightweight Online Compiler for instant access to your working environment on Windows, Linux or Mac OS X.

Also included is a C/C++ SDK for productive high-level programming of peripherals. Combined with the wealth of libraries and code examples being published by the mbed community, the platform provides a productive environment for getting things done.

Examples

The mbed NXP LPC11U24 Microcontroller is particularly great for building USB devices. Here are some examples:

USBMouseUSBKeyboardUSBMIDI

USBMouse example

#include "mbed.h"
#include "USBMouse.h"

USBMouse mouse;

int main() {
    int16_t x = 0;
    int16_t y = 0;
    int32_t radius = 10;
    int32_t angle = 0;

    while (1) {
        x = cos((double)angle*3.14/180.0)*radius;
        y = sin((double)angle*3.14/180.0)*radius;
        mouse.move(x, y);
        angle += 3;
        wait(0.001);
    }
}

You can find more USB examples on our USBDevice page

The mbed NXP LPC11U24 is also good for prototyping low-power applications. Here the LPC11U24 is put to sleep and woken up by a button to increment and update a display before returning to sleep. The board is running off two AA's cells and drops to couple of milliamps when not is use.

Simple deepsleep and interrupt wakeup example

#include "mbed.h"
#include "TextLCD.h"

TextLCD lcd(p21, p23, p24, p25, p26, p27);
InterruptIn wakeup(p14);

int i = 0;

void count() {
    lcd.locate (0,1);
    lcd.printf("%d",i);
    i++;
    wait(0.5);
}

int main () {
    wakeup.rise(NULL);  // Setup rising edge interrupt (no handler function needed)

    lcd.printf("Hello World!");

    while (1) {
        deepsleep();  // Deep sleep until external interrupt
        count();      // We've come out of sleep due to interrupt, so count!
    }
}

For both sleep() and deepsleep(), all state is retained so you can see it is a nice simple programming model. Should be great for quickly prototyping some things that need to run off batteries.

Schematics and Data Sheets

mbed NXP LPC11U24 Microcontroller

NXP LPC11U2x MCU

See also




31 comments:

08 Dec 2011

Hi Simon,

Please give the price for it. Also what about already existing user who have an account with LPC1768 mbed and want to buy only the pure hardware of mbed M0 and re use the existed account it will be any discount?

Kind Regards, Stas

08 Dec 2011

Hi Stas,

It will be a bit cheaper than the mbed NXP LPC1768. You should see it as about $45-49 by the time it ends up in distributors, but obviously we aim to give you more value than just the physical board through all the tools and website effort! The mbed NXP LPC11U24 will come with a license key for the LPC11U24 tools, which you can add to your existing user account so you can develop for both targets. If fact, much of the time, the same code should compile for both just by switching the drop down.

Hope you'll like it!

Simon

08 Dec 2011

OK, but what about the second mbed M0 if I will obtain it will be cost again the same amount?

Thanks!

16 Dec 2011

Guys, Cool Components is selling at GBP29 (around USD 45). This is before local sales tax (VAT) and shipping.

http://www.coolcomponents.co.uk/catalog/product_info.php?products_id=858

28 Dec 2011
01 Jan 2012

I've got one, and just entered the serial number.

It says it worked, but it doesn't appear under "My Microcontrollers" in my Profile - should it?

Andy.

01 Jan 2012

I followed the instructions to download the Hello World app, and that worked fine.

But, when I imported the project to make my own mods, it wouldn't build - it was the wrong Library, Gromit!

See: http://mbed.org/cookbook/Compiler-Error-35?c=2422

Is this related to the fact that this board doesn't appear in my Profile (see earlier post), or is there a step missing in the 'Creating a Program' instructions?

http://mbed.org/handbook/Creating-a-program

01 Jan 2012
01 Jan 2012

Hi Andrew,

Thanks for the note; the program on the "creating a program" page had not been updated, so it was pulling in an old version of the library that didn't support the LPC11U24 (as you discovered!).

I've re-published it with a newer version of the library, and also updated the compiler message wiki page now that the main libraries do support the LPC11U24; now you just need to make sure they are on the latest revision.

Simon

01 Jan 2012

I've now got Niall Cooling's DS18b20 1-Wire temperature sensor code working on it - only change needed was the library update.

:-)

06 Jan 2012

Funny thing. You need to remember that p27 and p28 is true open-drain. Just tested it by setting those high, 30mV measured. It is of course nice to have when having relays that shouldn't activate until told so, rather than activating during startup, because of the internal pull-up.

Nice board anyways, I'll do a test to see if the LQFP48 version is directly compatible.

Lerche

08 Jan 2012

Just been lookingat the schematics for the lovely new M0, And I have noticed there is 32Khz crystal, Or a seperate path for RTC backup voltage????

It look like to me, that on power down (with backup battery) The backup battery will get drained!!

And no RTC.

I had an idea for using low power of M0. But does this mean it is thwated?????

Cheers

Ceri

01 Feb 2012

For the next revision of the M0 mbed I think it would be good to think over the RTC battery input pin once again - Ceri is right complaining about this!

In the current state, the 2,7V backup battery connected to VB powers the LPC11U24 (which accepts supply voltages as low as 1,8V for operation) but not the mbed's magic controller IC on the back (the single LED stays dark). I suggest just not to mount D4 in the next batch!

13 Feb 2012

Hi All,

The LPC11U24 MCU doesnt have an RTC, hence no 32kHz crystal, and as there is no separate power domain for RTC or battery backed RAM, there is no need/use for the VB in the traditional sense.

The use case scenarios are :

- Power the whole mbed from USB, as normal. This takes 60mA - Power the whole mbed from Vin, as above but with a 4.5v-9.0v range. This also takes 60mA - Power *just the LPC11U24* from VB. This has the range 1.8v-3.3v, and will take 16mA normally, and will drop to about 3mA in Sleep and 800uA when in Deep Sleep.

As there is no RTC to back up, it doesnt make sense to connect a coin cell cell.

The intention was that you can connect 2xAA batteries to VB, which gives you about a week of runtime.

If you make use of the sleep functionality, you get about a month, if you use deep sleep you get about 3 months.

@Ceri - We've opted to use the sleep modes that retain state as this makes the programmers model very clean, and it gets you down to 3 months on 2xAA batteries. Its worth remembering that depending on the quality of your batteries (especially if they are NiMH), you might find that the self-discharge is the same as (or more than) the drain from the mebd NXP LPC11U24 in deep sleep!

15 Mar 2012

Hi Simon, the schematic is showing a LPC11U1x controller. The Pin functions are wrong. Please change it to LPC11U2x.

09 Apr 2012

user Chris Styles wrote:

mA in Sleep an

Interrupt is working if I power mbed 11u24 from vin(5V) but does not work if I power using VB(3.3V).

#include "mbed.h"

DigitalOut TestLED(LED1);
InterruptIn wakeup(p14);


void blinkled()
{TestLED = 1;
wait (3);
TestLED = 0;

}
int main () {
 wakeup.rise(&blinkled);
 

  while(1)
  {
TestLED = 1;
wait (3);
TestLED = 0;
deepsleep();   
   }
}

24 Apr 2012

user Harris Junaid wrote:

Interrupt is working if I power mbed 11u24 from vin(5V) but does not work if I power using VB(3.3V).

I am having the same issue, yet the video appears to have VB at 3.0V?

09 May 2012

Hi,

is there a library available or any examples to allow use of this chips EEPROM?

18 May 2012

user Peter Drescher wrote:

Hi Simon, the schematic is showing a LPC11U1x controller. The Pin functions are wrong. Please change it to LPC11U2x.

The LPC11Uxx pinout is the same for all models, the only difference is that depending on the case used (33,48 or 64 pin) some of the pins will not exist.

Alex

19 May 2012

Here is the pinout of the board for anyone that wants to use the port pin names directly in the code. http://mbed.org/users/alexan_e/notebook/pinout-of-the-mbed-lpc11u24/

19 Jun 2012

I want to power the m0 mbed from a Cymbet EnerChip EP energy harvester. This has an output of 3.6V. Is this going to damage the Vbat input which appears to have a maximum of 3.3V?

Later: Actually, a look at the mbed schematic and the chip data sheet suggests it should be OK. The VB input passes through a Schottky diode which probably loses 100mV or more and the LPC11U24 device can take 3.6V anyway. Should make for an interesting project.

09 Jul 2012

Hello.

I am pretty new to the forums/comments around here but I have a question here. Does "mbed NXP LPC11U24" have any problems with noise at the AnalogIn Pins (p15-p20)? I have been using "mbed NXP LPC1768" for awhile and the noise problems at the AnalogIn Pins (p15-p20) are pretty tough to resolve. Thus, I might consider switching over to using "mbed NXP LPC11U24" if there are little or no noise problems at the AnalogIn Pins.

Hope I am able to get a reply soon. Thank you.

10 Aug 2012

Why is there no datasheet for these things. Its very frutrating trying to develop on a unit that has no spec sheet, no description of pin functions and no maximum limits written down anywhere.

Things like - - how much current can each output source / sink, - can the local file system be accessed when running from the Vb pin - are there any other hardware limitations to powering from this - can the unit cope with voltage on Vin and the usb at the same time - what does sleep do - how to avoid the local file system getting locked on a brownout - what

Also - where is the command reference ? - where can I find a description of the behaviour of the various mbed specific functions for instance - the sleep command - what are its limits and effects.

Guys - just publishing the .h file is inadequate - it doesn't define the hardware limits. I've spent money on your products but there is no documentation ! I can't see myself developing a whole teaching course using these things if there's nothing to work from.

10 Aug 2012

user chris stevens wrote:

Why is there no datasheet for these things. Its very frutrating trying to develop on a unit that has no spec sheet, no description of pin functions and no maximum limits written down anywhere.

Things like - - how much current can each output source / sink, - can the local file system be accessed when running from the Vb pin - are there any other hardware limitations to powering from this - can the unit cope with voltage on Vin and the usb at the same time - what does sleep do - how to avoid the local file system getting locked on a brownout - what

Also - where is the command reference ? - where can I find a description of the behaviour of the various mbed specific functions for instance - the sleep command - what are its limits and effects.

Guys - just publishing the .h file is inadequate - it doesn't define the hardware limits. I've spent money on your products but there is no documentation ! I can't see myself developing a whole teaching course using these things if there's nothing to work from.

LPC11U24 Datasheet: http://www.nxp.com/documents/data_sheet/LPC11U2X.pdf
LPC11U24 User manual: http://www.nxp.com/documents/user_manual/UM10462.pdf
LPC11U24 mbed: http://mbed.org/media/uploads/chris/mbed-010.2-schematic.pdf

Inside these documents, you will find maximum current for each pin, the use of the Vb (Which connects to the 3.3V through a diode),
In the handbook you'll find a command reference for the commands provided by mbed.
If it's C/C++ commands you're looking for, I suggest visiting http://www.cplusplus.com, or use Google.
Hardware limits will also be "provided" by the documents linked above.

Lerche

10 Aug 2012

user Christian Lerche wrote:

user chris stevens wrote:

Why is there no datasheet for these things. Its very frutrating trying to develop on a unit that has no spec sheet, no description of pin functions and no maximum limits written down anywhere.

Things like - - how much current can each output source / sink, - can the local file system be accessed when running from the Vb pin - are there any other hardware limitations to powering from this - can the unit cope with voltage on Vin and the usb at the same time - what does sleep do - how to avoid the local file system getting locked on a brownout - what

Also - where is the command reference ? - where can I find a description of the behaviour of the various mbed specific functions for instance - the sleep command - what are its limits and effects.

Guys - just publishing the .h file is inadequate - it doesn't define the hardware limits. I've spent money on your products but there is no documentation ! I can't see myself developing a whole teaching course using these things if there's nothing to work from.

LPC11U24 Datasheet: http://www.nxp.com/documents/data_sheet/LPC11U2X.pdf
LPC11U24 User manual: http://www.nxp.com/documents/user_manual/UM10462.pdf
LPC11U24 mbed: http://mbed.org/media/uploads/chris/mbed-010.2-schematic.pdf

Inside these documents, you will find maximum current for each pin, the use of the Vb (Which connects to the 3.3V through a diode),
In the handbook you'll find a command reference for the commands provided by mbed.
If it's C/C++ commands you're looking for, I suggest visiting http://www.cplusplus.com, or use Google.
Hardware limits will also be "provided" by the documents linked above.

Lerche

Thanks very much Lerche, I guess these are useful although I'd have to do a lot of combining fo the datasheets and the cicuit diagrams. As these are the datasheets for the IC, not for the mbed its annoying to have to do some archaeology to find out simple basics like each pin can only source or sink 20mA.....

There seem to be functions, specific to the mbed, built into the compiler libraries, that have no reference in the Handbook. For instance, there's no refernce to sleep or deepsleep there, nothing about the local file system. I found out about these after lots of frustration and searching of wiki pages.

Not a great way to encourage the use of the product. Are we expected to buy the new book to find out about all these ?

Chris

11 Aug 2012

In principle you are just looking at an LPC11U24 (although for teaching the 1768 might be more complete, but of course I dont know your requirements), so that is what you should look at for data about I/O pins and the like. There is nothing between those pins and the outside world. So I think you are a bit harsh about that part, that is just the LPCs documentation and that is fine.

I do agree some other mbed specific documentation could be (alot) better, it would already help alot if the mbed library functions would be shown in the compiler again. That was way easier to find functions and see their documentation.

As one of the things that should be documented better is the reset functionality of the mbed to load new programs. To be precise, pressing the button each time is irritating, but it is not needed, and that part took me at least quite some time to figure out. If you send break over the serial port (alt+b in terraterm, serialbreak in matlab) it will also reset the device. That saves quite some irritations with the reset button.

(Btw, in the forums you probably have a larger chance on a dev reaction, although if they see this they probably also will give a reaction, just a larger chance they actually see it in the forums).

11 Aug 2012

Hi Chris, Erik,

Thanks for the feedback!

We don't plan on repeating all the datasheet details of the underlying chips in our own handbook pages, as their datasheets really are the best for that. But I agree that there are probably some details that are missing and should be summarised, and certainly some functionality we add. We'll look to address the ones you've pointed out that seem to fall in to that category.

In general, the level we document to is meant to reflect the level we expect people and our product to work optimally at for best productivity. As things become more and more minority cases, the preference is that the information is there but you may have to put in a little more legwork to find it, with the upside being for the common case people are not drowning in details. I'm sure we get that trade-off wrong sometimes which is why it is great when you tell us so we can fix it (or consciously not!). But we are very aware that conventions, constraints and simplicity are powerful things for productivity, so we are careful to try and balance these forces!

Quote:

I do agree some other mbed specific documentation could be (alot) better, it would already help alot if the mbed library functions would be shown in the compiler again. That was way easier to find functions and see their documentation.

We're working on it! In fact, we are trying to go one better - the idea is that you can see the documentation not only of published libraries, but of code you are working on. So you get full preview of documentation you are adding to your own libraries before publishing :)

Thanks again for the suggestions,

Simon

11 Aug 2012

You just had to proof me wrong about devs reading it ;)

I fully agree you dont want to give too much details, it just confuses things. But still it should be available somewhere grouped, call it an advanced link at the wiki for example. Right now (well in previous version) you had under the mbed library an 'error' sub-library, with as only function the error function. You could for example call it "system", and besides error also add sleep/deepsleep there, possibly calling reset to the magic-chip, etc. Imo the error function is not that much more important than those others, at least for me the main reason I use the error function is because I enjoy seeing blinking blue LEDs.

Seeing documentation of your own libs before publishing sounds really useful :)

11 Sep 2012

hello when i power up my mbed Nxp M0 the all leds shows some light i think there is no pull down resister with leds :(

11 Sep 2012

the default power up state is weak pull up

therefore a small current through LED's

all you need to do is set as O/P

Ceri :-)

09 Jan 2013

Great resource but I caught an issue with the low power example that uses the DeepSleep() function - has something changed as I could only get this to work by adding #include "sleep_api.h" otherwise the compiler will not build ?

Posting comments for this page has been disabled