Mbed Blog

The mbed challenge - 8051 to ARM!

This is very cool! Jim Carver at Avnet has taken his mbed and made a video showing it off. It is a really nice intro to mbed itself, but the coolest part is what he is doing with it...

As he calls it, "the mbed challenge"; take an old 8051 MCU based board and try and bypass the chip to wire in the mbed instead. And then import the 8051 C code and try an port it across to ARM. Watch the video to see the results:

My favourite parts are the bits where he is looking at what he needs to change and comparing the architectures, showing how nice it is to code with a modern MCU!

And great to see mbed letting him experiment so easily; just what it was designed for - great work Jim!

Important: Virus Alert

We have recently had reports from some users of a virus being detected when first connecting their new mbed Microcontroller to a Windows PC. Further investigation has shown this to be a real problem, impacting some units of an mbed LCP1768 batch manufactured in December.

We are taking this very seriously and will be doing all we can to audit all devices from this batch within the distribution channels, but we have to assume more will have made it through to end users. Please read this report carefully to understand if you need to take action.

Problem summary

On receiving a virus report from a user, with their help we investigated the possible source of the problem. These investigations confirmed it was a new device, and the source of the problem was not likely to be the user’s machine. At this point we initiated an audit of our manufacturer.

With support from the manufacturer's staff and production records, we identified a potential vulnerability window in one of the production line test machines between the 4th and 12th of December, caused by their method of applying a production test software upgrade. During this time, units tested with this test machine had the potential to become infected. This means some units within the particular batch in production at that time are at risk from containing a low risk virus.

What is the threat?

The virus impacting some of the vulnerable batch is "Win32.SillyFDC" (but goes by a number of different names), which is an autorun.inf script plus files in a RECYCLER folder placed in the root of removable media, impacting Windows PCs. It has been around since 2004, and is generally considered a low risk, low impact virus. It does not impact Mac or Linux. All reputable antivirus software will find, isolate and remove the virus, with no long term effects. More detailed information about nature of this virus can be found at:

Is my board from the batch at risk?

We have identified the batch that was in production when the vulnerability occurred, and their corresponding packing serial numbers. Whilst only a small percentage of these could have been impacted, we will be auditing the entire batch.

The packing serial numbers this batch fell within are:

  • MBED-1226 to MBED-2356

We will aim to narrow it further as we confirm audit information further. If your microcontroller falls in to this range, please read on to see if you need to take action. If not, you should not be impacted. If anyone finds anything to the contrary, please contact us immediately at support@mbed.org.

To check your packing serial number, find the orange sticker on the base of the box for the mbed Microcontroller, as shown below:

In this example, the details would be:

  • Product Number: MBED-005.1
  • Serial Number: MBED-2334

What should I do if my board is from the batch at risk?

If your board is from the batch at risk, then please carefully follow these instructions.

If you have not yet used your mbed, you have a number of options to check for and avoid the problem:

  • If you have access to a Mac and Linux machine, you can plug in your mbed and check for an autorun.inf file. If one exists, delete *everything* from the disk (any files and directories like autorun.inf, RECYCLER, ...). Mac and Linux PCs ignore autorun.inf, so are not impacted. Your MBED.HTM will get automatically restored after you power cycle the board.
  • If you only have access to a Windows PC, ensure your systems antivirus software is up to date. If it does exist, your antivirus software should detect and quarantine the virus.
  • If you would prefer, we can arrange to audit your board for you and fix the problem if one is found; please contact us directly at support@mbed.org

If you have already plugged your mbed microcontroller in and there was an autorun.inf file, your antivirus software should have already detected, quarantined and removed any virus. We recommend you run a full system scan with your mbed plugged in to verify your machine and the microcontroller are clear of the virus.

If you do not have antivirus software and you do find an autorun.inf file on the mbed, it would be highly recommended to install some to check and, if necessary, clean your machine. Below is a list of a few different packages that would be suitable, many including free trials:

Note: if there is no autorun.inf file on the disk, then the problem doesn't exist.

If you do find your board to be infected, we would be very greatful if you could email us the MBED-xxxx Serial Number to support@mbed.org to help validate our records. If you have any questions, please do not hesitate to contact us.

What else are we doing?

We are working with distributors to audit all stock we can find from this batch, to limit as much as possible the numbers that get out to users in the first place. Whilst the problem only impacted a production test machine for a short time and is no longer a problem, we have also taken steps to ensure this can't happen again. We are moving from windows to linux-based test machines, and have ensured our manufacturers have the appropriate processes in place to upgrade test software.

This is a problem that shouldn't have occurred in the first place, so please accept our apologies that it has. We believe we are doing everything appropriate to address it, and will continue to do so to ensure it won’t happen again.

Finally, a big thank you to all the companies and people who have worked so quickly with us to identify the problem and put in place all the logistics to resolve it.

Site update: 1.3

Hi mbed-ers,

