Professional Documents
Culture Documents
£5.99
WELCOME
to The MagPi 136
T
here’s a lot of excitement around Raspberry Pi
thanks to the ongoing waves of Raspberry Pi 5’s epic
launch.
We’ve got a lot of Raspberry Pi 5 coverage this month. From
in-depth heating, cooling and thermal testing (page 66) to Lucy
EDITOR
benchmarking (page 72). We’ve also got an in-depth guide Hattersley
to Overclocking (page 42). Lucy is editor of
The MagPi and has
Once you’re done speed testing and overclocking your new thoroughly enjoyed
overclocking
Raspberry Pi 5 you’ll want to make something with it. Check her Raspberry
Pi. Next up is a
out our Buyer’s Guide (page 32). This is packed with present seriously fast retro
ideas for the holiday season. From dynamic robots to weather KEQMRKcTVSNIGX
magpi.cc
trackers this feature is packed with gifts that will put a smile
on any maker’s face.
Happy holidays!
magpi.cc 03
FIRST!
We’ve reserved Raspberry Pi 5 boards
for The MagPi subscribers
magpi.cc/priorityboarding
TERMS & CONDITIONS A Priority Boarding code will be emailed to everybody who takes out a print subscription to The
MagPi or HackSpace magazine. People who subscribe to both magazines will get two codes. Print subs only! Priority
Boarding does not apply to people with App Store, Google Play, Zinio, PDF contributions, or other paid-for subscriptions. Each
code will entitle you to purchase 1x (one) Raspberry Pi 5 model (either 4 GB or 8 GB) for the standard retail price and delivery.
Multiple codes need to be used individually. This is a limited offer and is subject to change or withdrawal at any time.
CONTENTS
Contents
> Issue 136 > December 2023
Cover Feature
32 Complete Raspberry Pi 32
Buyer’s Guide
Regulars
90 Your Letters
92 Community events calendar
97 Next Month
98 The Final Word
Project Showcases
08
The MagPi is published monthly by Raspberry Pi Ltd, Maurice Wilkes Building, St. John’s Innovation Park, Cowley Road,
Cambridge, CB4 0DS, United Kingdom. Publishers Service Associates, 2406 Reach Road, Williamsport, PA, 17701, is the mailing
agent for copies distributed in the US and Canada. Application to mail at Periodicals prices is pending at Williamsport, PA.
POSTMASTER: Send address changes to The MagPi, c/o Publishers Service Associates, 2406 Reach Road, Williamsport, PA, 17701.
magpi.cc 05
CONTENTS
Tutorials 60 46
42 Overclock Raspberry Pi 5
46 Cloud gaming on Raspberry Pi 5
50 Python coding on Raspberry Pi 5
54 Remote control with TigerVNC
56 Using Ubuntu – part 2
Make a mecanum robot – part 2 Cloud gaming on Raspberry Pi 5
60 Make a mecanum robot – part 2
76
The Big Feature
66
PicoVision review
84
Benchmarking Raspberry Pi 5
Reviews
76 PicoVision
79 10 amazing 3D prints
82 Learn Scratch
Community
84 Odd Jayy interview
86 This Month in Raspberry Pi Odd Jayy interview
WIN RASPBERRY PI 5 95
1 OF 10 ACCESSORY PACKS
DISCLAIMER: Some of the tools and techniques shown in The MagPi magazine are dangerous unless used with skill, experience, and appropriate personal protection equipment. While
we attempt to guide the reader, ultimately you are responsible for your own safety and understanding the limits of yourself and your equipment. Children should be supervised. Raspberry
Pi Ltd does not accept responsibility for any injuries, damage to equipment, or costs incurred from projects, tutorials or suggestions in The MagPi magazine. Laws and regulations covering
QER]SJXLIXSTMGWMR8LI2EK5MQEKE^MRIEVIHMǺIVIRXFIX[IIRGSYRXVMIWERHEVIEP[E]WWYFNIGXXSGLERKI=SYEVIVIWTSRWMFPIJSVYRHIVWXERHMRKXLIVIUYMVIQIRXWMR]SYVNYVMWHMGXMSR
and ensuring that you comply with them. Some manufacturers place limits on the use of their hardware which some projects or suggestions in The MagPi magazine may go beyond. It is
your responsibility to understand the manufacturer’s limits.
06 magpi.cc
PROJECT SHOWCASE
Retro Pi
World Radio
An old valve radio provides the ideal housing for this
nostalgic Raspberry Pi build, finds Rosie Hattersley
M
ost of the maker-interviewees who Raju describes himself as an AFOL (adult fan of
feature in The MagPi’s project showcase LEGO) and, as well as building his own Optimus
pages have a deep love of technology Prime, Hulkbuster and other complex kits, he has
and, often, a career in computing. Retro Pi World used the brightly-coloured bricks in his mission
Radio creator Raju Salubramanian is just such a _Z_PLNSST^VTO^LYO_SPT]Q]TPYO^SZb_ZNZOP3P
fellow, but he is also on a mission to teach the does this as a ‘coach’ for the FIRST LEGO League
next generation to code: something that exactly (ʭ]^_WPRZWPLR`PZ]R) in his home town of San Jose,
chimes with why Raspberry Pi exists in the .LWTQZ]YTL3PT^LWXZ^_L^MTRLQLYZQ=L^[MP]]d
Raju
MAKER
magpi.cc/
worldradio
He posted a video
of his project on
YouTube showing
station selection
Quick FACTS
> Raju and his partner
both love 3D
&RSPH[SSHIRVEHMSGEWI[MXLSǺGIRXVI 7ENY[VSXIEWMRKPITEKI printing projects
speaker has been turned into a world radio web app to display the
controlled via a 2GB Raspberry Pi 4 map and stations menu > And sell their
designs online
in our current fast-paced digital world > But Raju was able
to repurpose many
components he
his belt and six Raspberry Pi boards in use around already owned
ST^SZXPYZ_LWWOT^NWZ^PO_ZST^[L]_YP]
Despite his thoroughly modern career as a > Next, he’s going
software engineer in Silicon Valley and a CV that to tackle a
lists VMware and Google among his credits, Raju Raspberry Pi LEGO
SL^LQZYOYP^^QZ]_SPZWOOLd^ɭ4SLaPLWbLd^ Robotics project
WZaPO_Z_TYVP]LYO]P[`][Z^PZWOSL]ObL]P
_ZM`TWO^ZXP_STYRYPbɮSP^Ld^QLaZ`]TYR
=L^[MP]]d;TMZL]O^MPNL`^P_SPdL]Pɭ[P]QPN_ɮQZ]
_SP[]ZUPN_^SPWTVP^_ZbZ]VZY^TYNPɭ_SPdL]P^Z
PL^d_Z^P_`[LYORP_^_L]_PObT_Sɮ
A nod to nostalgia
For the retro radio build Raju wanted something
that would force us to slow down in our current
QL^_[LNPOOTRT_LWbZ]WO3P^Ld^_SPLYLWZR`P
controls of the radio are in some way the opposite
ZQSZbbPTY_P]LN_bT_SZ`]OPaTNP^_ZOLdbT_S
_Z`NSLYOaZTNP?SP[]ZUPN_bL^LW^ZXPLY__Z He posted a video of his project on YouTube showing station selection
Keep on improving
Raju had seen other retro radio upcycling projects
online, and was particularly keen on creating one
similar to this internet radio project:
magpi.cc/internetradio3P`^POL2-=L^[MP]]d
;TMPNL`^PSPɭYPPOPO_SPPc_]LSZ]^P[ZbP]ZQ
Raspberry Pi 4 to get experience with the map
OT^[WLdɮ3PMZ`RS__SPXLTYNZX[ZYPY_^Q]ZX
ZYWTYP^_Z]P^^`NSL^,OLQ]`T_
Sourcing a suitable radio and writing the
software interface were his main challenges,
The searchable Radio Garden site serves up stations from around the globe
Rig up a radio
Confetti Bot
Want a party to go off with a bang? Then you want a
device that fires confetti, as David Crookes explains
I
f you’re going to celebrate, then you should LWWNZYQP__TNLYYZY^L]PYZ__SP^LXP^TeP^ZPaPY
do so in style. So what better way than sending MP_bPPYM]LYO^^ZXP_TXP^_SPNWL^[bZ`WOYɪ_SZWO
L^_]PLXZQNZYQP__TʮdTYR_S]Z`RS_SPLT]L_L _SPNLYYZY^_]ZYRWdLYO_SPNLYYZYbZ`WO_`]YbT_S
[]P^^ZQLM`__ZY*?SL_ɪ^_SP[]PXT^PMPSTYO_SP _SPXZ_Z]bT_SZ`_[Z[[TYRLYd_STYR?SPNLMWP^
Confetti Bot, a small cannon that shoots small _Z_SPML__P]dL]P^_TWWSLYRTYRZ`_^ZSZ[PQ`WWdL
[TPNP^ZQNZWZ`]PO[L[P]MTZOPR]LOLMWPZQNZ`]^P ^PNZYOaP]^TZYbTWWPYNWZ^PPaP]d_STYRɮ
^VdbL]O^bT_SLOPNPY_LXZ`Y_ZQ[ZbP]BT_S
L=L^[MP]]d;T-L_T_^SPL]_T_ɪ^L]PWL_TaPWd Party time
Hazal
MAKER
TYPc[PY^TaPbLd_ZRP_L[L]_d^_L]_PO ?SP^ZQ_bL]PbL^b]T__PYTY;d_SZYXLVTYR`^PZQ
Mestci ?SPOPaTNPbL^N]PL_PO_ZXL]V_SP[`MWTNWL`YNS _SPATLX;d_SZY>/6ɭATLXɪ^NZX[L_TMTWT_dbT_SL
ZQATLXL^ZQ_bL]P[WL_QZ]XQZ]^XL]_XLNSTYP^ aL]TP_dZQSL]ObL]PNZX[ZYPY_^LWWZbPO^PLXWP^^
Hazal Mestci is a
Turkish technologist ?SPNZX[LYdɪ^[]ZUPN_XLYLRP]1LSXTYL,SXPO TY_PR]L_TZYɮ3LeLWPc[WLTY^ɭ4OTOYɪ_SLaP_Zb]T_P
and artist who lives bT]POLM`__ZYLYOLXZ_Z]_ZRP_SP]_Z[Z[NZYQP__T MLNVPYONZOP_ZLN_TaL_P_SP^[PNTʭNXZ_Z]4bL^
in NYC. Her day-
TYNPWPM]L_TZYZQ_SPXTWP^_ZYP `^TYRLYO4OTOYɪ_SLaP_Z`YOP]^_LYO_SPYT_^LYO
to-day life involves
building fun robots, /PaPWZ[P]LOaZNL_P3LeLW8P^_NT_SPY^`RRP^_PO R]T_^ZQNZX[`_TYRMZL]O^_ZMPLMWP_ZRP_L]PLOTYR
coding, drawing, _LVTYR_SPOPaTNPQ`]_SP]ɭ4_SZ`RS_bP^SZ`WO Q]ZXL[TY
reading, doing XLVP_ST^[]ZUPN_[]P^PY_LMWPLYOQ`WWdQ`YN_TZYLW ɭ?SLYV^_Z_SP;d_SZY>/6XZ^_ZQ_SP
sports, and cooking.
LYO[]ZaTOPL^_P[Md^_P[_`_Z]TLWQZ]ATLX`^P]^ boilerplate code was already dynamically created for
magpi.cc/ _ZQZWWZbɮ3LeLW^Ld^BSL_PXP]RPObL^LOPaTNP XP4Y_SPATLXL[[L^dZ`LOOdZ`]NZX[ZYPY_^
confettibot
_ZdZ`]NZYʭR_SP.ZOP>LX[WP_LML`_ZXL_TNLWWd
Fitting all the components RTaP^dZ`bZ]VTYRNZOP_ZRP_dZ`]]P^Z`]NP^>ZT_
TYT_TL_PO_SPMZL]OLYO_SPXZ_Z]L^4LOOPO_SPX
inside was the hardest part LYOTX[Z]_POLWW]PWPaLY_WTM]L]TP^QZ]XPɮ
,W_SZ`RS_SP.ZYQP__T-Z_bZ]V^bPWWL^T_
_SL_`^P^=L^[MP]]d;T-LYOLY7$#9XZ_Z] T^3LeLW ^Ld^T_NLYNP]_LTYWdMPTX[]ZaPOLYO
O]TaP]_Z_`]YL2;4:XZ_Z]bSPY_SPM`__ZYT^ ^SPSL^ ZYP[L]_TN`WL]TOPLTYXTYO%ɭ4bLY_
[]P^^PO_Z_]TRRP]_SP]PWPL^PZQNZYQP__Tɭ4NSZ^P to incorporate a camera and machine learning
ALERT! _Z`^P=L^[MP]]d;TO`P_ZT_^aP]^L_TWT_dLYOLMTWT_d NL[LMTWT_TP^^Z_SL_T_NLYL`_ZXL_TNLWWd]PWPL^P
_ZQ`YN_TZYL^LNZX[LN_LYOLʬZ]OLMWPNZX[`_TYR confetti when a person approaches my desk,” she
Make sure you handle [WL_QZ]Xɮ3LeLW^Ld^ɭ4_[]ZaTOPO_SPYPNP^^L]d ^Ld^ɭ4_bTWW^`][]T^P_SPXZYLRZZOOLdLYO
and use confetti
cannons carefully. NZX[`_TYR[ZbP]_ZNZY_]ZW_SPM`__ZYXZ_Z]LYO ^NL]P _SPXZYLMLOZYPɮ
Z_SP]SL]ObL]PNZX[ZYPY_^TYaZWaPOLYOT_^2;4:
allowed me to program and control the actions of
_SP.ZYQP__T-Z_ɮ
Tight squeeze
?SPOPaTNPT^NZYYPN_PO_ZLAML__P]d_ZXLVP
it portable, and the components are placed within
LYPYNWZ^`]POP^TRYPObT_S_SPL^^T^_LYNPZQ^PYTZ]
]ZMZ_TN^PYRTYPP]5P]PXd3dOP`^TYR_SP/.,/
[LNVLRP>ZWTOBZ]V^ɭ1T__TYRLWW_SPNZX[ZYPY_^
The motor driver TY^TOPbL^_SPSL]OP^_[L]_ɮ3LeLW^Ld^ɭ4SLO_Z
is an inexpensive
OP^TRYX`W_T[WPaP]^TZY^ZQ_SPPYNWZ^`]PLYO_P^_
but important
part of the build _SP[]Z_Z_d[PXLYd_TXP^4bL^LW^Z`YLbL]P_SL_
S
yrian electronic engineer Aula Jazmati
was amazed when she encountered her
ʭ]^_=L^[MP]]d;TTY“It was like
LXT]LNWPTYLNZ`Y_]d^`ʬP]TYRQ]ZXOTʯN`W_
circumstances”, so much so that Aula set about
^SL]TYR_SPUZdbT_S^_`OPY_^LYONSTWO]PYL^
LXPLY^_ZTY^[T]P_SPT]WZaPZQXLVTYR8LYd
=L^[MP]]d;TLYO3PcLMT_[]ZUPN_^WL_P],`WL
Aula Jazmati
MAKER
OPNTOPO_Z_LVPZYLXZ]PbSTX^TNLWN]PL_TZY
Aula has a ɧL;TNZ-`MMWP8LNSTYPɧʭR`]TYRɭ^ZL[M`MMWP^
doctorate in SLaPLWbLd^QL^NTYL_PONSTWO]PYLYOLO`W_^LWTVP
electronic ?SPdM]TYRUZdLYOPcNT_PXPY_N]PL_TYRMPL`_TQ`W
engineering and
uses her Raspberry ʮZL_TYR^[SP]P^_SL_]PʮPN_WTRS_TYXP^XP]T^TYR
Pi projects to inspire NZWZ`]^ɮ?ST^/4D[]ZUPN_LW^ZZʬP]^LYPcNT_TYR The water bath and motor prior to attaching Raspberry Pi Pico
other makers Z[[Z]_`YT_dQZ]NSTWO]PY_ZWPL]YLMZ`_PWPN_]ZYTN^
magpi.cc/aulaj ,_T_^^TX[WP^_bL^STYR`[WT\`TOLYOLWZZ[TY PYNZ`Y_P]PO_SPWZbNZ^_NZX[`_P]bSPYZY
bSTNS_ZQZ]XM`MMWP^T^LWW_SL_ɪ^YPPOPO_ZN]PL_P _SP S`Y_QZ]LRZZOaLW`P[]ZNP^^Z]bT_SLY
_ST^WZbNZ^_LYO[WLdQ`WOT^_]LN_TZY-`_SLaTYR^P_ PL^d_Z]PLO_PX[P]L_`]P^PY^Z]TY^TOPQZ]`^P
L[]PNPOPY_OPWTRS_TYR[`[TW^bT_SSP]M`TWO^LYO TY _SP]XLW^_`OTP^ɭ?S`^MPRLYXdQ]TPYO^ST[
^NTPYNPPc[P]TXPY_^,`WLbL^OP_P]XTYPO_ZOP^TRY bT_S_SPbZYOP]Q`W=L^[MP]]d;TMZL]OLYO4
^ZXP_STYR_SL_bZ`WONL_NS_SPT]TXLRTYL_TZYbSTWP _]LY^QP]]PO_SPPYP]RdZQWZaPLYOZ[_TXT^X_SL_
LW^ZPYNZ`]LRTYR_SPX_ZM`TWO_SPT]ZbYM`MMWP _SP=L^[MP]]d;TRLaPXP_ZXd^_`OPY_^LYO
XLNSTYPɭBT_S_ST^[]ZUPN_NSTWO]PYNLYPc[WZ]P PaP]dZYPL]Z`YOXPɮ>SP[L]_TN`WL]WdL[[]PNTL_P^
_SP^NTPYNPMPSTYO^ZL[M`MMWP^bSTWPSLaTYRQ`Y _SPZ[PY^Z`]NPL[[]ZLNSLYO_SPL__T_`OP_SL_
M`TWOTYR_SPT]ZbYXLNSTYPɮ^SP]PL^ZY^ ^NTPYNPT^QZ]PaP]dZYPQ]ZXLNZXX`YT_d_SL_
PY^`]P^Z_SP]^NLY]P^PL]NSLYOZaP]NZXPLYd
This diagram shows An amazing mentor _PNSYTNLWOTʯN`W_TP^_SPdPYNZ`Y_P]
how Pico is used to ,`WLSL^MPPY`^TYR=L^[MP]]d;TL^L_PLNSTYR
control the motor
ERHcVSXEXMRKHMWG ]P^Z`]NPTYSP]WLM^TYNP>SPʭ]^_ Spinning things out
?ST^[]ZUPN_TY_]ZO`NP^NSTWO]PY_ZML^TN
PWPN_]ZYTN^LYOPYNZ`]LRP^_SPT]N]PL_TaT_dbT_S
options to customise their bubble machine,
OP^TRYTYRLYOOPNZ]L_TYR_SPT]ZbY[WL^_TNOT^N^
Z]Pc[P]TXPY_bT_SOTʬP]PY_QLY^TeP^QZ]aL]dTYR
M`MMWP^TeP^-d[]ZR]LXXTYR_SP=L^[MP]]d;T
;TNZNSTWO]PYNLYWPL]YLMZ`_NZOTYRNZYNP[_^
^`NSL^WZZ[^NZYOT_TZYLW^LYOQ`YN_TZY^
?SPSPL]_ZQ,`WLɪ^M`MMWPXLNSTYPT^T_^
[P]QZ]L_PONT]N`WL][WL^_TNOT^NbSTNS[P]QZ]X^_SP
^LXP]ZWPL^LM`MMWPbLYOBSPY_SPOT^N]Z_L_P^
T_OT[^TY_ZL^ZL[^ZW`_TZYN]PL_TYRLʭWXZQ^ZL[
ZYT_^^`]QLNP^SPPc[WLTY^bSTWPLT]Q]ZX_SP
QLYMWZb^_S]Z`RS_SPSZWP^QZ]XTYRM`MMWP^_SL_
OP_LNSQ]ZX_SPOT^NLYOʮZL_LbLd,/.XZ_Z]
NZYYPN_PO_ZLY7$#O]TaP]NT]N`T_NZY_]ZW^MZ_S
ɭ=L^[MP]]d;T;TNZNZY_]ZW^bSPY_Z^_L]_LYO
> Aula loves the
^_Z[_SPXZ_Z]L^bPWWL^LOU`^_TYRT_^^[PPOLYO
Raspberry Pi
bL^_SPTOPLWNSZTNPɮ^Ld^,`WL4_LWWZb^SP]_Z
community
NLWTM]L_P_SP^[PPOL_bSTNS_SPOT^N]PWPL^P^_SP
M`MMWP^LYOSPW[^_ZZ[_TXT^PPYP]RdNZY^`X[_TZY > And is a long-
^ZMZ_S_SPML__P]dLYOVTO^ɪPYUZdXPY_WL^_^L^ term translation
Raspberry Pi Pico and motor hooked up and ready for
WZYRL^[Z^^TMWP Aula to test them volunteer for it
rePalm
You’ve got to hand it to Dmitry Grinberg – squeezing PalmOS 5 onto
Raspberry Pi Pico is no mean feat, as David Crookes discovers
Y
ou can’t run Raspberry Pi OS on a RP2040
microcontroller, but that doesn’t mean
Raspberry Pi Pico is too underpowered
for an operating system. As Dmitry Grinberg
has shown, it’s capable of running a port of the
classic PalmOS 5 – the mobile operating system
unveiled in 2002 – although it’s not been without
NZY^TOP]LMWPPʬZ]_
Dmitry
MAKER
;LWX:> bL^_SPʭ]^_aP]^TZYZQ;LWXɪ^
Grinberg Z[P]L_TYR^d^_PX_Z^`[[Z]_,=8OPaTNP^-PQZ]P
Dmitry is a tinkerer that, the OS, which dates back to 1996, ran on
from Austin, TX _SP 8Z_Z]ZWL!#6[]ZNP^^Z]WTYPɭ?SPXZaP_Z
who specialises ,=8bL^LMT_XZ]PTY_P]P^_TYRɮ/XT_]d^Ld^
in squeezing Raspberry Pi Pico connected to the CortextProg
every cycle out of
ɭ?SP]PbP]P]`XZ`]^LMZ`__SPWL]RPTY_P]YLW
(cortexprog.com), a Cortex-M debugger Dmitry created to
microcontrollers re-architecting of the OS at the time but no details read and write data from and to a microcontroller
magpi.cc/ bP]PVYZbY4Y_SPPYO_SP,..0>>NZX[LYdZQ
repalm 5L[LYMZ`RS__SP:>LYO_SL_bL^_SL_?SP^Z`]NP ɭ4_N`WXTYL_POTY_SP]PWPL^PZQ_SP^Z`]NP
NZOPbL^YPaP]]PWPL^POɮ earlier this year, and now one can bring up
BT_SLYZYRZTYRQL^NTYL_TZYbT_S;LWX:>ɧɭT_ PalmOS even on processors that it never
bL^_SPʭ]^_XZMTWP:>bT_SLYd^Z]_ZQ^`NNP^^ LN_`LWWd^`[[Z]_POWTVP_TYd.Z]_Pc8NZ]P^ɮ
and it gave the world the term ‘smartphone” /XT_]dNZY_TY`P^3LaTYR_]TPOY`XP]Z`^Z_SP]
– Dmitry says he wanted to see if he could put the MZL]O^Q]ZX>?8TN]ZPWPN_]ZYTN^ɪ>?81$
operating system on another device with minimal _Z_SP>?83"=;^SZbPO_SPXZ^_
NSLYRP^3PWZZVPOTY_ZPX`WL_TYR_SPSL]ObL]P []ZXT^Pɭ4SLOYPaP]PYNZ`Y_P]POL.Z]_Pc8
with success (check it out at magpi.cc/uarmɭ-`_ microcontroller that had enough RAM for
_SL_bL^NSPL_TYRɮSPNZY_TY`P^ɭ?SPRZLWbL^ ;LWX:>ɮSP^Ld^ɭ=;OZP^ɧ ML]PWdɧ ^Z4
to port it to new hardware, which is usually hard bLY_PO_Z_]dɮ
bT_SZ`_^Z`]NPNZOPM`_4ʭR`]PO4ɪO_]d
ɭ4VYPb_SL_TY_SPZ]dXZ^_ZQ_SPO]TaP]^ Screen time
were contained in the Device Abstraction Layer ?SPTOPLbL^_ZRP_;LWX:> ]`YYTYRZY
(DAL) module, with a few others being separate a Raspberry Pi Pico or other RP2040-based
>/NL]O^P]TLW[Z]_/8,4ʭR`]PO_SL_TQ4 development board and connect the device to a
managed to replace those modules with some ^`T_LMWP_Z`NS^N]PPY/XT_]d^Ld^_SPZYWdZYP
4b]Z_PXd^PWQ_SL__SP:>^SZ`WOLRLTYTY _SL_ ʭ_ST^]P\`T]PXPY_^bL^LWZbNZ^_ $$
theory, run on any ARM device with a compatible #TYNS_Z`NS^N]PPYOT^[WLdQ]ZXBLaP^SL]P
[]ZNP^^Z]ɧLYd[]ZNP^^Z]^`[[Z]_TYR,=8a? ZʬP]TYRL]P^ZW`_TZYZQ[c
Z],=8a ?L]NST_PN_`]Pɮ?ST^_PNSLOaPY_`]P ɭ4_T^L]P^ZW`_TZY_SL_;LWX:>^`[[Z]_^bPWWLYO
^[LYYPOX`W_T[WPdPL]^M`__SPPʬZ]_SL^NP]_LTYWd really this is about the applications – the OS itself
MPPYbZ]_SbSTWP OZP^YZ_NL]PLMZ`_^N]PPY]P^ZW`_TZYɮSP^Ld^
16 magpi.cc rePalm
PROJECT SHOWCASE
Quick FACTS
> The project ports
PalmOS 5 to
Raspberry Pi Pico
rePalm magpi.cc 17
PROJECT SHOWCASE
Raspberry Pi Pico
is mounted on
the back of the
touchscreen display.
As Dmitry says, a
$1 microcontroller
is being used to
replicate what was
once a $400 device
18 magpi.cc rePalm
PROJECT SHOWCASE
Looking ahead
?ST^LWWXPLY^;LWX:> U`^_LMZ`_ML]PWdʭ_^ZY
Raspberry Pi Pico and, once it boots, only basic
[]ZR]LX^]`YbT_SLQPb6-ZQ=,8WPQ_ZaP]QZ]L
XPXZ[LOYZ_PZ]_bZ?SP]Pɪ^YZ_PYZ`RS=,8
to load a game, and Dmitry would love an RP2040
bT_SXZ]P=,8ɭ4_bZ`WObZ]VMP__P]ɮSP^Ld^
)ƴåųƼüå±ƋƚųåƋʱƋåƻĜŸƋåÚĜĹ{±ĬĵkĜŸ
02 ±ƴ±ĜĬ±ÆĬåôĜĹÏĬƚÚĜĹčåƴåųƼÆƚčô±ĹÚƋʱƋ
There is barely enough RAM to ĵ±ĩåŸƋĘåÆƚĜĬÚčųå±ƋüŅųŸŅüƋƵ±ųåÏŅĵޱƋĜÆĜĬĜƋƼØ
%ĵĜƋųƼŸ±ƼŸţĘåkϱĹÆåűƴĜč±ƋåÚƚŸĜĹč±
turn around in, so it’s not a ŸƋƼĬƚŸØģƚŸƋ±Ÿ{±ĬĵÚåƴĜÏåŸƵåųåƱÏĩĜĹƋĘåÚ±Ƽţ
rePalm magpi.cc 19
PROJECT SHOWCASE
magpi.cc/
project for one maker, learns Rosie Hattersley rspcadeterrents
M
oving house is stressful enough; ^TRYTʭNLY_NZX[`_PNL[LMTWT_TP^ZQ=L^[MP]]d;T
unpacking only to discover your new 4 prompted him to explore its machine learning
garden is favoured by unexpected potential at home.
local wildlife that doesn’t respond to unsubtle
hints is unsettling too. Software engineer James Inaudible alarm bells
Milward decided on a technology-based approach Having moved house in 2022, James and his
to tackling his night-time visitors, creating a family quickly discovered an issue with their
Badger and Fox Deterrent based around Raspberry new home: local foxes and badgers “loved
James
MAKER
Pi 4 and some machine learning. With a day job ripping the garden up, digging deep holes
Milward involving data and AI, James already had a fair and leaving ‘gifts’ everywhere for us”. Most
clue of how to go about it. disturbingly, they brought in insects carrying
James is a software
engineer for a He had a number of Raspberry Pis at home who knew what in terms of germs and potentially
company that and built a solar-powered watering system harmful diseases. Once local wildlife experts
manages data and using Raspberry Pi A+ back in 2015. He says NZYʭ]XPO_SP^PʮPL^LYO_TNV^bP]POPʭYT_PWd
uses AI and enjoys
3D printing and the low-powered footprint paired with the from their garden visitors, James was “set on a
creating electronic
projects
medium.com/@
james.milward
)MǺIVIRXJVIUYIRGMIW
[EVRSǺJS\IWERH
badgers, respectively
+SSXEKIJVSQXLI[MVIPIWW
deterrent can be viewed
VIQSXIP][LMPIYR[IPGSQI
ZMWMXSVWKIXE[EVRMRK
EYHMFPISRP]XSXLIQ
Quick FACTS
> TensorFlow Lite
draws less than 6W
on Raspberry Pi
James repurposed an He used TensorFlow
ultrasonic wildlife deterrent to 1MXIcQEGLMRIPIEVRMRKSR > Even while
EYXSQEXMGEPP]HIXIGXHMǺIVIRX Raspberry Pi to detect foxes EGXMZIP]cTVSGIWWMRK
types of nocturnal visitor ERHFEHKIVWFYXXVEMRIHMXXS images and cross-
MKRSVISXLIVQSZMRKSFNIGXW checking them
> *\XVEGXMRKYWEFPI
accurate video
footage across
EcPEVKIEVIE
path to create a deterrent that could help with
our problem”. > And at more
He initially tried scent-marking repellent XLERcX[SJVEQIW
and natural mixes of citronella and chilli, TIVcWIGSRH
blocking entry points along the fences in the
RL]OPYM`_ɭ?ST^U`^_]P^`W_POTYZ`]ʮ`ʬd
friends ignoring my initial attempts and digging
XZ]PSZWP^ɮ3P_]TPOZYP^ZW`_TZY_SL_ZʬP]PO
a glimmer of hope: solar-powered ultrasonic
repellents. The Milwards duly placed a few around
their garden. However, the repellents required
manual setting depending on whether it was
MLORP]^Z]QZcP^_SPdbLY_PO_ZbL]YZʬL^bPWW
as deactivating so as not to trigger when the
family was in the garden. This led to occasions
when no ultrasonic repellent was in use, and
a further incursion of wildlife. Combined with
inconsistent charging of the solar-powered units,
James realised he needed something smarter: 8LI8IRWSV+PS[1MXIW]WXIQWYGGIWWJYPP]VIGSKRMWIWEZMWMXMRKFEHKIVI\TPSVMRK/EQIWƶKEVHIR
A Ring doorbell
camera added Raspberry Pi was the perfect Raspberry Pi would be the perfect choice to help
add some intelligence to these very basic devices.
XSXLIcWIXYTEPWS
triggers an alarm
choice to add some intelligence
Tense, nervous, headache
to these very basic devices James had already experimented with TensorFlow
LYOʭR`]PO_SPNZXMTYL_TZY
of this open-source machine
learning platform’s object
recognition capabilities
and Raspberry Pi could
work well for his Fox and
Badger Deterrent, modifying
the ultrasonic repellent
for remote use. By adding
wireless connectivity and an
ESP8266 microprocessor, he
would even be able to have
the repellent operate at a
targeted frequency range to
“accurately deter targets”.
The project’s real headache
8LIJS\ERHFEHKIV came when trying to get video
detector machine
learning to detect frame rates good enough
XLIcX[SERMQEPW
for object detection at a
FĹŸƋ±ĬĬ±ĹÚÏŅĹĀčƚųåI±ĵåŸű{ƼƋĘŅĹ
02 application onto Raspberry Pi 4 or 5 alongside
a Coral USB3 Edge TPU (Tensor Processing Unit).
Tide Clock
How do you know the tide is right for a walk? If you’re
Levi Maaia, you create a special – and very pretty
– tide clock. Rob Zwetsloot braves the seas for a look
I
f you’ve ever lived near the sea, you’ll know be found here. As it turns out, there’s a good
that it never gets old to walk along the ]PL^ZY QZ]_SL_>TXTWL]_ZXLYdNZL^_LWL]PL^
beach, especially when the weather is good. L]Z`YO _SP;LNTʭNLYO^ZXPZQ_SPYZ]_SP]Y
For Levi Maaia, it turned out the weather wasn’t Mediterranean coast, the US west coast has a
the main problem. XZ]P NZX[WPc_TOLW[L__P]YbSTNSXPLY^_SL_
ɭ4WTaPQPP_LMZaP_SP;LNTʭNZYLYZNPLY bT_SZ`_NZY^_LY_LOU`^_XPY_LML^TN_TOPNWZNV
NWTʬɮ7PaTPc[WLTY^ɭ4_]d_ZXLVPT_LbPPVWd]T_`LW bZ`WORP_Z`_ZQ^dYNbT_S_SPɩXTcPO^PXTOT`]YLWɪ
_ZbLWVOZbY_SPNWTʬ_Z_SP^SZ]P3ZbPaP]T_ɪ^ _TOP^SP]PTYU`^_LQPbOLd^ɮ
Levi
MAKER
OT^L[[ZTY_TYR_Z]PLNS_SP^PL^TOP^_LT]^Pc[PN_TYRL ?ST^XPLY_7PaTYPPOPOLbLd_ZVPP[_SPNWZNV
Maaia YTNP^LYOdbLWVZYWd_ZʭYObLaP^WL[[TYRLRLTY^_ `[_ZOL_PbT_S_SP9:,,9L_TZYLW:NPLYTNLYO
_SPML^PZQ_SPMW`ʬɮ Atmospheric Administration) tide data, which led
A researcher,
ǻPQQEOIVERH 1Z]`^WLYOW`MMP]^_TOP^L]PYɪ_LWbLd^^ZXP_STYR STX_Z_`]Y_Z=L^[MP]]d;Tɭ?SPOPaTNP^_Ld^
IHYGEXSV1IZMPMOIW bPSLaP_Z_STYVLMZ`_LW_SZ`RS7PaTbL^QLXTWTL]
XSXMROIV[MXLXIGL
ERHPIEVREFSYXXLI
TISTPI[LSXMROIV
bT_S_SP_TOPNWZNV^bSP]PSPR]Pb`[9Z_MPTYR
LMWP_ZʭYOZYPQZ]ST^YPb.LWTQZ]YTLYSZXP7PaT
All of the meters and
[MXLMXXSS OPNTOPO_ZXLVPST^ZbY%ɭ4_OT^[WLd^N`]]PY__TOP
SPTRS_TYQPP_[]POTN_POSZ`]^`Y_TWYPc__TOPLYO
lights are driven by
pathwaysto
invention.org []POTN_POSPTRS_ZQ_SPYPc__TOP`^TYRLYLWZR`P the GPIO pins on a
XP_P]^LYO70/WTRS_^ɮ
Raspberry Pi 3B+ running
Tidal changes
8LVTYRLNWZNVbL^Yɪ_\`T_PL^PL^dL^SPʭ]^_ a Python script that
thought, though.
“Growing up in Rhode Island, round, four- gathers tide predictions
^PRXPY_PO_TOPNWZNV^bP]PLNZXXZY^TRS_
8LI1*)WPIX]SY
ORS[MJMXƶWEKSSH TY SZXP^YPL]_SP,_WLY_TNɮ7PaT_PWW^`^ LNN`]L_PL^WZYRL^T_SL^LBT1TNZYYPN_TZYɮ7PaT
XMQIXSLIEHSYX
ɭ-`_ LQ_P] XZaTYR_Z.LWTQZ]YTL4YZ_TNPO_SL_ ^Ld^ɭ?SP]POWTRS_ZY_SP]TRS_^TOPZQ_SPQ]ZY_
[MXLcKVIIREWXLI
YWYEPƵKSƶWMKREP _SP^P^TX[WPLYLWZR`PNWZNV^bP]PYZbSP]P_Z panel indicates a rising tide and the green light on
the left illuminates when the tide is falling. All of
_SPXP_P]^LYOWTRS_^L]PO]TaPYMd_SP2;4:[TY^
ZYL=L^[MP]]d;T-]`YYTYRL;d_SZY^N]T[_
_SL_RL_SP]^_TOP[]POTN_TZY^Q]ZX_SP@>9L_TZYLW
:NPLYTNLYO,_XZ^[SP]TN,OXTYT^_]L_TZYɪ^,;4
The script converts the raw tidal data into PWM
aLW`P^_ZO]TaP_SPXP_P]^LYO_SPMTYL]d^_L_P
aZW_LRPQZ]_SP70/^ɮ
Sea worthy
As well as the electronic aspect of the project,
7PaT bL^VPPY_ZXLVPT_WZZVXZ]P]`^_TN_Z
NLXZ`ʮLRP_SPTY_P]YLW_PNS`^TYRLYLWZR`P
RL`RP^ LYOLbZZOPYQL^NTLɭ:MaTZ`^Wd_SP]P
Quick FACTS
All the information > ,SLEV2Y^EQQMP
you’ll need before LIPTIH[MXLXLI
taking a stroll 5]XLSRGSHI
HS[RXLIGPMǺ
> 1IZM[ERXWXSQEOI
EHYVEFPI[SSHIR
IRGPSWYVIJSVMX
> &7EWTFIVV]5M>IVS
L]P XZ]PPʯNTPY_bLd^_ZNZXX`YTNL_P_TOP [EWXVMIHSVMKMREPP]ƾ
[]POTN_TZY^_SLYbT_SLYLWZR`PXP_P]^ɮ7PaT
LOXT_^ɭ,OTRT_LWOT^[WLdO]TaPYMdL=L^[MP]]d;T > ƾLS[IZIVXLI
RIIHPIW[IVIE
NZ`WOPL^TWd^SZbR]L[S^LYOY`XMP]^ML^POZY
FMXNMXXIV]TSWWMFP]
the tide API. But I wanted something more rustic
HYIXSPEGOSJ
M`_U`^_L^LNN`]L_P?SPd^LdXPL^`]P_bTNPLYO TVSGIWWMRKTS[IV
N`_ZYNP4X`^_SLaP_TYVP]POXPY_LWWdbT_S_SP
[Sd^TNLWM`TWOOP^TRYL_SZ`^LYO_TXP^ZaP]_SP > 8LI&5.YWIWPMZI
[L^_ _bZdPL]^ HEXESRXMHILIMKLX
ɭ>ZbSPYT_ʭYLWWdNLXP_TXP_ZL^^PXMWPT_4 JSVXLILEVFSYV
SLOLaP]dNWPL]aT^TZYZQSZbT_^SZ`WOWZZVOZbY
_Z_SPM]L^^[WL\`POPNWL]TYR_SL__SPTYQZ]XL_TZY
OT^[WLdPObL^QZ]ɩ>LY_L-L]ML]L3L]MZ]ɪɮ
,NNZ]OTYR_Z7PaT_SPʭYT^SPO[]ZUPN_bZ]V^
ɩ]PLWWdbPWWɪbSTNSSZ[PQ`WWdXPLY^SPɪ^MPPYLMWP
_ZRZQZ]ST^bPPVWdbLWV^bT_SZ`_bZ]]dTYRLMZ`_
8LIKEYKIWERH1*)WEVIGSRXVSPPIH
the tide since completing it. F]XLI,5.4TMRWSR7EWTFIVV]5M
Pihome
Save money on energy bills using Raspberry Pi Pico?
It’s more likely than you think. Rob Zwetsloot takes a reading.
I
n the current climate, saving money on Efficient code
heating is something a lot of people are While initial work was done on Raspberry Pi,
interested in doing, so it’s no surprise that Thomas switched to Pico for the project.
someone decided to tackle this head on using “Raspberry Pi Pico W is used to collect
Raspberry Pi Pico W. temperature and humidity data sent by
“I’m using temperature and humidity trend ThermoBeacons and transmits it to a cloud
data for optimising my heating systems and application for further analysis,” Thomas says.
monitoring individual room temperatures and “Actual data is additionally shown on a local
Thomas
MAKER
humidity,” Thomas Ackermann tells us. He display and provided by a local web server running
Ackermann lives in Bavaria, which has a similar climate to on Pico W.”
the UK with distinct seasons and a temperature Thomas had to do some serious coding
A software engineer
since the ’90s, ranging from freezing in the winter to too hot wizardry to get everything to run properly on
Thomas started his (25-30 °C) in the summer. “Up until now I have Pico – including tracking down a memory leak
career writing C on
had three systems running: two systems for room in MicroPython.
Unix systems.
monitoring which I am using for rooms which “I had to extend the original Pico LCD driver
magpi.cc/ are not occupied currently and need monitoring _Z^`[[Z]_LNZYʭR`]LMWPQ]LXPM`ʬP]ɮPc[WLTY^
pihome
for deep temperatures and high humidity in the
winter. The other system is for optimising an old
oil heating system. The sensors are attached to the
This helped to identify
piping and so indicate when the individual pumps
for heating, hot water and hot water circulation,
a useless circulation
and the oil burner, are active.” pump which could be
Thomas began this project with the goal of
refreshing his Unix/Linux skills and learning disconnected and so
Python on Raspberry Pi – and has ended up with a
saving of about €700 (£609/$741) a year on oil. power could be saved
The hygrometer
is hidden away
by some pipes to
take readings
26 magpi.cc Pihome
PROJECT SHOWCASE
This Bluetooth
ThermoBeacon
sends sensor
Quick FACTS
data to Pico
> The code makes
use of asyncio for
multitasking on Pico
Thomas. “This is used to have enough free memory heating system; the real temperature was 5 °C
> Data is sent to
for the https communication to the cloud service” higher than the temperature measured from the
XLIc8LMRKTIEO
You can get the full code at magpi.cc/pihome heating controller and so the hot water pump cloud platform…
was activated too often. Finally it was used to
What a savings XPL^`]P_SPPʬPN_ZQLOOPOTY^`WL_TZY?SP > …which also
With the data collected from his sensors, Thomas M`]YP] _PX[P]L_`]P^L]P^TRYTʭNLY_WdWZbP] includes diagnostic
was able to make some interesting discoveries. with the new insulation.” data on how Pico
“This helped to identify a useless circulation Now that Thomas has taken his project MWcTIVJSVQMRK
pump which could be disconnected and so this far, he’s keen to add more Bluetooth
power could be saved,” Thomas says. “It was also beacons and more types of sensor to the overall > 8.IRWSV8EKW[IVI
switched out for
used to track down a problem with an incorrect system. Here’s hoping it helps him save even
ThermoBeacons
hot water temperature measurement in the more money…
> With a smart
thermostat, a
project like this
could control
]SYVcLIEXMRK
Pihome magpi.cc 27
PROJECT SHOWCASE
I
f you’re already tiring of the wedding season, which the chosen one, played by Keanu Reeves,
this project isn’t going to make you feel any dodges bullets with an impressive backbend.
better. Sebastian Staacks has out-gifted us all. You might also have heard of it as a frozen
No serving spoon sets or gift vouchers here. For XZXPY_OPLO_TXPʮZbXZ_TZYZ]_TXP
his cousin’s wedding he made a bullet time photo slice video.
booth using an array of DSLR cameras triggered by “My cousin asked me if I could build a photo
Raspberry Pi Picos. booth for his wedding,” explains Sebastian,
“where guests could create fun memories with
Sebastian
MAKER
Staacks What does bullet time mean? props like hats and giant glasses. I wanted to try
Bullet time photo booths comprise multiple something fancier. A video booth with a bullet
Sebastian is a cameras rigged together. Each camera takes a _TXP PʬPN_ɮ
physicist and photograph at the same moment simultaneously,
the developer of
phyphox (phyphox.
or with a small delay between them. Software then A three-Pico wedding
org). He is a father joins each of the photographs to create a video ?bPWaPNLXP]L^L]PL__LNSPO_ZLN`]aPO]TR_SL_
of two, a drummer, bT_S_SP^_]TVTYRɭM`WWP__TXPɮPʬPN_?SPPʬPN_ looks a bit like a ballet barre. Look at the image
coder, and maker. is best known for – and indeed named after – its and you’ll notice the cameras are placed at greater
staacks.de use in The Matrix (magpi.cc/matrixbullettime) in distances apart towards the wall on the left,
LYOX`NSNWZ^P]_ZRP_SP]ZY_SPZ_SP]PYO?ST^
The green button is used to start the recording
GSYRXHS[RERHXSGSRǻVQXLEXEVIGSVHMRK achieves the impression of the action accelerating
should be kept when the guests review their when the shots are played back in sequence.
result. The red button discards the recording
“I set myself a limit of €50 [£43.50] per
camera,” says Sebastian. “which means that the 12
cameras alone would cost €600 [£521].”
Sebastian did consider Raspberry Pi Camera
Module but decided on picking up extremely
old DSLR cameras instead, picking “the oldest
mainstream beginner DSLR that has a decent
resolution”. He settled on 12 10MP Canon EOS
400D cameras, which he picked up on Craigslist.
A Raspberry Pi Pico (magpi.cc/pico) acts as the
camera trigger. It has to make sure all the camera
shutters go simultaneously in order for the bullet
_TXPPʬPN__ZbZ]V?bZQ`]_SP]=L^[MP]]d;T
Pico Ws sit inside Bluetooth wireless buttons so
_SPbPOOTYRR`P^_^NLYNZY_]ZW_SPLN_TZY?SP
green button starts the countdown to a recording
and saves it, and the red button can cancel a
countdown, or trash it if everyone looks idiotic.
7EWTFIVV]5M5MGSMWYWIH
XSGSRXVSPXLIFYXXSRW Quick FACTS
ERHGEQIVEWFVMRKMRKEPP
XLIMRXIVEGXMSRWXSKIXLIV > Sebastian originally
made a standard
photo booth for
LMWcS[R[IHHMRK
SUBSCRIBE TODAY
FOR JUST £10
Get 3 issues + FREE Pico W
Subscriber Benefits
FREE Delivery
Get it fast and for FREE
Exclusive Offers
Great gifts, offers, and discounts
Great Savings
Save up to 23% compared to stores
30 magpi.cc
SUBSCRIPTION
magpi.cc/priorityboarding
Terms & Conditions: A Priority Boarding code will be emailed to everybody who takes out a print subscription to The MagPi or HackSpace magazine. People who subscribe to both
magazines will get two codes. Print subs only! Priority Boarding does not apply to people with App Store, Google Play, Zinio, PDF contributions, or other paid-for subscriptions. Each
code will entitle you to purchase 1x Raspberry Pi 5 model (either 4 GB or 8 GB) for the standard retail price and delivery. Multiple codes need to be used individually. This is a limited
SǺIVERHMWWYFNIGXXSGLERKISV[MXLHVE[EPEXER]XMQI
magpi.cc 31
RASPBERRY PI
Everything you
need for starting
your Raspberry
3LbDGYHQWXUH
R
aspberry Pi is an incredible device that
can empower people to do, well, just
about anything. It can’t do it all on its
own though without the help of the incredible
accessories, add-ons, and kits available.
Whether you got a new Raspberry Pi 5 over the
holiday season or looking for something new to
do with your existing boards, we’ve put together
LOPʭYT_TaPWT^_ZQP^^PY_TLWLYOYZ_P^^PY_TLW
but-very-cool items for you to peruse that could
help kickstart your next project.
Let’s get making.
OFFICIAL MOUSE
U SE
US
PRICE £9 / URL magpi.cc/mouse
OFFICIAL
OFF
FICIAL
FICIA
POWER
WER SUPPLY
SUPP
PLY
PRICE £12 / URL magpi.cc/psu
ARGON
Make sure your Raspberry Pi
is properly powered
NEO CASE
PRICE £15 / URL magpi.cc/argonneo
HDMI TO MICRO
O
Add passive cooling with a great
HDMI CABLE looking aluminium case
OTHER ACCESSORIES
PICADE X HAT
PRICE £16 / URL magpi.cc/picadex
POE HAT
PRICE £23 / URL magpi.cc/poehat
RASPBERRY PI
Power-over-Ethernet for industry
CAMERA MODULE
PRICE £34 / URL magpi.cc/camera
TV HAT
PRICE £16 / URL magpi.cc/tvhat
ESSENTIAL ITEMS
SOLDERING IRON
Use liquid metal to join components
WIRE
CUTTERS
A good pair of wire
cutters can also
strip them
ELECTRONICS KITS
STARTER KIT FOR
RASPBERRY PI PICO
PRICE £10 / URL magpi.cc/starterpico
CHOOSE A RASPBERRY PI
3D PRINTER
With so many 3D printers to choose
MERCH!
from, its best to ask the experts, which in >SZbZʬdZ`]WZaPQZ]=L^[MP]]d;T
our mind is our colleagues on our sibling bT_SZʯNTLWXP]NSLYOT^P
publication HackSpaceQEKE^MRI
Issue 59 (hsmag.cc/59) has a guide on
building an open source 3D printer, as
Enamel pin
well as reviews of 3D printers throughout
its other issues, such as the new Prusa PRICE £4
MK4 in issue 67 (hsmag.cc/67). URL magpi.cc/pin
Water bottle
MAKE YOUR OWN PRICE £18
.J]SYGERƶXǻRH[LEX]SYRIIH+VII(&)
(freecad.org) is online software that helps
you create 3D objects that can be used in
printing, and its very easy to use, especially
for simpler projects like cases.
Overclock
Raspberry Pi 5
Take the already speedy Raspberry Pi 5 all
the way up to 3.0GHz. By Lucy Hattersley
B
dOPQL`W_=L^[MP]]d;T ZʬP]^LS`RP But more speed is what we’re after here, so we
speed increase over previous models. heavily suggest using a cooling device, such as
Lucy Having said that, more is always a bonus _SP,N_TaP.ZZWP]Z]ZʯNTLW=L^[MP]]d;T.L^PQZ]
MAKER
Hattersley and it’s possible – if not always desirable, or Raspberry Pi 5. These devices contain fans which
necessary – to push the speed pedal a little harder. will keep the temperature down and the speed up.
Lucy is editor of The With some Raspberry Pi devices, you can make ?SLYV^RZZ`__Z5Pʬ2PP]WTYRbSZ^PbZ]V
MagPi magazine the clock speeds run even faster, a process known predated ours (XLR[TNNUPʬZaP]WZNV) and forms
and enjoys
computers and her as “overclocking”. the basis for the NZYʭR_c_ code in this tutorial.
cat. Overclocking Overclocking Raspberry Pi 5 via Raspberry Pi Let’s put the pedal to the metal!
the cat is probably OS isn’t dangerous, but it isn’t supported either
a bad idea though.
(and not all Raspberry Pi 5 boards respond to
Probably?
overclocking, see “YMMV”).
magpi.cc
Edit config
Overclocking causes Raspberry Pi 5 to use more
power, and the board will consequently run a lot
01 Set up a fresh installation of Raspberry Pi 5
hotter. This isn’t dangerous because Raspberry OS. Be prepared for some experimentation here so
Pi OS will throttle performance to bring the heat don’t use an SD card with anything on it you don’t
levels down. mind losing. If you have an Active Cooler or case
The config.txtǻPI
is edited to adjust
(59cGPSGOERH,59
core speeds
You’ll Need
> Raspberry Pi 5
magpi.cc/
raspberrypi5
> Raspberry Pi OS
(Bookworm)
magpi.cc/software
> Active Cooler
or Fan Case
recommended
magpi.cc/
activecooler
Warning!
Crash likely!
Experimenting with
overclocking may crash
Raspberry Pi OS. There
You can overclock Raspberry
with a fan is also a chance of
Pi 5 without cooling, but it corrupting the microSD
now is the time card. Experiment with
will quickly throttle down to
_ZʭcT_-ZZ_TY_Z a clean Raspberry Pi
protect the CPU negating OS installation and
Raspberry Pi OS. XLIIǺIGX8LI&GXMZI(SSPIV IRWYVIcRSMQTSVXERX
Our instructions to will keep it running fast
data is at risk.
M`_WP_ɪ^_]d^XLWWP]aLW`P^ʭ]^_,OO_SP^PWTYP^
Recover from crash below the over_voltage_delta line:
Speed test
04 If Raspberry Pi OS runs without crashing
take a look at the increased speed in action. To
check the new maximum clock speed open a
terminal window and enter:
Increase frequency
03 Take it further
Now we are going to increase the frequency
of the CPU from its core speed of 2400MHz.
05 Now we’re going to take the Arm clock
Eventually we plan to take this up to 3000MHz, up to the maximum we have found reliable on
our test devices, 3MHz. Open a Terminal window have maxed out at 3000 and 900 for our CPU and Using a Terminal
command to
and enter nano /boot/conºg.txt to edit the 2;@]P^[PN_TaPWd QSRMXSVcGPSGO
NZYʭR`]L_TZYʭWP^% Overclocking does use more power than speeds while running
YouTube videos
running at the standard speed. And, we can’t
# Set Arm core frequency in MHz (default ^_]P^^ PYZ`RS_SL__SP]PR`WL]23eLYO
2400) #83e NWZNV^[PPO^QZ]_SP.;@LYO2;@L]P
arm_freq=3000 XZ]P_SLY^`ʯNTPY_QZ]LWW_SP_L^V^bPɪaP`^PO
Raspberry Pi for. So this is more of a novelty
Again, reboot Raspberry Pi OS and check that to play around with for us. Perhaps of more
everything is running correctly. Repeat Step 4 to use would be underclocking Raspberry Pi 5 for
test the speed. If your Raspberry Pi crashes follow projects that demand less power, and need to
the “Recover from crash” boxout and reduce the make the most use of battery power (see our
speed to 2800. Some Raspberry Pi boards are more “Underclocking” boxout).
amenable to overclocking than others (see the
“YMMV” boxout).
config.txt DOWNLOAD
THE FULL CODE:
GPU frequency
06 :`]YPc_^_P[T^_ZTYN]PL^P_SP2;@
> Language: Bash magpi.cc/github
frequency. By default, this is 800Mhz, and we have
successfully increased this to 900MHz on our test 001. # Increase the voltage
Raspberry Pi boards. Edit NZYʭR_c_ and add: 002. over_voltage_delta=50000
003.
# Set GPU frequency in MHz (default 800) 004. # Set Arm core frequency in MHz (default 2400)
gpu_freq=900 005. arm_freq=3000
006
Reboot and test Raspberry Pi OS by launching 007. # Set GPI frequency in MHz (default 800)
a web browser and testing YouTube. Some users 008. gpu_freq=900
have reported that gpu_freq=1000 also works on
their devices, so feel free to test that out. But we
D
id you know your Raspberry Pi can also included. We’ll also cover other options such as
double as an Xbox or a high-end gaming Nvidia GeForce Now. Sadly, Sony’s PlayStation
PC? You can now play the latest games in equivalent is PC-only, and we encountered issues
PJ Evans
MAKER
full HD using just your humble credit-card-sized using Amazon’s Luna. Xbox and Nvidia can work
PJ is a writer, computer. Your inputs (controller, keyboard) are with Raspberry Pi as they both support streaming
software engineer sent to the remote ‘rig’ and a video stream of the to the browser, including Chromium.
and tinkerer. He game is sent back. Recent improvements mean
really enjoyed
XLIcXIWXMRKTLEWI lag is barely perceivable and the video quality is
of this article. excellent. It’s not quite as easy as powering up
Choose your hardware
mastodon.
social/@mrpjevans
and jumping into Baldur’s Gate III, however, and
you’ll need to make a few decisions along the
02 A good controller is essential for any
way. This tutorial will walk you through it all. gaming, cloud or otherwise. We’ve chosen the
8BitDo Pro 2. Not only is it a great Bluetooth
controller, but it’s also proven with Raspberry Pi
hardware and approved by Xbox. You can also use
Choose your platform
01 There are a handful of cloud gaming
LYZʯNTLWCMZcNZY_]ZWWP]TQdZ`[]PQP]DZ`ɪWWLW^Z
need to interact with a keyboard and mouse. Of
services available. Out of all of them we’ve chosen course, you can use a regular wired keyboard and
Xbox Game Pass Ultimate as a great service for mouse connected to the USB ports, but if you’re
our Raspberry Pi 5. For a monthly subscription, setting up a gaming environment you may want to
you can access hundreds of games that are consider a wireless keyboard such as the Logitech
instantly playable, and many top games are K400 series which combines a keyboard and
trackpad in one.
Initial setup
03 We’re going to need the ‘full’ version
of Raspberry Pi OS, complete with desktop, as
You’ll Need we need the Chromium web browser. Using the
Raspberry Pi Imager (magpi.cc/imager) select
> Fast internet Raspberry Pi OS (64-bit) and write the image
connection
MHIEPP]ǻFVI
to your SD card to get the latest evolution of
the operating system. We strongly recommend
> 8BitDo Pro
using a wired internet connection to your Raspberry
2 controller
magpi.cc/pro2 Pi if possible, for best results, but if you’re using
Wi-Fi, set it up now (and SSH too if you need
> Wireless
remote access). Once booted and ready to go, check
OI]FSEVHQSYWI
magpi.cc/k400 and install any software updates (or run sudo apt
8LI'MX)S5VSGSRXVSPPIVMWETIVJIGXGLSMGIJSVXLMW
TVSNIGXERHMWIRHSVWIHF]2MGVSWSJXJSV<FS\,EQIW5EWW update && sudo apt upgrade in the Terminal).
Get an account
05 Try it out
It is a necessity of cloud gaming that you
have an account with the provider. In Xbox’s case,
07 Open up Chromium on your Desktop and
this is Microsoft. So if you haven’t got one, now is go to xbox.com. If you haven’t already, log in
a good time to get yourself set up with a Microsoft now. When you are returned to the front page,
ID. Go to xbox.com, click ‘Sign in’ then ‘Create click ‘Games’ then ‘Cloud games’. You’ll have
account’. Go through the steps to get set up, and a selection of games chosen for you, or you can
don’t forget to choose a strong password and scroll to the bottom and click ‘See all games’.
multi-factor authentication. Now you can log into Choose a game and then click ‘Play’. You may get
xbox.com and get ready to start gaming. a warning that a controller has not been detected.
=SYƶPPRIIHXSWMKRYT
JSV<FS\,EQIW5EWW
9PXMQEXI.XGSQIW
with access to over
KEQIW
Troubleshooting
If so, click A on your controller and it should clear.
If that doesn’t work, check your pairing. You’ll
09 9ZbdZ`bTWWʭYOZ`_bSP_SP]dZ`]^P_`[
YZbMP[`_TYL\`P`PQZ]_SPʭ]^_LaLTWLMWP]TR has a good enough connection. The service will
try to adjust video quality, prioritising speed
ZaP]]P^ZW`_TZY4QdZ`ʭYOT_TYLOP\`L_P_]d
moving from Wi-Fi to a wired connection. Check
Playtime!
08 Your wait time will depend on the game’s
whether your sibling is streaming HD video while
`[WZLOTYR ^PWʭP^4QYZ_STYRbZ]V^NZY_LN_
requirements and popularity. In our testing, most your internet provider to see if there are any faster
games kept you waiting no more than a couple Z[_TZY^LaLTWLMWP_ZdZ`BPɪaPQZ`YO_SL_ʭM]P
of minutes, but popular and resource-hungry based services are the only way to get close to a
games can see waits of 30 minutes or more at ]PLWNZY^ZWPPc[P]TPYNP4QdZ`ɪ]PʭYOTYR]P^[ZY^P
peak times. If this happens, try choosing another times laggy, nearby radio interference may be the
game. The wait screen will keep you informed of cause, and using an Ethernet cable to connect to
progress. When the game starts, it will be as if dZ`]]Z`_P]NLYʭc_ST^_ZZ
you were in front of a real console and you play
4YVI\TIVMIRGI
WXVIEQMRKKEQIW accordingly. Pressing the 8BitDo controller’s
[MXL1YRE[EWRƶX
‘heart’ button will bring up an overlay so you can
KSSHFYXMXQMKLX
Boot straight in
[SVOJSV]SY end the game or adjust settings.
10 ?ZʭYP^^PdZ`]CMZcPc[P]TPYNPbPNLY
NZYʭR`]P=L^[MP]]d;T:>^ZdZ`NLYMZZ_^_]LTRS_
into a full-screen browser. Open up a Terminal
window or SSH into your tiny gaming rig. Now
issue this command:
nano ~/.config/wayfire.ini
2Z_Z_SPMZ__ZXZQ_SPʭWPLYOLOO_ST^L^L
single line:
[autostart]
chromium = chromium-browser https://www.
xbox.com/en-GB/play?xr=shellnav/ --kiosk
3ZMHMEƶW,I+SVGI
--noerrdialogs --disable-infobars --no-first-
run --ozone-platform=wayland
The service will try to 3S[TPEXJSVQGSQIW
[MXLWSQIKVIEX
HIQSWJSVJVIIWYGL
>LaP_SPʭWPLYO\`T_9LYZCTRL+X). Reboot,
adjust video quality, as Lego Bricktales
Python on
Raspberry Pi
There’s been a major change to Python. Now is a great time
to learn about virtual environments. By Alasdair Allan
R
aspberry Pi OS Bookworm brings a big 1]ZX-ZZVbZ]XZYbL]O^[LNVLRP^TY^_LWWPO
change for Python users, as we implement aTL[T[X`^_MPTY^_LWWPOTY_ZL;d_SZYAT]_`LW
Alasdair a change introduced by the Python 0YaT]ZYXPY_`^TYRaPYamagpi.cc/venv?ST^
MAKER
Virtual environments
4Y[]PaTZ`^aP]^TZY^ZQ_SPZ[P]L_TYR^d^_PXdZ`
`^PO_ZMPLMWP_ZOT]PN_WdTY^_LWWWTM]L]TP^^d^_PX
bTOP`^TYR_SP[LNVLRPTY^_LWWP]QZ];d_SZY
NZXXZYWdVYZbYL^[T[DZ`ɪWWʭYO_SPQZWWZbTYR
4RGIMREZMVXYEPIRZMVSRQIRX]SYGERMRWXEPP
Python packages in Thonny using the Package ^Z]_ZQNZXXLYOTYXLYd_`_Z]TLW^ZYWTYP%
3ZbPaP]TYYPbP]aP]^TZY^ZQ=L^[MP]]d;T:>
LYOZ_SP]Z[P]L_TYR^d^_PX^_ST^T^OT^LWWZbPO4Q
dZ`_]dLYOTY^_LWWL;d_SZY[LNVLRP^d^_PXbTOP
dZ`ɪWW]PNPTaPLYP]]Z]^TXTWL]_Z_ST^%
aP]^TZYZQ;d_SZY_SPZYPdZ`ɪ]PN`]]PY_Wd`^TYRdZ`
^SZ`WO_d[P%
$ source env/bin/activate
(env) $
ɳLYOdZ`ɪWW^PP_SL_dZ`][]ZX[_T^YZb
[]P[PYOPObT_SPYa_ZTYOTNL_P_SL_dZ`ɪ]PYZ
WZYRP]`^TYR_SP^d^_PX;d_SZY4Y^_PLOdZ`ɪ]P
`^TYR_SPaP]^TZYZQ;d_SZYNZY_LTYPOTY^TOPdZ`]
aT]_`LWPYaT]ZYXPY_,YdNSLYRP^dZ`XLVPSP]PZ]
(VIEXMRKEZMVXYEP
IRZMVSRQIRXMRXLI
Using pip with venv XZO`WP^dZ`TY^_LWWTY_ZdZ`]PYaT]ZYXPY_bZYɪ_
command line ?Z`^PLaT]_`LWPYaT]ZYXPY__SPʭ]^__STYRdZ` NL`^P[]ZMWPX^QZ]dZ`]^d^_PX;d_SZY
YPPO_ZOZT^_ZN]PL_PLNZY_LTYP]_Z^_Z]P_SP
PYaT]ZYXPY_?SP]PL]P^PaP]LWbLd^dZ`NLYOZ_ST^ (env) $ which python
OP[PYOTYRZYSZbdZ`bLY__ZbZ]VbT_S;d_SZY
Top Tip
/home/pi/my_proect/env/bin/python
:YPbLddZ`NLY[]ZNPPOT^_ZN]PL_PLYPb
aT]_`LW PYaT]ZYXPY_LW^ZVYZbYL^ɭaPYaɮQZ] 4QbPRZLSPLOLYOTY^_LWWL_ST]O[L]_d[LNVLRP
System Python PLNS;d_SZY[]ZUPN_dZ`XLVP3P]PdZ`ɪWWN]PL_P T_ɪWWYZbTY^_LWWTY_Z_SP;d_SZYOT^_]TM`_TZYTYZ`]
LOT]PN_Z]d_ZSZWOdZ`]NZOPLWZYRbT_SLaT]_`LW aT]_`LWPYaT]ZYXPY_
If you want PYaT]ZYXPY_OT]PN_Z]d%
to inherit the
(env) $ pip install buildhat
currently installed
$ mkdir my_proect ooking in indexes: https://pypi.org/simpleř
packages from
the system $ cd my_proect https://www.piwheels.org/simple
Python you should $ python -m venv env Collecting buildhat
create your virtual Downloading https://www.piwheels.org/
environment TQdZ`YZbWZZVTY^TOP_SPXdJ[]ZUPN_OT]PN_Z]d simple/buildhat/buildhat-0.5.12-py3-none-any.
using python dZ`ɪWW^PPLOT]PN_Z]dNLWWPOPYa whl (57 kB)
-m venv –––––––––––––––––––––––––––––––––––––
--system-site- $ ls -la 57.8/57.8 kB 2.8 MB/s eta 0:00:00
packages env. total 12 Collecting gpiozero
drwxr-xr-x 3 pi pi 4096 ct 3 14:34 . Downloading https://www.piwheels.org/
drwx------ 20 pi pi 4096 ct 3 14:34 .. simple/gpiozero/gpiozero-2.0-py3-none-any.whl
drwxr-xr-x 5 pi pi 4096 ct 3 14:34 env (150 kB)
Trying to use pip to $ –––––––––––––––––––––––––––––––––––––
install buildhat in
the default Python 150.5/150.5 kB 6.9 MB/s eta 0:00:00
IRZMVSRQIRXRS[
4Y^TOP_ST^OT]PN_Z]dT^LQ`WW;d_SZYOT^_]TM`_TZY Collecting pyserial
causes an error
message to show ?ZLN_TaL_PdZ`]aT]_`LWPYaT]ZYXPY_LYOXLVP_SL_ Downloading https://www.piwheels.org/
simple/pyserial/pyserial-3.5-py2.py3-none-any.
whl (90 kB)
–––––––––––––––––––––––––––––––––––––
90.6/90.6 kB 7.5 MB/s eta 0:00:00
Collecting colorzero
Downloading https://www.piwheels.org/
simple/colorzero/colorzero-2.0-py2.py3-none-
any.whl (26 kB)
Requirement already satisfied: setuptools
in ./env/lib/python3.11/site-packages (from
colorzero-ʴgpiozero-ʴbuildhat) (66.1.1)
Installing collected packages: pyserialř
colorzeroř gpiozeroř buildhat
Successfully installed buildhat-0.5.12
colorzero-2.0 gpiozero-2.0 pyserial-3.5
(env) $
ɳLYOTQdZ`pip listdZ`ɪWW^PP_SL_dZ`]N`]]PY_
aP]^TZYZQ;d_SZYSL^dZ`]YPbXZO`WP^% Using Thonny editor
(env) $ pip list Thonny is our recommended IDE (integrated
Package ersion development environment) when working with
---------- ------- Python on Raspberry Pi. By default, Thonny uses
buildhat 0.5.12 ƋĘåƤŸƼŸƋåĵ{ƼƋĘŅĹţ
colorzero 2.0 However, you can switch to using a Python
ƴĜųƋƚ±ĬƤåĹƴĜųŅĹĵåĹƋÆƼÏĬĜÏĩĜĹčŅĹƋĘåĜĹƋåųŞųåƋåų
gpiozero 2.0
menu located at the bottom right of the Thonny
pip 23.0.1
ƵĜĹÚŅƵţĬĜÏĩĜĹčŅĹƋĘĜŸƵĜĬĬŅýåųƼŅƚ±ĵåĹƚƋŅ
pyserial 3.5 ŸåĬåÏƋ±ÏŅĹĀčƚųåÚĜĹƋåųŞųåƋåųŅųƋŅŅĹĀčƚųå
setuptools 66.1.1 ±ĹƤĜĹƋåųŞųåƋåųţ
ĘŅŅŸåŅĹĀčƚųåĜĹƋåųŞųåƋåų±ĹÚÏĬĜÏĩůcåƵ
,Q_P]b]T_TYRdZ`]NZOPdZ`NLY]`YT_Q]ZX_SP virtual environment’. An alert window will appear
NZXXLYOWTYPTY^TOP_SPaT]_`LWPYaT]ZYXPY_L^ ƋʱƋŸ±ƼŸŮeüƋåųÏĬĜÏĩĜĹčůkUűƼŅƚĹååÚƋŅÏĘŅŅŸå±Ĺ
empty directory, which will be the root of your new
dZ`ɪOPc[PN_MdTYaZVTYR;d_SZYL^YZ]XLW
virtual environment”.
ĬĜÏĩkU±ĹÚÏĘŅŅŸåů%ŅÏƚĵåĹƋŸűĜĹƋĘåŸĜÚåƱų
(env) $ ls -la ŅųƤƋĘå8ĜĬåŸ±ŞŞţĬĜÏĩůųå±Ƌå8ŅĬÚåųű±ĹÚåĹƋåų
total 12 ŮĵƼƣŞųŅģåÏƋ۱ŸƋĘåüŅĬÚåųűĵå±ĹÚÏĬĜÏĩkUţ
drwxr-xr-x 3 pi pi 4096 ct 3 14:34 . ±ĜƋüŅųƋĘåůųå±ƋĜĹčƴĜųƋƚ±ĬåĹƴĜųŅĹĵåĹƋűƵĜĹÚŅƵ
drwx------ 20 pi pi 4096 ct 3 14:34 .. to appear, and close. Check that the Python
executable selection contains “my_project/bin/
drwxr-xr-x 5 pi pi 4096 ct 3 14:34 env
ŞƼƋĘŅĹƐ۱ĹÚÏĬĜÏĩkUţ
-rw-r--r-- 1 pi pi 0 ct 3 14:45 my_ You can now install packages into your virtual
code.py machine using Tools > Manage packages. If you
(env) $ python my_code.py ϱĹĹŅƋŸååŅŅĬŸƋĘåĹĀųŸƋÏĬĜÏĩŅĹůƵĜƋÏĘƋŅ
Hello World! regular mode’ and restart Thonny.
(env) $ å±ųÏĘüŅųůÆƚĜĬÚʱƋűĜĹƋĘåa±Ĺ±čåŞ±Ïĩ±čåŸ
ƵĜĹÚŅƵ±ĹÚÏĬĜÏĩůÆƚĜĬÚʱƋűĜĹƋĘåŸå±ųÏĘųåŸƚĬƋŸ
ƵĜĹÚŅƵţĬĜÏĩůĜĹŸƋ±ĬĬűƋŅ±ÚÚƋĘåŞ±Ïĩ±čåƋŅƼŅƚų
DZ`NLYWPLaPdZ`]aT]_`LWPYaT]ZYXPY_LYO]P_`]Y
virtual environment.
_Z`^TYR_SP^d^_PX;d_SZYMd_d[TYR%
(env) $ deactivate
$
ɳLYO[]ZaP_ZdZ`]^PWQdZ`ɪaPOZYP^ZMd
NSPNVTYR_SPTY^_LWWPO[LNVLRP^`^TYRpip list
DZ`ɪWW^PP_SP]PT^LNZY^TOP]LMWPOTʬP]PYNP
User environments
,YLW_P]YL_TaPXP_SZO_ZN]PL_TYRLaT]_`LW
PYaT]ZYXPY_QZ]PLNSZQdZ`];d_SZY[]ZUPN_^T^_Z BPNLYLRLTYNSPNVbPɪ]PTYL^P[L]L_P
N]PL_PL^TYRWPaT]_`LWPYaT]ZYXPY_QZ]dZ`]`^P] PYaT]ZYXPY_Md`^TYRpip list%
LNNZ`Y_LYO_SPYLN_TaL_P_SL_PYaT]ZYXPY_MPQZ]P
]`YYTYRLYdZQdZ`];d_SZYNZOP?ST^L[[]ZLNS (.env) $ pip list
XLd MP[]PQP]]POTQdZ`NZXXZYWdTY^_LWW_SP Package ersion
^LXP^P_ZQXZO`WP^QZ]PLNS[]ZUPN_LYOOZYɪ_ ---------- -------
bLY__ZSLaP_ZMZ_SP]N]PL_TYRTYOTaTO`LW;d_SZY pip 23.0.1
PYaT]ZYXPY_^QZ]PLNS[]ZUPN_P^^PY_TLWWdU`^_ setuptools 66.1.1
O`[WTNL_TYRdZ`]PYaT]ZYXPY_
ɳLYOWPLaPT_`^TYRdeactivate
$ python -m venv ~/.env
$ source ~/.env/bin/activate (.env) $ deactivate
(.env) $ $
Remote control
Raspberry Pi with VNC
Use TigerVNC to remotely access the latest and
greatest version of Raspberry Pi OS desktop
A
s is so often the case in computing, a
new version of an operating system
brings advancements but also some
PJ Evans
MAKER
compatibility headaches.?SPZWOCbTYOZb
PJ is a writer, system that is the underlying engine of the
software engineer Raspberry Pi desktop has grown too restrictive, so
and tinkerer. He Raspberry Pi OS Bookworm has moved to the new
once pranked a
colleague by using whizzy Wayland engine. Wayland is a great and
VNC to randomly necessary step forward, but If you want to remote
change his desktop control your desktop using VNC, you need to
image. You should
move to a service that understands Wayland and a
not do this.
NWTPY__SL_ɪ^NZX[L_TMWP,YO_SL_ɪ^?TRP]A9.>Z
mastodon.
social/@ here’s how it’s done. Here we enable VNC using the Desktop app. Just slide the
switch to the right and click OK
Using Ubuntu
Part 02
on Raspberry Pi
Exploring more features of the Ubuntu
Desktop Linux OS on Raspberry Pi
I
Y_SPʭ]^_[L]_ZQ_ST^_`_Z]TLW^P]TP^XLR[T and get under the hood of the operating system.
NN bP^SZbPOSZb_ZTY^_LWWLYO^P_`[ We’ll be using it to perform various tasks.
Phil _SP@M`Y_`OP^V_Z[Z[P]L_TYR^d^_PXZYL To open a Terminal window in Ubuntu, click the
MAKER
King =L^[MP]]d;TLYO_ZZVdZ`_S]Z`RS^ZXPZQT_^ Activities button at the top of the left sidebar and
VPdQPL_`]P^ search for ‘Terminal’, then double-click the icon to
A long-time This time we’ll look at how to access the launch it. Alternatively, use the keyboard shortcut:
contributor to The command line, set up remote connections via SSH CTRL+ALT+T.
MagPi, Phil is a
freelance writer and and RDP, install media codecs, use Raspberry Pi’s The terminal window will show the usual
editor with a focus GPIO pins, change the desktop environment, and command-line prompt where you can enter a
on technology. use alternative ways of installing software. host of commands. To see the path for the current
@philkingeditor working directory (i.e. the folder you’re in), enter
pwd. To list its contents, enter ls. You can use the
cd command to change directory; for example,
Access the command line
01 As well as navigating Ubuntu’s desktop
cd Downloads.
For lots more useful commands, check out the
GUI, you can open a CLI (command-line interface) command-line tutorial in The MagPi issue 125
Terminal to use powerful text-based commands (XLR[TNN ).
You’ll Need
> Raspberry Pi 4,
400, or 5
After installing
Ubuntu-restricted-
extras, you can
TPE]c25ZMHISW
MRcEcQIHMETPE]IV
such as VLC
In the Files browser, press CTRL+H to show You can then import it like any other Python Top Tip
STOOPYʭWP^QZWOP]^9ZbXZaP_SPPc_]LN_PO_SPXP module at the top of your code, with import
folder(s) into the relevant folder, such as .themes lgpio. You can write programs in Ubuntu with a IP address
for Orchis. Reopen the Tweaks app, and you should _Pc_POT_Z]^`NSL^YLYZZ]L;d_SZY4/0^`NSL^
now see new options in the Shell and Legacy Apps Spyder: sudo apt install spyder. To obtain
drop-downs. You may get a system prompt to For details of the lgpio module’s functionality, Raspberry Pi’s
install missing snaps; click ‘Yes’. see XLR[TNNWR[TZ. For some code examples, visit IP address, to
XLR[TNNWR[TZPcLX[WP^. The ‘basic GPIO example’ connect from
bTWWMWTYVLY70/NZYYPN_PO_Z2;4:LYOL29/ another device via
pin. Paste it into a new document, named blink. SSH or Remote
Switch desktop environments
08 DZ`NLYPaPY^bT_NS_ZLOTʬP]PY_OP^V_Z[
py, using Nano (or another text editor), then run it
bT_S_SPNZXXLYO[d_SZYblink.py. Alternatively,
Desktop, enter
the command
PYaT]ZYXPY_/0Q]ZX_SP`^P]WZRTY^N]PPYɧ_Z dZ`NLYTY^_LWWL;d_SZY4/0^`NSL^>[dOP]ɧsudo hostname -I.
get back there, click the top-right power icon and apt install spyder – and run it from there.
Raspberry Pi:
Part 02
Mecanum robot
with sensors
Expanding on our mecanum robot project, add a distance
sensor to avoid crashing into obstacles. Learn how
collision avoidance is used to make driving safer
T
he mecanum robot in the earlier tutorial taken between the signal being transmitted and
Stewart
MAKER
(MagPi issue #135, magpi.cc/135) could be the response received can be used to work out
Watkiss
controlled with a gamepad. If you didn’t the distance to an object.
Also known as react fast enough, then it was quite easy to crash Figure 1 shows the HC-SR04 sensor used for
Penguin Tutor. A the robot. Adding an ultrasonic distance sensor _ST^[]ZUPN_?SP]PL]POTʬP]PY_XZOPW^ZQ_SP
Maker and YouTuber
means that the robot can automatically stop HC-SR04, some of which can work down to 3.3V.
who loves all things
Raspberry Pi. Author before colliding with a wall or other object. This circuit is based around the 5V version for
of Learn Electronics The sensor used is similar to those found in car maximum compatibility.
with Raspberry Pi. parking sensors. The robot senses the distance to
penguintutor. objects in front and automatically stops forward
com movement when an object is too close. With
Sensor signals
@stewartwatkiss additional code, this could be used as the basis of
a robot that could navigate a maze.
02 In addition to the power supply, the
HC-SR04 semsor module has two pins for an
input and output signal. The trigger needs to be
You’ll Need sent a short 10μS pulse to start the measurement.
Ultrasonic distance sensors
> HC-SR04 Ultrasonic 01 ?SP]PL]PaL]TZ`^OTʬP]PY_^PY^Z]^_SL_
The transmitter then sends eight sonic bursts and
the reciever listens for an echo.
distance sensor
can be used to detect distance. The one used here After determining how long it took to receive
magpi.cc/hcsr04
is based on ultrasonic distance measurement, a response at the receiver, the echo pin is then
> 330 ohm resistor and works by emitting an ultrasound signal and raised high for a length of time proportional
magpi.cc/330r
then listening for an echo response. The time to the distance. This is shown in Figure 2.
> 470 ohm resistor The output from the echo pin is 5V, which is
magpi.cc/470r too high for the GPIO pins. Therefore a resistor
voltage divider can be used to drop the signal to
approximately 3.3V.
An ultrasonic distance
sensor is used to detect
the distance of objects
in front of the robot
dist_sensor.distance
dist_sensor = DistanceSensor(echo=6,
trigger=5)
pgzrun mecanum-pgz.py
DOWNLOAD
mecanum-pgz.py THE FULL CODE:
magpi.cc/mecanumrobotgit
> Language: Python Pygame Zero
001. # Minimal version of mecanum-pgz 049. keys.K_6 : (1, -1, -1, 1), # Right
002. from gpiozero.pins.pigpio import PiGPIOFactory 050. keys.KP6 : (1, -1, -1, 1), # Right
003. from gpiozero import Device, PWMOutputDevice, 051. keys.K_8 : (1, 1, 1, 1), # Forwards
004. Motor, DistanceSensor 052. keys.KP8 : (1, 1, 1, 1), # Forwards
005. 053. }
006. WIDTH=800 054.
007. HEIGHT=600 055. # Track direction
008. 056. current_direction = (0, 0, 0, 0)
009. Device.pin_factory = PiGPIOFactory() 057.
010. 058. # speed is as a percentage (ie. 100 = top speed)
011. pwm_pin = 18 059. speed = 50
012. m_f_l = (2,3) 060. pwm_out.value = speed/100
013. m_f_r = (22,23) 061.
014. m_r_l = (14,15) 062. def draw():
015. m_r_r = (24,25) 063. screen.ºll((192,192,192))
016. 064. for arrow in arrows:
017. motors = [ 065. arrow.draw()
018. Motor(m_f_l[0], m_f_l[1], pwm=False), 066.
019. Motor(m_f_r[0], m_f_r[1], pwm=False), 067. def update():
020. Motor(m_r_l[0], m_r_l[1], pwm=False), 068. global current_direction
021. Motor(m_r_r[0], m_r_r[1], pwm=False) 069. try:
022. ] 070. if (dist_sensor.distance <= min_distance):
023. 071. # Is robot going forward (or diagonal)
024. pwm_out = PWMOutputDevice (pwm_pin) 072. if (current_direction[0] == 1 and
025. dist_sensor = DistanceSensor(echo=6, trigger=5) current_direction[1] == 1):
026. 073. print (“Warning - crash imminent”)
027. arrows = [ 074. # Force stop using stop key number
028. Actor(“arrow.png”, center=(500,300)), # Right (5)
029. Actor(“arrow.png”, center=(400,200)), # Up 075. set_direction (direction[keys.K_5])
030. Actor(“arrow.png”, center=(300,300)), # Left 076. except:
031. Actor(“arrow.png”, center=(400,400)) # Down 077. print (“No distance sensor detected”)
032. ] 078.
033. arrows[1].angle = 90 079. def on_key_down(key):
034. arrows[2].angle = 180 080. global speed, current_direction
035. arrows[3].angle = 270 081. # Get next key pressed
036. 082. if (key in direction.keys()) :
037. # distance in meters - a value between 0 and 1 083. set_direction(direction[key])
038. min_distance = 0.09 084.
039. 085. def set_direction(direction):
040. # list to convert key into motor on/off values to 086. global current_direction
correspond with direction 087. current_direction = direction
041. # direction based on number keypad 088. for i in range (0, 4):
042. direction = { 089. if direction[i] == -1:
043. keys.K_2 : (-1, -1, -1, -1), # Backwards 090. motors[i].backward()
044. keys.KP2 : (-1, -1, -1, -1), # Backwards 091. elif direction[i] == 1:
045. keys.K_4 : (-1, 1, 1, -1), # Left 092. motors[i].forward()
046. keys.KP4 : (-1, 1, 1, -1), # Left 093. else:
047. keys.K_5 : (0, 0, 0, 0), # Stop 094. motors[i].stop()
048. keys.KP5 : (0, 0, 0, 0), # Stop 095.
H́Ɏɟ
H́˱ɿʡʄͽ̿ɟ
˱ǵˍΰφɟ
cdpstudio.com
ƗɟˍմڂֈԊԎڂԐԐԅڂԏԅڂԐԅԅڂڂʡ˱ɿ́ԺɂɎ̵ͮɟɂʎձɂ́˪
HSŴڂƗɟɂʎ˱́ˍ́ʄʡɟ͝ڂƉڂՄՄ˱ͽ ڂɎ͝ΞȘ̿ʄǵͮǵڂԏհڂԍԅԅԏˍڂɟ͝ͽ˱Ɏհڂĩ́̿ǵΰ
With the release of Raspberry Pi 5,
we’re introducing two new official
hardware solutions for cooling.
By Alasdair Allan
E
very time a new Raspberry Pi is released,
there are questions about thermal control
of the new board. People want to know
whether it’s necessary, and if so, what you’ll need
to do to make it happen.
For normal usage of your Raspberry Pi, adding
cooling is entirely optional. The idle performance of
a Raspberry Pi 4 and a Raspberry Pi 5 is about the
same, and under typical loads, Raspberry Pi 5 will
run cooler than a similarly loaded Raspberry Pi 4.
However, a heavy continuous load will mean that the
board could potentially go into thermal throttling.
Throttling happens as there are software controls to
limit CPU speeds if things get start to get too toasty.
Although, even when fully throttled, a Raspberry Pi 5
is still going to run faster than a Raspberry Pi 4.
But data makes everything better, so I decided to
grab some early production hardware and run some
tests to help you make up your mind about whether
*FIR WLS[MRK SǺ E TVSXSX]TI SJ XLI &GXMZI
(SSPIV JSV 7EWTFIVV] 5M you’re going to need to cool your Raspberry Pi 5.
No cooling
?SPʭ]^__STYR_ZOZT^_ZXPL^`]PbSL_SL[[PY^
when your Raspberry Pi 5 is not cooled. Without
CPU temperature
The vcgencmd command is an amazingly useful
the open air on the lab bench.
For normal use adding cooling is optional. If
you’re watching a YouTube video, or working on
source of information about the things that are the desktop, you aren’t going to be stressing the
happening on your Raspberry Pi, and the Python CPU like we did in this test. But, unsurprisingly,
bindings (magpi.cc/vcgencmd) surface all of with the heavy sustained load we’re imposing
that and let you programmatically monitor pretty on the CPU with no cooling the maximum
much everything that needs monitoring. Here temperature climbs to and then remains stable
8LI GPSGO WTIIH
we’re going to use the vcgencmd Python bindings just above the 85 °C thermal limit during extended MRXIVQMXXIRXP] XLVSXXPIH
to monitor and log the temperature, along with testing. This leads to sustained thermal throttling SR ER YRGSSPIH
7EWTFIVV] 5M
the current CPU clock speed and throttling state, after the temperature reported by the processor YRHIVKSMRK E WXVIWW
XIWX XS QEMRXEMR E
_ZLʭWP^PPmeasure_temp.py, p69). rises above the throttling limits.
GSRWXERX QE\MQYQ
Once we have the script up and running in a XLIVQEP XIQTIVEXYVI
Terminal window, we can open up another and
VTNVZʬL^_]P^^_P^_ZYLWWQZ`]NZ]P^_ZWZLO
the CPU. To do that, I’m going to use the stress
(magpi.cc/stress) command line tool to impose a
heavy workload on all four of the CPU cores.
Active Cooler
I then ran the same test with managed active cooling
to full speed. When the temperature drops back
below these limits, the blower’s fan will spin
down automatically.
using the new Active Cooler, and then with the Thanks to the passive heatsink, with the
,N_TaP.ZZWP]^_TWWʭ__POM`_bT_S_SPMWZbP]ɪ^QLY ,N_TaP.ZZWP]ʭ__PObP^PPLX`NSWZbP]TOWP
disconnected. Both these tests were done with the temperature, around 45 °C. During extended
Raspberry Pi sitting in the open air on the lab bench. testing under load, the fan of the Cooler spins up
The Active Cooler is a single-piece anodized at low speed to stabilise the CPU temperature at
aluminium heatsink with an integrated blower. It 60 °C, with a maximum temperatures of 62 to 63 °C
5VSGIWWSV has pre-applied thermal pads for heat transfer, and being seen during the tests.
XIQTIVEXYVI MR
s( EKEMRWX XMQI MR is mounted to the Raspberry Pi 5 board directly using Noise levels of between 35 to 40 dB were
WIGSRHW &X XMQI
8"8lj WXVIWW XIWXMRK
spring-loaded push pins. It is actively managed by measured during the load test while the fan
[EW WXEVXIH =L^[MP]]d;Tɪ^ʭ]XbL]P,_! {._SPMWZbP]ɪ^QLY was in operation – that’s about as much noise
as you’ll make turning the page of a book.
During the extended stress testing the fan never
actually needed to run at full speed to maintain
temperature control of the Raspberry Pi.
Unplugging the fan and relying solely on
the passive cooling provided by the aluminium
heatsink, the idle temperatures were similar,
but under extended load the CPU temperature
eventually reaches the point at around Tҩ + 200
seconds where thermal throttling occurs.
Reattaching the cable causes the fan to spin
up to full speed immediately, and with the
load removed, the CPU is cooled back to an idle
temperature of around 45 °C within a further 300
seconds, with the fan spinning back down to lower
speeds as the temperature falls back to normal.
measure_temp.py DOWNLOAD
THE FULL CODE:
> Language: Python magpi.cc/github
By Alasdair
Allan
T
here is nothing so important to an engineer
who gets their hands on a new bit of
SL]ObL]PL^_ZTXXPOTL_PWd_]dLYOʭR`]P
Z`_SZbQL^_T_NLYRZ On the other hand, there
is nothing more hotly debated between engineers
as to how to measure how fast things go. But like
many things, what you should measure really
depends on how and why you will be using the
SL]ObL]PTY_SPʭ]^_[WLNP
,^Z`],XP]TNLYQ]TPYO^XTRS_^LddZ`]
mileage may vary (XLR[TNNdXXa).
Single core
Single-core scores measure the processing
realistic case where jobs are being distributed
across all the cores of the board’s CPU. These
sorts of scores are more relevant for heavily
power of one CPU core and are more relevant threaded applications such as web browsers,
for applications that are lightly threaded, bSTNSRPYP]LWWd_]d_ZZʰZLOTYOTaTO`LW_LM^
meaning they rely mostly on a single core to into separate process threads.
process instructions. Over one hundred runs of Geekbench 6 we
Over one hundred runs of Geekbench 6 saw saw an average score of 1,604±22 for Raspberry
an average score of 764±6 for Raspberry Pi 5 Pi 5 using a 4KB page size, and 1588±63 using a
using a 4KB page size, and 774±6 using a 16KB 16KB page size. That’s a ×2.2 speed increase over
page size. That’s a ×2.4 speed increase over Raspberry Pi 4.
Raspberry Pi 4.
Raspberry Pi 4 340
2.4GHZ 3.0GHZ
Cryptographic
benchmarks for
Raspberry Pi 4 and
cF]/IǺ,IIVPMRK
Some ncnn
framework
benchmarks from
Seeed Studio
PicoVision
(Pico W Aboard)
Pimoroni magpi.cc/picovision £35 / $37
A
RP2040 (GPU),
imed mainly at fans of retro gaming and for programming in MicroPython or C/C++, or
2 × 8MB PSRAM,
PCM5100A DAC old-school programming, PicoVision is ʮL^STYR;TNZBbT_SYPbʭ]XbL]P
for audio, 3 × user a surprisingly capable digital video stick Alternatively, PicoVision can be powered via two
buttons, status with a pre-soldered Raspberry Pi Pico W on board. unpopulated pins. There’s also a breakout header
LED, reset button, Using Pico W’s RP2040 microcontroller chip as for CPU and GPU debugging, plus a few other GPIO
microSD card slot
the CPU, it adds a second RP2040 to act as a GPU to pins. A single Qwiic/STEMMA QT port can be used
CONNECTIONS: help handle the big-screen visuals. Two extra 8MB to connect I2C breakouts or sensors.
HDMI video out, =,8NST[^L]P`^PO_Z^bL[Q]LXPM`ʬP]^MP_bPPY On the front of the board are three user buttons,
3.5mm audio line the two RP2040s, enabling PicoVision to output an activity LED, and a handy reset button. At the
out, breakout
reasonably high-res graphics (for a microcontroller) rear is the bonus of a microSD card slot to provide
header, Qw/ST
port, micro USB to a monitor via a standard HDMI output. extra storage for assets such as graphics.
(on Pico W) The only slight drawback is that it’s not able to
DIMENSIONS:
output audio via HDMI. For this, there’s a 3.5mm Instant menu
87 × 38 × 9mm stereo line out jack to connect a pair of PC speakers Getting started is as easy as connecting PicoVision
or headphones. to an HDMI monitor or TV and powering it up. It
Power is connected using Pico W’s micro USB NZXP^[]PʮL^SPObT_S8TN]Z;d_SZYʭ]XbL]P
port – as usual, you can hook this up to a computer that auto-runs a menu of example programs. The
programs are a fun Flappy Graphics are handled using Pimoroni’s standard
PicoGraphics module, while a PicoSynth sound
RAM to boost Pico
W’s capabilities,
Bird-style game, magic module is used to play simple tunes and noises
PicoVision
ŅýåųŸŞĬåĹƋƼŅü
using I2S audio from the board’s DAC chip. ŞŅŸŸĜÆĜĬĜƋĜåŸüŅų
mirror dashboard, and You’ll also want to try playing classic Doom on retro gaming and
;TNZAT^TZYɧbSTNSbZ]V^]PLWWdbPWW5`^_ʮL^S coding projects.
Teletext-style headlines
9
the Doomʭ]XbL]P@1_Z;TNZAT^TZYLYOLOO_SP
RLXPɪ^B3CʭWP_ZLXTN]Z>/NL]O1Z]NZY_]ZW
/10
Several graphical demos showcase PicoVision’s you’ll need to connect a USB keyboard via a splitter
NL[LMTWT_TP^ ?SP^PTYNW`OPLNWL^^TN/^_L]ʭPWO cable (as supplied in the optional accessory kit).
PʬPN_]PXPXMP] BTYOZb^ɪ^^N]PPY^LaP]*L
screen modes menu with numerous resolutions
(some require GPU overclocking), and a parallax
scrolling animation that makes use of PicoVision’s
scroll modes – up to seven groups of scanlines can
be scrolled separately.
Up to 80 sprites can be shown on screen
simultaneously (or 32 with the special widescreen
10 Amazing:
3D prints simplyRetro Z5
Comfy and large
Print your own custom project
Some 3D printed handheld consoles are very small and portable, but
pieces for Raspberry Pi ŸŅĵåƋĜĵ埱ÆĜččåųŸÏųååĹĜŸĵŅųåÏŅĵüƼţĘå¬ĂŅýåųŸƋĘĜŸţ
magpi.cc/retroz5
3
D printing and making go hand-in-hand, and these amazing
prints and projects involving Raspberry Pi are fantastic
ways to upgrade, or even realise your dream project. After
many years, there’s a huge range to choose from – here’s just ten Rapiro
we like.
Bipedal robot friend
Rapiro was a very cool kit
from several years ago
which always had open
ŸŅƚųÏåXĀĬ域ŅƼŅƚ
could print your own.
magpi.cc/rapirostl
RaspBMO ZeroBot
Friendly console Practical and small
While this BMO will be able to emulate games, it’s also just a nice This cool looking robot for Raspberry Pi Zero is great for remote
thing to have sitting on your desk. controlling and looking where you’re going with computer vision.
magpi.cc/raspbmo magpi.cc/zerobot
3D prints magpi.cc 79
RESOURCES
Gameboy
NANO
Small and portable
This very tiny handheld console
ĀƋŸ±ŸŞÆåųųƼ{Ĝ¬åųŅôƚŞčų±Úå
ƋŅ¬åųŅƖ±ĹÚƵ±ƋÏĘĜƋųå±ĬĬƼāƼţ
magpi.cc/gameboynano
Case with
Tank Bot camera mount
Treads for grip Goose neck mount
There are many robots on Thingiverse – we quite like this one as it can be
Watching your 3D printer with a
used for rough terrain better than normal wheels
3D-printed Raspberry Pi stand may be
a little meta, but it’s fun and useful.
magpi.cc/tankbot
magpi.cc/casewithcam
Retro
desktop tower
FreeCAD for Makers
Nostalgic protection
Fancy making your own 3D
More powerful than a ’90s PC, and a prints? Our colleagues at
neat way to present Raspberry Pi. HackSpace magazine put
together a great resource for
magpi.cc/retrotower designing 3D models in FreeCAD
80 magpi.cc 3D prints
Your FREE guide to
making a smart TV
BUILD A RASPBERRY PI
MEDIA PLAYER
Power up your TV and music system
magpi.cc/mediaplayer
RESOURCES
Learn Scratch
with Raspberry Pi
Resources to help you start coding with
the block-based language. By Phil King
Reading material
Books to help CODING WITH SCRATCH sturdy cards covering various projects
Part of the QuestKids series aimed at – such as Pong Game and Virtual Pet
you learn youngsters, this colourful 80-page – with instructions to make them.
Scratch coding guidebook sees the cartoon gang nostarch.com/scratchcards3
show you how to create platform
games. There’s also a second Scratch CODING FOR BEGINNERS
book that covers driving games. USING SCRATCH
magpi.cc/qkscratch This appealing spiral-bound Usborne
book helps you to get started with
OFFICIAL SCRATCH Scratch and create a range of projects
CODING CARDS including animations and simple
8LMWWIXSJǼEWLGEVHWFVIEOW games. There are also handy tips and
simple projects down into easy-to- links to working projects.
follow steps. There are ten sets of magpi.cc/usbornescratch
Scratch Ideas
MIT Media Lab ,[Z[`WL]^PN_TZYZQ_SPZʯNTLW with an educator guide if you’re
Online
AUTHOR
Scratch Team
loops, and variables.
magpi.cc/cs50scratch
Jorvon
Moss
A maker and roboticist known commonly as
Odd Jayy, Jorvon creates cool stuff for Digi-Key
I
f you’ve been to major
Maker Faires in the US
recently you’ve likely see
Jorvon, aka Odd Jayy, and his
amazing steampunk creations.
Sometimes robots, sometimes
wearables, and always very
cool. He describes himself as
an oddity, hence the name
Odd Jayy.
“I have an art background,
BFA in Illustration, and self-
He describes himself
as an oddity, hence
the name Odd Jayy
taught electronics. but mainly
focus on character based
robotics,” Jorvon tells us. “I
just decided to start [making]
one day in college as a hobby
but then realized it was a
passion of mine. I started
learning back in 2014, but it has
only been my full time job for
the last two years.”
Jorvon is always
working on
RI[cVSFSXW
MagPi
Monday
Amazing projects direct from social media!
E
very Monday we ask the question: have you
made something with a Raspberry Pi over
the weekend? Every Monday, our followers 01
send us amazing photos and videos of the things
they’ve made.
Here’s a selection of some of the awesome
things we got sent this month – and remember to
follow along at the hashtag #MagPiMonday!!
03
04
05
06
07
08
09
Events in pictures:
Raspberry Pi 5 launch
at the Raspberry Pi Store
Raspberry Pi 5 is here! We caught up
with folks buying their boards on day one
I
n the Grand Arcade at Cambridge, the
01
Raspberry Pi Store usually opens at
a reasonable 10am but on Monday 23
October we were there at a pre-dawn 7:30
am to witness the release of Raspberry Pi 5
at 8am. While there weren’t the huge lines
you’d see at a pop up, a handful of die-hard
Raspberry Pi fans were ready to get their new
everything computer.
Crowdfund this!
Crowdfunding projects for Raspberry Pi accessories
kck.st/3QcioER magpi.cc/crowfund
YOUR LETTERS
Your
Letters
Priority boarding period
I have been on holiday and found out about the priority
boarding codes long after the magazine came out – is
it too late for me to get one of these codes?
Az via Facebook
FREE
RASPBERRY PI
PICO W
All our issues are available as PDFs from magpi.cc/issues
Contact us!
> Mastodon magpi.cc/mastodon
> Threads @themagpimag
> Facebook magpi.cc/facebook
> Email magpi@raspberrypi.com
> Online forums.raspberrypi.com
Continuous credit card orders will auto-renew at the same price unless cancelled. A free Pico W is
included with all subscriptions. This is a limited offer. Not included with renewals. Offer subject to
change or withdrawal at any time.
EVENTS
Community
Events Calendar
Find out what community-organised Raspberry
Pi-themed events are happening near you…
04
RASPBERRY PI 01
STORE POP-UP
Raspberry Pi pop-up
Leeds – Experience
Raspberry Pi 5
> Where Victoria Gate, Leeds, UK
> When Saturday 4 November to Saturday 30 December
G
et hands-on with the all-new
Raspberry Pi 5 in our holiday pop-up
02 ^_Z]PZY_SPR]Z`YOʮZZ]ZQATN_Z]TL
Gate in Leeds, England. Experience Raspberry
Pi 5’s blazing performance and check out the
newest accessories. The store will have the full
line of Raspberry Pi products for purchase.
03
XLR[TNN[Z[`[WPPO^
magpi.cc/beginnersguide
COMPETITION
Competition magpi.cc 95
SUBSCRIBE AND
SAVE UP
TO
ISSUE #73
hsmag.cc
NEXT MONTH
ADVERTISING
Charlotte Milligan
A beginner’s guide charlotte.milligan@raspberrypi.com
+44 (0)7725 368887
to mastering
single-board computing DESIGN
criticalmedia.co.uk
Head of Design
Lee Allen
Designer
Sam Ribbits
Illustrator
Sam Alder
CONTRIBUTORS
Alasdair Allan, David Crookes, Pj
Evans, Rosie Hattersley, Phil King,
Stewart Watkiss, Ashley Whittaker
PUBLISHING
Publishing Director
Brian Jepson
brian.jepson@raspberrypi.com
Director of Communications
Liz Upton
CEO
Eben Upton
DISTRIBUTION
Seymour Distribution Ltd
2 East Poultry Ave,
London EC1A 9PT
+44 (0)207 429 4000
SUBSCRIPTIONS
Unit 6 The Enterprise Centre
Kelvin Lane, Manor Royal,
#137 Crawley, West Sussex, RH10 9PE
+44 (0)1293 312193
14 DECEMBER magpi.cc/subscribe
magpi@subscriptionhelpline.co.uk
professional
editor, and contributors accept no
responsibility in respect of any omissions
FACEBOOK magpi.cc/facebook
robotic arm
or errors relating to goods, products, or
services referred to or advertised in the
magazine. Except where otherwise noted,
Amiga with
NonCommercial-ShareAlike
3.0 Unported
ONLINE forums.raspberrypi.com
ƔQRR[FTKXG
(CC BY-NC-SA 3.0).
ISSN: 2051-9982.
THE FINAL WORD
Christmas with
Raspberry Pi 5
Writing about Christmas in early
November is weird, even for Rob Zwetsloot
T
hese Final Word columns tend about turkey dinners and stockings had trouble balancing it on my fake
to be one of the last things on a rainy October evening. tree. I should also get them all
we write for the magazine, automated with voice commands.
meaning that even with print lead Raspberry Pi-powered Anyway, keep an eye on the MagPi
times the context of these columns Christmas socials for anything I decide is
is still fairly fresh. As I’m writing Many of the Christmas tutorials that worth posting.
this, I realise we don’t have one of have appeared in the magazine over
my seasonal features in this issue the years are based on projects I’ve Under the tree
for Christmas – my favourite winter Hopefully you’ll have made use of
holiday! I’m Mr Mince Pie according
to my friends, after all.
Many of the Z`] ;]TZ]T_d-ZL]OTYRZʬP]_ZRP_L
Raspberry Pi 5 for yourself or
(Don’t tell anyone, but I might Christmas tutorials someone else who will be opening it
enjoy writing the annual Halloween on Christmas morning. If you’re
feature a little more as I get to that have appeared WZZVTYRQZ]^_ZNVTYR^_`ʬP]^_SP
embrace my inner crypt keeper and :ʯNTLW3LYOMZZV is a great gift,
alliterate more than is advisable.) in the magazine along with the newly updated
Lucy, MagPi0OT_Z]ʭ]XWdMPWTPaP^
that Christmas can’t start until after
over the years are Beginners Guide. We work hard on
those to make them extra special, and
-ZYʭ]P9TRS_FTɪX]TRS_ɧ0OHLYO
while I understand and respect that,
based on projects they’re a great way for new users to
pick up Raspberry Pi.
I’m full on Christmas mode the I’ve built myself Anyway, have a great holiday and a
moment the clocks turn midnight on happy new year. And yes, we do have
Halloween. Which, if we were to write built myself as Christmas another issue out between now and
a Christmas projects feature, would decorations, although I unfortunately then. The print industry is odd.
have been roughly the deadline for it. broke the 3D-printed star I made
That’s weird, right? I know TV shows XLYddPL]^LRZ4ɪX_]dTYR_ZʭR`]P
Rob Zwetsloot
AUTHOR
but it’s still a little odd to be writing make the star itself a lot lighter, as I magpi.cc
"DPTUFŗFDUJWFTPMVUJPOGPSEBUBDFOUFST
*5EFQBSUNFOUTPSSFNPUFNBDIJOFT
1J,7.)"5
GPS%*:BOEDVTUPNQSPKFDUT 1SF"TTFNCMFEWFSTJPO
$YDLODEOHDWWKHPDLQ5DVSEHUU\3LUHVHOOHUV
3FTFMMFSTVHHFTUJPOTBOEJORVJSJFT
XIPMFTBMF!IJQJJP