Making a Classic USB Amiga Mouse



-This hack requires a dremmel with cutting and sanding attachments. Always wear goggles and ask an adult for help if your still in school. Please safety first, I take no responsibility for injury or loss of bladder control if you undertake this guide.

Not so long ago I posted an article on converting a broken Amiga Joystick into a working USB controller. In todays blog, I’m going to cover converting an old Amiga tank mouse in to a USB device. Before any of my fellow Amigans start shouting at me for desecrating a piece of retro tech, I’d like to state the mouse was pooched, the internal micro switches had clicked their last. Sure I could have repaired the switches, but I wanted an Amiga mouse for my AmigaPi and I doubt the world will miss one less yellow A500 mouse.

The first thing you’ll need is a broken mouse, please don’t bust up a working mouse, that’s just wrong and a waste of a good device. Next you’ll need to find a donor USB mouse, preferably something small, compact and simple in design. Essentially you’re looking for a budget mouse, the sort you might find in a 99p store. Below is a photo of the mouse I used, don’t worry if it has an internal LED, we can easily snip that out. Next we’ll need a beige USB cable, pick a length that suits your needs preferably something that will connect to the computer and leave enough room for the mouse to sit comfortable on your desk. If you’re still unsure, go for a 1m or 1.5m length cable as you can always trim it down to suit your needs.

We now have the essentials for making an Amiga USB mouse. Unfortunately I can’t walk you through the whole process, as it all hinges on the USB mouse you bought for the conversion. Initially you need to take both mice apart, and remove the electronics from the Amiga mouse. The only parts of the tank mouse you need are the main shell and the flexible plastic sheath around the mouse cord. The best way I’ve found to remove it, is by cutting along the under side with a sharp blade and pulling the cord out through the cut.

Let us turn our attention to the USB mouse, with the lid off you should have a good view of the PCB. The first thing you need to do is check the pinout of the cable because soon you’ll be removing it. To do this, you’ll need a multi-meter so you can perform a signal test on the each wire going from the connection point on the PCB to the pin inside the connector on the other end of the lead. I find it best to draw a simple diagram of the USB cable with the connector and the four pins laid out. I then jot down the corresponding colour wire for each pin.


A rough sketch can save a lot of time


Usually this is red, black, green, white, but not all cables are the same so been warned. Once you know the colours and where they go, you need to cut the cable leaving roughly 2” inches coming from the PCB as we’ll be using the remaining wires to patch in the new cable, matching red to red, black to black etc. However if you wish to you can completely remove the old cable by de-soldering it from the PCB and solder your new cable directly to the board. This makes for a neat and tidy finish, but it can prove a challenge depending on your soldering skills. So if in doubt, stick to my suggested route and leave some of the old wire in place. This way it will be easy to match up all those colour wires.

Assuming you are happy with the length of your new cable, trim back the outer sleeve and expose the four inner wires. You should have something like red, white, black and green, if your cable came from China you might find you have blue or even an orange in place of one of the standard colours. Not to worry, just check with your meter and make sure you know which pin the wire goes to. Hopefully if you’re really lucky it will match the wires on the mouse, otherwise you might end up with green as white or red as green. Again jot down the colours on your diagram, matching them up to the respective pins. Usually white and black are voltage, green and red are data. But never take anything for granted, always check!

Once you have the mouse rewired, hook it up to your computer and confirm its working. If nothing happens, check your pin out again.

The chances are your mouse came with a scroll wheel and depending on your skill level, you can either remove this with a hot air gun or use tin snips to remove the parts holding the wheel in place. Just be mindful that you don’t damage the traces on the underside of the PCB. A little wiggling is fine just try not to tear the components right off the board as that would be very bad. Assuming the scroll wheel is now removed, hook the mouse up to a computer and check that it’s still works. Hopefully it does, if not, check you haven’t broken and traces. I’ve make two Amiga mice so far and neither had an issue when the wheel was removed.
If you mouse came with a silly blue or red internal LED (note not the optical sensor!) You can snip it off, as the tank mouse doesn’t need lighting up internally. Your optic sensor does use a red led which is directed into a lens,  don’t under any circumstances mess with it!
Here comes possibly the hardest part of the hack, inserting the new PCB into the tank mouse. Initially it won’t fit, for a start the optics will sit to high off the ground to be any good. So you’ll need a Dremmel to cut and sand the inside of the tank mouse, removing any lugs or protruding bits of plastic that are in the way. I’ve included a


