How to create a Scratch game with Makey Makey controller on a Raspberry Pi

In this instructable you'll learn how to make a simple game in Scratch on a Raspberry Pi; to make the game more fun you will be controlling it using real world objects (fruit and vegetables) via a Makey Makey.

You will need:

  • A Raspberry Pi mini computer
  • An SD card or MicroSD card (depending on which Raspberry Pi you have) formatted with the latest version of Raspbian
  • A USB hub (only if you're using a Raspberry Pi with fewer than 3 USB ports)
  • A 1A+ 5V MicroUSB power supply for the Raspberry Pi (a MicroUSB cable plugged into a laptop or computer may suffice)
  • A HDMI cable
  • A HDMI display (for example television or monitor)
  • A Makey Makey kit
  • 4 items of fruit or veg
  • A USB keyboard
  • A USB mouse
  • Optional: a USB wifi dongle
  • About 30 minutes (less if you're fast!)How to create a Scratch game with Makey Makey controller on a Raspberry Pi

Insert the SD/MicroSD card into the Raspberry Pi. Plug all the USB devices into the Raspberry Pi. Plug the HDMI cable into the Raspberry Pi and the TV/monitor. Finally connect the power cable to the Raspberry Pi – it should boot to raspi-config – see next step.

Connect crocodile clips to the left/right/up/down pads and the earth pad of the Makey Makey. Connect the other ends of the up/down/left/right crocodile cables to the fruit/veg – this can be done by simply stabbing the connectors into the fruit/veg but I find it's more reliable if you open the crocodile jaws before doing so – the connection seems stronger and the connection is more permanent. Leave the other end of the earth cable loose.

You should find that if you hold the metal of the earth connector with one hand and touch one of the fruit/veg with the other hand that the relevant directional light of the Makey Makey should light up, as shown.

Step 2: Load Scratch

You can tell the Raspberry Pi to boot into Scratch directly every time you turn it on using the raspi-config menu that pops up on first boot (as shown). Once you've done so select finish and then accept the request to reboot. If you boot into scratch the screen may be blank to start with – just press any key to wake it up.

Alternatively you can go with the graphical option and then load Scratch from the Applications menu.

Step 3: Create global variables/lists

The bottom right area of Scratch is called the “Stage.” From the stage, select the first sprite (the cat) and rename it to Game using the input field at the top of the screen.

From the variables tab on the left create 4 variables “For all sprites” – expected, selected, right and wrong. Then from the same area create a list called “Objects”, also “for all sprites.”

Untick all the variables except right and wrong – they're the only ones we want to see on the screen.How to create a Scratch game with Makey Makey controller on a Raspberry Pi schematich

Step 4: Configure the cat and save the game

Configure the cat as shown by dragging blocks from the left hand side into the “Scripts” section. The colour of the block tells you which section it comes from, you may have to scroll to find the relevant block.

I've made three chains from these blocks; some of this may not make sense yet as it requires the next step to work:

  • the first one resets the “right” and “wrong” score counters when you click the start flag and then initiates the first turn
  • the second one says what happens on each turn – we first delete everything from the “Objects” list (NOTE: this isn't in the first picture!), then we broadcast “store”, wait, then pick a random item from “Objects” and store it to “expected”; then we announce the object we're expecting (also not in the first picture) then finally we broadcast “go”
  • the final chain says what happens when the user touches one of our objects (fruit/veg) – if it was the first touch of the game then the timer is reset (for competitions! Tick the timer so that it is visible); then if you selected the expected object we increase your “right” counter by one, otherwise we increase your “wrong” counter by one; finally we trigger the next turn to start




For more detail: How to create a Scratch game with Makey Makey controller on a Raspberry Pi

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top