Last week I released a set of updates to the mbed website. Many of these are a direct response to suggestions/requests made in the forums. There is now a dedicated forum for requests/suggestions/bug reports - Bugs & Suggestions - please keep them coming!

There is also a public bug/wish list.

Here's a quick summary of what changed:

  • Multiple forum support
  • Forum now tracks which posts you have read
  • You now have the option of auto-subscribing to topics/pages you comment on - found in your Account Settings area
  • Added RSS feeds for just about everything
  • Activity area now split by type
  • Improved format of alert emails
  • Reformatted date display on the site so the dates are useful regardless of local timezone
  • Several other bugfixes and behind the scenes improvements/changes.

Please note that this update only covers the website and not the online compiler IDE, which will be the subject of a forthcoming update.



mbed Christmas Stockings!

Since launch, the mbed manufacturing elves have been putting in their overtime and it looks to be paying off; Digikey, Future and Farnell have caught up on their backlog and are all now showing mbed in stock!

So if you are a discerning geek, or know someone who is, perhaps this year an mbed is the perfect late christmas gift. Get one on order today and start inventing your own gadgets. Maybe even next years hit xmas gadget?!

And while we're talking christmas, here are a couple of festive mbed projects to inspire you:

If you are working on a festive project, make sure you write it up and we'll share it with everyone.

Merry Christmas!

Come and work with us!

mbed may only be 2 months old, but things are going really well so we're planning for the future; that means we're looking for people to join the team!

We've setup a jobs page which lists more details on the roles we're looking for, but here is the summary:

  • A ninja microcontroller coder to work with us on libraries, middleware, toolchains, etc; this is a Full Time role, starting as a Contractor with a view to employment
  • Undergraduates or recent graduates to work on peripheral hardware, libraries and projects using mbed to pro-actively support our users; this would be as 3-12 month full-time internships

An important note: We're based in Cambridge, UK, so please only apply if you are from the area, or willing to commute or move here!

For the full details, and the links to apply, take a look at the mbed jobs page.

Please pass this on if you know someone you'd recommend who could be interested.


mbed Baseboards!

It has been really great to see the response that the mbed Microcontroller form-factor has been getting. We spent a lot of time researching, testing and trialing prototypes to end up with what we have now, and it is good to know the effort was worthwhile. On our wall are all the different mbed prototypes, and it is funny to look at e.g. the one that is 2-eurocards big, and see how our thinking changed over time as we tried things out in the field. I'll perhaps write them up at some point...

But we do still sometimes get asked why mbed doesn't have a screen? Or a certain connector? Or a flavour-of-the-month peripheral chip? There are obviously lots of factors why we haven't gone that route, and here is a good example of one of those reasons.


Check out this mbed-compatible baseboards that Embedded Artists have just announced:

Looking at the specs, it's got OLED screen, SPI SD card socket and Flash, I2C port expander, accelerometer and light sensor, joystick, push button and rotary switches, XBee, Ethernet and CAN sockets. Sounds like a great mix of peripherals.

We've used Embedded Artists stuff before and always been very pleased with the quality, so whilst we haven't got hold of one yet so can't fully comment, if you want to try it out yourself it looks like you can pre-order the Embedded Artists baseboard and get it some time in January.

Great job EA!


Site update 1.2 pt 2: Homepages, Profiles and Activity

This is part two of the series of posts about site update 1.2.

To continue our aim of improving the community features of mbed, we have added several new features and improved some existing ones.


User homepages

Previously every user had a very basic home area. Hopefully now your home page does a better job of bringing together everything a user is up to. The mechanisms for updating settings and your profile have been updated, too.


User profiles

You can now upload a profile picture and write a description about yourself where you can link to your blog, etc.. To edit your profile, just go to the My Home link in the main menu, and then click Edit profile at the top right.


User activity feed

There is now a feed of (almost) all activity on mbed. Each user gets their own feed, and there is also one for everyone put together. An RSS feed of each person's feed and the aggregated feed for everyone is in the works and should be a part of the upcoming 1.2.1 release.

Site update 1.2 part 1: Notebooks

Some of you may have noticed that a site update was pushed out to the mbed servers last night, which we're calling mbed 1.2.

Over the next couple of blog posts, I'm going to take a closer look at some the new features and perhaps some of our ideas for the future.

In this post, I'll tell you a bit about notebooks.


We've given you all a notebook. A notebook is simply a place to make notes. Each page of notes can be anything from a quick reminder of a pinout to a detailed how-to on a subject complete with illustrations.

Why notebooks?

We created notebooks to allow mbed developers to share information. You can search inside other people's notebooks and link to notebooks. You can tag and describe your notebook pages to aid in searching.

How do I use my notebook?

A Notebook is made up of pages. Adding a notebook page is easy.


Go to your new My Home (more on that later) and then the Notebook. Clicking Add new notebook page will open a pane where you can make a start on your page.


How do I tell people about my notebook pages?