Use a Dremmel to gut the inside of the mouse case.

photo to give you an idea of what it should look like, on both the mice I modded I had to superglue the cover ball cover in place. Depending on the donor mouse, the PCB might be too large for the inside of the Amiga mouse housing. If this happens you will need to trim the PCB with you Dremmel and a cutting disc. Regretfully I can’t walk you through this part as designs differ from one device to another. Usually trimming the board breaks the ground plane, you’ll need to do a little trace work with some wire to get things reconnected. Either way, you’ll have to get creative or find a friend to help you. Alternatively find yourself a donor mouse with a small PCB.
When your happy with the bottom half of the tank mouse, use a bit of blue tack and press the pcb down temporarily so that is sits inside the housing. Hook it up to your pc and take it for a test run. How does it perform? Is the cursor jumping about or shaking? If so, the optical sensor is probably sitting too high. First try pressing down the PCB with your thumb, does it improve? If it does, you might be able to get away with hot gluing the pcb while pressing it down with your thumb. Once the glue sets, the board will remain where it is. Otherwise use your dremmel to shave off a little more plastic before gluing the board in place.

Before you go gluing the board in place, we need to address the mouse buttons. You can do this one of two ways, either with a set of large micro switches or a pair of lever micro switches. The latter recreates the clicky sound of the tank mouse really well, but either will do the job just fine. Now returning to the PCB, you will need to remove the existing switches. As they will likely be too far back and not sit in the same place as the original Amiga buttons. You can either de-solder them or once again snip them off. I can’t stress the importance of being gentle at this point, if you damage the traces on the board at this stage you’ll have a hard time recovering the mess, so take it slow!

With the old switches removed, you can begin wiring in the new ones. Remember the new micro switches need to sit where the old amiga switches did inside the case. If you still have the original tank PCB, use it for comparison. If it helps, use a marker pen to drawn on the inside of the mouse case, so you have some guides to follow. Blue tack is your friend and will allow you to stick the switched down while you line them up with the mouse buttons. Once you have them lined up, you’ll need to wire them up to the new PCB. The wires will only need to be short and while it’s a little tricky to get everything sitting right, with a little time and patience it can be done, trust me I’ve done this twice.

With the new buttons wired up, you’ll need to test the mouse again by connecting it to a computer. If everything works, we’ll move on to the final stage, gluing all of the components in to place. It is up to you but I would strongly advise using a little blue tack to stick everything in place temporarily. Place the lid on the mouse and see if the mouse buttons work. Hopefully they should be clicking away inside the mouse and working just like the original. If things aren’t going exactly as planned, don’t worry because we used blue tack. Just pop open the mouse and adjust the switches a little until they are aligned with the plastic buttons build in to the upper lid. When you satisfied, remove the blue tack and use hot glue to fix everything in place. If you’ve only used a tiny bit of blue tack and don’t want to risk moving anything you can always glue the parts in place as they sit.

Finally with the buttons and PCB fixed in place, you need to put the flexible plastic piece back around the mouse cord. Simply peel it open using your thumbs and slide the cable inside. Because this collar piece is meant to keep the cable from pulling out of the mouse, you will need to use some glue to fix the cable from slipping up and down inside the collar. I did this by inserting some glue in the cut I’d made, not only does this hold the cable in place, but it also fixes the collar back together. Once the glue sets, it will stop you pulling the wires out from inside your mouse. Still, I’d recommend against holding the mouse by the cord.

All that is left to do now is to screw the mouse back together and take it for a spin. If you’ve been testing it a every step, nothing should have gone wrong. Hey presto you have a new Amiga USB mouse!









Tandy TRS80 M100 Serial Terminal


Since getting my Tandy M100, I’ve always wondered about connecting it to my main Linux machine. Doing so wasn’t beyond the realm of possibility and if successful, it would open up a whole range of things I could do with my tiny computer. Fortunately, there are two tutorials on the subject, but sadly both of them are out of date with the current distro’s of Linux. What follows is my revised version of both tutorials.

I will point out that this setup isn’t perfect, while I had no problem going on IRC chat and browsing directories, I discovered doing other things, such as using text editors was fraught with problems. The text wouldn’t load up on the screen properly or overlapped as the screen scrolled. While this is disappointing, I did find that I could upload text to an open document on my main PC. By running a session of Nano, I could press the UPLOAD button on the M100, select a file stored locally in the M100’s memory and load it in to the empty Nano document. While this isn’t exactly ideal, it does mean I no longer have fiddle around with Minicom. I can quite literally connect the M100 to my main pc and upload the document straight to the Hard Disk.

