mbed Blog RSS Feed

ARM is reaching out to developers like you!

ARM is currently working on a project to better understand how to engage and collaborate with ARM developers through digital sites and communities.

We're really proud that the mbed community has become a great example of how this can work well, but I'm also sure we could do better too. As such, I thought it'd be really useful for mbed and ARM in general to hear what we could do to better support you. This is another opportunity to make working with mbed and ARM better!

We hope that you will be willing to complete this ARM survey, which should take around 15 minutes of your time. Please note that the survey will end on Tuesday 26th August:

Thank you in advance for your feedback!

Scheduled Maintenance Saturday 23rd August

As a response to recent downtime caused by problems on mbed.org’s upstream network connection network hardware is being replaced. This will result in mbed.org being offline on Saturday 23rd August from 6am PST (2pm UK, 10pm Tokyo) until 10am PST (6pm UK, 2am Tokyo).

We apologise for the inconvenience this will cause to some of you and hope you will understand this is necessary work.

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.