Initial review: mbed LPC1768 Development Board

In this article we review the mbed NXP LPC1768 development board and the mbed system in general.

Introduction

Today we will examine the mbed NXP LPC1768 development board. The goal of the mbed system is to “provide(s) a platform for microcontroller hardware, tools, libraries and resources designed to enable rapid prototyping with microcontrollers.” (http://mbed.org/handbook/About). Personally I also see this as a good option for a “next step” for those who have outgrown their Arduino – the mbed offers much more processing power, a similar development environment and similar hardware ease of use. A great way to move from 8-bit to 32-bit power…

The NXP LCP1768 MCU on our mbed board offers the following specifications:

  • a Cortex-M3 core running at 96MHz
  • 512kb flash memory and 64kb RAM
  • powered via USB or 4.5~9V DC applied straight to the board
  • Real time clock (requires external battery backup if necessary)
  • Loads of I/O options, including:
  • USB serial
  • I2C
  • Ethernet on board
  • SPI
  • serial I/O
  • Control-area network (CAN) bus
  • 3.3v digital logic, 40mA per digital pin with a total maximum of 400 mA
  • analog and digital I/O pins

For a full description and data sheet, please visit: http://mbed.org/handbook/mbed-NXP-LPC1768.

Although a small project started by two ARM employees, the mbed has proven to be a worthy product to allow people of generally all skill levels access to powerful microcontrollers without a lot of the inherent complications. It does this in two ways:

Firstly, the hardware is very simple and designed for ease of use. The LPC1768 is mounted on a small board to convert it to a DIP format, making breadboard easy. The designers have also thought to include four blue LEDs for digital output and a nice large reset button. Interface with the PC is via USB. The mbed appears as a USB flash drive to your computer’s operating system, and compiled programs are downloaded as a single .bin file into the mbed.

Secondly, the development environment. Unlike other MCU products on the market, mbed is a completely online development environment. That is, in a manner very similar to cloud computing services such as Google Docs or Zoho Office. However there are some pros and cons of this method. The pros include not having to install any software on the PC – as long as you have a web browser and a USB port you should be fine; any new libraries or IDE updates are handled on the server leaving you to not worry about staying up to date; and the online environment can monitor and update your MCU firmware if necessary. However the cons are that you cannot work with your code off-line, and there may be some possible privacy issues. We will examine the online environment later on.

Preparing and using the mbed is incredibly simple. The designers have certainly exceeded their goal of providing a rapid prototyping environment. The process from opening the box to running your first program is (as always) quite simple.

The initial packaging is clear and inviting, and includes a getting started document, USB cable, a laminated hardware pinout card (very useful) and a bumper sticker (!):

1

 

The mbed unit itself is compact yet not too small:

2

The underside contains the USB interface and flash drive controllers:

3

The initial setup requires registration with the mbed online environment. This is done by plugging in your mbed to the USB, and visiting the web page URL stored in the mbed’s flash drive:

4

This will take you to the login page where you can create a new user profile:

5

The serial number of the mbed is recognised and linked to your user account. This means you do need to own an mbed to explore the depths of the online services available, and also serves to keep the mbed online ecosystem free of spammers and whatnot. After registration, you will be presented with the “getting started” page, which contains links to the function references, tutorials, FAQs, user forums, user-contributed content and more. All is revealed by exploring the links from this page.

After signing up, you can create a profile page which is public. This also contains tabs that contain notes, published (programs you make public) and libraries (that you have made public) Initially I thought the profile page would be private, or limited to other mbed owners, but this is not the case. From this page you can create notebook files, view your past activity and display published programs and libraries.

For example, I created a test notebook page and someone left a comment on it twenty minutes later. So be careful if you have some secrets – instead, you could cut and paste work to and from the IDE. However if you accidentally publish something it can be deleted, but remember that the internet is written in ink, not pencil.

However don’t let privacy worries put you off – just be careful not to write anything or publish programs you want to keep secret. Furthermore, as said earlier –  having an online IDE has a few advantages – you don’t need to install anything on your PC apart from an up to date web browser. This means you can work on programs from other computers with ease. Bored at work? Using a locked-down hotel or  school computer? You can still work on your mbed programs!

The openness of the mbed environment does create a positive, helpful environment similar to that found in the open-source community – there are many libraries that have been submitted that allow connection to various pieces of hardware such as LCD screens, bluetooth, Wii controllers, motors, servos, sensors and so on – as well as libraries for pachube, twitter, HTTP client and server access, and much more. These are found in the environment’s “Cookbook” section. If something interesting is on the market, there may very well be an mbed library to work with it.

The IDE is quite clear and straightforward. The program editor maintains colour-context, line numbering, support auto-formatting, and you can import or export code using the standard copy and paste keyboard shortcuts.

6

You can have multiple folders open at once, where each folder contains one program, the standard mbed function library and others you may have imported. Furthermore, there is also a very clear function reference for the standard mbed library available within the IDE – very useful. Programs are written in C++, and the online IDE takes care of everything – leaving you with only the .bin file to upload to the mbed. If you are new to programming or a little rusty with C++, books with unfortunate titles such as “C++ for Dummies” may prove useful.

7

You can also import libraries published by other mbed users into your own projects. Details of these published libraries (and programs) are listed in the mbed online environment. The speed of development is demonstrated very well in this video from the mbed team:

The support options are very good, including a members-only forum, loads of information, the Cookbook, a wiki for publishing user-contributed libraries and resources, and other FAQs and so on. If you have a question I am sure it could be answered very quickly.  When it comes time to compile and run your program, after a successful compile your computer will download a single .bin file, which is then copied over to your mbed. Then by pressing the reset button on the mbed, the program is stored into the MCU and executed. You can store more than one .bin file on the mbed, however the latest file (by time stamp) is only executed.

Overall the mbed is a refreshingly-easy point of entry to microcontrollers. The ability to quickly prototype an idea into reality is really not difficult, and those with some C++ experience (or willing to learn) will make use of the mbed environment in no time at all. And if you decide to move your prototype into production, details and schematics are provided to help implement the nxp LPC1768 into your designs. Frankly, for fast prototyping at work, or just fun for anyone interested in electronics, the mbed offers a simple yet powerful way of getting things done.

The mbed board used in this review was a promotional consideration from RS. You can purchase an mbed directly from your local RS distributor.

In the meanwhile have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column? And join our friendly Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

The following two tabs change content below.

John Boxall

Founder, owner and managing editor of tronixstuff.com.

13 Responses to “Initial review: mbed LPC1768 Development Board”

  1. This is very interesting… It even looks a lot easier than AVR 8 bit. Is it true? 32 bit micro controllers can be easier than 8 bit? Where is the more complex part I’ve heard about ARM and all that stuff hidden?

    Too bad I haven’t started PCB etching yet, or are on a level where I can order PCB from even the cheapest suppliers. I love prototyping, and are therefore committed to DIP (I know it’s DIP, but sometimes I want to leave it in the final design, which makes the mBed too expensive for that purpose).

    • John Boxall says:

      It would seem all the “hard work” as some people say is non-existent at all. The IDE/compiler site takes care of everything, leaving you with a heavily-supported C++-style environment to work with.
      have fun
      john

  2. jeff says:

    As you say, the hardware makes it easy to use the ARM chip in a similar way that Arduino makes it easy to use an ATMega. And the LPC1768 is far more capable than an Arduino. But I found the online code editor to be so simplistic as to be unusable. To be fair, I am a semi-retired software developer and I’ve used some pretty powerful IDEs. I wasn’t expecting too much from the online environment, but I still found it to be painful to use. I hope to develop a PC-based solution using GCC compiler and a code editor, or possibly one of the open source IDEs. Thumbs up on the hardware, but thumbs down on the software.

  3. Mike Seiler says:

    I have an mbed and am very impressed with it.
    A lot of people grumble at the price but forget that with other systems you have to buy the extra features that come on the mbed either in the form of extra ic’s or shields.
    If this doesn’t take off it’s a shame as the guys have done a really good job on it.

  4. matt says:

    Big “meh” from me on the “cloud” part of the IDE. All it means to me is “no network = no tinkering”. It’s also a sneaky way to potentially inject ads, or pay for continued use of the IDE.

    I realize cloud is the currently hyped buzzword and all, but it only exists because it makes corporations more money, not because it’s a better system.

    • John Boxall says:

      Absolutely. There are many ways of looking at it, both positive and negative. I am not happy that you have to be connected to the Internet to use it, as not everyone can do this.
      cheers
      john

  5. Alastair says:

    Thanks John,

    Interesting. To give a novice some kind of an idea: what kinds of projects can the extra processing power, pins, RAM etc etc enable that would be out of the question on Ardunio boards and shields.

  6. Ante Vukorepa says:

    Two things stopping me from clicking Add To Cart:
    a) price
    b) cloud.

    I don’t actually mind the ‘cloudy’ IDE, in fact, i think it’s an excellent idea (i can, for example, visit a friend with just my mbed or not even that if he’s got one too and continue tinkering). But an extra “local” IDE to go along with it would be useful.

    I’m definitely putting it on my wish list though. However, Freakduino’s currently on top of it :)

    • Ante Vukorepa says:

      Hmm. I wonder if there might be a way to jury-rig auto-upload of new .bins from the IDE (in)directly to the mbed, via tcp/ip. So as to enable remote updates from wherever i am.

      That would make for one hell of a sensor/remote control node (even though a mighty expensive one).

  7. Simon says:

    Wow that was strange. I just wrote an really long comment but after I clicked submit my comment didn’t show
    up. Grrrr… well I’m not writing all that
    over again. Anyhow, just wanted to say excellent
    blog!

Trackbacks/Pingbacks


Leave a Reply

Receive notifications of new posts by email.

The Arduino Book

Arduino Workshop

Für unsere deutschen Freunde

Dla naszych polskich przyjaciół ...

Australian Electronics!

Buy and support Silicon Chip - Australia's only Electronics Magazine.

Use of our content…

%d bloggers like this: