Why use desktop studio?

Given that the desktop studio is ~ 850 Mbytes and that in order to use it one must be connected to the internet and logged into ones ARM a/c what is the point of it??

Seems to me to be a total waste of ~850 Mb of disk space.

If I am using a local destop version I do nt expect to need to be connected to the internet!

Mbed Studio provides a number of features

  1. armcc compiler free license for Mbed Enabled platforms, this means you get the best compiler that produces the smallest binaries for Arm Cortex M chips available.
  2. Direct integrations with the Pelion Platform and full suite of cloud services. Makes everything easier to use
  3. Priority feature integration for the future features of the ecosystem

Given the nature of IoT development a connection to the internet is assumed.

Please note that we still support Mbed CLI for command line use, as well as the Online Compiler (also uses armcc), so feel free to use whichever toolchain / setup you prefer!

PS: I like Mbed Studio for running workshops and having a great out of box experience that makes it easier to onboard new users / users that prefer GUI interfaces, though personally in my time I use Mbed CLI as my preferred interface.



Thanks for the reply.

Use of offline desktop version would be helpful for schools and demonstrations when internet access is not guaranteed to be available.

In the UK GDPR prevents schools asking pupils to sign up to external accounts. Group accounts proxy Radius authenticated via the school system may be possible.



1 Like


Do I read your reply correctly that the ARMCC compiler together with the CLI will work offline?




Hi Peter,

Mbed Studio requires internet connection only for the first login. After that it works offline and most functionalities will work without internet connection. For example:

  • compilation (using ARM Compiler 6)
  • deploy a program on the board
  • debug
  • C/C++ intellisense
  • serial monitor

As Austin mentioned keep in mind that you will require internet connection for some functionalities, like:

  • Importing a program
  • Pelion Device Management access
  • Source Control Management

Arek - Mbed Studio team

1 Like

It’s not about the space used on your PC, that’s just a flee bite nowadays, and if it works offline, its all about the experience and where you want to go.

Depending on where you are coming from, beginner, intermediate or pro(Commercial) Mbed offers different options.

Beginner, the on-line compiler is sooooo easy to use and is pretty quick to compile, I use it all the time if I need a ‘rapid’ solution and sooner get a beer rather than spend hours tweaking an off line compiler.

Intermediate, that’s where the problem starts, you want to do more but the on-line compiler can not give you control on what you need to do, for instance, clock set up options, much like we could do with Mbed-dev. Mbed Studio gives you more flexibility to do some of these, but not enough and no small 32K or less flash support.

Pro, well lets be honest if you really and I mean REALLY do know what you are doing then the only option is to bite the bullet and and get a Keil licence. There are simply too many target’s supported on Mbed OS5 to be a reliable option for professional use, but still great to start out with.

(CLI, who uses that?? and why? command line program or its correct name DOS died in the early eighties. Nothing to do with particular post subject, but I do wonder why.)

Mbed Studio does give you a good off-line solution where you can tweak things but you must understand there is a commercial limit to consider. ARM will want to sell you a Keil licence and rightly so, would you work for nothing?
However I believe ARM should have a more balanced and affordable pricing structure to suit a wider range of customers.

Hi Paul,

Thanks for the response.

Disk space is important when one has to set up 30 PCs in each of 4 teaching rooms and potentially a few hundred students.

School networks are notorious for going slow / down in the middle of a lesson so the ability to continue with most of the activity offline is important.

Also when doing demonstrations at other locations internet access is often not available so an offline version is useful.

I understand from another reply that mbed-studio can be run for the most part with limitations ‘offline’ after first time online startup. Online a/cs raise GDPR and pupil protection issues when they
are not via the school authentication services eg as used by MS Corporate school Onedrive.

I am mainly looking for my pupils to program BBC Microbits in C/C++ to extend the microbit capabilities.




Hi Peter,

That’s a little different, 30 x 4 PC’s is quite a task to install and maintain an off line solution for kids, I would be a little cautious here you may end up with a super sized headache.

Online compilations are generally less than 100k up and the return .bin file much the same, plus handshake and only occasionally, you would need a lot of PC’s to slow that internet down.

Check with your IT department, it should be possible to manage traffic across different departments within the school. Better still get a separate fiber in just to your IT department and go for business fiber its faster and more reliable.

If each student has been issued with their own MicroBit which was the original intention then they ‘should’ each have their own Mbed log in so in theory all the school has to do is provide a PC with internet. More importantly they can log in with ease and work at home something that will be difficult to do with an offline solution exporting and importing code.

Don’t forget the ARM compilers are big and do all the work very fast, you will need power PC’s to keep up particularly on initial and full builds. Probably a far greater cost than an extra fiber?




What I am about to describe will be a massive pain to set up but would be a solution to your problem long term.

On the dev machines:
VS-Code + VS-Code Remote docker extension

The build server:
boot2docker or other docker “server” OS

Installed In a docker image:
arm-gnu-emdedded toolchain
whatever other dependencies are needed to do an mbed-os build

A vs-code remote development config file can be created such that vs-code will automatically connect to the docker server, start a container, and then attach vs-code to the container. The remote docker extension will allow the dev machines to build, compile, debug, etc. just like if the toolchain and sources were located on the dev machine.

Im very much simplifying this description but It is something my team and I have done successfully.
I am hoping @arekzaluski and team find some inspiration in this.

(CLI, who uses that?? and why? command line program or its correct name DOS died in the early eighties. Nothing to do with particular post subject, but I do wonder why.)

Literally every software engineer I’ve ever met in my entire life… :roll_eyes: Besides, DOS is an operating system, synonymous these days I guess with the Windows command line. The acronym CLI is assumed to be OS-agnostic; i.e. I use the CLI on occasion on macOS and Win10

1 Like

My development environment is a text editor and CLI. It is easy to automate tasks with CLI.

1 Like

I think we’re digressing from Peter’s original question here so this is the last input from me.

Yes I too have used command line operations many many times in the past, loads and loads of DOS command prompt stuff too dating back to the eighties (and dare I say it, pre DOS seventies with AIM-65 assemblers and even beyond that EEPROM’s, 8 bit CPU’s and DIP switches).

It is very necessary to have this ‘low level’ option and definitely suits many people, but not for me thank you.

Give me ‘GUI’ with a sprinkle of ‘Rapid’ any day, which is the original Mbed concept.

From a commercial point of view which is my background, all I need to know is what is the fastest solution to write/debug code, bare in mind I pay you by the hour? Personally I don’t think CLI is it.

Peter’s task here is to be able to give his students today’s technology with the least faffing around.
So come on guys who has some ideas to help him use Mbed-Studio or Mbed-Online for his students ??? (not Microsoft Visual-Studio, that would be another forum).

Agree but I think it is moreso “least amount of faffing around for his students but also for him on the install”

I’ve put ~weeks~ months of thought and faffing trying to build this and there is no 2 click path yet for the embedded developer to build and step debug.

When Mbed Studio takes its rightful place hosted in a server served up by a browser we will all probably breath a collective sigh of relief.

Till then I promise you, VS Code and a pre-built docker image or ssh plus some script magic are as good as it gets.

The online compiler exists…

It exists but only just. It does not have the indexing magic provided by “language server”.

Nor does it have step debugging.

There are however API’s exposed to do builds remotely with the online compiler. Not sure if that can be of use in this situation.


Hi Grit, Paul, Peter, Adam, Kentaro

Thank you for your comments. There are many different topics in this thread. I’ll try to address most of them in this post:

  1. Disk space - We realize that it is a big issue. We did the first step to address it. In Mbed Studio 0.8.0 installer on Windows has an option to install Studio for all users or only for the current user. It should help in setting up an environment for students. Don’t hesitate to take it for a spin. It can be downloaded from https://os.mbed.com/studio.
    Another issue reported by users is a size of each program. We are still working on it. We have a few ideas on how to improve it.
  2. Online version - @grit thank you. Yes, I can confirm that we are working also on the browser version of Mbed Studio. Having an IDE that can be run without any setup is very important to us. No exact release date is known yet but we will definitely be looking for beta users to try it before the release date. In the meantime we are still supporting Online Compiler.
  3. Using CLI tools. From the next version of Mbed Studio we will allow to use tools shipped with Studio directly from terminal inside of the IDE. That includes Mbed CLI, mbed-ls, pyOCD, etc.
  4. @grit is correct. A documentation for compile API used by Online Compiler can be found here: https://os.mbed.com/handbook/Compile-API

Arek - Mbed Studio team