Skip to main content

Junkbot Raspberry Pi: 3 How to do it

Figure 1
In previous posts I start looked at using ScratchGPIO to control a junkbot  ( and showed a Pi controlled junkbot briefly in action (

In this post I aim to discuss
- Choice of motor controller card
- Provide an example of a drawing junkbot controlled through Scratch and Raspberrry Pi

Choice of interface/Controller card
The card choosen was the 4Tronix PiRoCon card  ( Selected for four reasons
- Price is reasonable (in my opinion).
- Fits straight onto the Pi through the GPIO - no extra cables needed.
- ScratchGPIO has it as an addon so it makes programming it even easier (see
- Others are using it for robot projects.

Use it is quite easy plug the board directly on to the GPIO connector of the Raspberry Pi (4tronix provide some advice in section 15 of on mounting the board). The only other changes I needed to make because I wasn't powering the motors through the DC input I had to change the jumper settings next to Vin Connector (see for layout) to reflect this.

Now for the fun bit get the whole thing to draw (see Figure 1 and the video at the end)!

The junkbot itself is made up of a drinks can, three supports (we used LEGO here but it equally could be straws, sticks), a pen/pencil, and a  motor and broken propeller combination to create an unbalanced motor.

With the Raspberry Pi off, the the motor's wires are connected to the controller card at the connections for MotorA and the battery is also connected. Turn the Pi on and run ScratchGPIO5plus.

Figure 2
Figure 3

Figure 4

The first task is to make the variables AddOn (which will be used to tell the program we are using the PiRoCon card) and MotorA for the motor (see Figure 3).

In Figure 4 the program can be seen, essentially the left and right key spin the junkbot clockwise or anticlockwise by setting the Motor to either +ve or -ve values from 0 to 100. The space bar is used to stop the motor.

As it moves because one of the supports is a pen it draws. See the video below to watch it draw a squiggly line - control is still a challenge.

The bot was developed by Hayden Tetley and Scott Turner. Hayden's time was paid  for through the Nuffield Research Placements  Scheme (

Related Link


If you would like to know more about the Junkbots project contact The views and opinions is the authors and should not be taken as representing the views of any organisation the author is associated with.

Popular posts from this blog

Blog usage statistics

Popular posts

How to build junkbots: Old toysIn a previous blog entry the idea of using drinks can and an unbalanced motor was discussed. but what else have the projects participants t...How to build junkbots: Drinks can, unbalanced motorThe junkbots project has now being running for 18 months in Northamptonshire, UK. But how have the junkbots being built? A video produced by...How to build junkbots: Wheels don’t always work wellBack to the main approach, simplest way and probably the quickest:- A body (drinks can and drinks bottles usually) and an unbalanced motor -...Huxlow Pt 2: Lego Robots The second half (programming lego robots) on the junkbots project has been carried out at  Huxlow Science College  on 28th February 2011. ...Toys from trashArvind Gupta has produced a lot of work on turning junk into toys that aim to demonstrate the engineering ideas in an very interesting (wel...Brooke Weston EventStudents at Brooke Weston School, Corby have been working with the University of N…

Controlling a junkbot with a Micro:bit

A new direction has been developed for the junkbot project (; previously Raspberry Pis have been used to control the junkbot’s movement ( – but what about the recently released Micro:Bits; can it be used to control a junkbot?
Matthew Hole, a student from Wrenn Academy, Northamptonshire ; has been investigating this idea whilst on a Nuffield Research Placement ( working with Dr Scott Turner, University of Northampton. The project was to look into developing junkbots controlled using a Micro:bit and also to produce some materials for schools to use with or without outside assistance.

What is a Junkbot?For this project, it is a moving ‘bot’ made from waste materials, combined with an electric motor and a programmable device (in this case a Micro:Bit) to control (or try) it. An example is shown above. More details on junk…

Do it yourself: 'Radio' Controlled Micro:Bit Junkbot

In an earlier post, I showed how you could build a Micro:Bit controlled Junkbot. In this post I want to show a modification to it, to use one Micro:Bit to control the junkbot controlled by another Micro:Bit. A nice feature of the Micro:Bit using micropython, is it can send and receive simple messages via radio - so here is my take on it.

The first problem is the Python editor available on does not seem to work with the radio API. One solution to this is to change to the mu editor.

Two pieces of code are needed.

Sending Code for the 'remote' control:
Essentially it is set up to send two messages, via the built-in radio module, spinl or spinr depending on which button is pressed.

import radio
from microbit import button_a, button_b


while True:
   if button_a.is_pressed():
   if button_b.is_pressed():


Junkbot Code
This takes an adapted form of the previous Junkbot code to work by; on r…