mbed Blog

Team mbed at AT&T's Code for Car & Home Hackathon!

There was a great turnout and pure excitement about mbed at the AT&T Developer Summit 2014 Hackathon in January, so we decided to attend again. This time is the AT&T Hackathon @ Super Mobility Week – Code for Car & Home in Las Vegas, September 6-7, 2014. We have teamed up with Freescale Semiconductor, Multi-Tech Systems, Nordic Semiconductor, ST Microelectronics and u-blox to form ‘Team mbed.’ Team mbed brings a variety of hardware platforms for developers to choose from based on I/O and connectivity needs (Bluetooth®, cellular, Ethernet, and Wi-Fi®). Not to mention the 35+ sensors and actuators that we'll be bringing.

Hackathon finalists are invited to pitch their project at the VIP ceremony:AT&T connected home & party where the winners will be announced. First place winners receive $10,000, second place with $6,000, and third place with $4,000! There are tons of other prizes for technology specific categories too!

Team mbed is also hosting a Bootstrap webinar on Aug 26, 2014 at 9am PDT to help give you a leading edge prior the event. In the webinar you will get a live walk through of the mbed platform, development boards, sensors and actuator shields that will be at the event. Don’t miss it!

Last but certainly not least, I came across this blog by Quinton Wall that has some great pointers for ‘How to deliver a winning pitch at hackathons’ it is a must read for all those attending! Here are the highlights:

  1. Assign a speaker, and a demo driver
    Since pitches are typically short, assign only one speaker and a demo driver.
  2. Restate your vision and business opportunity
    Structure your pitch. State your vision, why your approach is unique and what business opportunity is.
  3. Do not call out challenges or problems
    Let the judges ask about the challenges, there is no need to point them out.
  4. Keep slides to a minimum
    Use slides to enhance your pitch, whether it’s to tell a story, add humor or describe your design…keep it short and memorable.
  5. Maximum demo stage time
    The speaker and demo persons should practice together. Ensure that the narrative and demo align and it is clear to the audience what makes your design unique.
  6. Q&A is part of your pitch
    Prepare some responses to potential questions prior to your pitch. Here is Quinton’s list of common questions at Hackathons:
    1. What were the challenges you faced?
    2. If you had more time, what would you focus on?
    3. What’s the business value / opportunity of this app?
    4. What is your plan for the app/idea post hackathon?
    5. What was the inspiration of the idea?
    6. Who are your target users?
    7. App abc is very similar. What makes yours unique?

Look forward to seeing everyone in Las Vegas! If you haven’t registered yet, you can do so here.

pyOCD Binary Version

We have been working on creating an easier way for the mbed community to use the pyOCD library for programming and debugging the ARM® Cortex®-M microcontrollers using CMSIS-DAP. Here is an update on our work.

Driving force for this project:

The pyOCD library provided by mbed is quite powerful. However, installing it manually on an OS can be very time consuming and error prone. Multiple Python libraries need to be configured and the mixture of 32-bit and 64-bit Python libraries can be troublesome for those who are not very familiar with Python.

So the above circumstances have been the driving force for our embedded toolchain group to start such a binary release project. Our aim is to provide a stable and standalone gdb server based on pyOCD, which can be used directly along with our toolchain without any installation and configure.

Current development status:

We are now posting a weekly release on Launchpad. We have also established a daily test routine based on Jenkins to test the binary releases against NXP’s LPC1768 and Freescale’s FRDM-KL46Z platforms on Windows 7 32-bit/64-bit and Ubuntu 10.04 LTS.

Up till now, we have only supported Windows 7 and Linux because Mac OS has not been formally supported by pyOCD trunk. For the Linux release, we have only tested the pyOCD binary on debian based Linux distributions. We are looking for help to test on other Linux distributions and would greatly appreciate your feedback and help us out by reporting bugs to us. In addition, the build document to generate such a binary release has also been merged into pyOCD trunk on github, developers are welcomed to have a try by themselves and improve this document.

How to use it:

If you have never used pyOCD to debug your project before, this part will teach you how to use this binary version to accelerate your development.

Step 1: Preparing your project

Step 2: Downloading your debug tool

Step 3: Enjoying your debugging now!

  • Run pyocd_win.exe/pyocd_linux [options]

We have already provided some flexible options like the server port number and board id to control the pyOCD, and feel free to add more useful options on the pyOCD trunk at /test/gdb_server.py!

Build your project with the arm gnu embedded toolchain, and launch the pyOCD and gdb at the cmd line:

make clean all
arm-none-eabi-gdb *.elf
<gdb> target remote localhost:3333
<gdb> load
<gdb> continue

Advantages of the new pyOCD binary version:

  1. Ready to use: The binary release will save developers quite a bit of time when configuring the development environment. For a developer working with the mbed platform, using ARM gnu embedded toolchain along with the pyOCD binary release that are both hosted on Launchpad can help a developer to start their work at any time and with any PC with USB interface. This is currently the most powerful combination of open source tools.
  2. More powerful and flexible: Before this project, pyOCD only had a simple test case named ‘gdb_test.py’ to show the user how to use pyOCD as a gdb server, but actually the library provides more powerful function than the original test case presented. So a more powerful test case named ‘gdb_server.py’ was introduced to the pyOCD trunk; the binary release is also based on this test case. Although it is still under development, it has already begun to provide users with additional accessible options to control the behavior of the pyOCD.
  3. Brings more contributors to the pyOCD and mbed community: A bonus of this type of binary release is that it can help to increase the number of pyOCD users. With the now easier to use pyOCD binary release, more developers should have a try on this cool gdb server, which will also bring about more user demands, such as wanting a faster pyOCD or providing more functions. This kind of user number increase will definitely bring about more developer contributions on pyOCD and hopefully the whole mbed community.

