During this course you will use a variety of software tools. This section includes the software tools needed to program your target board.
- All the software we use in this course is free for students
- Where possible, software is supported cross platform
We will now install each package in turn. Should any of the following steps fail, you can contact the module leader or technician (via instant message) and they should be able to help you.
For University of Plymouth students, this is essential!
Teams allows us to collaborate in many ways, including screen sharing and even remote control. This has proven highly effective for supporting students with technical questions.
When you run Teams for the first time, sign in with your university credentials. Then check your audio and video settings are set to your preferred devices.
We use a software tool called Mbed-Studio that allows us to write code and program our target board.
The term Mbed refers to a framework for rapidly and easily programming Arm based microcontrollers. It is used in most of our modules where microcontrollers are used.
You may have heard of the Arduino system? It is similar in many ways. In fact, for the latest versions, Arduino is built on top of Mbed-os.
Before installing Mbed-Studio, first you need a free account on mbed.com
You cannot use Mbed without first creating an account on mbed.com. This is a requirement for many of our embedded modules.
- Go to https://os.mbed.com/ and click "Sign Up For Free"
Once you have created your account, please tell us what your username is:
CLICK HERE TO REGISTER YOUR MBED.COM USERNAME
This will help us better support you. Never disclose your password!
The first step is to download and install the version of Mbed Studio for your computer.
Run the installer and you will probably find it is mostly self-explanatory. You can choose default options. Since version 1.0, many of the additional tools needed for this software come included.
The software that allows your PC to recognize your target board comes with Mbed Studio. The most important of these is the ST Link Driver.
To test this, you should now connect your Nucleo Board to your host PC using the supplied USB cable
For the Mac and Linux, there is nothing else to do at this stage. For Microsoft Windows, you can run Device Manager and check to see if the drivers are correctly installed:
If there are exclamation marks next to any of the ST devices, please refer to the section on troubleshooting.
This is a really useful piece of software used for editing software and configuration files. It can be obtained using the following address:
https://code.visualstudio.com/
This is one of the preferred methods for editing text files and programming source files outside of Mbed Studio. It can even be used as a complete development environment (with the right plugins).
These notes and all the source code are hosted on a site known as GitHub, which is a web repository that leverages the powerful git version control system.
Do not worry what a version control system is yet. You will use one simply to obtain the sample code for this course. The complex topic of software version control will be discussed later, and falls under the topic of Software Engineering.
For this course, you will need to do two things:
- Create an account on GitHub
- Install GitHub Desktop and Sign In
First of all, you can simply create an account using https://github.com/
You might want to change your account to a student account in order to get additional benefits - https://education.github.com/pack
Once you have done this, you must register this using the following form:
CLICK HERE TO REGISTER YOUR GITHUB USERNAME
We need this information in order to share code with you. Never disclose your password!
You can download the very useful GitHub Desktop software on your own computer using the following link:
When you run this the first time, you make be asked for your GitHub username and password. Once this is entered for a particular computer account, it should remember it for you. If you change computer or user account, it will need to be reentered.
At some point, the tutor will email you a link to obtain a copy of various projects on GitHub. This link should launch use GitHub desktop automatically.
- Navigate to this page
- Click the
Codebutton and selectOpen with GitHub Desktop
Click here to watch a video explaining how to do this
IMPORTANT - Clone the files outside of any folder that is synchronized to the cloud (such as OneDrive, DropBox or iCloud). Building software generates thousands (even millions) of small temporary files which you probably do NOT want to synchronize to the cloud. To do so would use unnecessary CPU and network bandwidth.
On a personal machine (not shared with anyone else), I clone all my files in the folder
C:\git. You could also clone inC:\Users\<username>where<username>refers to your username.
Occasionally, the notes and sample code will be changed. Before you start any work, it is strongly suggested you click the "Fetch Origin" button in GitHub desktop.
You may already be using a cloud service, such as OneDrive, iCloud or DropBox. These services monitor a collection of folders and mirror everything in the cloud. This is often done in the background while you work.
This is fine for office documents and photos, but less suited to software development.
A key difference is:
- We can often identify certain files type we do NOT need to keep. These are identified in a file named
.gitignore(you can find this in the root of the repository) - With Git and GitHub, we choose when the files are synchronized and in which direction. However, this does mean getting into the habit of doing this.
There is much more than could be said about these tools, but for now, we will leave this and focus on coding.
This is useful and may be used at different times
This tool has various applications that are used at different stages in the course. The most basic is as a Serial Terminal emulator.
Note that Mbed Studio has a built-in serial terminal. However, some modules may not use Mbed Studio. If Mbed Studio is running, you may also find PuTTY does not work.

