Input, output, control equipment

This document contains examples of some of the equipment currently available to schools to use with their pupils as part of the input, output and control aspects of the primary computing curriculum.

The presence of an item on this list is not a Barefoot endorsement per se; items are included that have been successfully used in classrooms.

The examples have been organised into:

  • Input only equipment
  • Input and output equipment
  • Output only equipment

Some of these products are marketed as stand alone devices; others as sets of devices in construction, invention, robotic, electronic, control or data logging kits.

This list is not exhaustive. New products are continually being developed or existing equipment updated. For example their may be new devices that exploit wearable technology, GPS tracking, Wifi connectivity, gesture based programming, 3D printers.

Input only equipment

In key stage 2, pupils can work with a wide range of inputs such as sound, light, distance, tilt, touch, movement, temperature, humidity, electrical resistance and even location sensors.

However, pupils are likely to start by working with more generic input equipment such as keyboards, keypads, mice, microphones, web cameras and touch screens as inputs in their programs.

In Scratch any key on the keyboard can be monitored and used as input to a program to influence what happens. For example, cursor keys can be used to control an onscreen rocket, or pressing the letter x could make a buzzer sound. A further example might be when using ScratchJr on an iPad, whereby pupils can use the touch screen as an input to make a character jump on the screen.

Similarly microphones can be used to monitor sound levels, or webcams to detect motion. With some programming languages, such as Scratch, these devices simply need to be plugged into the USB port to be available to be used in a program, or are automatically available in laptops and other mobile devices.

Examples of input devices specifically developed for educational computing purposes are detailed below.

Makey Makey

The Makey Makey invention kitis a small electronic circuit board that is connected to a computer using a USB port. Crocodile clips are used to connect objects to the Makey Makey. These objects then become touch sensitive sensors (assuming they are made from a conductive material) that are available for pupils to monitor in their programs. Attached objects could be playdough, bananas, water, skin even plants.

The Makey, Makey allows pupils to effectively reprogram certain pre-defined keyboard keys, such as space bar, enter, up and down arrow. Pupils could create a banana piano or alphabet soup keyboard, as shown below.

The Makey Makey invention kit

The Makey Makey can be added to control projects to facilitate touch based input.

The Makey Makey can be used with Scratch and many other programming languages.

The Makey Makey is very easy to use. It can be simply plugged into any computer and used immediately requiring no extra downloaded software extensions other than the device driver, which is included in the device itself.


PicoBoards provide a range of sensors including light, sound, slider, button and resistance monitors. This device is simply connected to the USB port of a computer.

Sensors can be used in isolation or all together, for example a motion detector could be created just using the light sensor, or a ‘DJ desk’ created controlling volume, tempo, instruments and a dancing sprite by using the button, slider and resistance monitors.

A PicoBoard connected to sensors.

A Picoboard can be used to add a range of sensors to control projects.

Picoboards can be used with Scratch and other programming languages. To use with Scratch simply upload the extension file (linked from within Scratch) to add the extra commands to make the inputs available for use in programs.


The Kinect provides some exciting opportunities to bring gesture input into programs but is perhaps suited to the more confident teacher who has perhaps already gained experience using simpler input devices.

Motion sensors can be integrated with programming languages such as Scratch.

Microsoft's Kinect motion sensor

Microsoft Kinect’s motion sensor can be used to add gesture as an input to control projects.

The software required to connect a Kinect to Scratch along with installation guidance can be downloaded at

Further ideas on using a Kinect are available from and more information on tools available to support gesture input are documented at

A pupil using gesture technology 

Pupil using gesture technology to control a computer system.

Input and output equipment

As well as working with input only equipment pupils can also work with equipment that has both inputs and outputs.

The display of images on screens and creation of sounds through speakers are perhaps the most common forms of output created by pupils programs as they write code to make animations, games and quizzes. These forms of output are automatically available in most programming languages such as Scratch.

Pupils can also work with a range of less common output devices such as motors, lights and buzzers.

Examples of products which include input and output devices specifically developed for educational computing purposes are detailed below.


Control equipment such as the FlowGo gives pupils the opportunity to monitor a range of input sensors including push, light, tilt, proximity and pressure pads and control a range of outputs such as lights, motors and buzzers. Pupils can create simulations of lighthouses, traffic lights or their own control systems such as an intruder detector.

Pupils and the FlowGo control equipment

Using a light sensor to control when the lighthouse is switched on.

FlowGo uses it own programming language Go Control or can use Flowol, Junior Control Insight or Control Insight.


The Classic Roamer floor turtle has been used in Primary schools for many years providing an easy means for pupils to explore controlling movement as an output. When used with its Control Box and Sensor Pack a number of inputs including touch, light, sound and magnetic sensors can be added allowing pupils to work with inputs. The Classic Roamer with its Control Box and Sensor Pack is no longer in production, but if schools still have this equipment they can still use it to create control systems. This link explains in more detail how sensors with this legacy kit can be used.

The new look Roamer similarly has a range of outputs including sound and movement, however rather than requiring an extra control box to manage sensors there is now an inbuilt touch sensor. This can be used to ‘sense’ an obstacle, such as a wall in a maze. ‘Sense Procedures’ can be programmed that activate when the input is triggered.Valiant Technology are undertaking further development and testing to include light, sound and magnetic sensors.

Roamer is programmed using the buttons on the back of the device; it uses a subset of the Logo programming language.


LEGO WeDo provides a number of sensors including the tilt sensor and motion sensor. A motor is available as an output device. These devices are connected to a computer using the USB port via a LEGO WeDo Hub.

A crocodile made from Lego

A control project of a toy that snaps its jaws shut if something is detected in its mouth.

These devices can be used with the LEGO programming language or with Scratch.