For any serious use, I would highly recommend using mComm, developed by Kurt McCullum. Availible on Windows and Android, it offers a convenient mass storage media for any TRS80 M100 Micro  computer.

Setting up Linux

First we need to teach Linux the TRS100, so that it knows how to display the console when the Micro connects via serial. With a 40 column display, getting text to fit right is pretty important.
First type

"Sudo nano /etc/trs100"

With the empty document open, paste in the following text.

trs100|Radio Shack Model 100:\
 :al=\EL:bl=^G:cd=\EJ:ce=\EK:cl=\EE:cm=\EY%+ %+ :\

Originally part of Terminfo, because of it’s age the configuration profile for the model 100 was relegated to a UFO archive in the mid 90s. Luckily Eric S. Raymond found the file and published the details on his website.

With the text now pasted in place, save the file by pressing Ctrl+O, name it trs100. Before we can do anything with this file, we first need to make sure ‘libncurses5-dev’ and ‘libncursesw5-dev’ are installed on your computer. Type the following command in the terminal:

sudo apt-get install libncurses5-dev libncursesw5-dev

With the above files installed, we can now compile the terminfo file we
created by typing the following command

'tic /etc/trs100'

Providing there weren’t any errors, we can now move on to configuring Linux.
This is where things get a little more involved.

Since the last tutorial was written, Systemd has replaced the init sy which is used to open a console session via the serial port. Without it, it would be unable to communicate with Linux. So we must revise what the original tutorial tells us to do. Let’s begin by opening up a new document in Nano with the following command in the terminal

sudo nano /etc/init/ttyS0.conf

With nano open, copy and paste the following in to the window.

# ttyS0 - getty
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[12345]
stop on runlevel [!12345]

exec /sbin/getty -L 600 ttyS0 trs100

Save and close the document using Ctrl+O to save. While still within the terminal, type the following command.

sudo start ttyS0

By entering that command, you’ve now started a console via the serial port. But before you go trying to plug in your Micro, there’s just one last thing we need to do. If you’re serious about using your Model 100 with your Linux machine, one thing you might like is to have the output of the console visiable as soon at the PC loads up. To achieve this, we will need to alter the Grub configuration file.

While in terminal, type the following command and press enter.

sudo nano /etc/default/grub

Look for the follow entries and alter them to look exactly as they are
listed here.


Tip- ttys0 tells Linux which serial port to use, this could be change to ttyS1. 600 sets the communication speed to 600 baud, while this might seem slow, going higher can potentially cause data corruption. Specifying the trs100 profile, allows the console to display properly on the tiny screen of the micro.
# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=600 --unit=0 --word=8 --parity=no

Tip-By invoking “console serial”, Grub is told to output via the display and serial. –unit=0, you might want to change this to 1, if your using ttys1. Providing all the fields are now updated, let us recompile the Grub configuration file using the following command

Sudo update-grub

Some text will scroll up the screen, similar to what is below.

Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.13.0-55-generic
Found initrd image: /boot/initrd.img-3.13.0-55-generic
Found linux image: /boot/vmlinuz-3.13.0-54-generic
Found initrd image: /boot/initrd.img-3.13.0-54-generic
Found linux image: /boot/vmlinuz-3.13.0-53-generic
Found initrd image: /boot/initrd.img-3.13.0-53-generic
Found linux image: /boot/vmlinuz-3.13.0-48-generic
Found initrd image: /boot/initrd.img-3.13.0-48-generic

Now connect your null modem cable to your PC and your Model 100. On your Tandy computer, run Telcom and type ‘STAT 48n1e’ followed by ‘Term’. Now place the micro to one side and reboot your Linux machine. As it is rebooting, watch the display on the Model 100, it should begin to display information. If not, you may need to look at what serial port your using, as it might be ttyS1, instead of ttyS0. An easy way to find out is to use Minicom, which allows you to quickly swap between com ports and communicate with your Model 100.

Providing all has gone well, you should see a prompt asking you to enter your username and log in to Linux.

Now go have fun!


Thanks goes to

Sean Gallagher, Brian Hicks, and

Without whom making this tutorial would have been much much harder.

Bluetooth on the Raspberry PI


For anyone with a Raspberry Pi3, this topic may or may not be useful. If like me you own a Raspberry Pi2, you may be facing the challenge of using Bluetooth with your Pi and wondering how on earth you get things started. Depending on how Linux savvy you are, this can be either a walk in the park or a utter nightmare that will leave your pulling your hair out and crying in a corner.

Now thanks to a good friend introducing me to Linux, I’ve been enjoying various distros for well over seven years, my favorite being Xubuntu. But that isn’t to say that I’m by any means a Guru. There are times Linux honestly leaves me baffled, but I felt pretty confident that setting up a keyboard on the RPi would be a walk in the park. After all, the latest addition, the PI3 comes with Bluetooth built in, so you’d think it worked pretty much out the box. When I bought an ultra slim bluetooth keyboard from Pimoroni, I was a little shocked to spend the next two days fighting with it. No matter what I tried the Bluetooth software in refused to work with the keyboard. Thankfully the Raspberry Pi forum came to the rescue and after an hour searching for a solution, I finally had my answer.


If like me you’ve been reading guides telling you to use bluez-simple-agent to set up your keyboard, then you know that such a command no longer works on Raspbian Jessie, Bluez has been updated since those guides were written. Fortunately however Archlinux has a great Wiki page dedicated to using Bluetooth in Linux and how to get things working using the new command “Bluetoothctl“. From what I can tell the process isn’t that dissimilar to “bluez-simple-agent“.


Ultraslim, but not so easy to setup

Now I’m going to assume you’ve already installed Bluez on your machine. If you haven’t, then I suggest you get cracking.

– At the command prompt, type “bluetoothctl” and press enter.

– By default your controller is turned off, to switch it on enter “Power on“.

– Next, lets have a look at what your Pi can see, enter the command “Devices“. The computer will list any visible bluetooth devices, along with their MAC address. If you see the device your wanting to use, make a note of the MAC address now, as you’ll need it later.

– If your device wasn’t listed, try putting your pi in discovery mode with the “Scan on” command. Hopefully this will add any device that weren’t already discovered.

– Now turn agent on by typing the command “Agent on“. If successful your Pi should report: “agent registered“.

– Time to try connecting to your device using the address you jotted down earlier. Enter the command “Pair MAC address“. The PI should now attempt to pair to your device, so make sure you entered the address correctly, otherwise it will fail.

– If you’re using a device without a pin, you can manually instruct the PI to trust the device. This is sometimes necessary when your pi needs to reconnect to it. You can do this by entering the following command “Trust MAC xx.xx.xx“. Note after MAC, you should enter the address you have written down.

– Now lets finally establish a connection using the command “Connect MAC xx.xx.xx.xx“.

Hopefully your PI connected successfully to your keyboard, so why not try typing something? Did anything appear on your screen? If it didn’t, try retracing your steps. If you used the “Trust” command, you will have to use the command ‘Remove xx.xx.xx.xx’ to make your Pi forget the device. Once removed, try going through the tutorial again, making sure you didn’t miss any steps.

If typing on the keyboard resulted in letters appearing on the screen, congratulations! You successfully connected your keyboard to your Raspberry Pi. If you reboot your computer now, it will forget everything you have done so far and your Pi and keyboard will no longer be connected. To make sure this doesn’t happen and your keyboard remains connected, we’ll need to create a udev rule. This is our way of telling the Pi to look for our bluetooth device each time it boots up and if present, reconnect to it.

First quit bluetoothctl by typing ‘Quit’ and pressing the enter key, you should now be returned to Terminal. For the next step, begin by typing “nano /etc/udev/rules.d/10-local.rules“. Nano should load up a blank document, which we will use to fill with the following.

# Set bluetooth power up ACTION==”add”, KERNEL==”hci0″, RUN+=”/usr/bin/hciconfig hci0 up”

To save, press “CTRL+O” followed by the ‘ENTER’ key. Next press “CTRL+X” to exit Nano, your computer will now remember to reconnect to your device the next time you reboot.

The above guide is an adaptation of information found @ “



Converting an Amiga Joystick to USB

AmigaPiReaders of my blog will probably have seen the Amiga 600PI I built not so long ago, using a Raspberry PI 2 under the hood. Out of all the projects, I honestly have to say this was a labour of love and a lot fun project to build. But like any build, there are the obligatory tweaks that must be made to fix things that might have been missed the first time around. Issues that only became obvious after using a build for a week or two. Which is pretty much how it was for me with the AmigaPi.

