GPIO STEM Workshop

Skill LevelArea of FocusOperating System
BeginnerEducation,
IoT, Sensors
Linux

A STEM workshop around the DragonBoard™ 410c from Arrow Electronics and LinkSprite starter kit that has various electronic components. The workshop gets students to write Python code to interact with electronics component via GPIO.

How can students aspire to jobs they don’t know exist? That is the challenge that the UK charity STEM Team East is trying to solve for students living in the east of England.

This workshop is designed to encourage students to take STEM related subjects in the UK. At the age of 13, UK students have choices over certain subjects and the number taking STEM related subjects has been dropping. Showing students how they can build projects that physically interact in the real world is our attempt to get them inspired to learn more.

The workshop starts off with some simple examples written in Python of how to use the some of the Linker kit modules. To help the student’s ramp up quickly, a wrapper library is used around the very good libsoc GPIO library. The wrapper library is called libsoc_zero which is a Python library designed to reduce the amount of ‘boilerplate’ code required to get up and running with some of the Linker kit modules.

Once the students have the basics understood, they are challenged to come up with ideas for how they can combine modules to solve a problem in a new way. The range of imaginative ideas the students come up with are impressive.  One such project by two students prompts users to enter a phrase, which is then ‘displayed’ on the LED using Morse code. The message can be repeated by the user pressing the touch sensor, and has two speed settings by using the tilt sensor.

The GPIO Workshop Setup will take you through the steps of:

  • Installing Linux
  • Changing the keyboard layout
  • Loading the libsoc GPIO library
  • Adding one more library
  • Changing PYTHONPATH
  • Installing Python Editor (IDE)

Materials Required / Parts List / Tools

Usage Instructions

The Python experiments using the Linker mezzanine card starter kit for 96Boards use the following components:

  • Red LED module
  • Button module
  • Touch sensor module
  • Tilt module
  • Relay module
  • Linear/slide potentiometer module
  • Light sensor module
  • Thermal module
  • Joystick sensor module