Tinkering
3D-printed fixes, Pocket CHIP and DevTerm projects, and Android hacks on old and unusual devices.
2026
- Android Auto on my HR-V's Android 4.0.4 head unit
I recently bought a 2018 Honda HR-V as our family car. It has a 7” touchscreen running Android 4.0.4, a version so old it predates Android Auto by about three years. It runs Android Auto now anyway, thanks to a small app I built over the course of a week.
- Android's 24 hour sideloading wall
I was showing a friend the Pokémon gen1recomp project on my phone the other day, and he wanted it on his. Easy enough. Hand over the APK and the files it needs, walk him through the setup, ten minutes while we’re sat in the same room.
- I turned my DevTerm into a Game Boy Camera and Printer
The Game Boy Camera was brilliant and stupid in equal measure, a 128x112 pixel sensor bolted on top of a cartridge, printing to thermal paper on a Game Boy Printer the size of a brick. I got both for Christmas when I was 12 and somehow spent hours with them. The minigames are absurd, the image quality is aggressively awful, and the whole thing looks like a prop from a cheap sci-fi film. I loved it.
- Using emoji to bypass FRP on a decade-old tablet
I recently picked up two Pixel C tablets from a seller on eBay, along with the magnetic keyboard. One tablet had a cracked screen but worked fine and wasn’t locked. The other was cosmetically perfect but the display was completely black. I figured between the two I could end up with at least one working tablet.
- Downgrading the OnePlus 7 Pro for LineageOS
I’ve had a OnePlus 7 Pro sitting in a drawer for a couple of years. I used it from 2019, found it too big, got a Pixel 5, and now I’m on the Pixel 7a. The usual thing, fiddling with an old gadget that’s been kicking about doing nothing. It’s a nice phone with nice features. Shame it’s stuck on such an old version of Android. Time to get LineageOS on there.
- Installing Android on the Nintendo Switch
A banned Switch sitting on a shelf is prime hardware for Android. Turns out the Tegra X1 that powered Breath of the Wild runs a full Android OS surprisingly well.
2025
- Exploring OTA firmware updates on the Mangmi Air X
After reviewing the Mangmi Air X, I got curious about how the firmware updates worked. Mangmi have been pushing updates fairly regularly, which is great to see on a budget device. Officially they release full update packages via Google Drive links, but those have a tendency to disappear over time. I wanted to access the OTA update packages directly and back them up to archive.org alongside the original firmware.
2023
- Pico-8 Cartridge Label for GPi Case
The GPi Case is a fancy case for the Raspberry Pi Zero that gives you a screen, speaker, buttons and battery in a design reminiscent of the original DMG-001 Classic Game Boy. I’ve got mine set up to emulate some old game consoles. It’s great. As the GPi Case uses a Raspberry Pi at its core, you can use it to run more than just game emulators. The Raspberry Pi plays Pico-8 games wonderfully (Pico-8 officially supports Raspberry Pi as a platform, too!). I’d always wanted a dedicated Pico-8 console, so the GPi fits the bill perfectly. I bought a second GPi cartridge to make a dedicated Pico-8 cart for my GPi. It contains a Raspberry Pi Zero W and an 8GB Micro SD card with a stripped-down Retropie that boots straight to the Pico-8 splore menu so you can immediately find and launch Pico-8 games made by the community. I put these labels together using found assets and the Pico-8 logo. You can print them on paper and then just glue or tape them onto the cartridge case. Printed dimensions should be: Width: 39.5mm Height: 22.75mm
2022
- Installing Chrome OS on a Late 2009 MacBook
I’ve got an old 2009 MacBook 6,1 (A1342) kicking about in my office that I’ve been playing with on and off lately.
- DevTerm Stuff
I helped crowdfund the DevTerm from ClockworkPi back in November 2020 and it arrived in January 2022. It’s a nice device, but it’s not perfect. Here’s some of the mods I’ve made to improve my DevTerm.
2021
- Adding an internal speaker to the Pocket CHIP
The Pocket CHIP doesn’t come with internal speakers. It has the GPIO pins for audio, but nothing is hooked up. On the CHIP itself there is a 3.5mm audio jack for connecting headphones, and you can pair a Bluetooth speaker. On the old NTC blog there was a post back in 2016 about adding an internal speaker using a fairly inexpensive PAM8403 amplifier and a speaker. You can find a mirror of the old post from the NTC blog on archive.org
- Adding Global Volume Control to the Pocket CHIP
I’ve been gradually adding internal speakers to each of my Pocket CHIPs lately and found it cumbersome to have to either open alsamixer or use the volume control page in the Pocket CHIP launcher to control volume.
- GameShell Stuff
I bought a ClockworkPi GameShell back in October 2019. I’ve been playing with it a bit lately (in anticipation of the ClockworkPi DevTerm shipping!) and I realised I haven’t yet posted anything about it on here. Here’s some of the hardware mods I’ve made to my GameShell.
- The Raspberry Pi Pico and the Pimoroni Pico RGB Keypad
In January the Raspberry Pi Pico was announced. The Pico is a RP2040 microcontroller featuring a dual-core Arm Cortex-M0+ processor with 264KB internal RAM and support for up to 16MB of off-chip Flash. It’s comparable to certain Arduino or ESP32 boards and at less than £4 per board it’s a well-priced alternative.
- CHIP Stuff
This page is a changing document. I’ll probably add more notes to it in the future. These are just some notes that I’ve put together in the past about flashing and upgrading the CHIP (and Pocket CHIP) computer.
- Using ORCA with FluidSynth on the Pocket CHIP
This post is about using the ORCA livecoding playground on the Pocket CHIP From the ORCA wiki: Orca is a two-dimensional esoteric programming language in which every letter of the alphabet is an operator, where lowercase letters operate on bang, uppercase letters operate each frame. This livecoding language is designed to procedurally generate MIDI, UDP or OSC messages.
2020
- Peanut Arduboy kit
I finally got around to assembling this little Peanut kit that I bought from Tindie a couple of months ago. The kit comes with everything you need (except a battery) to build a tiny (50 x 35mm) Arduboy-compatible handheld game. The specs are as follows: Arduino Pro Micro 0.96” OLED screen Piezo speaker The build instructions were very simple to follow, requiring only basic soldering skills (and a tiny SMD resistor to change out). Uploading games to the Peanut is pretty straight-forward. On Windows there are a couple of applications available. On Linux the process is a little more involved but it works great once you’ve got it set up. The only thing to note – in my experience – the ATTRS{idProduct} for the udev rules is slightly different with the Arduino Pro Micro provided in the Peanut kit, but you can easily find the correct value by checking the output of lsusb. There’s a bunch of games available on the Arduboy forum and also a nice curated list of games that can be automatically uploaded with the desktop app.
2019
- Installing Ubuntu on MacBookPro 8,2
This MacbookPro8,2 has been through a lot. I did some small upgrades back in 2012, then in 2014 it experienced some issues with the dedicated GPU that many Macbook’s of this model experienced. For a while I managed to keep it running my forcefully disabling the dedicated GPU with some EFI trickery, and running some form of Linux for a while (I think I kept it going with Elementary OS). In 2016 (or there abouts) I took the drastic measure of baking the mainboard in the oven to fix the dedicated GPU issue (by reflowing/reballing the solder), reinstalled macOS and then (besides a short stint as my wife’s computer) the MacBookPro8,2 ended up back on a shelf. until today! out of boredom I’ve decided to revisit this old beast. Installing Ubuntu on my old early-2011 MacBookPro8,2 Install rEFInd - https://www.rodsbooks.com/refind/ Create a Ubuntu USB (I used Rufus on my Windows PC, with the Ubuntu 18.04.2 iso) Boot the iso (hold alt key to get the rEFInd menu, select the USB) And this is where the first headache is. To make Ubuntu play nicely, you need to edit the boot commands so that certain chipset features are poked and enabled. At the Ubuntu boot menu, select the option you want (e.g. Live installer) and press e, which will bring you to the editor. First disable the AMD graphics card by adding the following lines after set gfxpayload=keep outb 0x728 1 outb 0x710 2 outb 0x740 2 outb 0x750 0 Next add the following after quiet splash on the boot command: i915.lvds_channel_mode=2 i915.modeset=1 i915.lvds_use_ssc=0 Then press F10 to boot, and you should successfully boot to the Ubuntu installer. From here you can install Ubuntu. You can delete the macOS partitions if you like, just make sure you keep the ~200mb EFI partition, and create your Ubuntu partitions after that. You’ll need to do this again for your first boot after you’ve got Ubuntu installed, and then you can edit your Grub file permenantly using grub-customizer or something.
- Pico-8 on the Raspberry Pi with Game HAT
I’ve been playing with Pico-8 a lot lately. I’ve got a small Pico-8 project site to launch soon, but in the mean time I’m more occupied with getting Pico-8 running on things.
2018
- A Foray Into Home Automation
This is an overview of why and how I decided to automate part of my home, and build my first IoT device…
- Pocket Sprite Laptop Mount
I’ve been playing with this Pocket Sprite a bit lately. It’s a tiny ESP32-based device that can emulate Gameboy, NES and various other classic game systems.
- Extra small extra macro keys v2.0
Well I took another look at the design of my macro keys project sooner than I expected. I started over with the design of the 3D-printed part of this project, and then moved the buttons and guts over from the previous version.
- Extra small extra macro keys v1.0
After my previous macro key project back in January that used full-size arcade buttons, I was itching to make a more compact set of macro keys.
- New Printer Standoffs and a Rebuild
There are lots of mods and additions for the Anycubic Kossel on Thingiverse. I’ve been looking to reduce the footprint of my 3D printer for a while now as it currently shares the same desk as my PC. I came across a set of standoff legs and immediately downloaded and printed them.
- Shower Bracket Spacer
I’m gradually working my way around the house, looking at little niggling problems and thinking of ways to fix them with 3D printing. Today I addressed an issue in the shower.
- New Filament!
It’s time for more filament! That PrimaValue Natural is serving me well, but I’m in need of a change of colour. I’ve still got about 1/2 of the spool left, but it’ll be fine so long as I bag it well and stick it in a cupboard.
- An Audio Amp v2.0
I went back to the drawing board with the amp design, this time with the goal to make the layout more symmetrical and to move the AUX input to the back of the amp.
- Kitchen Tongs Spacer
We’ve got this pair of wooden kitchen tongs that have been through the dishwasher one too many times and so their binding has lost it’s elasticity. To fix this, I quickly modelled and printed a spacer to clip between the tongs, to restore some rigidity.
- An Audio Amp v1.0
My wife and I like to have the radio playing all night in our bedroom. Our radio only has one mono speaker and it sits on one side of the bed which means for it to be audible on both sides of the bed one person has to have a loud speaker next to their pillow.
- 3D Printing a new remote control
I bought a 3D printer back in November last year and have been steadily filling my home office with 3D-printed miniatures, things to fiddle with, and functional solutions to problems that I didn’t realise needed fixing since then.
- New Filament!
I bought some new filament! The 1kg of black that came with the printer has lasted me about 3 months, and so it was time to buy some more.
- What's in the box?
Well it’s a bunch of buttons. This is a macro keyboard, by some description. I had a bunch of arcade buttons kicking around from previous hobbies, and thought it would be nice to put them to some use.
- LED Lighting and a Kill Switch
For the first (and definitely not the last) modification to my printer, I’ve added some LED lights. I’ve used a cheap strip of USB-powered RGB LEDs, and they’re held in place around the top of the frame with their adhesive backing and some zip ties (for extra support!)
- Recycled Parts
I spent some time around new year 3D printing Dungeons and Dragons (DnD) characters for a friend. His main character is an Elven archer or something. We went to looking online for models that fit the bill. There are lots of free DnD miniature models on Thingiverse to download and print.
2017
- Merry Grootmas
Another Groot print.. This time for my sister (she is obsessed with Groot, and who doesn’t love plastic nick-nacks!?) These models are by dav88 on Thingiverse. I printed them at quite a small scale, due to time constraints and demoing the 3D printer to the family.
- Is this art?
Well it could be. The printer needs more calibration. It’s colder now, so maybe the temperature is affecting things. I’ve added some cardboard to try and keep the heat in, and stop any cool drafts from interfering.
- My Birthday and Problems Printing Spidey
It’s my Birthday, so I’ve been printing things for other people (as a way to justify printing stuff!)
- Xenomorph Gift and Box
It was my friend Dave’s birthday, and he loves the Alien movie franchise. I found a nice model of a Xenomorph Guard on Thingiverse and using Tinkercad stuck it on a base with his name.
- Tablet Mounting Brackets from Scratch
Having my printer tethered to my PC is less than ideal, it means the printer has to be quite close to the PC because of the length of the USB cable, so I’ve been exploring other options. I’ve got a Windows-powered tablet (the Chuwi Vi10 Plus that I reviewed back in 2016) that isn’t doing very much these days, so I thought why not use that with the printer?
- Garden Bin Hinge Pin
The first practical print that I’ve done. I used Tinkercad to model this hinge pin for my garden bin to replace one that has been missing from the bin as long as I can recall.
- Pug, Alpaca, Hodor.
I’ve been going a bit overboard with printing novelty models from Thingiverse lately.
- I am Groot.
I printed a Groot! Another great model from Thingiverse. This Groot model prints in two pieces, which are then slotted together.
- Print in Place Elephant
I’m enjoying printing some great models from Thingiverse. This little elephant is an articulated print-in-place model. It prints in one piece, and then the legs sort of snap to become moveable.
- Dialing in the Anycubic Kossel
Delta style 3D printers can be very fast and accurate, but to get that point you have to do a lot of calibration and “dialing in”. I’ve had a number of problems over the past week, starting with general inexperience, followed up with a failed calibration sensor.
- The start of a new hobby
I bought a 3D printer! I’ve gone with the Anycubic Kossel Plus with linear rails.
- Enabling Google Daydream Support on OnePlus 3T
I enabled Google Daydream support on my OnePlus 3T today and I’m pretty impressed.
2015
- Downgrading Nexus 5 from Android 6.0 to Android 5.1.1
I jumped on Android 6.0 Marshmallow as soon as the developer images were available to flash, and to be honest as far as “major releases” go, it was pretty underwhelming. A lot of the new features aren’t things I need, and I’ve found myself running in to a bug with device orientation in Chrome (only!) not working.
2014
- Making suspend on lid-close work with Arch Linux on the HP Chromebook 11
The more time that I spend using Arch Linux on my HP Chromebook 11, the more things I find to tweak and tinker with. The latest thing I’ve addressed is making suspend work when the lid is closed. After speaking to my resident Arch guru about it, he pointed me to a blog post that he wrote on the subject, before actually showing me how to make it work.
- Using the Zed editor with Arch Linux ARM on your Chromebook
I’ve been using Arch Linux on my HP Chromebook 11 for a little while now. One of the problems I’ve had with the setup has been that Sublime Text is not available for the ARM architecture.
- Video: Installing Arch Linux ARM on the HP Chromebook 11
Just to follow up from my earlier post about Installing Arch Linux on the HP Chromebook 11, I’ve put together a video of the process to show how simple it really is.
- Installing Arch Linux ARM on the HP Chromebook 11
I concluded in my previous post about the HP Chromebook 11 that it’s a good device for casually browsing the internet, but it’s no replacement for a regular laptop or desktop for getting stuff done. Since that post I’ve not used the Chromebook very much, so with a vacant weekend I’ve decided to blow the dust off of the Chromebook and try to squeeze some more functionality out of it.
- So, I've got all of these Raspberry Pi accessories... now what?
I wrote back in May about having a Raspberry Pi, and very few ideas about what to do with it. Here’s an update on the subject.
2013
- So I've got a Raspberry Pi, now what?
I was going to title this post “In which I moan about the Raspberry Pi”, read on to find out why. I’ve had a Model B Raspberry Pi in my possesion for nearly two months now, and beyond playing with pre-built OS images for it, or setting up an AirPlay server, I’ve not really put the Pi to much use.
- Factory resetting a Nokia N900 from Mac OS X Mountain Lion
I had a Nokia N900 when they first came out, this was unfortunately shortly before Android had matured to a usable state, and so I didn’t use my Nokia N900 for long.
2012
- Ubuntu (native) on the Nexus 7
Last week, a Ubuntu native installer for the Nexus 7 was released, along with instructions on how to install Ubuntu on the Nexus 7. The plan is that the Nexus 7 will be the ‘core’ device that Canonical will build their tablet version of Ubuntu around. Right now, it’s quite experimental – the interface sees no tweaks for the tablet interface, beyond having an onscreen keyboard available.
- Upgrading my Macbook Pro
I’ve had my Macbook Pro for about a year now. It’s the Early-2011 15” bells and whistles model. The specs (the bits we care about, if you can’t be bothered to click the link) are as follows: CPU: 2.2ghz Core i7 RAM: 4gb (2x2gb) DDR3 HDD: 750gb
2010
- Upgrading Mac OS X Snow Leopard on the Dell Inspiron 1525 to 10.6.4
In this part of the guide, I’ll be covering upgrading to 10.6.4. You can read the first part of this guide here - Installing Mac OS X Snow Leopard on the Dell Inspiron 1525
- Installing Mac OS X Snow Leopard on the Dell Inspiron 1525
This is an update to my previous guide. I’ve since changed platform for my site — and even changed computers — but there is enough interest in this guide to warrant a re-write, so here we go. I’m going to be walking you through installing Mac OS X Snow Leopard 10.6.4 on your Dell Inspiron 1525. The configuration of your Inspiron 1525 might differ from mine, but generally most of the hardware will be the same.
2009
- Installing OS X Snow Leopard on the Dell Inspiron 1525
I’ve had a Dell Inspiron 1525 for about 18 months now. It’s not my main computer, so I’m often messing with it. Some time last year I made the jump to running OS X Leopard on the Dell, with some work and guides put in by the folks over at the InsanelyMac forums and a guide by Espresso Report/Daily Blogged. I had Leopard running on my Dell perfectly, and all of the hardware that I cared to work worked. Earlier this month I decided that I wanted to subject my Dell to being a test bench for Windows 7, so I decided to run that on the Dell for a while before running it on my main computer. Now that I have no need for Windows 7 on my Dell I’ve decided to return to OS X, but this time with the newly released Snow Leopard.
2006
- Lego USB Stick
This probably isn’t a new idea, but i think i executed it nicely.. i had this 512mb sony usb stick, which was pretty scratched up, and i had lost the cap for it.. so i decided i’d put it inside some lego bricks.