After using the AmigaPI for a couple of weeks, I began noticing one or two problems. First on the list, wasn’t so much a hardware problem as software. UAE4ARM is the de facto Amiga emulator for the Raspberry pi, in shorts it’s pretty amazing. But as fantastic as it is, there is yet to be any support for remapping the keyboard. This is useful if you like playing games using the cursor keys or say your old skool and prefer using the good old Spectrum controls Z,X,O,P. At the time of writing, this still isn’t an option, which means its still isn’t possible to make use of the built in joystick ports on my KeyRah V2 interface. Sadly it seems no matter how much people plead for the feature to be implemented, those bringing UAE4Arm to the Pi are focusing on performance over functionality. Which is understandable, as any good emulator requires a decent level of real time performance. Afterall nobody wants to play Amiga games at a snails pace with choppy sound. But in the pursuit for good performance, other features have been neglected. Making UAE4Arm a good attempt, but still vastly lacking when compared to FS-UAE or Win-UAE. Both of which offer a far more advanced level of configuration, we can only hope that UAE4Arm will one day follow suit. Given the number of people using their Raspberry Pi for gaming, it would be a missed opportunity if it didn’t.


Controller of choice for most Retroarch fans

In the meantime the only way to play games on UAE4Arm is using a controller, usually this means hooking up an Xbox 360 joypad. I know a lot of people use these on their RetroArch gaming setups as they’re easy to get hold of. Chances are if you own a 360, you already have one laying about the house. However for me, seeing one hooked up to an Amiga 600 seemed as out of place as a Chippendale in a nunnery.

My AmigaPi needed a proper looking joystick, not some Microsoft rubbish. Now there are a couple of ways this can be achieved. Firstly, you can purchase the ready made USB Competition Pro by Speedlink. It looks just like the original, except for the USB connector on the end of the lead. I did seriously consider getting one of those, however digging a little deeper, I discovered more then a few people complaining about lack luster performance. While opinions on the internet are ten a penny, usually where there’s smoke, there’s fire. And at £20 a pop, I didn’t fancy finding out which opinion was right. Especially when I was pretty confident that I could build my own joystick for a fraction of the price.

Buiding A Joystick

The first thing I had to find was a bust Amiga Joystick, I certainly wasn’t about to break a working one just for a hack. At least taking something that is broken and giving it a new life, you’re recycling and not just throwing it in landfill. Luckily in my loft I had a non-working Cheetah 128, which had been
a spare for my Spectrum, until it died.PRODPIC-13190-1

Taking it apart, I was surprised with the simplicity of the internal workings. Unlike some of my quickshot sticks, the Cheetah use simple metal pads to create open and shut gates. Press forward on the joystick and two metal pads would connect to make a circuit. Luckily for me, this would actually worked in my favour, as it would make converting the stick to USB pretty simple. The only problem now was finding the right sort of USB controller. Scouring the net, I found one company that sold a custom analogue to USB adapters, however they wanted £16! I thought this was a little pricey for a single sided, through hole PCB with only chip. It was after all, doing essentially what all the cheap Chinese controllers were doing – translating the inputs from a series of switches / buttons into something the computer could understand as UP, DOWN, LEFT, RIGHT and FIRE.

Ebay is full of USB controllers styled after SNES, NES and 360 joypads, which you can pick up for as little as a few quid. I was pretty sure one of these would contain everything I needed to convert the Cheetah to USB. So biting the bullet, I bought myself one and waited for it to arrive in the post.

A Note on Retro Game Pad Copies

Clones, not always as good as the originals.

Clones, not always as good as the originals.

After arriving at my doorstep, the first thing I noticed was the quality or lack of it Looks were pretty much the only thing the USB pad shared with the original super Nintendo controller. Unlike the latter, the build quality was cheap and flimsy and not at all solid as you’d expect. A quick game of Super Frog on the Amiga Pi quickly revealed how bad it really was, with the D pad often mashing two directions together. Resulting in a lot of unintentional left and right jumps that left me crying for it to end. After ten frustrating minutes I’d had enough and unplugged it. After seeing how rubbish it performed, I felt less guilty about scavenging it’s innards for my joystick mod.


Fitting A Square Block In A Round Hole

