You are viewing an older revision! See the latest version

Tour

Tools for Rapid Prototyping with Microcontrollers

The mbed Rapid Prototyping platform is designed for experienced embedded developers as a productive platform for developing microcontroller-based proof-of-concepts. For developers new to 32-bit microcontrollers, mbed provides an accessible way to get projects built with the backing of resources and support shared in the mbed community.

mbed Microcontrollersmbed Compilermbed SDKmbed.org Developer Website
mbed Microcontrollersmbed Compilermbed C/C++ SDKmbed.org Developer Website
32-bit ARM Cortex Microcontrollers
40-pin 0.1" DIP form-factor
Built-in USB FLASH programmer
Lightweight C/C++ Compiler
Instant access to your environment
Windows, Linux, Mac OS X
Embedded C/C++ environment
High-level peripheral APIs
Works with multiple toolchains
Integrated with development tools
Cookbook of community libraries
Active developer forum

Motivation

Microcontrollers are getting cheaper, more powerful and more flexible, but there remains a barrier to a host of new applications; someone has to build the first prototypes.

Without the right tools, implementation details can quickly get in the way of productive prototyping and experimentation. The mbed platform tackles this by being a tool focused on helping you developing prototypes fast. We haven't had to dumb down the technology; it's all built on industry standard stuff. We've just done a lot of the groundwork for you, and made the trade-offs and choices appropriate for the task, so you don't have to.

With the right tools for the job, we hope you'll be more adventurous, inventive and productive. But best of all, you'll love building things with microcontrollers again (we built it for ourselves really!)

mbed Microcontrollers

The mbed Microcontrollers are a series of microcontrollers development boards designed for fast, low-risk and professional rapid prototyping.

They are packaged as a small 40-pin DIP form-factor convenient for prototyping with through-hole PCBs, stripboard and breadboard, and include a built-in USB programming interface that is as simple as using a USB Flash Drive. Plug it in, drop on your program binary, and you're up and running! The USB drag'n'drop interface works with Windows, Mac OS X and Linux, meaning you can re-flash the microcontroller without needing drivers or a programming application. There is also support for a virtual serial port using the same USB interface, enabling communication with a PC terminal, Labview, Matlab, and any other programming language that can communicate with a COM port.

Find out more: mbed Microcontrollers

mbed Compiler

The mbed Compiler provides a lightweight online C/C++ IDE that is pre-configured to let you quickly write programs and compile and download them to run on your mbed Microcontroller. In fact, you don't have to install or set up anything to get running with mbed. Because it is a web app, you can log in from anywhere and carry on where you left off, and you are free to work on Windows, Mac or Linux, or all three.

It may be online and lightweight, but it is also powerful. The compiler uses the professional ARMCC compiler engine, so it produces efficient code that can be used free-of-charge, even in commercial applications. The IDE includes workspace version control, code formatting and auto-generation of documentation for published libraries. The mbed tools are focused on prototyping and designed for fast experimentation, and complement other professional production-level tools; you can even export directly to other toolchains if you choose, as you progress to productise your design.

You can publish projects directly from your compiler workspace to the mbed.org website to share code with others, and pull existing libraries in to your workspace to get a head start.

Find out more: mbed Compiler

mbed C/C++ SDK

The mbed C/C++ SDK provides the embedded software platform to enable fast and flexible microcontroller application prototyping.

The mbed SDK provides a solid C/C++ startup environment and peripheral abstraction to enable clean API-driven coding for microcontrollers. Much of the low-level work normally associated with microcontroller code development can be eliminated, meaning less time spent with datasheets and more on developing and iterating your application prototypes.

The SDK focuses on reusable library functionality, and supports the main functions of the microcontrollers with simple and meaningful peripheral API abstractions that are intuitive and already tested. And there is even a "Hello World!" example for every peripheral, so you'll be able to get started before you even know it.

The mbed C/C++ SDK is fully integrated with the mbed Online Compiler so it all works out-of-the-box, leaving you to worry about application functionality. The SDK is also compatible with other offline ARMCC and GCC toolchains, so you can start your prototype using the speed and simplicity of the mbed online platform, and choose to export at any time if your project demands more control or complex configuration.

mbed Developer Website

The mbed Website is where everything lives. You've got things like the mbed Handbook for documentation and examples, and the mbed Forums for getting advice from other mbed users.

But you can also add to the website, and use what others have contributed! There is a central Cookbook for collecting together useful libraries and information, and everyone also gets their own Notebooks for keeping logs of what you are up to.

And you can even publish projects directly from the compiler to share code with others, or pull in some of the existing ones.

And of course, the mbed Compiler lives there, ready for whenever and wherever you feel the need to do some coding!

Is mbed for me?

We've carefully designed the mbed microcontrollers and tools to be ideal for rapid prototyping. However, that doesn't mean mbed is for everyone.

What mbed is not good for

mbed is not a replacement for professional embedded development tools or evaluation boards. It is missing a lot of features those tools naturally come with, like a JTAG interface, a breakpoint debugger, integrated peripherals, or even a standard offline compiler. We are not trying to replace these tools, so if you need these sorts of features, mbed is not for you!

In this case, and for turning prototypes in to products in general, we'd recommend you choose one of the many great existing solutions for working with ARM Microcontrollers, and you'll be much happier.

What mbed is good for

mbed is designed for quick experimentation and iteration, where the focus is trying something out rather than optimising a solution. And that means it is good for anyone from professional embedded engineers to people with expertise outside embedded exploring it for the first time. Professional embedded tools are like a complex CAD program, good for refining every detail. In contrast, mbed is more like a pencil and paper, great for quickly sketching out a design.

If you think it is for you, you can go ahead and order one!

More Information

For more information, browse around the site:

If you have any other questions about mbed, feel free to email us at support@mbed.org


All wikipages