Skip main navigation

Physical Computing Software

Discover the software used in physical computing including examples of code.
Physical Computing Software
Physical computing softwares are interactive systems that can sense and react to the world around them.

They are a combination of:

  • hardware which includes the microcontroller
  • software and
  • various types of materials.

You’ve seen examples of hardware in physical computing. You’ve also discovered microcontrollers and how they work with hardware. All of these components make up a physical computing system.

Inside the microcontroller is the software. This software controls all of the hardware. It controls all the transducers, input, and output. It is the decision-maker.

We discussed earlier how it’s difficult to connect sensors and actuators directly to our computers. This is why we need to use microcontrollers. They define the behaviour of the input and devices.

Let’s look at the software on the three different microcontrollers

  • the BBC micro:bit
  • Arduino
  • Raspberry Pi

BBC micro:bit

The aim of the BBC when creating the micro:bit was to create one adaptable device that could be programmed by a wide range of ages. It needed to be simple to use but also have a level of difficulty to it. They wanted a “low floor and a high ceiling”.

Let’s look at the software tools used to code the micro:bit.

MakeCode

https://makecode.microbit.org/

MakeCode is a block-like language developed by Microsoft. It is based on the MIT-created system called Blockly. Many different devices and programs use Blockly. The most popular example is the education program Scratch.

https://scratch.mit.edu/

MakeCode allows the user to drag blocks onto the screen and connect them together. There is very little typing, this allows children who are still learning to spell to code easily. There are no brackets, tabs, or other special characters found in other programming languages.

JavaScript

In the MakeCode window you can view what the code looks like in JavaScript.

JavaScript is a web based language. It is mainly used to code web pages.

The language uses brackets and semicolons which are important to its structure. Missing brackets can cause bugs in your code: it won’t work and most of the time you won’t be able to download it to the micro:bit

JavaScriptJavaScript
(Click to expand)

Python

Python is a text-based language. It has become very popular lately in education. The micro:bit has a Python editor:

https://python.microbit.org/

And you can code in Python in MakeCode PythonPython
(Click to expand)

Arduino

Arduino was one of the first cheap physical computing microcontrollers that were easily available to the public. There are lots of different types of arduino boards and there are just as many, if not more, copies that are called clones

Arduino Integrated Development Environment

Arduino is coded using software that is installed on a computer, Arduino Integrated Development Environment or IDE for short. The software is coded in the C programming language, which is a text-based language. It’s often used in real-time applications.

Raspberry Pi

There are many different versions of the Raspberry Pi, but once plugged into a keyboard, mouse, and screen with an operating system on an SD card, they are fully working computers. This means they are not microcontrollers. They are described as single board computers – all the processors are on one single board. With a full operating system and access to the physical hardware, it is very easy to code a Raspberry Pi to access transducers directly.

Raspbian

The most popular operating system for the Raspberry Pi is Raspbian. It gives you a graphical operating system where you can view programs, folders, and files – much like Windows or Apple IOS.

Python

As a fully working computer, the Raspberry Pi can run many programming languages but Raspbian is set up to run Python straight away. It is installed on the operating system and can be accessed through the menu. Many of the Raspberry Pi example projects are written in Python.

This article is from the free online

Build a Physical Computing Prototype

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education