Inside the controller, I was faced with a major problem. The joy pad wasn’t constructed anything close to how I’d been expecting. Spanning the full width of the pad was a single PCB, populated with contact-less switches. I’d foolishly been expecting the pad to use mechanical switches, which I could have easily rewired. However a friend later explained to me that a lot of things these days are built using single a PCB to cut down the cost on components. In light of this revelation, I faced having to solder to the surface of the board. While not my joystick1preferred way of doing things, I’d just have to like it or lump it. If that wasn’t bad enough, the darn PCB turned out to be 2cm wider then the base of the Cheetah. I’d have to work some serious magic with my Dremmel if it was ever going to fit in the base.

One of the hazards with chopping up a PCB, is that they don’t usually work afterwards, not without a bit of rewiring. Such as reconnected broken ground planes etc, which are needed for the circuit board to function. Lucky for me the design was pretty simple, but I was still thrown a couple of times, chasing the ground. Having never attempted anything like this before, it was a learning process for me, figuring out how the board worked and where best to solder to. This was especially true, as I began cutting portions away to make it fit inside the base. After removing almost all the direction pads and three of the fire buttons, the PCB was finally narrow enough to fit inside the Cheetah, hurray!

joystick2If you fancy trying your hand at hacking your own joystick, my advice is to take your time, don’t rush and make a photographic record of your progress. Pictures can come in really handy if a wire pops out and your left wondering where the heck it came from!

To reduce the number of wires I had floating around inside the joystick, I shared the ground from one point on the PCB to all the other contacts. Interestingly, unlike other joysticks of the day, the Cheetah uses a cloverleaf for the main directional stick (pictured left). The only other joystick I know that shares this design, is the original Sinclair sticks that came with the grey Plus 2. This design actually made wiring everything up a lot easier, as its much simpler than those with internal switches. Beneath the star shaped metal plate are four contact screws, which represent UP, DOWN, LEFT, RIGHT. Using wire I’d stripped from an old IDE cable, I hooked the contacts up to those on controller’s D-pad. This is when having photo’s comes it really handy, as more then once I lost my way with the traces on the board. But consulting some photos, I figured out what I was doing wrong and soon had UP going to UP, LEFT going to LEFT and so on.


IDE cable is great for fine work like this

In theory, when connect to a USB port, the board would register the movement of the stick just as it had the original D-pad. While I recycled a lot of the Cheetah’s original wiring, I also used a lot of wire from an old IDE cable. Not only is it very flexible, but its also very low gauge, which makes it perfect for soldering to the tiny traces on the joypads PCB.

First Test

After the wiring, came the next challenge: hooking the joystick up to a USB port and hoping it worked. I’d already had the pad albeit in original form, connected to my Windows PC. It worked straight out the box with a minimal amount of setting up. Hooking it back up, I was pleased to find everything worked first time! joypad4After a game of Stunt Car (obviously!) on WinUAE, I began wondering about the buttons in the base of the Cheetah and whether or not they could be made to work. True the wiring inside was more jammed than a sumo wrestler in a phone box. But I wasn’t satisfied, I wanted those darn buttons to work. After all, the natural way of holding the Cheetah was with both hands. The whole time I’d been playing Stunt Car, I kept feeling the urge to use the lower buttons instead of the trigger.

Achieving this feat took some hacking, I can tell you. First I had to find room for the micro switches. There was barely any for them to sit between the PCB and the lid, the only option was to cut out a cavity in the buttons for the switches to sit inside.



From left to right, a converted button next to one waiting to be altered.

As you can see pictured, this was finally how the buttons looked, with the switches recessed inside the red plastic housing. It took several failed attempts on my part, before I found the right depth for the switches. But eventually I was firing nitros in Stunt Car without a hitch. I think the scariest moment was when I screwed everything together. With the top and base finally secured, I was worried everything would squashed together. Luckily, I didn’t need to worry, as it worked fine.


And here is a final image, which I think pretty much captures my feeling at the end of this hack.



This trophy’s bigger then my head!!




A Brief Update

Its been a little quiet on BMV of late, but that is only because I’ve been busy with projects and researching material for my blog. Things I think you lot will enjoy reading about. Such things as an awesome retro terminal emulator for Linux, that makes you feel like your back in the 70s, including phosphorescent glow! Next is a spectacular reindition of PacMan for the Atari 2600. Righting the wrongs of the original version, that angered so many gamers back in the 80s at the time of its release. But wait theres more, we have a new RPI build, paying homage to the C64 SX, the Nomad SX/Pi. A compact portable computer with a 3.5″ display and removable wireless keyboard. I’m sure there are things I’ve missed, so you’ll just have to keep popping in and seeing what has been posted up!



