garg
aaa aeite
ges ie
ine aIndustrial Raspberry Pi
ComfilePi
Powered by
Raspberry Pi
One
The ComfileP’ is a touch panel PC designed with high tolerant components and no moving
parts for industrial applications. It features a water-resistant front panel, touchscreen,
color LCD (available in various sizes), RS-232, RS-485, Ethernet, USB, I2C, SPI, digital |O,
battery-backed RTC (real-time clock), and piezo buzzer.
Use the rear-panel 40-pin GPIO header to expand its features and capabilities with additional
V/O boards. The ComfilePi is UL Listed and employs Raspberry Pi Compute Module.
Visit www.comfiletech.com COMFILE
© copyright COMFILE Technology, Inc. ALL RIGHTS RESERVED TECHNOLOGYWelcome
Welcome to
Raspberry Pi
Official Magazine
ne amazing thing about Raspberry Pi productsis how
Editor
iste close you get to the metal.
“This month Luey Metal - in this context - isn’t music, materials, or
rind in font of military hardware, but the raw, physical hardware that makes a
4 fac recognition computer tick. Below your programs, underneath any operating
project But dew the
ae system, below the firmware, sits the metal: this is where the
tothe Reck magic happens,
Paper, Raspberry Pi Pico lets you reach into that world, It’s a mighty
® microcontroller board packed with GPIO (general-purpose input/
output) pins, These enable y
and start experimenting with digital making. Suddenly you're not
just coding - you're making!
Attach some buttons, lights, sensors, motors, and you can start to
imagine all kinds of physical builds. Pretty much anything used in
modern electronics can become part of your next project.
‘This month, Ben Everard kicks things off with a brilliant beginner-
friendly project: building a real-world game with Pico. It’s a joyful
=a reminder of why we love Raspberry Pi in the first place. It’s not
1u to hook up electronic components
ey | about the software; it’s about rolling up your sleeves and creating
EI _ with hardware,
Lucy Hattersley - Editor
Raepbry Potosi agnane .ROTC Ca Cen EL ace
Pere Us Ae-cl NOR UT ee i aedceae ls cee) 1 et
Cipro URS une Stn Te
LUC RUE a eee crm Cy
erryContents
World of Raspberry Pi
10 —-RP2350 Ad, RP2354, and a
new Hacking Challenge
014 Connect for Organisations
016 Build HAT goes
open source
018 Subscribe to Raspberry Pi
Official Magazine
Project Showcase
02 Edgeberry
022‘ Supersense Sens2
dementia aid
026 © DOOM SNES 2025
RaeperyPiotcal Magen 5Top Projects
030 _Dual-screen cyberdeck
032 Flexible PCB watch
034 German word clock
6 PeTmachine
038 aD print showcase
Feature
starter electronics:
‘Make a one-dimensional game with code
and circuits
Tutorials
048 Simple electronics with
GPIO Zero - part 1
054 Manufacture a
complete build
060 RISC OS for Raspberry Pi
~ part 5
064 Build a face recogniser
070 Unusual Tools - comer
cutting sheer
072 Conquer the command
line - part 3
078 ~The Computers that Made
‘The World - ABC
Feature
088 Dive into marine technology:
Under the sea with Raspberry PiELECTRONICS-—
PCB Fabrication / CNC| 3D Printing / PCB Assembly / OEM | EMS
.
CUSTOMIZED
TECHNICAL
r{ § PARTS & PCB
MANUFACTURED
WHY CHOOSE PCBWAY?
PCBWay offers a wide range of services including PCB fabrication, PCB assembly and even
CNC machining for over a decade, and has earned a distinguished reputation globally in the industry.
Hassle-free ordering ime shipping
The digital quote-to-order platform © We maintain a 99% on-time delivery rate,
puts you in the back seat. Upload a working in three shifts to ensure your
Gerber file and receive feedback soon packages arrive fast.
Quality assurance Customer support
Our technicians have been working @ The customer service teams work inshifts
strictly to high standards. All the boards to provide 24-hour support. You can always
will go through the most stringent tests. contact a live customer service person.
CONTACT US:
© www.pcbway.com — @
[email protected]
Scan the QR code
for more details!Reviews
300 Powered by Raspberry Pi
104 Best of Breed: Raspberry
Pi Pico add-ons
110 Preview: Argon ONE UP
44 —Ten amazing: garden
projects
Raspberry Pi Community
116 Interview
118 ‘This Month in Raspberry Pi
122 YourLetters
124 Community Events
Calendar
Competition
9 1 of 3 Raspberry Pi 500 kitsRace u te
Me nee ee ee
Pea oc Toa
+ High-speed QSPI Interface
DUAL, QUAD modes supported
+ 8 Independent Sockets
Multi-device connectivity
+ Low Power & Wake on LAN
Effcie
remote-friendly
+ Seamless loT & Industrial Integration
POS, cameras, automation & more
+ Smart Home & loT
Network sensors, smart APs,
+ Industrial & Factory Automation
OS, network printers, LED displays
e automation
+ Security Systems
DvRs, CCTV,
55 contiol systems
+ Embedded Servers & Cloud Devices
Up to 90 Mbps on RP2040)
+ Optimized speed across different @SPI modes
MHz QUAD modeRP2350 A4, RP2354,
and a new Hacking
Challenge
Raspberry Pi introduces two new variants of
RP2350 microcontroller. By Lucy Hattersley
aspberry Pi has introduced
new variants of its RP2350
microcontroller chip under
the Aa stepping (rpimag.co/rp2350).
‘These replace the launch model, which
was designated A2, and feature fixes
for issues found during Raspberry Pi's
Hacking Challenge.
Alongside RP2350, Raspberry Pi is
launching two RP2354 models. These are
pin-compatible variants of the 60-pin
RP2350A (with 30 GPIO pins) andl o-pin
RP23508 (with 48 GPIO pins) and add
6Mbit/2ME of flash memory in-package.
RP2354 contains a Winbond flash die
in-packago, providing an elegant solution
for developers who requite a modest
amount of storage. Bach RP2364 part costs,
just 20 cents mote than the equivatent
P2350 part,
eS
mierocontoler
chipsRP2350 has found its
way into countless
party products
Fixes from the
Hacking Challenge
‘Thenew variants alsoaddress issues found,
during Raspberry Pi's Hacking Challenge
(soe Raspberry Pl official Magazine issue
51, spimag.co/15)),
Like any silicon device, RP2360
wasn't perfect on day one,” notes Bben
Upton, Raspberry Pico-founder and CEO.
“The launch stepping, designated A2, is
affected by a number of errata, including
fan error in the GPIO pad design which
prevents pads from properly going intoa
high-impedance state [known as Erratum
gin the RP2360 datasheet, rpimag.co/ed)
and a number of security
identified by participants in our RP2350
Hacking Challenge.
Ad also addresses boot ROM security
vulnerabilities outlined in Errata 20,23,
and24;a security vulnerability related to
one-time programmable (OTP) outlined
in Erratum 16; and a vulnerability of the
GPIO_NSMASK registers on 60-pin RP235x
parts outlined in Erratum 3
“We're happy to announce the
immediate availability of a new Aa
stepping, which addresses the vast
majority of these issues,” says Upton,
One vulnerability has not been fixed,
yet. IOActive discovered a hack called
“Extracting antifuse seerets from RP350
by FIB/PVC". In this attack, IOActive
> The Ad stepping
fixes security
issues found
Curing Ra
Pis Hacking
Challenge
third-
(almost) demonstrated that data bits
stored in the RP2360 antifuse memory
array could be extracted using a wel:
known semiconductor fallure analysis
‘technique: passive voltage contrast (PVC)
with a focused ion beam (FIB)
“In principle it may be possible
to extend this attack to retrieve the
complete contents of the OTP [one:
time programmable},” notes Upton. “An
upcoming application note will descr
how to store secrets in OTP so as to
mitigate both the current vulnerability
‘and a hypothetical future attack which
can achieve complete readback.
Onthe success of RP2350 and the Pico2
‘microcontroller boards that use it, Upton
adds: “since August last yea
over half a million Pico 2 and Pico 2 W
boards. RP2360 itself has found its way
{nto countless third-party products, from
secure displays to development boards
tosynthesizers.”
World of Raspberry Pi
Paani]
Challenge
Tooicie wth the avalabilty of
the Ad stepping and RPZ3S4 variants,
Raspberry Pi has launched another P2350
Hacking Calenge
iste itis fering 2 $2,000 prize for 2
rectal side channel tack onthe power
hardened AES library that underpins the
P2350 cecypting bootloader
‘pimag.corhackingchallenge2
Raspery Poca apeane ”Anatomy of a metal spin
‘The A stepping is what Upton calls a metal spr. In this upgrade, the
functional changes, including the updated boot ROM, are implemented
by mosifying some ofthe layers of wring that connect the gates in
the desig
Zooming in,
here isthe
implementation of
an inva fix iv
this case, part of
the OTP security
hardening required
to adress Enatum
16). A2 (above
and Ad (below)
This image shows
athe locations in
which AA citfers
from Az; the dense
block of changes
atthe bottom of
the die implements
the updated
boot ROM
eee ete)
“The complete pric structure for Raspher P microcontroller products summarised in the
table below. 7-nch ees ofeach product contain $00 units; 18nch reels contain eter 3400 unis
(R200, F735) or 250 wns (APZIGIB)
Single unit Trnch reel 13-inch rel
P2040 $1.00 0.80 $070
RP2350A $110 $0.90 $0.80
P23508 $1.20 $1.00 90
RP2354A $1.30 si.10 $1.00
P2354B $1.40 $120 110Frequently asked questions
World of Raspberry Pi
How dot know whether have an A2 orn A&?
The stepping identifier canbe found onthe top ofthe package, as
shown below,
RP2350(A2] RP2350(A4)
| Ad softwarecompatible with A2?
Yes. We have made a few minor changes to versien 2.2.0 of th Peo SOK
(tpimag.ce/peosak) nat Picatoo| (rplmag,eo/pioteel) 0 suppor the
AMsteping
Will you EOL the A2 stepping?
We nave already ceased production of AZ, mave al production to A
and withdrawn the remaining inventory of €2 from channel Adis
ropin replacement for 2, and customers should not experience any
issues migrating to Ad
What happened to A?
AS was an intermediate stepping used to quali subset of the es
presentin the A stepping,
> P2354 ade 1eMbiN/2MB flash memory to
ne chipset. & small amaurt of storage for
persistent data without developers needing
to add aeeparate storage solution
Will thre be a PCN in PIP?
You can the product change notice forthe A? to A ranston
hor: pimag.co/adpen
Will Pico2 products switch toA8?
rerualyalPico2 products wil use the A stepping. While the AS
stepping will nat be made avaiable to silcon customers, approximately
3000 uits of A3 inventory will be used to buld Pico 2 and Pico
2 product.
id you change the pinout or package design with AA?
"N-the A stepping i only an up othe metal layers ofthe RPZ350 di
Do sil need to use the Abracon polarised inductor and Abracon crystal
with Aa?
Yes: please keep folowing our hardware design quid and reference
BOMMayout
Will there be an A?
Wehave no curtent plans foran AS stoping. Over ime, itis posible thet
‘mare security vlerabities or unctional seus willbe found, t which
paint we will est appropriately.
aspary Pic apse 8Connect for
Organisations
Raspberry Pi Connect for
Organisations features enhanced
audit logging. By Lucy Hattersley
> The aut log
lists remote
shell and screen
sharing sessions
with Timestamp,
‘ation, subject,
and Actor
“ cane fr rinetons
aspberry Pi has announced
an upgrade to Raspberry
Pi Connect ~ its software
designed to enable you to remotely
access a Raspberry Pi with screen
sharing and remote shell via a
web browser.
Connect for Organisations features an
improved audit log designed to improve
operational oversight. Administrators,
can review activity from the past 90 days.
“wvith the most recent events
first, you can see every
screen sharing and remote
shell session, the creation of
access tokens, the addition
and removal of devices, and
any changes to users and
theirroles,” says Paul Mucur,
senior principal software
engineer at Raspberry Pi.
What's new?
New features also include:
+ Country tracking: see where events,
took place and spot suspicious
activity
+ Download CSV: download detailed
logs for auditing and security
+ Filtering: focus on the specific
actions important to you“we now goolocate every event by IP
address, storing only the country code
in order to preserve privacy,” explains
Mucur. “This information is included in
both the web interface and the newly
‘added CV export option to help youeas
spot access from an unexpected country.
Connect for Organisations offers a
Download CSV function that enables
administrators toexport a complete aut
trail for offline review in spreadsheat
software. It also offers the ability to
filter the audit log by action, such as
‘screen sharing session started” or
“invite accepted’
“Together, these new features can ald
administrators in asecucity investigation
if a team member reports unusual
activity,” says Mucur.
These new features can
aid administrators in a
security investigation
‘These improved audit log features
are available immediately for existing
Connect for Organisations use
Connect for Organisations is available
with a four-week free trial and then from
$0.50 per device per month. Discover
more at Connect for Organisations:
pimag.co/connectfororgs. ©
—_ a)
World of Raspberry
‘4 Administrators can filter by specifi events,
such as access token creation, to feeus on
relevant securty activity
aspen Piotcal Manane
PiBuild HAT goes
open source
Raspberry Pi opens Build HAT firmware
to developers under BSD licence.
By Lucy Hattersley
Build HAT
enables direct
control of Lego
Teenie matore
and sensors
aspberry PI has made the
firmware for its superb Build
HAT (rpimag.co/buildhat)
‘add-on board fully open souree. Build
HAT is Logo Education-compatible
hardware that enables Raspberry Pi to
control Technic motors and sensors (ike
‘those found in the Lego Education SPIKE
Prime sets
“We're delighted to announce that
the Build HAT firmware, together with
its signing keys, is now open source
and available under the permissive
BSD 3-Clause licence,” says Gordon
Hollingworth, CTO (Software) at
Raspberry Pi
According to Hollingworth, the
decision to release the firmware source
reflects a broader
commitment to
enabling users to
“understand and
take control of the
technology they
‘uso where wecan.”
“When we
launched the Build
HAT, the firmware
that runs on its
‘on-board microcontroller was released.
inbinary form only,” Hollingworth wrote
inthe announcement. “While it was fully
functional and documented vin the
Raspberry Pi Foundation's Python Build
HAT library (tpimag.co/pythonbuildhat),
‘the firmivare itself wasn’t something you
could inspect, modify, or rebuild.”
Check out the repo
‘The official Build HAT Gittub repository
(epimag.co/brilahatgib contains the
complet sourcecode, ld instructions,
tnd protocol documentation for host
communication, soyoucan start exploring
and modifying it for your own projet.
theRaspberyFiFoundations Python
Build HAT hbrary has also been updated
vwith new documentation to include
fuldance on using the board with ome-
Dull trmvae, paving the way for deeper
experimentation and integration
"we hope this change will inspire
even more amazing projectsandbiliant
builds; Holingworth not, extending
thanks to contributors chris Richardson,
Patrick Cherry, and ego Bducation for
thelr support in making the open-source
release possibe.©ty
and Bulé HATSUBSCRIBE TODAY
FOR JUST £10
Get 3 issues + FREE Pico 2
SUBSCRIBER BENEFITS
Free Delivery
ett fast and for free
Great savings
a
SUApala
myn =e4 1:2), Leh;
( Fotoerl degen a Pe IPAL
Eta Jseusy | © subscribe online: rpimag.co/subscribe
Email:
[email protected]Subecriptions i
SUBSCRIBE TODAY AND GET A
FREE Raspberry Pi Pico 2 W
(or Pico 2)
ee oil
Dereon)
xedEdgeberry
Turning home projects into a development
loT platform. Rob Zwetsloot connects with
the story
Moker
‘Sanne Santene
An embedded systems
‘and Linux crestor who
hashad@ifelong
fascination with
inteligent machines
‘imag.coledgeberry
Sanne inher
happy pace,
soldering and
working on PCBS
lot of Raspberry Pi projects
‘come to us after someone
decided they couldn't got
the right parts for their own personal
projectas...well they didn'texist. Sane
Santens' impetus for her project was not
such diferent.
“pageberry isthe result of many years
of throwing Raspborry Pi [computers] all
over the place literally, with all kinds of
sensors, actuators, ete. ghied to them, with
custom-designed enciosuesfor protection
orintegration ints environment,” Sanne
says. “I found myself basically redoing
substantial parts of the system over and
over ~ but just with small [variations]:
‘aking robust power solutions, mounting
Raspberry Pi fboards) in boxes, wiring
up interface boards, debugging flaky
connections, weting device management
features in an online dashboard.”
After noticing the commonalities
of the devices she had been building,
she decided to create her own custom
expansion board that combined them all
together. “Edgeberty, to me, is the solid
building plate / foundation on which 1
build my ot” ideas,” Sanne explains.
loT development
‘This foundation becamesomething Sanne
believes can be helpful to many kinds of
Raspberry Pi users.
“it's a modular expansion system
that turns Raspberry Pi into a robust,
adaptable 1ot edge device,” Sanne tells
us. “It combines @ custom HAT-style
board, a robust 3D printable enclosure,
builtin user interface elements dike a
status LED and buzzer), and a flexible
hardware cartridge slot for application
specific electronics (leaving most of
Raspberry P's beloved 1/0 pins intact.
Edgeberry simplifies the messy part of
setting from prototype to real-world
A threepin header going
header forms the watch claspGerman word clock
By Reputila
rpimag.co/WordClock
e've seen word clocks
previously in several
configurations, including
Jaser-cut, 30-printed, andone intriguing.
version that used servos to bring the
projected words in and out of focus,
rather than revealing them through a
grid like usual. However - and this is
sgiventhat we livein abig, varied
we've never seen a word clock in
a language other than English. at least,
not until now. Reddit user Reputila built
this example with their first 3D printer, a
Bambu LabP1S, The electronics are based
on a Raspberry Pi Zero W that they had
lying around, which enables the time to
syncover Wi-Fi while the clock isin range
of the internet, and there's a DS3231 real-
time clock to make sure that the device
doesn't lose the time when it's either
1d to the internet or power
As far as controls go, there are a couple
ff buttons to control the brightness and
colour of the LEDS.
not conn
> Somehow we fee wed be more punctual f
wetald the time in German>=
yg a Cl eae
i eePETmachine
By Igor Tylman
rpimag.co/PETmachine
he doom and gloom over
climate change and ecological
collapse does have one silver
Uning: the high numbers of plastic
bottles that we're currently throwing,
away into landfill, orriversand seas, are
brilliant potential source of b printing,
filament. Polyotiylene terophthatate, or
PEP as it’s abbreviated, is strong, light,
non-reactive, and is a bartiar to oxygen,
which is the molecule that among other
things enables bacteria to turn beer into
vinegar. It's an incredibly useful material
{in food packaging for all these reasons,
‘and ints modified form of PETG, it's also
‘widely used in 3D printing. igor Tyiman
has built @ machine that can reliably
‘tum ompty PET bottles into 3D printing,
‘lament, potentially turning rubbish into
gold. Thare'sno place on Earth that doosn’t
have an excess of plastic bottles, so this
technology really could lower the entry
barriers to 30 printing for many people.
It's pretty simple: the rotating bottle is,
continuously sliced intoa single thin strip
‘which runs through a heater to shape it
Into a consistent 1.75mm wide filament,
‘The machine itself is aD-printed, and
the electronics and build instructions
are available from Igor’s website. The
G at the end of PETG stands for ‘glycol-
‘modified’, which isa process that makes
the PET easier to work with; without
this modification, any printer using t
recycled filament will neod an all-metal
hotend capable of reaching. 270°C, on top
of which the makers recommend using a
dual-drive extruder.‘Top Projects
#
> The machine
cute a PET bottle
ita a continuous
stip, feeds
into a heated
etude, and out
comes a 1.75mm
filament stand
ly wound ento|
ul
AN
Warning!
Conlin fumes
Heating plastic can
release gases that
‘may be harmful to
health f youre going
to dothis,doitina
wel-ventlated area,
rpimag.cofumes
Raspery Pica apneCute Chemistry
The hardest science just became
the softest
Bane eee ene
rochet is not only a mindful something reassuringly mathematical
way of active relaxation about the way a crochet pattera lends
and a way of making nice itself to being 3D-printed. Think of it
woolly garments to keep yourselfand like f you will.
your loved ones warm or giant woolly If you squint, we hope you can see the
resistorsif youso wish ~seetlackSpace influences in this 3D-printed crochet
Magazine issue 40 for more) - it's also style chemistry set, printed by Reddit
intensely mathematical. s Nicolaking user 59 Bassman and designed by
discovered in HackSpace Magazine issue NaraaPrints. The designer recommends
81, there’s a whole world of equations —printingata tiny layer height ofo.16mm,
wrapped up withine infil; th
~ it'sjust numbers and yam, after all. shown here was printed in PLA, with
while i's a bit of a stretch of the wood-fibre PLA used for the test tube
Imagination, we think that there's stands and the corks. ©
‘ode for your finge
ery pieceofecrochet with two walls andl 1ees 9=
ald
ime
ie
45
fa
ie
in:
one
SASS
ELECTRONICS
Get started with electronics with this
simple one-dimensional game for
Raspberry Pi or Raspberry Pi PicoPee.)
Sram
G
een
aspberry Pi computers and microcontrollers are
‘great tools for interacting with things inthe real
‘world We can add our own harcware or interface
e@ them with other electronics using their GPIO (General-Purpose
Input/Output) pins. These pins can detect voltage cinpub,
send out voltage (output, and even transfer more complex
data using low-level protocols. In his article, well use these
three different abilities tobulld a game.
We're going to use CircuitPython,
because this Lets us use the same
code on both Pico and Raspberry Pi
We're going to use CircuitPython, because thislets us use
the same code on both Pico and Raspberry Pi Thisallows you
touse whatever hardware you already have, andit also helps
you understand a little more about the capabilities of each
‘device. If you've not used CircultPython before, take a look
at the boxes throughout this guide to get started,
Button basics
Let'sstart with one of the simplest uses fora GPIO pin: reading
voltages. Most GPIO pins ae digital, which means they don’t
‘measure the exact voltage level. Instead, they only detect,
whether the voltage is high (3.3V on Pico and Raspberry Pi)
cor low (OV). (Gome pins on Pico can measure varying voltage
Jovels~ these are called analogue pins - but we won't beusing
those in this project.)
‘To read data using a GPIO pin, we need to build a simple
circult that gives us 3.3¥ when somethingis‘on’ and ov when
it’s‘off.
Raepery Potosi Mannane a
deIt's important to understand tht oV is not the same as
an unconnected pin. oV is a defined voltage level, while an
unconnected pin called “loating’) has no definite voltage and
may behave unpredictably. m this state, the pincan randomly
read as HIGH or LOW due to electrical noise or interference.
‘Thisis why we use pull-up or pull-down resistor ~to give the
pin a default, reliable state when nothing else is connected.
Figure 1 shows.a simple circult for connecting a buttonto
aGPIO pin on Pico, When the button isnot pressed, the GPIO
pin is connected to 3.3¥ via the pull-up resistor soreads HIGH.
‘When the button is pressed, it connects the GPIO pin directly
to ground (the GND pin). This creates a clear path for current
to flow to ground, and the GPIO reads a LOW signal (OV).
‘Since pull-up and pull-down resistors are very often
needed with GPIO pins, both Pico and Raspberry Pi have
Intemal resistors that you can use. You just have to initialise
them in your program.
‘Now, with that theory behinds, let’s connect abuttonto
Pico. There are lots of different buttons you could use for this.
If you want, you could even just use a wire to connect GND
and a GPIO pin and attach and detach the wire to simulate
prossing the button
44 Figure 1: your
‘comectons use diagonally
opposite ones
ton bas four
+ Buttons ae more correctly ealed
momentary push switches. They are
usualy ‘open’ and when you press them,
‘they ‘lose the connection and complete
Une E cess aiia
‘You can use CicuitPython code ona Raspberry by intaling Binks
Binka acts. as a compatiblity layer, allowing CircuitPython features
‘to werk wit regular Python To install his, we need to frst create @
virtual enionment,
8 pythons -m venv venv --systen-site-packages
§ source venv/bin/activate
Next, setup your Raspbery Pi and install Bika wth these comands:
$ pips install --upgrade adatruit-python-
shell
$ wget https://rew.githubusercontent.con/
adafruit/Raspberry-Pi-Installer-Scripts/master/
raspi-bLinka.py
'§ sudo -E env PATHSSPATH python
raspi-bLinka.py
@
‘The frst command installs arequited package the second download the
Binks installer sort, end the tid runs the instal,
You may be asketo eboct the machire when this uns
(nce the instalation complete you can use Binks torn GrcuitPython
code with he regular Python interpreter, Just make sure you vita
‘emvironment is activated. You can activate itt anytime by running the
{allowing command inthe terminal
8 source venv/bin/activate
Torun anyof the code inti rt, ave tte a le and un
§ python
#
JThe code to read this in Circuit Python is shown below,
‘The biggest difference between Pico and a Raspberry Pi
computer isthe pin numbering isa bit different. Pico pins are
called GPo to G22 while Raspberry Pi pins are Do to D26. Not
all the pins can be used for everything as some are reserved
ot particular functions. In general, the pins on Picoare more
flexible than the pins on a Raspberry Pi computer
‘We've provided both pin versions in the code below and
you'll neod to comment out (add a # at the start of the line)
the one you're not using, and tincomment (remove the # at
the start of the Ine) the one that you are using.
‘Buttons usually have either two or four connections. If your
button has two connections, then you can connect it either
way around. Ifithas four connections, then there are really
two sets of two, The eastest way todo it isto use dlagonally,
opposite connections - either diagonal works.
‘Welll show the direct wire connections for the
you can do this using wires or a breadboard,
Anport board
inport digitalio
import tine
#Pic0
BUTTON.PIN = board.cP1
sraspberry Pi
#BUTTON_PIN = board.D17
button = digitalio.DigitalInout(board.cP14)
# Use appropriate GPO pin
button.direction = digitalio.0irection. INPUT
button.pull = digitelio.Pull.UP # Enables
internal pull-up resistor
while True:
Af not button.velue: # Sutton pressed
(pin reads Low)
print (“Button ie pressed")
else:
print("Button is not pressed")
‘time.steep(a-1)
oes
One slightly odd thing about this code is the line:
Af not button. value
‘Youmight expect that toread 4f button.value, but we've
using a pull-up which reads HIGH (which evaluates as True)
hen the button Is pressed and LOW (Le. False) when it Is
pressed. This might seem abit backwards at first, but ithelps
if you think about what’s going on at an electrical level
Blink and you'll miss it
‘We've created a simple input device, and now let's look at
the simplest output device: a light-emitting diode, or LED.
LEDs ight up when you puta voltage across them. However,
LEDs are sensitive to too much current, which can damage
them. Youcan calculate theexact resistor value needed using,
srmulas based on voltages and current limits, but to keep
ings simple, just use a 2200 resistor in series with the LED.
Figure2 (overleaf) shows youhow toconnect uparesistor and
an LED to a GPIO pin. Unlike pull-up or pull-down resistors,
ica doesn’t provide internal current-limiting resistors for
LEDs, s0 we need to add an external one.
This tural will work on any version of Pico. To intl ircuitPython
‘on Pie, youfirst need to dovnload the appropriate UF2 le rom
‘pimag.co/ieutpython Then, press and hold the BOOTSEL bute
on the Pico while comectingit to your computer via US. Keep
hosing he button until the Pico i uly connected
Cones connected, you shoud see a new sive called '#P2
appeat Drag and crop the UF2file onto the RP2 ve, Ths installs
nds the RP2 ive wil
GireuitPython ona Pico. After afew
daoppesr, and 3 new civ caledCIRCUITPY wil appes.
Now download the Mucode extor from eodemith.mu and instal
‘on your computer You can use this to enter, edt. and save the code
were cresting in ths arte. Cick the Seal button in Muto view the
output fom CrcutPythonunning on Peo. This canbe particularly
sel in fing any eo,
eatFigure 2: We need
to add aresicterto
prevent too much
curent fom démaging
the LED
Unlike buttons, LEDs have an orientation. That means that
they have to be connected the right way around. Usually
there is a flat side and this marks the side that should be
round (GND). You won't damage the LED by
ng way around, so you can just pop it
inand if it doesn’t work, turn it around,
Here's some CircuitPython code to blink an LED
import tine
import board
import digitalio
aPico
#LED_PIN = board.cP?
sRaspberry PA
LED_PIN = board.017
led = digitalio.DsgitalInout (LeD_PIN)
led.direction = digitalio.Direction OUTPUT
while True:
ed.value = True # Turn LED on
time.sleep(9.5) # Wait for 9.5 seconds
led.value = False # Turn LED off
time.sieep(@.5) # Wait for 9.5 seconds
LED there be (more) light
Buttons and LEDs hoth work with a single bit of data. That,
means they can only be in one of twostates. A button iselthet
pressed or not pressed, ancl an LED is either on or off. Many
other devices are more complex and need to send and receive
ore detailed information - for example, to control colours,
positions, or movement.
‘We're going to use WS2812B LEDs, which are also known,
asNNeoPixels. These allow you tocontrol many RGBLEDS from
a single GPIO pin using a special communication protocol.
Each LED's colour ean be changed by adjusting how much
red, green, and blue light it emits.
You can pu the resistor
on either side of the
LED and t will work
Wiring them up is simple. You just need to connect the s¥
pin on the LED strip to the 5V output on Pico, GND to GND,
and the Data In pin on the strip toa GPIO pin. Be aware that
‘these LED strips are directional. This means you must connect,
‘the GPIO pin to the correct end, which is usually marked with
‘DIN’ or an arrow. If you connect to the wrong end, the LEDS
won't respond.
WS28128 LEDs come ina lot of different forms, but when
you get them, there is typically a wire with a three-pin
Connector on the end, Usually, the socket enclof the connector
ison the Data n side, but thisisn’t completely standard. For
testing things out, we lke to use pin-to-socket headers and
‘we can poke the pin into the socket on the LED strip, the
connect the socket to a GPIO on either Pico or Raspberry Pi
ince these have slightly more complex comsmunie
protocol, we need to add a module that implements this
protocol. The process for adding modules is alittle different
on each platform.
nico, head to rpimag.co/cirepylibraries anc download
‘the bundle for the version of CircuitPython you have, This will
bbe azip file Extract it and copy the neopixel.mpy file from
‘within the lib folder to the Mb folder on the CIRCUTTPY drive,
on Raspberry Pi, make sure you're in the virtual
environment you created when you set up Blinka, then run:
pip install adafruit-etroustpython-neopixel-
spi>
ere is some code to test everything out by flashing up On Pico, we can use any pins for the LEDs; however, on.
some colours. Raspberry Pi we are more limited. We have to use GPIO 10 for
Initialising WS2812B LEDs is a bit different on each the pixel pin because this oneis attached to the SPI peripheral,
platform, so there are two blocks of code: one for Raspberry and t's this that wo're using to send the data out tothe LEDs.
Piand one for Pico, On Raspberry Pi we've used twopins for the LEDs, Dut wel
leave one of them unconnected. It's because we're using a bit
Anport board of hardware designed toclo something different to control the
Anport busic ‘NeoPixels. We do have more flexibility with the button pin, But
Anport time can't just use any as some are reserved for specific functions.
NUM PIXELS = 10
BRIGHTNESS = 0.5
tor Pico
‘import neopixel
#PIXEL_PIN = board.cP2
#BUTTON_PIN = board.cPt
pixels = neopixel NeoPixe](PINELPIN, ee
NUM_PIXELS, brightness=BRIGHTNESS, Teer ee ecacaey
auto_write-Trus) else, they wont wark
> There are aiferentspes of
addressable LEDs, so make
For Raspberry Pi
#import neopixel_spi
#PIXEL_PIN = board.010
#CLOCK_PIN = board.011 WS2812B LEDs come ina
fyixels = neopixel_spi.neoPixel_sP1(busio .
SPT(clock=CLOCK.PIN, HOST=PIXEL_PIN), 10) lot of different forms
colors = [
(255, @, 0), # Red
(0, 255, 0), # Green
(e, @, 255), # Blue
(190, 100, 108) # white
1
4 Younaveto
nate True eri
for color in colors: corning
pixels. f211(co10r) sae
tine. s1e09(0.8) (ese
Raspbery Pi
aspen Potosi Manan 610218»
eno arcu)
01009),
03 0) ©
eat se ©
ermo(o.so
ono 3m)
eros oUF
ities a Lae iat
ie ol iit ol ges = ane
ea <4 Pico’ pins are labeled onthe
Gre underside, but for Raspberty
cron) Pi youll need toeferto 8
eo sqa0) i
wourn pinout diagram
e- e*
Ready, set, glow! BUTTON_PIN = doard.017
Now let's add a button and make a game. This is a cross pixels « neopixel_spi.NeoPixel_sPr(busio.
between Chrome’s dinosaur game and a set of Christmas SPI(c1ock=CLOCK.PIN, MOSI=PIXEL_PIN), 18)
lights. The idea is simple. The lights will ight up green, and
red pixel will randomly appear and move towards the end. DeLay = 6.3
‘You have to press the button in time to jump" over the red
pixel when it reaches the end ofthe strip. If you're successful, GREEN = (0, 255, 0)
te strip will ight up white.
‘The code for this is:
import boaré
import busio
import tine
import random
import digitalio
NUM_PIXELS = 10
BRIGHTNESS = 9.5
sror Pico
fimport neopixel
APLXEL_PIN = board.GPe
BUTTON_PIN = board.cP1
pixels = neopixe) .NeoPixel( PIXEL_PIN,
NUM_PIXELS, brightness=BRIGHTNESS,
auto_write=False)
aFor Raspberry Pi
import neopixel_spi
APIXEL_PIN = board.010
#0L.0CK_PIN = board.O11
RED = (255, 6, 0)
WHITE = (190, 168, 100)
FLASH_DURATION = 8.6
# Button setup
button = digitelio.DigitalInout(BUTTON PIN)
button. direction = digitalto. Direction. INPUT
button.pull = digitalie.Pull.UP
det Flesh_color (color, duratior
FLASH_DURATION)
pixels.f111(coler)
pixels. show()
‘time.sleep(duration)
while True
red.pos = 0
# Move the red pixel forward
While red_pos < NUM_PIXELS:
# Draw strip
for 4 in range(MJM_PIXELS)
Af 1 == red_pos
pixels[i] = REDelse
pixels[i] = GREEN
pixels. ehon()
4 Wait for DELAY, check for button
10 = tine.monotonic()
pressed = False
While tame.monotonac() ~ t@ < DELAY
4f not button. value
pressed = True
break
Af pressed:
4 red_pos:
# SUCCESS!
Flashcolor (WHITE)
else
flash_color (RED)
break
red_pos
else:
4 If 4t reaches the end and you
didn't press, flash red for “niss*
flash_color(RED)
# snatl pause before restarting
time. sLeep(0.7)
The
send data othe LEDs, but nat which bt
of date corespondsto whieh eoout, 0
8 protocol describes how to
YU may find that the colours aren right
onyour LEDs. Youcan configure which
bicof data
by changing the code
ends ta which colour
oes
fends our whirlwind tour of electronics on Pico and
the detail to help
you get up and running quickty, but hopefully you now know
the basies of connecting other hardware to these two d
You've also probably got a bit more of an idea about the
differences between Pico and Raspberry Fi, The former has
‘more flexible 1/0 options and afar simpler software setup, and
the latter has several orders of magnitude more processing
cer, While there is some overlap between which projects
workon which device, they arereally very different platforms.
If you take the skills you've learned in this article further,
je'd love to hear from you. Every Monday rl
‘media to find interesting projects, soif you're posting pictures
at the start of the weok, tag #MakerMonday
Hi
Raspberry Pl. We've skipped over som
fe take to soe
2B LEDs require the digital signal voage to heat east 70%
ofthe supply wotag. This means that shouldbe at least 3.5. ico
and Raspbery Pi operate at 3.5¥Thsis so cose that almost al
1 youl be fine connecting the datain ne tothe GPIO pin. J
vcasionaly, youl gt a tip that behaves strang
Yuan do ane of two things. You can cross your fingers and hope
for the best fand his is what most people do) or you can correct.
the protien which typical involves using level shies, We almost
almays ust use a3.2V data signal and hope forthe best, unless we're
creating aprojet that has to work reliably, especially in adverse
conditions (such a aus in the ar).
f your LEDs come wit
a threein connection,
you can poke gin
headers ino them to
‘connect them t0 Pico or
Raspery Pi
aspen Photos annone aSimple Electronics
with GPIO Zero:
In the beginning
Connect electronic components to your
Raspberry Pi and write code to interact with
the real world
Maker
Phi King
‘longtime Respbery
Piuser and tinker,
Prilieafrelanoe writer
and editor with foeue
contechlogy.
phikingeditorcom
« ‘spleens wh GO Ze nthe Bening
aspberry Pi is a great platform for learning
computing. Whothor that’s writing your own
programs ot building a media server, Raspberry Pi
has the tools, resources, and community support to help you
Jeam how to build what you want, Raspberry Pi is also very
good at physical computing ~ programming and interacting
with the real world through electronics, as the name suggests,
physical computing s all bout controlling thingsin the physical
‘world with your programs: using hardware alongside softwrare.
When you set the program on your washing machine, change
the temperature on your programmable thermostat, or press
a button at traffic lights to cross the road safely, you're using
physical computing.
Electronic circuits are the physical part of a physical
computing project. You'll connect these circuits to your
Raspberry Pi, which, together with the code you'll writ, is the
computing part of the project. These circuits can be simple or
very complex and are made up of electronic components suchas
LEDs, buzzers, buttons, resistors, capacitors, and even integrated
circuit () chips.
Atits simplest, an electronie circuit lets you route electricity
tocortain components in a specific order, from the positive end
of acircuit tothe ground (or zero volts) end. Think ofa light in
your house: the electricity passes through it, soit lights up. You
canadd a switch that breaks the elrcult, soit only lights up when
you press the switeh. Now it’s an interactive electronic circuit.Tutorial
Simple electronics
with GPIO Zero
Tisai san estat om fap Ps
bik Sle etc nt CP Za
Update apy dees
betes rian Rome
Surin elector oct sg 4
Reephery Pl PO pn. Cad a Pyton a—~o. &
vite 0 Zia. oes
res Lona mtor=esna
arm gtr goed
trie. and Raspbery robot tc
: 1
|
wimg olgieerobook
a Figure A
ireuit sevch ond
Re ig circuit diagrams ae
Bulldnga circuit canbe easy if'you know what you're doing, , EB HeHE, \
byt if you'te mating a new circuit or are new to electronics in” SMBOETO
genoral, you'll most ikely have to refer toa circuit dingram, Sos SN
‘This isa common way you'll see a circuit represented, and these
diagrams are much easier to read and understand than a photo
‘of acircuit. However, components are represented with symbols
which you'll need to learn or look up.
If you're making a new
circuit, you'll most likely have
to refer to a circuit diagram
Figure1 isan example of alight circuit, Here we havea power
source (@ battery in this circuit), a switch, a resistor, and an
LED. The lines represent how the circuits are connected, either
way round, such as the resistor or switch. However, others
have a specific orientation, such as the LED. LED stands for
Light-Emitting Diode, and diodes only let electricity flow freely
inoone directions luckily, real-life LEDs have markers such as a
longer leg ora flat edge toindicate which sideis positive, making —tr— —"-—
nid ee
Raepery Potosi Manan «+ Figure 2
Raspberry Pi
PIO pinout
Raspberry Pi pin numbers (5,48, 98+, 38, 28, Zero, Zero 2 W. At, B+)
Figure 3:
Raspberry Pi
400 and 500
PIO pinout
Raspberry Pi pin numbers (500,400)
Introducing the GPIO header
At the top of Raspberry Pi’ circuit board, or at the back of a
Raspberry Pi 490 or 500, you'l find two rows of metal pins. This
is the GPIO (general-purpose input/output) header andit’s there
so you can connect electronic components to the Raspberry Fi
As the name suggests, these pins can be used for both input,
and output.
‘Raspberry Pi's GPIO header is made up of 40pins, as shown in
Figure2, Some pins are available for you touse in your physical
‘computing projects, some pins provide power, and other pins
are usedl to communicate with add-on hardware.
‘The Raspberry Pi 400 and 500 compact keyboard computers
have the same GPIO header with all the same pins, butit’sturned
upside-down compared to other Raspberry Pi models. Figure
assumes you're looking at the GPIO header from the back of
Raspberry Pi 400 0r 500. always double-check your wiring when,
connecting anything to the GPIO header on one of the compact
‘computer models - it's easy to forget, despite the Pin 40 and
Pin 1 labels on the caset
Raspberry Pi Zero 2 W has a GPIO header too, but doesn’t
necessarily have header pins attached. Ifyou want todo physical
‘computing with Raspberry PiZero2W, or another model in the
Raspberry Pi Zero family, you'll need to solder the pins into
place using a soldering iron. If that sounds alittle adventurous
for now, check with an approved Raspberry Pi reseller for a
Raspberry Pi Zero 2 WH with the header pins already soldered
into place for you.
0 ‘spleens wah 0 Zao nthebegning
Raspberry Pi and electronic circuits
Involving a Raspberry Pi computer in a circuit is quite easy.
At its most basic, it can provide power to a circuit, as well as
a ground (abbreviated as GND) end through the GPIO pins.
Some pins are always powered, mostly at 3.3V, and several pins
offer a ground connection. Most pins can be programmed to
create or recognise a HIGH or LOW signal, though; in the case
of the Raspberry Pi, a HIGH signal is 3.3V and a LOW signal is
ground or ov.
man LED circuit, you can wire up an LED to a 3.3V pin and
‘a ground pin and it will tum on, but you will need a low-value
resistor (around 3208 is good) in there somewhtere to keep from
‘burning out the LED. If you instead put the positive end of the
LED onto a programmable GPI0 pin, you can only turn it on by
running some code that makes that pin go to HIGH, Wo'll lool
at controlling LEDS in the next part of this series
Staying grounded
Youl sometimes see ground refered to as negative partcuariyin
deserntons ofa battery’ pasitve and negative terminal, but eso as the
minus symbol (-) ona breadboard and some components. Inthe king of
‘ruts youl see inthis tutorial series, youl be working wth S vos, 33
voll, ad #0 elt (roundWiring up a circuit to a Raspberry Pi
computer is simple. To create the physical
circuits in the guides throughout this
series, we're using solderless prototyping
breadboards, as shown in Figure4. These
allow you tolnsert components and wires
to connect them all together, without
‘having to fix them permanently. Youcan
‘modify your circuits and completely reuse
your components because ofthis.
Using GPIO Zero
nce the components are all hooked up
toyour Raspberry Pl, you need ta be able
tocontrol them. Raspberry Pi is set up to
allow you to program it with the Python
language. GPIO Zero makes it easy to
‘program components in Python. It comes
pre-installed in the latest Raspberry Pi
0S desktop image. if you don’t have
it, however, you can install GPIO Zero
‘manually: after performing a package
listupdate by entering sudo apt update
ina terminal, run sudo apt install
python3-spiozere.
GPIO Zero was created to simplify the
process of physical computing, helping
new coders to learn. It's a Python library
‘which builds upon the existing GPIO
Ibraries RPi.GPIO and pigpio. However,
‘while those libraries provide an interface
to the GPIO pins themselves, GPIO Zero
sits above them and provides a way to
interface to the devices that you connect
tothose pins.
‘This simplifies thinking about physical
computing. Consider witing a simple push
Dutton toGPI0 4 and ground pins. inorder
to react to this button, we need to know
that the pin should be configured with a
pull-up resistor, and that the pin state
‘when the button is pushed will be LOW.
Tutorial
4 Figure 4: A
prototyping
breadboard
Here's what this would look like in the classic RPiGPIO library:
‘To complete beginners, there's quite a lot going; on there,
‘which gets in the way of experimenting with it and even earning
thesimple logic required. Here's the equivalent code in GPIO Zero:
‘The boilerplate, the setup code you must write without
necessarily understanding its inner workings, is reduced to
the bare minimum that we need, The name ‘GPIO Zero" derives
from this‘zero boilerplate’ philosophy, which was first espoused
by Daniel Pope's Pygame Zero library.
‘The logic is straightforward, with no curious inversion of
the input value,
‘So, now you've learnt about GPIO Zero and how it makes
coding much simpler, it’s time to get started doing some physical
computing with it. Next time, we'll show you how to wire up
some LEDs on a breadboard and control them using GPIO Zero's
LED class.
asporyPioticalopnane 8eee) || os
=
=
s
=
=
Waring! =
ce =
fe a
Sader msg very =
pot nd stat tore =
eta ere =
netics =
satya aor m=
inh st when <
youre na using itand
ort touch the metal
parts ~ even after
its unplugged
rpimag.co/soldering
Feeling board
Our weather station needs a PCB to hold the electronics and
an enclosure to keep it safe outside. Let’s start by looking at,
the Pca.
‘The electronics we'te using are a Bosch BME260 temperature,
humidity and pressure sensor, and a PMS5008 particulate matter
(airpollution) sensor. We'lluse a Raspberry Pi Pico W tocontrol
these and upload the results to an online repository.
‘We could design a PCB to hold the bare BME280 sensor, but
it’sa tiny device and quite hard to solder. Ifyou ikea challenge,
then you might want to do this, but we took the easy option
and used a module that holds the BME280 and a few other
components to help it work: an Adafruit BME290 module, You
should be able to use one from another vendor, but the pinout,
might be different, so you'll need to check this and make any
changes if necessary.
‘The PMSS008 connects via a cable that requires particular
socket that's a bit hard to source, so we've opted ta cut the
ribbon cable and instead put aset of screw terminals on the PCB,
We don’t need all the connections, just 5V, Ground, Rx, andl,
We won't go through the full design process, but it’s
a fairly simple PCB using the same method that we looked
at in part 1 of this series. You can download the full design,
at rpimag.co/github.
Once the PCB has arrived, you'll need to solder everything
together and wire it up. We soldered socket headers for the
BME280 and then pushed it into place. The PMS5008 is wired
upas follows:
Tutorial
4 our PCB asit
cate back rom
the factory
There are four pins we need:
+ Power
+ Ground
+ RK
oo
‘These are the first, second, fifth, and fourth pins respectively
‘n the PMESg008 (where pin 1 isclosest to the centre of the device).
These connect to the PCB in the following order:
+ Ground
+o
+ RK
+ Power
starting with the end closest to the USE port.
Boxed in
Now that we have our PCB, we need an enclosure, We've gat
the full range of industrial 3D printer materials to choose from,
and we selected sintered nylon. This produces parts that are
significantly tougher than those made on mast desktop printers,
so our weather station should survive even if it takes a few
bumps along the way.
Our design is abox that's open atthe bottom, has sloped lid
to shed rain, and includes two serew holes for mounting.
You could design something like this in any CAD package. We
used FreeCaD because'it’s the tool we're most familiar with. You
ccan get the design files from rpimag.co/github.
aspen Piotcal Mannane>> The PMSSO02s low-cost particulate
‘matter sensor tha’ teat for DIY projects
Making it fit
‘One ofthe most challenging parts of a project like tisisensuring,
that everything fits together. in this case, that meant making,
sure the mounting holes forthe botts holding the PCB in place
aligned property, and that the enclosure was the right size to
hold al the components,
FreoCAD does have the ability to import KiCad models;
however, that would only work if all the parts we used in our
PoBhad 30 models associated with them, which ours don't
Inliewof tools that makeco-cesigning these parts easy, we've
kept the interface as simple as possible: just three M2.5 holes.
With fewer elements overall there’ less to keep track of, and
loss that can go wrong. That said, there arestillafow traps that
‘could derail the project if we're not careful
‘Wensariy sent the project off with screwsthat were impossible
to tighten. It's all well and good making sure al the holes are
aligned, but if there isn’t enough clearance to ita screwdriver
in, it'sallabit pointess. Fiting components in three dimensions
is significantly more complex than fitting components in two
The aD-rinted
nylon enclosure,
ready to beused
In this project, we've designed our
parts and sent them to be made at a
factory. This approach has become
affordable for one-off project 7
‘yeats, and if you prefer the digital side
(@osign and programming) to the physical
side of making, then it's a great option. Once your designs are
sot up, you just send them off and then wait for everything to
be delivered to your door,
New to CircuitPython?
if youhaven't used Circuiteython before, here'sa quick primer.
esa version of Python 8 built for microcontrollers, though it
also works on computers.
Perhaps the most useful featureis the huge array of libraries
for maker hardware. You can downlcad both CircuitPython and
the Library Bundle from eircuitpython.org.
CircuitPython programs arejust text ilesinterpretedon the
device itself, However, there are some minor issues with how it
reads ils, so werecommend using the Mu editor (eodewith.m
CircultPython has excellent documentation, and you can
find more information at sphmag,co/WhatisCirculteython. 9
We've designed our parts and sent them
to be made at a factory
dele lel elie)
‘The cade we've gat here is enaugh ta get stared but ilacks a ecupl of
features that you may want fora more robust setup.
Fist, string passwords and keys ret inthe main code increases
the sk of accidentally commiting sensitive information to version.
contol systems ike Gi.
Secondly the code leks eror handling fr runtime sues such a WF
Aisconnectons While rebooting the mirocontrolle an often resolve
issues implementing automatic recover logic - suchas reconnecting to
Wii - would improve robustness.
< Wsabitota
squeeze, bu
everthing ts into
the enclosureDesign an
RP2040 board
Buy online: rpimag.co/kicad2040RISC OS
Retro gaming in
What delights can RISC OS offer the keen video
gamer? Let’s take a look! By Ian Osborne
Maker
lan Osborne
lari been working in
‘ch and vdeo games
magazines fr far
longer than i heathy.
As wellas Rasphery
Pi healso wites about
other computers, era
gaming end anything
se tet pays
Iosbornebeky socal
o Fee gang RSC
© on, admit it. You like computing diversions,
especially video games. Sure, you're interested in
the Raspberty Pisa development tool, and you love
tinkering with RISC OS ona practical lovel. But when you havea
spare half hour to kill, your thoughts turn to gaming, Or maybe
youmake time for your games, and enjoy them as ahobby? And
‘why not? Video games are awesome.
‘There's a wealth of video games avaliable for RISC OS, some
of which come bundled with the installation, and others that can
bo downloaded from the PlingStore app. So boot up RISC OS on
your Raspberry Pi, and let’s have some funt
‘You may be surprised to find you already have a decent
handful of games and other distractions on your RISC OS-
powered Raspberry Pi, Boot it up and open your SD card. From
the window that appears, open the Diversions folder. Here,
depending on the install you used, you should see a decent
collection of gaming software and app toys. Mine has 180f them,
all waiting to be played.
‘The first game in the Diversions collection is locks. As you
have probably guessed, this is a Totris-type game, whore you
‘make lines with falling pleces. Use the 1 and 3 keys to move a
fallingblock left and right, the 2key torotateit, and the SPACE
bar to make it fall faster. Click on the game window with your
‘middle button and you can redefine these keys if you wish.# RISC OS Pi
ree af
Ce CLUES
ay Gamers and tinkerers who are new to
fia se RISC OS might make # beeline for !PackMan,
{an app found inthe Apps folder. las, they
be cisappointed The PackMan app isnt
ISG 0S interpretation of he famous Namica
aacade game Pacan, but a packaging
syste used to dstritute updates to
ee) the RISC 0S Pi discimage. A useful eo,
Pees =| oe
Ae a
[ss
2 oy
oa
Mage
RISC OS Pi cE
ple
2
822
Raepbry Potosi Mannan aGaming by numbers
tc
sho
juntDn reproduces the ‘num
Countdown. You choos
rs’ game from the popular TV
six tiles from those on offer, and
the alculates a number you must get to using those an
your tiles with basic maths operations, -,x,=). Choose
Easy, Hard, or impossibledificulty, then workit out with
paper. It's y feature-packed, butt nt way toflex
‘your mathematical muscles while waiting for a program tacompile,
‘in the Distractions window is Dok. No, it'snothing todo
with Star Wars; instead, it’s a Sudoku puzzle. pen theapp for an,
‘empty grid Middle-click and choose Create, then adificulty level,
and the grid is populated by a puzzle. Clickon asquareand typaa
ame then
Sader
‘number fil ti. You can save your progress or get hint from,
the middle-button menu. & quick hint from me, toc: the app only
allows correct entries, soif you're tuck, click on a square and tap
‘each number in turn and see which one is allowed. Not that our
readersneed toresorttosuch tactics, right?
Click on the tFlasher icon in the icon
bar and the caret flashes, helping you
find it if you've lost it. Nothing to see
here. Nothing to see with !Hopper either,
1 Frogger derivative that only runs under
‘emulation, $o it's on to !Madness, another
cistraction that’'snot actually agame. Click
it and a Madness window opens; sort of
1s actually just the ttle bar, found in the
Dbottom-left corner of the sereen. The app
makes every window except the Madness
window move, slowly drifting across your ly
desktop. To stop it, close the Madness
window. 1
friends and colleagues.
JERISC OS Pi
great for pranking your" ¢
Asteroids action
lemNow displays thecurrently available
RAM in the Icon bar. A useful tool, but
why i's in the Diversions folder and not
stilts is
yond me. Far more interesting
is Meteors. No prizes for guessing what it
is it’s Asteroids action all the way, with
is great RISC OS interpretation ofthe late 1970s A
controls are simple. Rotate your ship with Z and X, accelerate
with SHIFT, and fre with RETURN. The SPACE bar ishyperspace,
and N brings fortha new onslaught of floating space rocks. You
an also use ESC to toggle betiveen full-screen and windowed
ay, and P to pause and unpat way tokillalittle
time, and if you're of a certain age like me), it will bring back
few fond memories too.
‘Then ther
ri coin-op,
2. t's great
at should be familiar to anyone who
grow up using Windows. I's called !Mineunt, and yes,
Minesweeper ~ nothing to do with the Minecraft server of the
same name. As usual, you're presented with a grid of squares.
Left-click on one to open it. The number of adjacent squares
(vertical, horizontal, or diagonal) containing a mine is shown:
ght-click to place flag on asquare you think contain
Find all the mines and you win, Click on a mine and you lose,
‘You can change the skill level by middle-clicking the grid, and
n create custom game.
sa game
ialsi-
——!
> MineHuntis Minesweeper fr RISC 0S,
admit it~ you
hours while the boss wast locking
3yed this geme for