Skip to main content
Tech Radar TechRadar the technology experts
Sign in
  • View Profile
  • Sign out
RSS
Asia
flag of Singapore
Singapore
Europe
flag of Danmark
Danmark
flag of Suomi
Suomi
flag of Norge
Norge
flag of Sverige
Sverige
flag of UK
UK
flag of Italia
Italia
flag of Nederland
Nederland
flag of België (Nederlands)
België (Nederlands)
flag of France
France
flag of Deutschland
Deutschland
flag of España
España
North America
flag of US (English)
US (English)
flag of Canada
Canada
flag of México
México
Australasia
flag of Australia
Australia
flag of New Zealand
New Zealand
  • Phones
  • Computing
  • TVs
  • AI
  • Streaming
  • Health
  • Audio
  • VPN
  • More
    • Cameras
    • Home
    • News
    • Reviews
    • Opinion
    • How to
    • Versus
    • Deals
    • Coupons
    • Best
Tech Radar Pro
Tech Radar Gaming
Trending
  • Amazon Prime Day
  • Nintendo Switch 2
  • Best VPN
  • ChatGPT
  • Best web hosting
  • NYT Wordle today
  • Best laptop

Recommended reading

G1T4-M1N1 droid GIF
Computing Exclusive: This G1T4-M1N1 droid will follow you like R2-D2
CrowPi3 Electronic Learning Platform header image.
Pro I tried the CrowPi3, and found it was a superb learning platform based on Raspberry Pi
LegoGPT screen on a laptop on a table
Artificial Intelligence This new AI model can make your dream Lego set – here's how you can try LegoGPT for free
Amazon Star Wars Tie Fighter Stand For Echo Dot
Smart Home This Tie Fighter stand for the Echo Dot lets your Alexa smart speaker join the dark side
Lego Star Wars May The 4th 2025 Drop
Entertainment Lego just dropped 9 new sets, but as a Star Wars obsessed fan, I'd shop these three first
A look at the Millenium Falcon at Star Wars Galaxy's Edge.
Virtual Reality & Augmented Reality Star Wars Celebration is in full swing, and Lucasfilm just dropped more details on its Beyond Victory experience for Meta Quest, and I couldn't be more stoked
The Pico-Mac-Nano, a small-scale Macintosh replica with a two-inch display.
Computing Someone just built the world's smallest working Mac – and at this price, I desperately want one
  1. Computing
  2. Desktop PCs
  3. Raspberry Pi

How to build your own R2-D2 with the Raspberry Pi Zero

How-to
By Les Pounder published 11 December 2017

Hack a toy

When you purchase through links on our site, we may earn an affiliate commission. Here’s how it works.

Build your own R2-D2 using Raspberry Pi

Build your own R2-D2 using Raspberry Pi

What Star Wars fan hasn't dreamed of owning their own droid? The droids C-3PO and R2-D2 serve as the narrators to an epic story encompassing good versus evil.

With the upcoming release of the latest film in the series, The Last Jedi, now is an excellent time to try your hand at building your very own R2-D2.

C-3PO is a protocol droid who lives to serve his master, while R2-D2 was first seen (chronologically) in Episode 1: The Phantom Menace, and saved Queen Amidala and her party as they left the planet of Naboo. R2-D2 is an Astromech droid, a robotic engineer that can fix any problem.

In this tutorial we'll construct our own R2-D2 robot by hacking a store-bought toy with the latest Raspberry Pi, the Raspberry Pi Zero.

The Raspberry Pi Zero is an ultra-low-cost Raspberry Pi, and retailing at $5 (£4, around AU$7) this board provides a full computer experience for very little money. Coming with 512MB of RAM, 1GHz ARM CPU and able to output 1080p video, it's been flying off the shelves, and the Raspberry Pi Foundation is working to restock.

We'll also be using the latest Explorer pHAT board from Pimoroni. This board is a cheap and easy to use motor controller and experiment board, and will provide the functionality for our R2 unit.

For this project you will need:

  • A Raspberry Pi Zero, or another Raspberry Pi (A+,B+ or Pi 2)
  • The latest version of the Raspbian operating system
  • Wi-Fi connection for your Raspberry Pi
  • 2x Micro gear metal motors
  • Wheels for R2
  • Explorer pHAT board
  • An LED
  • A 220 Ohm resistor (RED-RED-BROWN)
  • Male-to-female jumper cables
  • Male-to-males jumper cables
  • 2x Terminal block with screw terminals
  • Hot glue gun
  • Soldering Equipment

The majority of these components can be found at Pimoroni and The Pi Hut.

You can also download all of the code for this project.

Don't fancy building your own R2-D2? You can cheat and buy your own robotic R2-D2 with the Sphero R2-D2.

