Mistake on this page?
Report an issue in GitHub or email us

Setting up

Hardware setup

Porting Mbed OS requires the following hardware:

  • A development PC. You can port targets, connectivity and storage on Windows, macOS or Linux. However, due to limitations in some development tools that Mbed OS uses, you need a Windows PC for DAPLink/FlashAlgo development.
  • An evaluation board with a target MCU, debug probe or an integrated interface chip.
  • A storage device (SD or external flash).
  • A micro SD card for the CI test shield.
  • A USB cable to connect the evaluation board to your development PC.

Note: If you intend to release a new target to the Mbed community, it needs a unique four-digit hexadecimal identifier called a Platform ID. To get one, please contact your technical account manager or email our support team.

If there is no interface MCU on the board you may also need:

  • A debug probe, such as SWDAP-LPC11U35. You will then need a USB cable (in addition to the USB cable listed above).
  • An FTDI TTL232R-3V3 USB cable, for the Tx and Rx pins of debug probes that do not have a serial connection.

The following items might help you test SPI, I2C and pins:

Check the user guide of the evaluation board to see if anything needs to be done prior to using a debug probe and running Mbed OS programs.

Software setup

Please install the following:

  • Python.

  • Git.

  • Mbed CLI.

  • Choose an IDE and debugger. The two commonly used IDEs are Eclipse and Keil MDK.


    • Eclipse is license free, whereas Keil IDE require licenses.
    • Your target may not be supported in certain IDEs.
    • If your interface firmware does not support mass storage device, you won't be able to do automated testing. If your target has another method of flashing, such as self-programming or through a debugger, use the manual testing path.
  • (Optional) FTDI serial driver.

The tools documentation contains the exact third party tool versions supported in a specific Mbed OS release.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.