Raspberry Pi 4th Birthday Bash

Held in Cambridge on the 5th and 6th of March at the Cambridge Computer Laboratory, the official Raspberry Pi birthday celebrates the fourth year since the release of the original Raspberry Pi Model B. Going from strength to strength since its initial release, the success of the Raspberry Pi can’t be denied. This is made even more apparent by the fact the birthday bash is a sold out event, with people coming from all around the country and also Europe to celebrate this tiny micro computer. Attending the event where Pihut, CPC, IQaudio, PiTop, { Code Club }, Pimoroni and LinuxUser Magazine, to name but a few. This only skims the surface, as the event was teeming with clever boffins with something to display. If you missed this year’s birthday bash, I highly recommend trying to attend one or any Pi event in your area in the future. The atmosphere is inspiring and the people warm and friendly.

End of Day One

Thoroughly geeked out, the first day was a blast. This was my first time at a Raspberry Pi event and I have to say, it was an eye opener. Making it certain that I’ll be attending more in the future. Over the Saturday, I met some wonderful, friendly people, such as the

Amazing Pi Laptops from Pi-Top

Amazing Pi Laptops from Pi-Top

fantastic peeps from LinuxUser, who are clearly just as passionate about retro gaming as they are about Linux. The dead give away to this was the Pi Zero powered Xbox controller on their table, running Retroarch. Not only was I invited to play a game of Doom, but they even gave me a copy of their Magazine, containing tips on the Linux Terminal. Now I ask you, who can turn their nose up at that, seriously? Next in line for a mention is the chap from Pi-top, if you’ve not heard about Pi-top, they produce two impressive cases specifically for the Raspberry PI and I highly recommend looking them up. Having played around with the laptop model of the Pi-top, I can honestly say I was impressed. As you can probably tell from the photo, the striking green case it certainly eye catching. Pimoroni were also present, showing off their popular Picade and Flotilla products, which as one can expect, drew in a crowd.

Raspberry Pi3

Released only days before the birthday bash, the Pi 3 comes with Bluetooth and wireless built in, not to mention an A53 processor, clocked at 1.25Ghz. 10x faster than the original Pi, the Pi 3 is a quad-core computer like the Pi 2, however unlike the P2, which uses a 32bit CPU, the Pi 3 is 64bit. This step up, will scientifically improve the performance of the Pi, placing feasibly within the same realm of some laptops and Atom based net tops.

At the time of its release, the Pi 2 Model B was considered by many, myself included, as a lightweight desktop computer. That being the case, the specs of the Pi 3 most certainly elevate the fruity micro from just an educational computer to something that could easily be used at home for surfing the net and playing games. And while the primary goal of the Pi is to get kids back into computers (something it is doing remarkably well), both the Spectrum and C64 of yester years, owe much of their success to the games that were developed for them. Many of the kids playing those games back in the day later become programmers in their own right. Perhaps it’s just nostalgia, but I would love to imagine there are a bunch of kids out there some place, learning Python or Scratch, developing the next Dizzy or Crash Bandicoot on their humble Raspberry Pi 2/3, perhaps because playing games on Retroarch, inspired them to do so.


Day Two

The beginning to the second day at the birthday bash, began with a sausage sandwich and a cup of tea. Not very technical I know, but essential if you want the grey matter in your noggin to boot up! Fuelled up, the first event on my schedule was to sit in on Eban Upton’s talk about the Rapberry Pi. I had intended to record the talk for you guys to hear, so I set my Nexus 5 recording throughout the session. Sadly the recording sounded more akin to a scuba diver dictating into a baked bean tin while riding upon a flatulent whale. Instead you’ll have to settle for a photo of the Eban I took just before he beganeban. The talk overall was insightful and fun, Eban was down to earth in explaining the development of the Pi 3. He also made a point of crediting the people behind its development, the faces we don’t see who work tirelessly to develop, innovate and burn much of the midnight oil in an effort to make the Pi 3 a reality.

There was also mention of the AstroPi, which recently travelled in to space, on its way to the international space station. Without the doubt, the Astro Pi is one of the most expensive Pi every built, requiring a specially built enclose and mounts, made from some pricey materials.