Page 1 of 11
Page 1 of 11
1. Solder the GPIO

1. Solder the GPIO

Before we can use the Raspberry Pi Zero, we will need to solder the GPIO, a series of 40 pins, onto the board.

These pins enable our Explorer pHAT add-on board to interact with the Raspberry Pi. For the best results use a blob of modelling clay to support the board while you solder. If you can't solder, ask a local hackspace, DIY expert or friends for help. You will also need to solder the header pins for the Explorer pHAT board.

If you're using another type of Raspberry Pi then you can skip this step, as the GPIO comes pre-soldered.

Page 2 of 11
Page 2 of 11
2. Hack the R2-D2 toy

2. Hack the R2-D2 toy

We chose a small R2-D2 toy costing around £20 (around $30, AU$42). We started by removing all of the internal components, to see what room we had to hack. It was quite tight even for the Raspberry Pi Zero, so we chose to house the major components on the rear of R2-D2.

We removed R2-D2's legs and measured the size of our motors on the feet. Using a Dremel tool we carefully cut and shaped a space for the motors on each foot.

How to build your own R2-D2 with the Raspberry Pi Zero

Before attaching the motors we soldered wires to the terminals for later use, so give yourself plenty of spare wire, and attach the wires for each motor to the Motor 1 and 2 header on Explorer pHAT. Use hot glue to secure the motors in place on the feet.

Page 3 of 11
Page 3 of 11
3. Let there be LED

3. Let there be LED

For added authenticity we drilled a hole in R2-D2's red eye socket, and replaced the plastic with an actual working red LED.

Inside R2-D2's head we used a terminal block, commonly used in electrics to secure wires without soldering, and secured the legs of the LED into each hole.

How to build your own R2-D2 with the Raspberry Pi Zero

The long leg of the LED will receive 5V power from the Explorer pHAT via a 220-ohm resistor screwed into the other end of the block and linked to the Explorer pHat via a female to male jumper cable. The short leg will connect to Output 1 of the Explorer pHAT.

Page 4 of 11
Page 4 of 11
4. Power R2-D2 up

4. Power R2-D2 up

Attach the Explorer pHAT to the Raspberry Pi, then connect your peripherals before powering up the Raspberry Pi.

Once the Raspberry Pi has booted you'll need to have an Internet connection before proceeding. Open a terminal (its icon is a dark screen in the top left of your desktop), and type the following to install the Explorer pHAT software:

curl get.pimoroni.com/i2c | bash

You'll be asked a series of questions, to which you can answer yes, as it's quite safe in this instance. After a few moments the software will be installed, and to ensure that it has been done correctly now is a good time to reboot your Raspberry Pi. When done, return to the desktop.

Page 5 of 11
Page 5 of 11
5. Coding R2-D2

5. Coding R2-D2

To code our R2 unit we'll be using Python, a really easy to use language that is well suited to the Pi, and which the majority of the Raspberry Pi community uses as their primary language. To code in Python we need to open the Python3 application, which you can find in the Programming menu.

When Python3 is open, click on File > New Window to open a new blank document. Now save the project as R2P10.py before proceeding. Remember to regularly save your work – this is a good habit to get into, as it will limit any accidental deletions.

Page 6 of 11
Page 6 of 11
6. Import code

6. Import code

Our first three lines of Python code are imports – these bring in external libraries of code for our project to use.

import explorerhat
from time import sleep
from random import randint

Firstly we import the library for Explorer pHAT – this will enable our project to interface and use the board.

The next two imports are used to import one aspect of each library. From the time library we import the sleep function, used to control the pace of our code. From random we import a random integer generator, used later in the project.

Page 7 of 11
Page 7 of 11
7. More coding

7. More coding

We now move to the main body of code (shown above).

Here we create a method to test our code, and inside it we use a loop that will run forever, while True; this loop will run the code to set output 1 of our Explorer pHAT so it blinks every half a second. We now create a variable, a container that can store any type of data – in this case we're using it to store a random number, an integer, between 1 and 5.

The indentation of code is important, and Python 3 will help you as you type.

Page 8 of 11
Page 8 of 11
8. Moving R2-D2

8. Moving R2-D2

For our next section of code, we will turn on the motors and control R2-D2.

We start by turning both of our motors on and forward at 20% power, a nice glide for R2-D2 to move along on. If your motor is running in the wrong direction, swap the wires for that motor so that they're reversed in the Explorer pHAT.

With the motors on we use a delay, sleep, to prevent the motors stopping. We use the random number stored in the variable, duration, to control how long R2 will run for. Next we run one motor backwards to enable R2 to turn on the spot; this is also controlled for a set duration.

Page 9 of 11
Page 9 of 11
9. Testing your code

9. Testing your code

This next section of code exists outside of the while True loop.

