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

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now