Click box on right for Curriculum Links

KS2 Computing POS:

• design and write programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts

• use sequence, selection, and repetition in programs; work with variables and various forms of input and output; generate appropriate inputs and predicted outputs to test programs


• pupils should work in a range of relevant contexts [for example, the home, school, leisure, culture, enterprise, industry and the wider environment].

• understand and use electrical systems in their products [for example, series circuits incorporating switches, bulbs, buzzers and motors]

• apply their understanding of computing to program, monitor and control their products.


This project follows on from the Traffic Lights project


To control an automatic lighthouse.

For safety reasons every lighthouse has a signal that is distinctive and individual e.g. the lighthouse at Flamborough Head in Yorkshire flashes four times, waits 15 seconds and then flashes again. This signal is called the lighthouse character and you can see them all listed on the Trinity House Website. An activity for children would be to visit the Trinity House site, find the lighthouse nearest to them and discover the signal their lighthouse uses. They could then create a programme that simulates that lighthouse.

Learning objectives

You will be able to:

  • use the gPiO interface for input as well as output.
  • program an input and output control system.
  • understand how an LDR can be used as a light sensor.

Design brief

To create a lighthouse control program.

The control program must:

  • turn on the main light beam when it is dark and turn it off when it is daylight
  • make the main beam flash to produce a unique signal
  • turn on the fog horn when it is foggy and turn it off when it is not foggy
  • make the fog horn produce a unique sequence of sound

You will need to consider the range of sensors and select the most suitable input device for the job:

  • LDR (light sensor)
  • for sensor (in fact we do not have one so you can use a simple push switch for now)

You will need a processing device (computer), an interface to connect the components to the computer and a power supply.

  • Raspberry Pi
  • gPiO interface and power supply
You will need to consider the range of output devices to warn ships that they are approaching danger:
  • filament lamp
  • white LED
  • buzzer

You will need to select a programming language that can communicate with the input output devices:

  • Scratch
  • Python
Main light:
  • input, an LDR connected to a gPiO interface.
  • 6 volt output connected to a bright, white, LED.
Fog horn:
  • input, a push switch connected to a gPiO interface.
  • 6 volt output connected to a buzzer.

Making the model

The lighthouse is quite an easy model to make and all of the electrical components can be built into the model as it is made or they can be added afterwards.The gallery below shows a model made from a kitchen roll holder, an alternative is to use a Pringles tube. The LDR can be difficult to find so we’ve added it to our ‘Hard to Find’ Pinterest board.

You can also watch the video

Connecting to the gPiO Box

  • Design the circuits that will be built into your lighthouse model and use connection blocks to connect your model to the gPiO interface.
  • Bring all of the wires into the eight connection blocks
  • Use additional pieces of wire to connect the blocks to the inputs and outputs on the gPiO.

Scripts & Code

These are the Scratch Scripts and Python Code for this project. The scripts follow the flowchart, you can follow these scripts or create your own for a different lighthouse.


If you use Flowol(TM) in your school you can download this flowchart from the Code Library. Version 4 and above of Flowol can be used with the gPiO Box, so that you can use this flowchart to control physical devices directly. For more information on using Flowol with the gPiO please contact us.



Python Code

For more advanced users we have included a Python version of this activity here.


The suggested next project is Fairground ride