We started the code by using a test, try, now we need to add an exception – in this case when we press CTRL+C to stop the code running. When this occurs we tell the motors to turn stop, and for the output to turn off, stopping R2-D2's eye blinking.

Save your code and prepare to test your R2 unit! For the best results hold on to the R2-D2 unit, otherwise it will run away.

Page 10 of 11
Page 10 of 11
10. Control R2-D2

10. Control R2-D2

With our code complete you can now run the code by clicking on Run > Run Module in the menu. R2-D2 should move forward for a few seconds, then turn left.

This code will then repeat until you press CTRL+C. For a truly portable solution you can use a USB battery pack, such as those used to charge your mobile devices, to power the Raspberry Pi. You can also control R2 over a Wi-Fi connection using technologies such as SSH and VNC.

And there you have it – your very own R2-D2 unit, ready to respond to your commands!

  • Find out what else you can do with the tiny PC with our collection of Raspberry Pi Projects
Page 11 of 11
Page 11 of 11
TOPICS
Star Wars
Les Pounder
See more Computing How Tos
Read more
G1T4-M1N1 droid GIF
Exclusive: This G1T4-M1N1 droid will follow you like R2-D2
CrowPi3 Electronic Learning Platform header image.
I tried the CrowPi3, and found it was a superb learning platform based on Raspberry Pi
LegoGPT screen on a laptop on a table
This new AI model can make your dream Lego set – here's how you can try LegoGPT for free
Amazon Star Wars Tie Fighter Stand For Echo Dot
This Tie Fighter stand for the Echo Dot lets your Alexa smart speaker join the dark side
Lego Star Wars May The 4th 2025 Drop
Lego just dropped 9 new sets, but as a Star Wars obsessed fan, I'd shop these three first
A look at the Millenium Falcon at Star Wars Galaxy's Edge.
Star Wars Celebration is in full swing, and Lucasfilm just dropped more details on its Beyond Victory experience for Meta Quest, and I couldn't be more stoked
Latest in Raspberry Pi
white keyboard PC with mouse and book
The Raspberry Pi 500 is a state-of-the-art keyboard PC...just like the Tandy 1000 in the 1980s
Raspberry Pi strapped to a satellite takes stunning picture of Earth
Kali Linux on Pi 4
Raspberry Pi 4 gets Kali Linux, a distro aimed at ethical hackers
Worried about Alexa spying on you? This Raspberry Pi smart speaker for kids puts privacy first
How to install Ubuntu on the Raspberry Pi
New Raspberry Pi 3 Model A+ is somehow even smaller and cheaper
Latest in How Tos
Emma Raducanu preparing for Wimbledon 2025
How to watch Raducanu vs Xu online: live stream Wimbledon 2025 tennis FREE
A woman dances on a friend's shoulders at the Glastonbury Festival held at Worthy Farm, in Pilton, Somerset on June 29 near Glastonbury, England. The festival, founded in 1970, has grown into one of the largest outdoor green field festivals in the world.(Photo by Matt Cardy/Getty Images)
How to watch Glastonbury replays on BBC iPlayer (it's FREE)
Max Verstappen leads the pack at the beginning of the 2024 Austrian GP.
How to watch Austrian Grand Prix F1 on ORF On today (it's free)
Jake Paul and Julio Cesar Chavez Jr. in their face off for their fight on 28 July.
How to watch Jake Paul vs Chavez Jr live on DAZN tonight – best PPV prices, start time
Sione Katoa of the Sharks scores a try during the NRL Preliminary Final match between the Penrith Panthers and the Cronulla Sharks
NRL Premiership live stream 2025: how to watch rugby online, FREE options, streaming guide
Maro Itoje in training for British & Irish Lions
Western Force vs Lions FREE streams: How to watch British & Irish Lions tour live online from anywhere now
LATEST ARTICLES
  1. 1
    Self-employed workers are earning more - and AI is the reason why
  2. 2
    Acer Chromebook Spin 312 review: a well-made device for light workloads – but don’t ask more from it
  3. 3
    Acer Chromebook Plus 516 review: a large and powerful device, but it might not last long enough for your needs
  4. 4
    Considering open earbuds? These are the top 3 open-fit buds I've tested in 2025
  5. 5
    I tried to make an immersive smart lighting gaming desk setup and failed horribly – here's why

TechRadar is part of Future US Inc, an international media group and leading digital publisher. Visit our corporate site.

  • About Us
  • Contact Future's experts
  • Contact Us
  • Terms and conditions
  • Privacy policy
  • Cookies policy
  • Advertise with us
  • Web notifications
  • Accessibility Statement
  • Careers

© Future US, Inc. Full 7th Floor, 130 West 42nd Street, New York, NY 10036.

Please login or signup to comment

Please wait...