I have been working a lot with the Arduino platform over the last year. Arduino makes it very easy for beginners (in my opinion) to get started and has a large community and a lot of libraries for all kinds of peripherals.

Now, I am considering to have a look at mbed, too. What are the main differences I would face, both practical and conceptually?

3 Answers 3


As both an Mbed user and an Arduino user, this is my perspective on the differences between the platforms.

  1. The IDEs are completely different. The Mbed IDE is an in-browser compiler that allows you to easily import other people's source code. It is a full c/c++ IDE that saves your code to your online Mbed account. You must be signed in to do any development work (requires internet access). Code completion exists, but is clunky. Project format more closely mirrors c/c++ programming than does Arduino's environment.
  2. Programming the board is different. The Mbed uses a custom boot loader. The Mbed shows up as a flash drive when you plug it into your computer via USB. You compile your code using the online IDE, download the .hex file, and copy it to the Mbed. It's actually pretty neat, but more time consuming than clicking the 'Upload' button in the Arduino IDE.
  3. The Hardware is different. This means different pinouts, as well as different capabilities. Take a look at the Mbed platforms and compare them to the Arduinos. Mbeds are generally more powerful than Arduinos (cpu speed, mem size, build in capabilities).

I use my Mbed when my Arduino isn't powerful enough or fast enough. It would replace Arduinos for me if it wasn't for the online IDE. The IDE is a little awkward to use, and it takes too long to program the board (downloading/copying and pasting is much more inconvenient).

I'm able to use all my same sensors and peripherals that I purchased for the Arduino with my Mbed (Except for shields due to the physical layout differences). I sometimes have to rewrite code to get it to work on the Mbed, but that's a good learning exercise.

  • Nice answer. What about pricing? mbed seems to be a lot more expensive (maybe because there's no cheap Chinese clones). Is it possible to use a standard build chain instead of the online compiler? Mar 9, 2015 at 16:22
  • @fuenfundachtzig I'd compare the mbed to the Arduino Due or Mega. In which case, it is more expensive by ~$10. Not too bad. I got my mbed for free by emailing the company and asking to be be 'sponsored' (I was using an mbed for my senior project). Thats a good question about the standard tool chain. A quick google looks like it is possible ( developer.mbed.org/cookbook/Using-mbed-with-gcc-and-eclipse ). I'll have to give it a try
    – krol
    Mar 9, 2015 at 16:45
  • This seems to focus inplicitly on the original mbed board, but by the time you wrote this the focus had really shifted to supported a wide variety of ARM Cortex platforms from a number of vendors, many of them quite inexpensive and no small number accepting Arduino-sized shields. May 31, 2016 at 18:23
  • @ChrisStratton so add another answer?
    – krol
    Jun 2, 2016 at 15:17
  • Just FYI, mbed has had offline support for many years. You can export your code to a variety of offline toolchains. Recently, mbed CLI was also released to compile programs offline without an IDE using GCC, ARMCC and IAR. Oct 11, 2016 at 20:24

Mbed is so cool.The code is written everywhere that can get internet access. You doesn't like online IDE, you can get offline IDE such as Keil, GCC. You can get other kind of interface such as Matlab and LabView. Component and library is express together at main website. We can import lib: directly to workplace. If you have an idea, it is good to implement your idea quickly and best for prototyping. I also like Arduino but I like mbed than Arduino.

  • There are a lot of good points here, but you could do a better job of stating them. May 31, 2016 at 18:24
  • 1
    Please rephrase your text: Sentences like "The code is written everywhere that can get internet access" and "Component and library is express together at main website" are totally incomprehensible.
    – Ariser
    Jun 13, 2016 at 12:15

You can run mbed offline. I do my development in VSCode using the mbed-cli to compile and pyopenOCD for debugging. The instructions on the website didn't seem to work out of the box on Windows. Wasn't too difficult to set-up, though.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.