After the talk, I found myself chatting to Jon Prove, director of Sales for Pi Top, a cool guy, who is clearly enthusiastic about the Raspberry Pi in general. I’d already spoken to one of his colleagues the previous day. I had seen Jon, but he was knee deep in people interested in his product.

Later I caught a talk on Sonic Pi, an adaptable music generator which you can program to create a wide variety of sounds. At the party the night before, its creator, Dr Sam Aaron performed live. Being as it was my first exposure to Sonic Pi, I have to say I was impressed. At times the music Aaron was playing, sounded uncannily like Daft Punk. It certainly left me wanting to learn more about the software, which thanks to the talk I now feel a little more informed about.

Dr Sam Aaron rocking with SonicPi

Dr Sam Aaron rocking with SonicPi

Not all the vendors who attended the first day, were present on the Sunday. CPCs table was unoccupied, but left on their table were freebies and a note, wishing everyone a fun day and to help themselves to one of the goodies they had left behind, ranging from Pi shaped coasters, pens, stickers and even some Pi cases. Now wasn’t that jolly well nice of them? FYI, I nabbed a coaster!

One of the nice features of the event was the layout, the ground floor held all the vendors and talks, the second and third floor were for workshops and also quiet spaces. Handy if you happen to be carrying around your G4 iBook and wanting to quickly jot down notes for your blog. Thank goodness I bought a new battery as the old one would never have lasted long enough!

Using Alpine with POP3 Hotmail accounts


I really, really wish I’d found a page with that heading when I’d been trying to configure Alpine to work with Hotmail. A lot of us, myself included, don’t understand the inner workings of Alpine, which is no surprise as I gather it’s a pretty powerful email client.
Like many, I’m used to application being glossy and intuitive, all thanks to the colourful GUI OS’s we use today. The downside however, and bare in mind this is just my personal opinion. Is that all this eye candy is making us stupid and overly dependent on dumbed down interfaces that a 3 year old could follow.
Developers today work hard to make modern operating systems easy to use. So much so, that when we are faced with the bleak barren landscape of DOS or the Unix Terminal, the absence of pretty buttons has us running for the hills. I grow up in the 80s, Spectrum’s, C64s, DOS 6.22, I lived through all of that and was pretty good in using the lot, apart from the old BBC Micro. I always felt intimidated whenever I sat in front of a Model B at school. But somewhere along the way, I lost the ability to bend my head around a simple blocky, ASCII based program like Alpine. Worse still was after going online I found I wasn’t the only one. So after an evening with my thinking cap firmly on, here is how you get pop3 Hotmail working on Alpine.

When is an IMAP, not an IMAP, when its a POP!

So your struggling with Alpine and still cant retrieve your mail from hotmail yes? Well your possibly in luck, because below are the settings I used to get my mail via Microsofts POP3 servers. I’ll even walk you through what I did, so you can replicate it.

Things you need
-Linux Ubuntu or Xubuntu (will probably work on other destros)
-Liquid refreshment and snacks
-Internet access

First let us install Alpine, open up a Terminal and type;
“Sudo apt-get install alpine”



Once your computer has finished unpacking and installing the package, lets run it, in Terminal type;

You should see something similar to fig 1, continue to the config screen by pressing “S”, then press “L” for “Add a new collection”. You should see a page similar to the one in fig 2.

Enter the fields as follows
Nickname: Hotmail
Path: mail/

‘In the server address, replace BGates with your own email address. Unless you are BGates, in which case, hello! *waves* ahem!’



Once everything is entered, press Ctrl+X to save and exit the screen, then press ‘E’. You should now be back to the main menu, press ‘S’ and then ‘C’, you should see something like fig 3. This is the main configuration panel and we have a few things that still need entering.



Personal Name: B Gates
User Domain:
SMTP Server (for sending):
Inbox Path:

Compare your screen with fig 3, the only fields I had to change were the ones I’ve listed above. Now scroll down the screen until you reach “Folder Preferences” and make sure “Enable Incoming Folders Collection” has a cross next to it. Now for all the changes to take effect, you must quit out of Alpine by pressing ‘E” and then ‘Q”. This will bring you back to the command
prompt. From here, type;

If all has gone according to plan, Alpine should now prompt you for a password, so that it can log on and retrieve your mail. Finally enter the “Message Inbox” by pressing “I”.

Voila! Your online and accessing your POP3 hotmail!