Getting started with Digital Making on the Raspberry Pi

The Raspberry Pi is your gateway to digital making. There are other boards out there, such as Arduino, ODROID, Wemos, micro:bit and Orange Pi, to name a few, but none have got the great combination of power and great community support that the Raspberry Pi offers.

Digital Making

Digital making is, essentially, making stuff with digital components. If you’ve got a Raspberry Pi, you’ve already got one of those components – the controller board. So, you’ve got it up-and-running… but what now?

On this page, I want to introduce you to various aspects of digital making, including the basics of software and hardware and some of the essential skills that you will need to learn to get the most out of your device, and to enter the world of digital making.

There are a few of things I want you to bear in mind.

Firstly, you are limited only by three things:

  1. Your imagination.
  2. Your budget.
  3. The time you have available to spend on projects.

Secondly, Failure is Good. It is only by making mistakes that we learn from them – trial and error may take longer than getting it right first time, but I guarantee you: you will learn more from your mistakes than you will from being perfect. So! On to the skills.

Thirdly, you can do a lot with a little knowledge. By learning a bit about software, a bit about hardware and asking for help where necessary, you can build up your skills bit-by-bit.

“Master the bits to make the whole” – Albert Hickey

Learn to use Google

There’s no substitute for learning how to Google the answer to your problems. Often, you will find that someone has had the same problem as you, or at least has part of the answer. Learn how to phrase your Google search – be specific and add the term “raspberry pi” to the search. And yes, there are other search facilities available, but I suggest that you use the best.

Learn How to Ask For Help

Sites like StackExchange provide a way of asking questions (although the more detail you give here the better) and the Raspberry Pi Forums are another place to try. Bear in mind (and be prepared for the fact) that you may sometimes find people less than helpful. Try to ask your question intelligently, clearly and with plenty of detail. For more on the subject of ‘asking for help’, you would be wise to consult Alex Eames’ article on the subject.

Start with Software

No matter what sort of project you do with the Raspberry Pi, you will eventually need to write some software. Here are a few of the main programming languages available to you. If you’d like a book to take you through these languages, I’d like to recommend Carrie Anne Philbin’s book Adventures in Raspberry Pi. This book, which is now (July 2017) on its third edition, should be in every Pi beginner’s library.

“Programming is about a lot of little victories.” Alex Eames, RasPi.TV

Scratch

Scratch, as you can see from the picture above, is a visual programming environment. You program by clicking-and-dragging blocks from a side panel onto the main ‘stage’. By combining blocks, you build up your ‘code’. When you start to add hardware to your design, you can look into Scratch’s GPIO capabilities or even try ScratchGPIO, which is an alternative version of Scratch and is, in many ways, more powerful, supporting more add-on boards and accessories. There is some debate as to which version is better – try both and see which suits your purposes!

Python

Python is considered to be the ‘main’ programming language on the Raspberry Pi, although this is slightly silly as you can pretty much install any language onto the Pi should you so wish! It is a text-based programming language in which you make statements and conditions, in plain text, to achieve a desired result. The nice thing about Python is the amount of libraries (other people’s code) available that you can just bring in and use. There is also the added bonus that when you move into physical computing one of these libraries, GPIO Zero, makes it incredibly easy to do an awful lot of things.

EduBlocks – bridging the gap

If you enjoy using Scratch, and the visual environment it presents to you, but you want to move onto Python, I heartily recommend EduBlocks. It allows you to program in Python but does so with a similar visual interface to Scratch. Take a look at my full briefing on EduBlocks here or head over to the EduBlocks website to find out how to use it.

Sonic Pi

Sonic Pi is another text-based language, based on another language called Ruby, that is designed to help you to ‘code music’. Developed by Sam Aaron, Sonic Pi is useful for introducing basic concepts such as loops, but does get quite complicated very quickly. However, if you’re into using music and tech together, it provides a ‘way in’.

Take a Step into Physical Computing

Physical computing is all about bringing what is on the screen out into the physical world. A simple example of this is creating an ‘indicator light’ or an ‘alert buzzer’. In other words, you “make digital physical“.

GPIO

Let me introduce you to the GPIO pins – a whole host of physical computing experiments and projects are now at your disposal. GPIO stands for General Purpose Input Output and, as the name suggests, you can receive inputs and generate outputs via these pins. Here is a diagram of the 40-pin Raspberry Pi:

Raspberry Pi GPIO layout from Raspberry Pi Spy

