Skip to content | Skip to navigation
Powered by RSPowered by RSPowered by RS

ARM mbed LPC1768 Module

RS part number: 7039238
Manufacturer part number: MBED-LPC1768
Keywords: ARM, arm cortex, M3, MBED
Manufacturer: NXP
Product: Dev Kit
Technology: ARM Cortex

mbed LPC1768 Module

mbed is a tool for rapid prototyping with microcontrollers. A special feature is on-line code compilation available from the mbed website http://mbed.org when registered.

  • Cortex-M3 Core LPC1768 microcontroller, 96MHz with 512KB Flash memory, 64KB RAM
  • Ethernet, USB, CAN, SPI, I²C and GPIO interfaces
  • 40-pin DIP format module, board size: 44mm x 26mm
  • Powered by USB or +4.5 to +9v applied to VIN
  • Current consumption: <200mA (∼100mA with Ethernet disabled)
  • Real-time clock battery backup input
  • +3.3v regulated output on VOUT to power peripherals
  • +5.0v available on VU (only when USB is connected), limited to 500mA
  • Digital I/O pins are rated at: +3.3v, 40mA each, 400mA max

Lerche

Denmark

1 year ago

This module is a piece of art. The core is fast (96 MHz), and has the large bus width (32bit).
One thing to mention is the online compiler on the website, which is easy to use, and has lots of features. The online community on the page is one of the best, as people always are willing to help if you get lost in there.
The mbed has 5 onboard LEDs, where you can use 4 of them in your programming.
The USB port on the mbed is used to program the board, with the help of Drag-And-Drop.
I.e. you write a program, compile it, download the .bin-file, and copy it to the mbed as if it were a flash-drive.
This board is probably the easiest for starters, as it will get you programming withing the first five minutes after registering an account on mbed.org.
The mbed's are serialnumbered, so to register you'll need one of them.

All together, a nice little board for both starters and experienced users.

tronixstuff

Australia

1 year ago

Hello fellow Designspark readers

In this article 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.” [1]

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

Full description and data sheet

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. (!)

The mbed unit itself is compact yet not too small.

The underside contains the USB interface and flash drive controllers.

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.

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

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.

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.

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: http://www.youtube.com/watch?v=CQm2B6BqU1I.

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. It is available from RS – search for part number 703-9238.

John Boxall, tronixstuff.com

[1] http://mbed.org/handbook/About

Full review of MBED NXP LPC1768 module

LStacey

United Kingdom

1 year ago

My first impressions of the mbed NXP LPC1768 module couldn't have been much better.  I'm a real novice when it comes to microcontroller development so to go from unboxing to "Hello world" in under three minutes is simply mind blowing.

When it comes to user experience, the mbed platform is second to none.  I was slightly suspicious at first because the little leaflet in the box basically just said I plug it in and away I go... In my experience, this is very rarely the case but the mbed does exactly what it says on the tin (or on the leaflet).

The great thing for me is the fact that the IDE (Integrated Development Environment) runs completely in the cloud, making it totally portable.  I started playing with it at work on a Windows XP machine, did a bit of code tweaking on my iPhone whilst on the train home and finished my first mbed project at home on my Mac.  As far as plugging the unit into a computer goes, you don't need to worry about drivers or any of that nonsense because it is simply seen by the computer as a USB flash drive which is pretty much standard these days.

The programming is all done in C++ which at first might sound a little scary to someone with little experience but it really isn't that hard to get to grips with because most of the tricky stuff is already taken care of in the supplied library files (you don't even really need to know the stuff exists) and there's a great knowledge base and a massive user repository accessible straight from the IDE.

