mbed Blog Roundup
A lot has been going on recently at mbed! Here is a roundup of what's been happening:
New Issue Trackers and Pull Requests!
We've been adding some features to make working together on mbed even easier!
You can now add an issue tracker to your repositories. We've already enabled it on the official mbed repositories. read more.
Pull Requests are now being built-in to the workflows and are available in mbed betamode. read more.
CMSIS-DAP debug on all mbed-enabled hardware!
CMSIS-DAP support has been added for all mbed board firmware, so you can now debug your mbed hardware using a range of well known toolchains. read more
We've also released an open source python interface to allow debugging Cortex-M microcontrollers using CMSIS-DAP, either using GDB or your own custom scripts. read more
Professional and Academic Microcontroller Training based on mbed!
Providers of embedded software training Feabhas have chosen mbed as a platform for their professional training courses. read more.
ARM is running a free of charge, one-day microcontroller workshop at the ARM headquarters in Cambridge for academic teaching staff. read more.
mbed Application Board on sale!
The mbed application board went on sale in March and is selling like hotcakes! The credit card size application board provides a variety of peripherals which there are libraries and example code for in the cookbook so it is a great self contained development or training companion. read more.
Xively collaboration for building the Internet of Things!
We've been working with xively (formerly Cosm/Pachube) to launch their new IoT platform and Xively Jumpstart kit so you can rapidly prototype connected devices and co-develop IoT solutions. read more
Pull Requests now in beta!
We are happy to announce that the Pull Requests feature is now in open beta. This also marks an important milestone – the mbed Online Tools is now offering a complete set of collaboration development models – the multiple authors (a.k.a. shared repository) model and the fork & pull model, where pull requests play major role as median between independent developers and repository authors.
But what is a pull request?
A pull request lets you tell others about changes you've added to a fork of their (or ancestor) repository, effectively granting them permission to include and use your code in their code base. Once the pull request is created, the other party can review, accept or reject the set of changes, discuss further modifications and even add follow-up changes or merges.
Think of pull requests as for simplified fork and update workflow, where the changes contributed by non-repository developers are being moderated by the repository author(s).
Most online services that offer source code and version control hosting let you review and merge pull requests.
We made a step further by letting you review, compile, test and add more changes if necessary before accepting a pull request by harnessing the power of the mbed Online Compiler.
More information on pull requests can be found here.
Other features in beta
- Repository comparison mode that lets you compare a workspace repository with related published repository without permanently changing the URL.
- Code highlighter improvements and correct line numbering for diff code examples in wiki pages, forums etc.
- Redesigned repository home pages to accommodate more repository actions.
- Improved IDE initialization and rendering.
Trying out the beta
Before you try out the beta, please be aware that:
- You will be using a beta, which even though we consider stable and safe, have not been tested in larger scale. It is advised to use copies of workspace and published code.
- Pull requests will be visible only in beta until the official release, though pull requests that you accept will immediately cause the accepted changes to be published to the live repository.
To try out the beta, visit http://mbed.org/betamode/ and click "Enable betamode".
Please let us know what you think on http://mbed.org/forum/bugs-suggestions.
mbed as a Professional Training Platform
This week we are glad to host a blog post from Niall Cooling (CEO of Feabhas Limited) about how the recent addition of offline development and debugging (through CMSIS-DAP) has allowed Feabhas to choose mbed as an ideal platform for their professional training courses:
wrote:
As a company who’s been involved with training many thousands of embedded software engineers over the last 18 years (in technologies such as C, C++ and Real-Time Operating Systems) our goal was always to try and recreate an engineer’s everyday environment in the training courses. To this end we have always used embedded target boards on which an application is programmed. Initially we started with a Renesas SH-2 based system, but over a decade ago we switched to an ARM7TDMI (NXP LPC21xx) target.
However, with the announcement and release of the Cortex-M family of microcontrollers we made the decision to port our training to a Cortex-M3 based system. Ideally we like to use off-the-shelf hardware where possible, but have always struggled to find target system that fit our requirements. As we work very closely with ARM (as both a provider of training to ARM and an ARM Approved Training Center) we were made aware of the mbed in its very early days.
Initially we thought the concept of the mbed was a great idea, but unfortunately had to rule it out on a number of reasons:
- We need an offline IDE (e.g. Keil uVision or IAR EW) as when training on a customer site we cannot guarantee internet access - may sites, for security reasons, are locked down.
- As great as the mbed library is, it actually hides all the code we are teaching engineers to develop (e.g GPIO, programming UARTs, handling interrupts, fault handling, etc.)
- As a consequence of (2) we also need source level debugging (e.g. breakpoint, reading assembler, memory access, single-step, etc.) and visibility of the build process (e.g. what the compiler & linker are doing, memory maps, etc.)
Even though I was a fan of the mbed (I did some early work on MQTT with the mbed) we didn’t pursue it as a viable target, instead prototyping our own board deliberately based around the same core as the original mbed platform (NXP LPC17xx series). Students are always asking for hardware they can continue to experiment with after the course and by using the same core it allowed us to point them at the mbed. As an aside, in the Embedded C++ courses, we recommend students take a look at the mbed libraries to illustrate how well device drivers can be wrapped in C++ objects.
Luckily for us, before we’d gone into full production, ARM announced CMSIS-DAP and its support for the mbed. So recently we have spent some time experimenting with CMSIS-DAP using the mbed and the Keil uVision IDE. The details of which are:
- Native C/C++ Application development for the mbed using CMSIS-DAP
- User I/O from mbed with CMSIS-DAP
- Rehosting ARMCC for the mbed with CMSIS-DAP
- Test Driven Development (TDD) with the mbed
The great news is that mbed + CMSIS-DAP meet our needs and as such we are redesigning our training platform to be to accommodate an mbed rather than mounting the NXP LPC1768 directly. We also have a full TDD (Test Driven Development) setup using the mbed, the Unity TDD framework and a little bit of Python for use on our embedded software testing course.
You can find me at: https://mbed.org/users/feabhas/
ARM University Program to run mbed workshops
On June 17th the ARM University Program will be running a one-day Microcontroller Workshop at ARM Headquarters in Cambridge.
These workshops are exclusively for teaching faculty and post-graduate members of academia, and will provide the knowledge needed to teach students to use these tools in Labs and Projects.
The objective of this workshop is simple: “train the trainer”, so you are able to share this knowledge with your students.
ARM University Program
The aim of the ARM University Program is to encourage the use of ARM processors as the basis for educational labs and university courses. University courses, student projects, and research which focus on SoC design, computer architecture, embedded systems, microprocessors/controllers, assembly programming, OS application development, robotics, or mechatronics can benefit from using ARM IP and development systems. The program provides a variety of teaching materials, development tools, and other resources for both faculty and students.
Workshop content
- Introduction to the ARM University Program by Worldwide University Manager Dr. Khaled Benkrid
- Introduction of ARM and its relevance to Embedded Systems Education
- How to fit this activity into your classes and projects
- Hands-on exercises using both the mbed online compiler and the Keil-ARM MDK development environment via the CMSIS-DAP standard
- Q&A and networking discussions
Trainers
- Rob Toulson, Director, The Cultures of The Digital Economy Research Institute, Anglia Ruskin University, Cambridge
- Tim Wilmshurst, Head of Electronic Systems, University of Derby
Joint authors of: “Fast and Effective Embedded Systems Design: applying the ARM mbed” available on Amazon
- Chris Styles, mbed co-founder. Principal Engineer, Online Tools, ARM Cambridge
Venue
ARM Headquarters, Cambridge. Click for map
Who Should Attend
These workshops are exclusively for teaching faculty and post-graduate members of academia, and will provide you with the knowledge needed to teach students to use these tools in labs and projects. Attendees who complete the full day of training will receive their own mbed board, an mbed Application Board, their own copy of MDK-PRO development environment, along with copies of all the training materials used.
Dates & Times
The primary workshop is on Monday 17th June: - If there is sufficient demand, a second workshop will run on the 18th June - Registration at 9:00, workshop begins at 9:30. Close by 17:00
No Charge!
For commercial companies there is usually a charge for these workshops, but these special university workshops are completely FREE-OF-CHARGE for all members of academia. However, for reasons of cost, only the simplest of catering and refreshments will be provided.
Eligibility
- These workshops are only open to post-graduate members of academia
- It is unlikely that we will accept more than two delegates from any particular department or faculty.
- We reserve the right to accept or refuse registrations based on our wish to enable the broadest spectrum of UK Universities to participate.
- Given the cost of arranging this training, please do not register if you are not sure that you can attend!
Find out more about the ARM University Program
Dr. Khaled Benkrid, Robert Owen and other members of the ARM University Programme Team will be there, and will be available to discuss your needs.
Registration
To register, please download the form, complete it, file>save as to your PC drive, and then email it to lia@theofficeonthenet.co.uk cc: Robert.Owen@arm.com
- Please note that ALL the information on the form must be completed.
- Workshop confirmations will be issued late May. Please do not expect confirmation of a place before 28th May.
- Final timing and travel advice will be issued with the confirmations.
Preparation
- You will need to bring your own laptop, preferably running Windows (the mbed online compiler is OS independent. MDK and TeraTerm require Windows)
- Please download and install the evaluation version of MDK in advance, from the Keil website (Click: Evaluation Software Download)
ARM mbed + Xively = Internet connected products, fast!
We’re excited to announce we’re partnering with Xively on a kit for developers creating Internet of Things products! Xively builds on COSM/Pachube technology which leverages LogMeIn’s cloud that already connects over 250 million devices worldwide (mbed users among them). Combined with mbed you can rapidly prototype connected devices and co-develop IoT solutions, then easily migrate to a production design.

Xively Jumpstart Kit: ARM mbed edition includes :
mbed hardware
- mbed LPC1768 (ARM Cortex-M3 based microcontroller)
- mbed application board (integrated sensors, comms, LCD display)
mbed software
- mbed’s professional online tools for software development
- All the necessary libraries for Internet connection, sensor and LCD display drivers
- Xively API library to connect mbed to the cloud
Xively Cloud Services™
- Monitor and control your mbed device via the public cloud
- Develop custom web or smartphone applications using your mbed prototype
- Use Xively’s platform to provision and manage production devices
Find out more at the Xively Partners page, or purchase a kit from the Xively Jumpstart Kit page.