We have added a couple of new buttons to the standard editor window used in posts. On the far right hand side of the editor toolbar, you'll see buttons for inserting a link to your Published Programs and Notebook Pages. I'll explain some suggested work-flows for making the most of these buttons in a later post.


Can I get feedback on notebook pages?

Each notebook page has space for comments and discussion below it. If someone leaves a comment on one of your pages, you'll get an email letting you know.


Can notebook pages be private?

All notebook pages are public. However, you do have the option of setting a notebook page to be Unlisted. Unlisted pages don't show up in your user activity feed (more on that later!) and don't show up in search results. They also won't appear in the list of your notebook pages when someone visits your Home area.

Please note that even if your page is marked as unlisted, anyone can still view it if they know the URL.

What about the cookbook?

What about the cookbook, you may ask. The cookbook has served us well up till now, but a single "flat" wiki would become increasingly difficult to manage as our small mbed community grew. Plus, there are technical issues involved which make the cookbook non-optimal.

The cookbook isn't going away just yet! Notebooks are missing a key feature - that being the ability to create group pages to allow collaboration on building an information reference.

So, use notebooks if you can, and we'll be working on ways to integrate more of the cookbook features. When the cookbook replacement is ready, cookbook pages will be copied into any new group documentation feature. So you can continue using the Cookbook with confidence, and we'll be engaging the mbed community in designing the eventual replacement.


That's it for this quick introduction to Notebooks.

As ever, the Notebooks feature will evolve and improve over time in response to user feedback. We already have some early feedback which may be the subject of a small further update to come soon.

My next blog post will talk about User Activity and your Home area.


Chris is on TV!

If anyone was watching sky channel 880 last night at around 10.15, you'd have seen Chris in his garage with a big wooden box and an mbed.

But why? Well, a team from "Teachers TV" asked to come to film him doing some of his activities as a "STEM Ambassador"; someone who goes out and helps with Science, Technology, Engineering, Maths in schools. The result is a 15 min video which shows some experiments going on during a visit to a local school.

It should be no surprise that it was based around using mbed, but it was a great reminder of what triggered mbed in the first place. It was many moons ago that we were trying to do the same thing in the schools with "traditional" kit, and getting very frustrated (as were the kids); it got in the way of their ideas. It was the classic scratch your own itch scenario, with us thinking "it could be so much better!".

Interestingly, the best decision I think we ever made in tackling this problem was not to go and build something specifically for taught education. We decided to try and make something that solved the problems we were seeing, but where it was a generic problem that was applicable to anyone trying to prototype something. The position we took was particularly inspired by the books "Deschooling Society" (Ivan Illich, 1971) which was a great reminder that people should always be learning (i.e. not just in taught environments), and "The Paradox of Choice" (Barry Schwartz, 2004), explaining how a lot of complexity can be attributed to choice paralysis/overload. My own interpretation of this is that it is common to pass on decisions to users in the form of "options", where infact you are actually passing on complexity and hard decisions. Finally, we wanted to ensure we could make it commercially viable so it could support continuous investment in itself.

As and example of how these school visits impacted our thinking, I can remember one day going in to a school and seeing their electronics lesson (I wish I had a photo!); they were soldering leaded components to copper tape stuck on to cardboard. I couldn't even do that; you need three hands! Worse still, as you apply the heat, the glue on the copper tape melts and peels of the card! I'm sure there were good reasons, but at some level you have to ask yourself why industry doesn't do it like that?!

It was things like this that focused us on wanting to make industry-style tools more accessible; using C/C++ rather than dreaming up some graphical flowchart programming to "make it easy", or using 0.1" pitch rather than a simple (but ultimately restrictive) "modular system".

The great thing about this video was it reminded us we'd been able to come full circle, and apply mbed back to what originally inspired us. What started as a little skunk-works project is now a real product, and we're hoping to continually improve on it to help more people experiment with microcontrollers. Whilst taught education is certainly not our primary focus, we hope mbed will find a home with some people who want to apply it to let students explore these sorts of things.

And don't worry if you missed it! It is now published on Teachers TV, so go check it out! You even get to see the mbed HQ white board in the background at one point :)

Tutorial: Getting mbed in and out of breadboard!

Someone recently commented that once an mbed was in breadboard, it was a little tricky to get out. I've also seen a few cases in workshops where examples wern't working for people, and it was simply due to the mbed not being pushed in to the breadboard properly (usually because it is stiff, and the user didn't want to damage anything - better to be careful!).

So here are a couple of videos with some simple recommendations. Firstly, getting your mbed in to the breadboard:

Secondly, getting it back out:

For removal, the emphasis is on working it out slowly with light pressure to avoid bending pins, and ensuring you only press the shaft of the screwdriver against the edge of the mbed and the tip against the breadboard by pulling up. If you push down, you'll scrape the underside of the mbed with the screwdriver tip which will not be good news!

So use these simple approaches, take your time, and treat the hardware with care, and you'll be fine!

You need to log in to post a reply