Compiling and running your programs is a breeze too.  All you need to do is hit the compile button, check for any errors in the debug window (not that you'll make any, right?) and save the file to the mbed module.  Pressing the reset button on the board loads your program and away you go.

So you want to plug stuff into it and make it do more than flash?  Also pretty easy.  The package will easily slot into a breadboard or solder into stripboard if you wish and in the box there are a couple of handy little reference cards with the pinouts.

All in all it's a great little package that is as powerful as it is useful as it is simple.  As well as the standard digital and analogue inputs, PWM and digital outputs that you would expect to see on a board of this nature, things like serial comms (inc USB) and ethernet are built in as standard so you can do quite a lot with it straight out of the box.

mbed is my new favourite thing!

pauljclarke

United Kingdom

1 year ago

A few weeks back I a received the mbed dev kit from RS (Part No.703-9238), but it was only today that I got a gap in my work schedule to play with it.

As an Embedded Electronics Engineer I’ll be comparing this against the Arduino (which I reviewed here Part1 and here Part2) and looking to see if I could use this to develop new products or just to help me along the way. I also want to see if it’s worth twice the price of the Arduino and is quick and easy to use straight out the box.

The kit contains the mbed module its self along with a USB cable, mbed sticker and two cards that have the mbed promotion on one side but importantly have the pin out of the module on the back. One of these card is plastic so ideal to drop in my wallet alongside my IET membership card so if I ever get caught out then I also ways have the pin out with me.

The device its self come on a 40pin package that will plug into a pin header but pins are too big to go into a bread board in my view so you will need ‘something’ to allow connectivity. Something the Arduino dose well by having pin headers allowing you to push wires and components into it direct. I have seen a lot of mbeds in bread board on the internet alongside comments saying you have to push really hard to get them in. I don’t fancy killing my breadboard or needing a crowbar to get it out again so did not try that hard to get it to fit.

The module has the USB connector, a large reset button in the centre, power regulation circuit allowing a 4.5 to 9volt supply. In some places I’ve read that it can take 14volts, but this needs some checking before you go using a higher voltage – something I’ve not investigated. The regulator will take power from your USB and will also supply 3.3volts on one its pins allowing you to power other stuff too. There is also a supply pin from the USB connecter allowing you access to 5 volts if required.

You will also find 5 LED, one of which is a status LED that blinks with USB activity and the other four are connected to I/O pin so you can blink them.

The board is packed to the max with components on both sides and looks like a lot of effort was gone to, to make this as small as possible. Which is good as you want a plug in block like this to be small.

So will it work out the box? Well yes! After plugging the USB cable in you get a window open with the html file that when you open takes to the mbed website. I then took a few moments to sign up and register my board at which point I downloaded the HelloWold binary and it just worked – a flashing LED.!

Ok so now I want to make my own code – the complier is web based so all you code lives out on the internet in the cloud. From a hobby point of view I have no problem with this and like that I can make code public to other to view or grab others public code to use myself. However as a developer this is a little scary having the code that you have spent hours on living ‘out there’ what protection is there for IP rights and patent application using code that is in the cloud – things I’m not clear on but want to know about more before I use.

When you ask for a new program the complier give you a copy of the blink program – good idea to compile and test before you move on to check everything is ok. I spent some time playing with the PWM outputs and these work very well.

I then moved onto testing the USB serial functions and I ran into my first problems. First I noted that I could not scroll the window down in the complier or on the example code. I was using FireFox 3.6.10 but found that IE 8 worked ok. I don’t like IE myself so would like to see this fixed but at least it worked in IE. The next problem was that when it sent data to my PC (Windows XP) the USB driver decided it did not like what was going on and shut down the device saying it had an error – took a little time namely a PC reboot to get the mbed device to appear as a USB pen drive again buit found that I had not downloaded and installed the mbed serial USB driver. This fixed the problem and I got streaming data from it.!

So far the mbed was matching the Arduino one to one in my view, even giving in to the whole code in the cloud aspect until I found that you could access the pen drive area as a local file system and it also have a real time clock built in too. These are both nice features to have and something I’ve seen other add to the Arduio. Not certain these two extras are worthy of the extra cost however.

Ok so time to challenge the mbed and build an application so I decided to have an external I2C temperature sensor that I could log data from into the local file system as a CSV file while also streaming the data down the USB. Logging should have time stamps and run for five minutes and I should be able to abort the logging from the USB Serial stream by hitting any key.

For the hardware I used one of our ebmpapst temperatures sensor boards that has a Microchip MCP9801. I then used some pin headers on some strip board to make an Arduino style breakout bread board. This allowed me connect the temperature sensor board.

I then set to work on the code added one function at a time and using the examples as a reference. I found the code all went together very well and had only a few minor issues. One included the address of the I2C device. In the packet that is sent to a device bit 0 is used as the read / write flag and is not an address bit. The devices address is therefore in the top 7 bits of the packet. Setting the address in the Arduino takes care of this and shifts it into the top 7 bits. The mbed call however dose not and you have to shift the address up one bit yourself. So for example if the device has an address of 20h then you need to tell the mbed call it’s at address 40h.

The other thing I did not spot was that the I2C pins do not have pull-up resistors and the call’s hang and never return or timeout if you do not have them fitted yourself. I would also guess that if you get a bus lock then your calls will also hang. Not good!

Like the Arduino there is no single step option to walk thought your code which can make debugging difficult. However having a good serial com link and local file systems means you have way to monitor your programs performance and trace errors. Not the best but usable.

My final code can be seen here (published code example) [http://mbed.org/users/monpjc/programs/DataLogging/lg6lsx/docs/main_8cpp_source.html] and you're all free to ask question, poke fun or copy and pass off as your own!

 

In all I liked playing with the mbed and found it was easy to use and very quick to get up and running. Form out the box to finishing the above took me around 6 hours which I think for a first project with no knowledge is very good and I certainly progressed a little more than I did with the Arduino in the same time period. So I would use the mbed to test out ideas and play with new tech but think my main drawback is having a complier in the cloud (I have to be on the internet to compile) and also not having single step debugging which is also an issue on the Arduino. So at this time I’m unlightly to use either to develop the next ebmpapst controller.

I’ll also just point out that I have not talked about the Ethernet that is built into the board. I guess this is where some of your £48 is going and this along with the other features mbed has makes it worth twice that of an Arduino. However if you not using it then it’s an extra cost for something you’re not using. But you can’t please everyone can you and think mbed is priced well for collage and uni students and would even make a good school project starting point.

But if you do want to go the next step then here are two links that can help you get you own target designed and programmed.

Link 1 - http://mbed.org/users/ms523/notebook/turning-an-mbed-circuit-into-a-cust...

Link 2 - http://mbed.org/users/chris/notebook/prototype-to-hardware/

I hope you have as much fun playing with mbed as I have and will be keen to hear how you get on.

Paul (@monpjc)

Read this review as a blog post with images here:

http://www.designspark.com/content/my-first-mbed

chrismoute

Greece

23 weeks ago

If somebody is afraid of puting his mbed projects on the cloud , or is familiar with Keil , Code Red and GCC ,

there is a new option ...

He can develop mbed projects with offline tools as well  , he can even export the community projects to offline toolchains .

http://mbed.org/handbook/Exporting-to-offline-toolchains

 

fblanc

France

1 year ago

Kit mbed LPC 1768
Ce kit permet une prise en main rapide. Pas de logiciel à installer l’environnement de développement (IDE) se trouve à distance (sur le WEB). Une inscription à mbed.org est obligatoire. Une fois inscrit on peut bénéficier d’une grande communauté de développement.  Le langage de programmation est le C/C++.
La programmation de la carte se fait par l’interface USB (la carte est vue comme une clef USB). Il n’y a pas de logiciel de débugge. Mais on peut utiliser le mode console (toujours par l’USB). La carte peut s’auto alimenté par l’USB. Pour une utilisation plus avancé, je conseille la carte d’extension  mBed Prototyping Matrix board RS 714-1357. Celle-ci  permet de faire fonctionner le réseau et une carte µSD.
J’ai très vite fais marché un serveur web avec un capteur de température SHT71. Il ma suffit de faire une recherche sur le site mbed. Tout fonctionne à partir de l’API de base « mbed.h » cette Api est écrit en C++ et est propriétaire. Il n’est donc pas possible de recompilé le code mbed pour une autre carte à base de LPC1768.
Exemple de code :
#include "mbed.h"

Serial pc (USBTX,USBRX);

DigitalOut ledA(p26);
DigitalOut ledK(p24);

int main() {

    pc.printf("Hello world!\n");

    ledK = 0;

    while(1) {
        ledA = 1;
        wait(0.2);
        ledA = 0;
        wait(0.2);
    }
}

Le kit comprend :
Une carte type DIP 48 avec dessus :
    -Le microcontrôleur LPC1768 possède un cœur ARM M3 (donc 32bits), 64ko RAM, 512 FLASH
    -Le contrôleur PHY du réseau (mais pas le connecteur)
    -Un port Mini USB (pour la programmation)
    -4 mini LED
    -Un bouton reset
Câble  USB
Avantage :
    -Pas de logiciel à installer
    -Programmation C/C++ (pour les initiés)
    -mise en œuvre très facile
    -auto alimentation
Inconvénients :
    -Pas de compatibilité directe avec le LPC1768 (il n’est pas possible de faire son propre board)
    -la programmation C++ (pas obligatoire mais utile)
    -la connexion à internet pour utilisé l’IDE

mbed LPC1768 Module

mbed is a tool for rapid prototyping with microcontrollers. A special feature is on-line code compilation available from the mbed website http://mbed.org when registered.

  • Cortex-M3 Core LPC1768 microcontroller, 96MHz with 512KB Flash memory, 64KB RAM
  • Ethernet, USB, CAN, SPI, I²C and GPIO interfaces
  • 40-pin DIP format module, board size: 44mm x 26mm
  • Powered by USB or +4.5 to +9v applied to VIN
  • Current consumption: <200mA (∼100mA with Ethernet disabled)
  • Real-time clock battery backup input
  • +3.3v regulated output on VOUT to power peripherals
  • +5.0v available on VU (only when USB is connected), limited to 500mA
  • Digital I/O pins are rated at: +3.3v, 40mA each, 400mA max

Associated products and knowledge