Mbed Studio 1.0 released


I’m pleased to announce that the 1.0 release of Mbed Studio is now available for macOS, Windows and Linux. You can download Mbed Studio from here: https://os.mbed.com/studio

https://os.mbed.com/media/uploads/JoeA/mbed-studio-debug-1.png

With the number of developers with an Mbed account growing by 20% since the initial release last year, some of you might be new to Mbed Studio. Here is a summary of the features and some background:

  • New: Custom target management
  • New: Keil uVision exporter
  • New: Better source control workflows for git and mbed.com
  • New: Completely overhauled documentation
  • New: Mbed OS 6 support with examples
  • New: Checkout progress for libraries added to the libraries panel
  • Full set of tools dependencies (git, hg, Arm Compiler 6, gdb, pyOCD, Mbed CLI, GreenTea, clangd etc) included with the product along with terminal access from inside Mbed Studio
  • Powerful Monaco editor including C++ intellisense for your development board and a source code minimap
  • Integration with Pelion Device Management Services
  • Preferences support for the editor and IDE
  • Workspace management and search capabilities
  • Support for Linux (Ubuntu 18)
  • Serial output (automatically launched when you connect a board)
  • Step debugging
  • Custom build profile support

Background

We started on our journey toward this version of Mbed Studio around two years ago with a goal to make it easier for you to develop embedded and IoT products with Mbed OS, both in desktop and browser environments. We have been releasing updates and improvements steadily since 2019, with your bug reports and suggestions guiding us and helping us to prioritize where we focus.

By providing the full set of software tool dependencies required to work with Mbed OS in a single installer, Mbed Studio dramatically improves the first time set up of an Mbed environment. Our choice to work with the Eclipse Theia IDE framework has meant we have a codebase that includes the powerful Microsoft Monaco editor and a platform which can be deployed to the browser in future. Some of you are already helping to test out a closed preview of our browser release, so thanks for your input so far!

Ultimately, Mbed Studio will replace the Online Compiler, and we believe the experience is a big step up.

New features in 1.0

Custom target management

We now support the configuration of custom hardware, connected via debug probes. Initially we have focused this support around ST-Link and DAPLink based probes. The eventual goal is to make it much easier to move from a development board to a custom PCB.

https://os.mbed.com/media/uploads/JoeA/mbed-studio-custom-target-management.png

Keil uVision exporter

You can export (or rather convert) your program for use with Keil uVision, so if you hit a difficult debug challenge or want to make use of trace, event recorder or any of the other powerful debug features of uVision you can open your project in uVision. We’ve also added a zip exporter.

Publish to git and os.mbed.com

We’ve introduced a new flow for setting a remote repository, so if you’ve created a repo on GitHub or os.mbed.com you can now interact with it more easily from Mbed Studio.

Mbed OS 6 support

Mbed OS 6 is already supported in Mbed Studio, and you can upgrade Mbed OS 5 to the latest release from the library management panel. To increase project creation speed, we have introduced a new cached version of Mbed OS 6 in addition to the existing Mbed OS 5 cache.

As Mbed OS 6 introduces some changes to board support, we've updated Mbed Studio so that it no longer restricts the choice of target based on the OS version. This allows you to experiment with the bare metal profile, or derive community boards. We now display a notification to inform you whether the board is supported in a given version of the OS.

Documentation

Our technical writers have worked hard over the last few months to bring the Mbed Studio documentation on mbed.com up to date. They have updated sections for most of the IDE including the new features already mentioned in this post. You can access the docs at https://os.mbed.com/docs/mbed-studio/

Bug fixes

In 1.0, we have fixed a large number of issues. Here are the more commonly reported ones that we’ve resolved:

  • Re-starting serial monitor after it was closed.
  • 9 and 3 keys with num-lock acting as page up and page down after a keyboard layout change.
  • File navigator scroll bar.
  • Occasional freeze when connecting development boards on Windows.

Where next?

A feature we’re currently designing is shared libraries (e.g. symlinks), allowing libraries to be shared across the programs in your workspace. This is intended to significantly reduce the amount of disk space used by your programs!

We plan to support workflows for connecting to major cloud services providers, making it as easy as possible to set up credentials for IoT devices. As Mbed OS starts to support a wide range of web services, we will aim to include examples and workflows in Mbed Studio to make interactions with these services seamless.

Since the first public release last year, we have seen usage of Mbed Studio increase dramatically. We have been following the progress of the first products being brought to market successfully with Mbed Studio, but also have been excited to see adoption in university courses. We're always interested to see what is being worked on across the embedded, IoT and ML landscape, so get in touch if you'd like to share a product or project.

We’ll leave you with one of the most mesmerizing projects we’ve seen so far, which takes the Cubli robot and evolves it with some hardcore mathematics, all programmed in Mbed Studio: Fabio Bobrow’s PhD: “Modelling and nonlinear control utilizing complex numbers (2D) and quaternions (3D)”

You need to log in to post a discussion