There are power pins, there are ground pins and there are input/output pins. Connecting up to these pins using things called jumper wires is an essential skill.

Hello World

In programming (of which, more later), the first thing you should do is to simply light up an LED. You will need some basic components: an LED, some jumper wires and a resistor. Probably the easiest way of getting hold of these, and other “beginners” components is to get the CamJam EduKit from The Pi Hut. (Declaring an interest: I helped to develop the kits, but don’t get any money from it. It’s just a nice way of getting the equipment you need!)

It costs £5 and you get LEDs, a button and a buzzer, along with all the bits-and-pieces to make it work, which is more than enough to get you started. Once you’ve got the kit, work through the worksheets on the CamJam website. These will show you how to: light LEDs (output), detect a button press (input) and sound a buzzer (output). You end up by programming a traffic lights sequence. I recommend the GPIO Zero versions of the worksheets to begin with if you have little-to-no programming experience.

Sensors

There are so many sensors available that the Raspberry Pi can used, it can be a little daunting. There are sensors for light, gas, movement, attitude, temperature and humidity, to name but a few.

Start simple

I’d like to recommend that you start with CamJam EduKit 2. This has 3 sensors for you to use: light, movement and temperature. By writing the appropriate software, you can make your Pi aware of the environment surrounding it. You can then use the skills you’ve learned to make more complicated projects.

More sensors

As I’ve said before, the range of sensors available can be baffling, but don’t panic: there is plenty of help out there. To learn more about these other sensors, take a look at this page where I explain how to use I2C and SPI to expand your skills.

Learn How to Solder

By now, you’ve probably realised that not everything in the Raspberry Pi world comes pre-assembled. The minute you purchase a Raspberry Pi Zero, for example, you open yourself up to the wonderful world of soldering because the GPIO pins do not come with the board. You’ll need a 40-pin header which is a piece of plastic with pins attached, a soldering iron, some solder, a solder-sucker, a wet sponge (or wire sponge), some dexterity and some patience.

Laura Sach from the Raspberry Pi Foundation has done a good guide to soldering. You can see her video here or read a transcript.

For a different presentation style, take a look at Carrie Anne Philbin’s video here:

Extend the abilities of your Raspberry Pi

There are a whole host of add-on boards for the Raspberry Pi including (but not limited to) the venerable SenseHAT which has a variety of sensors on-board as well as an 8×8 LED matrix and a joystick. One company that has done more than any other to give the Raspberry Pi world add-on boards is Pimoroni, based in Sheffield. Take a look at their store for a vast range of both their products and those that they’ve imported. You can also take a look at The Pi Hut for add-ons and also RasPiO, which has developed it’s own range.

Engage with the Community

As I said during the introduction, the Raspberry Pi has a great community behind it. There are two ways you can engage with the community: in-person and online.

In person

The key way you’ll be wanting to engage with people in-person is to attend a Raspberry Jam. These are volunteer-run meet-ups for people who are interested in the Pi and they attract all kinds of people of different ages, backgrounds and levels of experience. They can vary in what they offer – some are purely ‘Show and Tell’ where you can see what other makers have come up with; some have Workshops, where you can learn new skills; some have Talks where you can find out more about projects, programming languages and concepts; some have a Marketplace where you can buy Pi bits-and-pieces. Often, Jams have a combination of these activities. Take a look on the Raspberry Pi website for more information about Jams and find out where your local one takes place.

Online

Of course, a Raspberry Jam is never happening when you need one! :-). So, a lot of your interaction with the community will be online. Many of us in the community are on Twitter, very few are on Facebook, some are on Instagram and there are a few YouTube channels. For ideas on where to start, take a look at the Community Guide page where many of the well-established community members are listed. If you want to talk to me, either contact me from this website or send me a Tweet (@recantha) on Twitter.

So, what shall I make?

Enjoying imagination

That’s where the ‘imagination’ part comes in. The possibilities are endless. Think about your current hobbies – could any of them be married up with some technology? Think about your home – is there anything that you want that the Raspberry Pi could be used for? Take inspiration from the world around you – there are many projects involving nature, for example, and many resources out there to help you. My point is, almost anything is possible – from wearables to robots. If you need inspiration, take a look at the official Raspberry Pi Projects Book Volume 1 & Volume 2 or read through the back issues of The MagPi magazine.

Embrace the world of digital making and start learning!

“The most effective way to do it is to do it!” – Amelia Earhart