Well, it’s a portfolio of Gareth Halfacree’s work, silly. He’s the former systems administrator to the left – or above, on a mobile device – currently earning a living as a full-time technology journalist and technical author. You may know him from his best-selling book the Raspberry Pi User Guide, which has sold over 100,000 copies and has been translated into numerous languages, or his contributions to national magazines, radio programmes and books including Imagine Publishing’s Genius Guide and Tips, Tricks, Apps & Hacks series and his eponymous “Gareth Halfacree’s Hobby Tech” feature, a five-page spread in Dennis Publishing’s Custom PC Magazine each month. Read more
This month’s Custom PC features a look at the effect of compiler optimisation on applications plus reviews of Google’s AIY Voice Kit for the Raspberry Pi family and Jimmy Wilhelmsson’s Generation 64.
The tutorial, to begin, stemmed from investigations I was carrying out into Google’s Guetzli perceptual JPEG encoder. Having cut my teeth in computing back when every byte – never mind kilobyte – really counted, I have a soft-spot for compression both lossy and lossless. Over the years I’ve toyed with a range of compression algorithms, from LZMA and Robert Jung’s ARJ through to the clever if short-lived Fractal Image Format (FIF). Like most, though, I eventually settled on two popular formats for my image compression needs: JPEG where lossy compression is acceptable and PNG where it isn’t.
Guetzli aims to cut the file size of JPEG files by around a third for no apparent loss in perceived image quality. That was enough to pique my interest, but it comes at a cost: a runtime of minutes per megapixel to recompress each image. As an open-source project, Guetzli is provided in source-code form – so I began to play with the optimisation options available in the GNU Compiler Collection (GCC) to see if I couldn’t speed things up.
As readers of my column will discover, I could indeed speed things up – cutting the time taken to compress the small sample image provided with Guetzli from 14.3 seconds using Google’s precompiled binary version down to just 9.56 seconds. Although not an exhaustive guide to compiler optimisation in general nor even GCC-specific options – a topic which would take a book, rather than a couple of magazine pages, to cover adequately – hopefully the write-up of my experiments will help shine a light on the gains that can be made, the potential pitfalls of excessive optimisation, and the benefits of open-source distribution.
The Google AIY Voice Kit, meanwhile, is something quite special: an add-on for the Raspberry Pi family of microcomputers which, in essence, turns them into a somewhat cut-down version of the company’s Google Home voice-activated assistant platform. Initially distributed with The MagPi Magazine as a cover-mounted giveaway, the kit should soon be available for purchase by the general public – and it’s definitely worth seeking one out.
The kit itself centres around a Hardware Attached on Top (HAT) add-on board, which includes servo and motor control, connectivity for an arcade-style button, and links to a break-out board with a pair of MEMS microphones. Combined with some simple software and a link to Google’s cloud computing platform, the AIY Kit can be made to respond to your natural-language queries or even control external hardware via voice recognition – with some major caveats regarding how often you can use it before you need to start handing over cash for the voice recognition platform.
Finally, Generation 64. Originally written in Swedish by Jimmy Wilhelmsson and with design by Kenneth Grönwall, Generation 64 investigates the influence the Commodore 64 had on the Swedish computing scene – complete with an introduction by the founder of Digital Illusions, also known as DICE, and MOS 6502 creator Chuck Peddle. Translated into English and re-released by Bitmap Books, Generation 64 is an absolutely fantastic read which I would have otherwise missed had it remained untranslated.
Full details on all of these, plus a bunch more stuff written by people who aren’t me, can be found in Custom PC Issue 167 at your nearest supermarket, newsagent, or digitally via Zinio and rival distribution platforms.
Readers of my regular Hobby Tech column this month will find a BBC micro:bit-driven tutorial alongside two reviews covering the remarkable Raspberry Pi Zero W microcomputer and the fascinating Delete by Paul Atkinson.
The idea for the tutorial came about while working on a chapter of my upcoming Micro:bit User Guide, and seemed like a perfect fit for the readers of Custom PC Magazine: turning the low-cost yet extremely flexible micro:bit into an addressable USB-connected 5×5 LED matrix and having it display current CPU load in a constantly-updating bar graph. Naturally, the same technique could be used to graph almost anything.
The secret lies in MicroPython’s REPL, an interactive interpreter which can run on the micro:bit and accept commands via the USB serial port. By switching the micro:bit into REPL mode, it can be slaved to another system over USB. The result: the entire program code, written in Python using the serial, time, and psutil libraries, exists purely on the host machine. A quick bit of Blu-tack later, and my monitor was wearing a CPU monitor which worked even when the display was off.
The Pi Zero W, meanwhile, was a device to which I had been looking forward for quite some time. An upgraded version of the original £5 Raspberry Pi Zero microcomputer, the Pi Zero W differs in only one respect: it has a built-in radio module, the same BCM43438 as found on the far larger and more expensive Raspberry Pi 3.
While the addition of the radio module, which offers Bluetooth, Bluetooth Low Energy, and 2.4GHz Wi-FI connectivity, almost doubles the price of the Pi Zero W to £9.60, it’s money well spent. In almost every Pi Zero project I have built, I’ve ended up using a USB OTG adaptor and low-cost USB Wi-Fi dongle to add network connectivity, and having it on-board – even at a slightly higher cost compared to a USB-connected solution – makes life considerably easier.
Finally, Delete. Billed as “a design history of computer vapourware,” Paul Atkinson’s coffee table book is packed with high-quality photographs – and, for the rarer machines, the occasional rescaled JPEG exhibiting unfortunate compression artefacts – covering machines from an upgraded Sinclair QL to a bright yellow IBM that never left the drawing board. Each comes with pages on its history, with interview subjects detailing features and failures alike, and while not all machines were strictly vapourware few are likely to have a place in the average vintage computing collection. In short: if you like old computers you’ll like Delete, which is available now from Amazon and other bookstores under ISBN 978-0857853479.
As always, you can read the whole column and a whole lot more by picking up Custom PC Issue 166 from your nearest supermarket, newsagent, or electronically via Zinio and similar services.
This month’s issue of Custom PC Magazine marks a milestone: four years since I started writing my Hobby Tech column. To celebrate, three reviews spanning its five pages: the Ryanteck RTk.GPIO, the Kitronik Micro:bit Inventor’s Kit, and the Pimoroni GPIO Hammer Header – the only piece of electronic equipment I’ve ever reviewed installed with a hammer.
First, the RTk.GPIO. The brainchild of Ryan Walmsley, interviewed back in Issue 129, the RTk.GPIO is designed to bring all the joy of the Raspberry Pi’s general-purpose input-output (GPIO) header to any PC with a free USB port. A surprisingly sizeable red-hued circuit board, the RTk.GPIO includes a Pi-compatible 40-pin GPIO header with pin-out on the silkscreen. A quick pip install of the Python library later, and you can pretty much take any RPi.GPIO program and have it run natively on your Windows, Linux, or macOS machine.
Perhaps the biggest power of the RTk.GPIO is in assisting with the development of software for Pi add-ons, using the extra computing power of a desktop or laptop to make your life easier then allowing you to transfer your program to a real Raspberry Pi with minimal changes once complete. Its only real downside, in fact, is price: it’s more expensive than picking up a Raspberry Pi Zero and turning it into a USB device, though undeniably smoother to use.
The Kitronik kit, meanwhile, is one of a range of add-ons I’ve been playing with for my upcoming Micro:bit User’s Guide. Based around a GPIO expansion board for the micro:bit’s edge connector, the kit comes with mounting plate, solderless breadboard, jumper wires, and all the components you need to work through the included full-colour tutorial book – plus, in the version I picked up, the micro:bit itself, though the kit is also available without for those who already have the BBC’s miniature marvel.
In the years I’ve been playing with hobbyist electronics, I’ve seen these kits go from the most hastily thrown together things to extremely polished collections of hardware – and Kitronik’s kit definitely sits at the right end of that spectrum. There are nits to be picked, such as the lack of a handy plastic parts box for storage and no use of the lovely breadboard overlay sheets that make the Arduino-centric ARDX kit so easy to use, but it’s hard to imagine someone buying the Kitronik kit and being disappointed.
Finally, the GPIO Hammer Header. I’ve long been a fan of Pimoroni’s products, but the Hammer Header is by far both the simplest and the smartest I’ve seen. Designed for anyone who has purchased a Raspberry Pi Zero and wants to make use of the unpopulated GPIO header but who doesn’t fancy firing up a soldering iron, the kit makes use of cleverly-shaped pins which can make a suitable electrical connection purely mechanically.
The kit gets its name from the acrylic jig used for installation: assemble the jig with the Pi Zero in the middle, then give it a few sharp raps with a hammer to push the pins home. Male and female variants are available, allowing you to quickly install headers on both the Pi Zero and compact pHAT add-on boards, and to my surprise both installed quickly, easily, and without a single poor joint – and in a fraction of the time of soldering all 40 pins by hand.
For all this, and more, pick up the latest Custom PC Magazine from your nearest supermarket, newsagent, or digitally via Zinio or similar services.
In this month’s PC Pro Magazine I take a look at possibly the least original product to have ever come out of Asus’ labs: the Raspberry Pi clone known as the Tinker Board.
Designed to help Asus capture a slice of the lucrative maker market, the Tinker Board is a one-for-one feature-and-footprint clone of the Raspberry Pi 3: it’s a roughly credit-card-sized single-board computer with an ARM processor, wired Ethernet, Wi-Fi and Bluetooth radios, four USB 2.0 ports, an HDMI port, analogue audio, Camera Serial Interface (CSI) and Display Serial Interface (DSI) ports, and a 40-pin general-purpose input-output (GPIO) header. So far, so cloned.
Where Asus has tried to improve upon its inspiration is in the raw specifications: the processor, while 32-bit to the Raspberry Pi 3’s 64-bit, is considerably faster; there’s double the memory, a supposedly gigabit network connection which isn’t bottlenecked by a single-channel USB bus, support for 4K video playback, and high-resolution 24-bit 192KHz audio. If all of that were true, it’d be easy to overlook the higher selling price of the Tinker Board compared to the Pi on which it is based.
Sadly, my review didn’t go smoothly. The Tinker Board has hit the market in a parlous state. The 4K video playback is choppy, the GPIO port barely works and none of its features beyond simply toggling a pin on and off are available, hardware accelerated video playback is barely functional, and the ‘gigabit’ Ethernet port no faster than the 10/100Mb port on any standard Raspberry Pi.
To be fair to Asus, the majority of the problems I encountered – bar, possibly, the Ethernet performance – were likely related to the software provided, which appears to be in a very early alpha stage. It’s a device I’ll be keeping to one side in the hope of revisiting it in the future, should Asus ship improved software.
For a full run-down of my experience with the board, pick up the latest PC Pro at your nearest supermarket, newsagent, or electronically on Zinio and other digital distribution platforms.
My Hobby Tech column this month is dominated by two reviews of devices which have taken their inspiration from better-known alternatives, but the two couldn’t be more different: the Asus Tinker Board and the SiFive HiFive1. As an added bonus, there’s a look into the wonderful world of hobbyist pinball machine repair, and by that I mean a friend and I repaired some pinball machines and lived to tell the tale.
First, the Tinker Board. There have been rumours flying around since last year that Taiwanese technology giant Asus was looking to carve itself off a slice of the Raspberry Pi pie, and that’s exactly what the Tinker Board is: an attempt to clone the Raspberry Pi. Its footprint and layout are so close to the original that it’s entirely possible to use official Raspberry Pi cases without difficulty, and the features available are a one-for-one match: four USB ports, an Ethernet port, Bluetooth and Wi-Fi, a 3.5mm jack, CSI and DSI connectors, and even the Pi’s trademark 40-pin GPIO header.
To its credit, Asus has tried to improve upon the original design. The processor is more powerful – quite impressively so, I discovered in my testing – and purportedly supports 4K video playback, the Ethernet supposedly gigabit, there’s support for 24-bit 192KHz high-definition audio, the RAM has been boosted from 1GB to 2GB, and the GPIO port has received colour coding to its pins. Sadly, many of these claims fell short during testing: the Ethernet port’s throughput is sub-100Mb/s even when connected to a gigabit switch, the 4K video playback simply doesn’t work, and the GPIO port is useless for anything save basic on-off pin switching – there’s no I²C, no SPI, no 1Wire, no UART, nothing, with all advanced features simply listed as in-the-works.
The SiFive HiFive1, by contrast, delivers on its promises and more. Designed to mimic the footprint and layout of an Arduino Uno microcontroller, the HiFive1 is notable for the chip at its heart: one of the first off-the-shelf implementations of the open-source RISC-V (pronounced “risk five”) architecture. Still in its relative infancy compared to Atmel’s AVR or Intel’s x86 architectures, RISC-V is designed to scale from microcontrollers like SiFive’s through to high-efficiency server systems.
Like the Tinker Board, I ran into a few hiccoughs during testing. Unlike the Tinker Board, they were all quickly addressed. Considering the HiFive1 is only the second major product from SiFive and is the first commercial implementation of the RISC-V architecture to include support in the Arduino IDE for easy programming, I was thrilled with the board – and sad when my time with it came to an end.
Finally, pinball machines. The last page of this month’s column details my visit to the Brew Haus in Bradford with my friend Stuart Childs, but rather than being there for the beer we were there to administer some love to a series of pinball machines the owner had recently installed – one of which, a Data East Star Wars table, was entirely non-functional and missing its keys to boot. Between picking the lock to gain entry, replacing the somehow-shattered bumpers, testing the electronics, and discovering the PSU was hanging by a thread – its screws, interestingly, being attached to the magnet of a nearby speaker – a fun time was had and a working table set up by the end of the evening.
To get the full low-down on all these topics, plus a whole lot of interesting stuff written by people who aren’t me, head to your local newsagent, supermarket, or other magazine outlet, or pick up a virtual copy via Zinio or similar digital distribution services.
My work for Hobby Tech this month involved rather more soldering than is usual, in order to assemble the parts required for reviews of the Boldport Club’s Ligemdio and Touchy kits and the Dark Control Raspberry Pi motor control boards – though, at least, the final review of the freshly-launched Debian+Pixel Linux distribution was free of fumes.
First, the Boldport Club. I’ve reviewed one of Saar Drimer’s impressively artistic circuit kits before, back in November 2015, but where you used to have to camp out on the Boldport website to pick up the latest small-production-run kit there’s a new option: monthly subscription. Members of the Boldport Club get a series of parcels, typically but not always including a kit featuring a Saar-designed printed circuit board but almost always being aimed more at the experienced engineer than the absolute beginner.
For a flavour of what Boldport Club members can expect, Saar sent over two kits: the Touchy, a touch-sensitive microcontroller dedicated to the memory of maker Oliver Coles, and the Ligemdio, a handy-dandy USB-powered LED tester. The latter proved far simpler to build than the former: anyone used to beginner through-hole kits would undeniably find the surface mount components on the Touchy a challenge, but therein lies its attraction.
The soldering on the Dark Control boards, by contrast, was considerably less tricky. Created by the Dark Water Foundation and funded via Kickstarter, the Dark Control boards – one for DC motors and the other for ESC motors – are impressive beasts. Designed to mimic the footprint of the diminutive Raspberry Pi Zero, the boards include the ability to run a minimum of six independent motors, include room for a nine-degree sensor add-on, and can be linked to remote control hardware for network-free control of everything from submarines to aerial drones.
Finally, Debian+Pixel is Raspbian for the masses. Like Raspbian, Debian+Pixel is built on top of Debian Linux; like Raspbian, Debian+Pixel uses the Pixel desktop environment; like Raspbian, Debian+Pixel includes a selection of educational software chosen by the Raspberry Pi community. Unlike Raspbian, though, Debian+Pixel runs on almost any x86 PC – meaning you don’t need a Raspberry Pi.
The software is, as you’d expect from a distribution based on one of the oldest Linux variants around, stable. The Pixel interface looks the same whether you’re running on a Pi or a traditional PC, and only the speed at which programs open and run gives it away. Sadly, there are one or two omissions largely as a result of licensing agreements: the handy Wolfram Alpha application is nowhere to be found, as is the extremely buggy Minecraft Pi Edition that saw one release back in 2013 before being abandoned by the now Microsoft-owned Mojang.
For the full run-down of all these shiny things, plus a whole bunch of other stuff written by people who aren’t me, you can pick up the latest Custom PC magazine in your nearest supermarket, newsagent, or electronically via Zinio and similar digital distribution platforms.
This month’s The MagPi Magazine, the official publication of the Raspberry Pi community, features my review of an impressive compact network-attached storage (NAS) device: the Nextcloud Box.
Built around the PiDrive storage system from Western Digital Labs and featuring software from the open-source Nextcloud project – itself born from a fork of the Owncloud project – the Nextcloud Box does exactly what it says on the tin: it’s a box which runs Nextcloud.
More accurately, it’s a box that can run Nextcloud. Out of the box, there’s a key piece missing: the packaging reveals a two-part plastic chassis with clever magnetic clasp, a smart split power and data cable, a power supply, a 1TB Western Digital 2.5″ hard drive, and a micro-SD card with the Nextcloud software already loaded onto an Ubuntu Core installation. What you don’t get is a Raspberry Pi: the brains need to be supplied separately, with only the Raspberry Pi 2 supported at the time of writing.
Once you’ve affixed your Pi in place with the bundled Torx screwdriver and screws, you can begin the installation process – which is as simple as putting the micro-SD card in and connecting power. Over the course of a few minutes the operating system is copied to the 1TB hard drive, and then the system reboots ready for configuration.
Nextcloud is, I have to say, incredibly impressive software. While there’s some way to go in certain aspects of usability – in particular setting the NAS up for access from outside your home network requires a bit of fiddling at the command line, registration of a domain name, and manual port forwarding on your router or gateway – the UI and general functionality are both polished to a high standard.
For my full opinion on the device, though, you’ll have to read the review – and you can do so for free by downloading the Creative Commons licensed DRM-free PDF at the official MagPi website, or by picking up a print copy from your nearest supermarket or newsagent.
The Raspberry Pi Foundation has launched a new magazine, Hello World, and I’m thrilled to have contributed photography to its launch issue – the first, hopefully, of many to come.
Designed to sit alongside The MagPi rather than replace it, the Foundation’s second magazine takes aim at a different audience: where The MagPi is for the Raspberry Pi community as a whole, Hello World focuses purely on computing education – and not exclusively Raspberry Pi-related topics, either, with hackspaces and 3D modelling software among the subjects covered in the launch issue.
While I’m primarily a technical writer and journalist, I’m also a photographer. Whether it’s events I’ve attended or product photography, whatever I take I release publicly under a permissive Creative Commons Attribution Share-Alike licence which allows anybody – including commercial businesses – to take the images and use them as they see fit, so long as I am identified as the original creator and any derivative works are released under the same licence.
It’s always a pleasure to see my photos cropping up in new places, and I’m proud as punch that includes Hello World. The full issue is available to download now as a free PDF from the official website, while you can see more of my photography – and download full-resolution images to use yourself – on my Flickr page.
In this month’s PC Pro I turn my eye to the Kano Computer Kit, the latest bundle of parts from the eponymous London-based education-centric company – and come away with distinctly mixed feelings.
The original Kano kit proved a smash hit when it landed on crowdfunding site Kickstarter back in 2013, raising more than $1.5 million to produce what it claimed was a computer you built yourself. Its launch was marred, however, by a modicum of controversy: what Kano had made was not a computer, but rather a selection of accessories – case, speaker, keyboard, and a customised GNU/Linux operating system – which it bundled with the already-existing Raspberry Pi, turning it from the “computer you build” to the “computer you put in a case and plug a USB dongle into.”
The crowdfunding success was followed by efforts to set up a sustainable business, and the Kano kits are now available globally direct from Kano and through resellers. For review I received the two latest revisions, the Kano Computer Kit and Kano Display Kit, bundled together as the Kano Complete Computer Kit.
The Computer Kit takes a Raspberry Pi 3 then bundles it with the Debian-based Kano OS software, a case, GPIO-powered speaker, combined wireless keyboard and trackpad in fetching orange, and the Kano ‘story book’ manual. The Display Kit adds a non-touch display panel, a custom stand the Kano case can hook into, and a smart split power cable that allows the display and Raspberry Pi to be driven from a single socket.
The hardware, sadly, proved disappointing for the cost. At an RRP of £299, the kit isn’t exactly value for money: a Raspberry Pi 3, speaker, wireless keyboard and trackpad, official touchscreen display, power supply, micro-SD card, and a decent book could be had for around half the cost and provide roughly equal educational value – if, that is, you ignore the software.
Kano OS is, to put it simply, fantastic. For full details you’ll have to read my review, but it’s fair to say I was in love with the platform from the moment I powered the Kano kit on. Interestingly, though, you don’t need a Kano kit to use Kano OS: the Debian-based Linux distribution is available to download completely free of charge from Kano’s developer site, and can be used on any existing Raspberry Pi.
For my final conclusion, pick up the latest issue of PC Pro from your favourite supermarket, newsagent, or electronically via Zinio and similar digital distribution platforms.