Look into the future:

From my perspective pyOCD is still very young, but as it is newly designed based on python, it will have some unique advantages over other older debugging tools. Such a binary release project would be a good chance to see how pyOCD can step forward as a standalone debugging tool. As mbed is building its own ecosystem, it has already established its own cloud IDE, embedded OS, software framework, and also the debugging environment: CMSIS DAP + pyOCD. Therefore, a binary release project of pyOCD would also be a good starting point and chance for mbed to generalize the debugging interface of the entire ARM embedded target.

Share your FRDM-K64F code to win a Garmin Watch!


April of this year the FRDM-K64F development platform was released with mbed support and we were pretty excited to welcome the platform into the community. It has tons of connectivity options including Ethernet and expansion headers for a 2.4GHz RF module and Bluetooth. There has been some great work being done with this platform, so Freescale wanted to give you all a chance to win a Garmin Forerunner 10 watch for your work!

The contest guidelines are pretty simple. Just join the mbed team “FRDM-K64F Code Share” and contribute your cool code to the team for automatic entry into the drawing. Two lucky participants will receive a Garmin Forerunner 10 watch that tells you how far and how fast you have run. Entries will be accepted for the contest from July 24, 2014 through to August 8, 2014. The rest of the community will benefit from seeing what you’ve been working on! Your submission may even end up as a getting started example for this platform and possibly future Freescale Freedom platforms as well.

More information on the FRDM-K64F, check out their platform page here.

Best of luck!


P.S. Freescale is also offering another chance to win a prize by completing their FRDM-K64F survey. Just share your feedback regarding your experiences with the FRDM-K64F platform and get automatically entered for a chance to win a Withings Pulse Monitor. Click here to complete the survey.

MicroNFCBoard makes NFC development easy!


Have you seen the recent Kickstarter, MicroNFCBoard? Well the creator is one of mbed’s very own, Donatien Garnier. Donatien is a former mbed intern (from about 4 years back) and active mbed community member. I got a chance to met him at our team bbq in Cambridge just a few weeks ago and got a close up look at his new Kickstarter project!

MicroNFCBoard is an mbed-enabled board with Near Field Communication (NFC) functionality and it makes it really easy to use all three NFC modes (tag reading/write, tag emulation and Android Beam/P2P). It contains a NFC transceiver, a microcontroller and all the software you need to use NFC. The board features a NXP LPC11U34 microcontroller based on an ARM Cortex-M0 and a bunch of peripherals.


Donatien said, most people only think of NFC technology for payment applications, but in reality it has the potential for many more functionalities and applications. He saw an opportunity to create an NFC-enabled developer board that integrates a simple user interface, so that it is easier for developers to use this ultra low-power technology. To improve the use interface, he created the AppNearMe mode, so that you can view your device’s inputs and control its outputs through the NFC-enabled Android app.

The MicroNFCBoard will be supported on mbed after its official release, so lets make sure Donatien hits his funding goal. Show them your support by signing up to get your own MicroNFCBoard. They are about £40 currently, but I am sure that price range won’t last long.

Getting Started with Bluetooth Low Energy

If you have been working with the Nordic nRF51822 platform or mbed's Bluetooth Low Energy (LE) API, then you probably have come across some of Kevin Townsend's work on the mbed community. Recently I got a chance to catch up with him to find out more about the book he recently co-authored and published, ‘Getting Started with Bluetooth Low Energy,’ with Carles Cufi, Robert Davidson and Akiba. This book does a good job of explaining the basic concepts of Bluetooth Low Energy (LE), its history and it simplifies the concepts and vocabulary used around Bluetooth LE for all developers wanting to get started with this new ultra low power wireless technology.


Kevin said, one of the reasons he decided to contribute to this book, is that he finds the Internet of Things (IoT) and the Bluetooth LE technology trend to be particularly interesting; in that it has never been easier for small companies and hobbyist engineers to successfully make innovative products without large financial backing and lots of development resources. This is in part due to Bluetooth SIG's decision to add Bluetooth LE to the standard (BT 4.0 onwards), allowing many of the barriers to developing with this technology to be removed for hardware and software developers. This is also, one of the reasons why he chose to identify the mbed platform as a useful tool to create customized firmware for Bluetooth LE peripherals within Chapter 10 of the book. As much of the mbed community knows well, “many of the messy firmware implementation issues and setup problems are conveniently buried in the easy-to-use online tools and high-level APIs,” not requiring familiarity with configuring an embedded toolchain or prior knowledge of working with embedded hardware.

Additionally the book describes a sample project with the mbed-enabled Nordic nRF51822 platform to show you how to apply the concepts learned within the book in the real world.

This book is now on sale and can be ordered on Amazon, here.