To use with Scratch simply upload the extension file (linked from within Scratch) to add the extra commands to make the inputs and outputs available for use in programs.

Raspberry Pi

The Raspberry Pi affords a wide range of opportunities for input, output and control work but is perhaps more suited to either the more confident or experienced primary computing teacher.

The Raspberry Pi has a number of general purpose input or output pins, as shown below, that can be configured to work with an almost limitless range of input sensors and output devices, including light, sound, temperature, humidity, distance, touch sensors and motors, lights and speaker outputs.

A photograph of the Raspberry Pi. 

The Raspberry Pi. A selection of the pins circled can be configured as inputs or outputs.

The Pi can be made ‘easier to use’ by adding interface components such as the PiFace. Examples of projects that might use input and outputs with Pi’s include Jelly Babies as input devices or a creating a talking dog using a PiFace.

A photograph of a PiFace connected to a Raspberry Pi

A PiFace and Pi can be used to create a talking dog that takes input from a text file.

A wide range of programming languages can be used to program the Pi including Scratch, Python, Java and many more.


The Arduino  is a small electronic board that can be programmed using a range of languages, including Scratch, to create simple or complex control systems from lighting a simple LED, to wearable technology, to complex robots.

As with the Raspberry Pi, this device is perhaps more suited to the more confident or experienced computing teacher.

Photographs of Arduinos illuminating a light and as part of a robot 

Arduinos can be used to create a wide range of control projects from illuminating a light when a sensor is activated to building complex robots.


The littleBits with Arduino electronics and programming set has an ever increasing number of components available for use in design projects including light, temperature, movement and sound sensors, motors, speakers and lights. The electronic components are very easy to use, the ‘bits’ just snap together to create a circuit.

To program the design an Arduino can be added to the circuit. Control systems created using littleBits can be programmed in a wide range of programming languages, including Scratch. It is likely that more experienced computing teachers will use this equipment as it requires them to upload the program to the Arduino component.

A photograph of a Little Bits programming set

A control project to sound a buzzer if the temperature sensor detects things are getting too hot!


The FUZE  electronics workstation can be used with a wide range of sensors to control a range of output components including lights, buzzers and a robotic arm.

A photograph of the Fuze electronics workstation 

The FUZE can control lights, resistors and a robotic arm using its dedicated keyboard, championing its own special version of BASIC.

This product is built around the Raspberry Pi but is ‘ready to run out of the box’. As it runs on a Pi, it can be programmed using a wide range of programming languages. One of the main focuses of this product is to introduce pupils to a text based programming language FUZE BASIC. Some teachers may choose to teach their pupils a graphical programming language, such as Scratch, first and then move on to text based languages, such as Python or FUZE BASIC as transition to KS3.

LEGO Mindstorms

Lego construction kits are very popular from early years onward. Their use with control technology is a natural extension of ‘play’ and discover activities. LEGO Mindstorms kits  can include a wide range of inputs such as colour, touch and infrared sensors. They may control motors, sound, switches and beacons. Robots created using the kits can be programmed using a range of languages including a product specific LEGO software or Scratch.

A photograph of a LEGO Mindstorms robot

By Eirik Refsdal from Trondheim, NORWAY (LEGO MINDSTORMS NXT) [CC-BY-2.0 (], via Wikimedia Commons Caption: A Mindstorms robot.

Other control options

The Finch is a new programmable robot that has temperature, orientation, light and obstacle sensors. It can be programmed in a number of languages including a simplified version of Scratch, Scratch or Snap to control lights, sound, and motors.

A photograph of the Finch robot

The Finch robot has a range of sensors and outputs.

Additional commands from Finch in Scratch

The extension software for Finch creates extra commands that can be used in Scratch to detect input and control the behaviour of the programmable toy.

(Note: the Finch is not wireless it remains connected by a long wire to the USB port of the computer that controls it.)

The new mOway robot has a number of inputs including infrared, obstacle, light, temperature and sound sensors and can be programmed to move, light up and make sound.

Photographs of mOway input sensors 

The mOway has a range of input sensors and outputs to control.

The mOway can be programmed in a range of languages including Scratch 1.4. It works wirelessly.

The new Sphero is wireless ‘robot ball’ controlled by a mobile device app. It can be programmed using its own text based programming language or using a drag and drop user interface. Programs can be written to control lights, movement, sound and it has an accelerometer sensor which can be monitored to detect if the ball leaves the ground or collides with another object.

A photograph of a Sphero

The Sphero has a range of outputs and can detect if it is in the air or if it has collided with an object.

For the more experienced a further option is the Yenka Kit. This is an online subscription to a range of science, technology and computing products. The computing product includes an introduction to control through simulations of control scenarios, such as how to make a cup of coffee or create a dance routine. The product uses flowcharts to help pupils explore computing concepts.

Yenka also includes an electronic design product. This provides computer aided design software that can be used to create simulations of circuits, including programmable devices. The designs can be downloaded to program real circuit boards therefore creating control systems. Creating control systems through programming of PIC or PICAXE chips is perhaps more suited to confident primary teachers or those with experience in electronics.

Output only equipment

Some equipment only provides output for pupils to work with in their programs. Screens and speakers are the most obvious devices like these. But there are a range of programmable toys with movement based outputs, such as Bee-Bots, Pro-Bots and Big Track.

The Pro-Bot does have distance sensors but these cannot be used within the programs created by pupils. The sensors are set within a configuration menu to act independently whilst the device is switched on.

Summary of examples

Below is a summary of examples of input, output and control equipment.

A summary of examples of input, output and control equipment. 

Find out more about input, output, control equipment

Scratch – Nuts and Bolts videos – sensing1 and sensing2
BBC Inputs and Outputs
Connecting to physical devices with Scratch

Links to related Barefoot concepts

Computer Systems