Building a MIDI Controller

This is a project that has been a long time in the making. If you go back to the earlier posts of this blog, you’ll see how I started with my first Raspberry Pi back in 2014 and my intention to use it as an interface with a electronic drum kit.

Since then, I’ve developed raveloxmidi as the proxy from a Raspberry Pi but I never worked on the hardware. I’ve had other people use raveloxmidi and they seemed to be please with it.

Last month, I saw a video from Angus at Maker’s Muse ( who build a controller using arcade buttons and an Arduino.  I remembered that I had a set of arcade buttons that I’d bought from eBay.

This seemed like the perfect opportunity to put my money where my mouth was and build my own controller. Here’s the video of how I did it:

I’m going to write up my thoughts on the quality of the video. You’ll see a counter incrementing each time I say the word “SO” in my commentary. It bugs the heck out of me and it’s something I need to improve on but it’s a little fun seeing how many times I say it.

Raspberry Pi 3 – NTP problem solved – some power issues

I got a Raspberry Pi 3 recently and installed the official Raspbian image from

I came across a couple of issues:

  1. NTP would not sync.

ntpq -p would show that all the servers were in a state of .INIT.

ntpdate would work but ntpd would not.

It turns out that the kernel driver for the built-in WiFi chipset can’t handle the NTP packets over UDP. The solution is to add the following to /etc/rc.local:

/sbin/iptables -t mangle -I POSTROUTING 1 -o wlan0 -p udp --dport 123 -j TOS --set-tos 0x00

and reboot.

This is discussed on the forums at

  1. Power management is a problem running it off an Anker 10-Port charger (

I knew that the Raspberry Pi 3 drew more power but it seems to be unstable with this particular charger. That’s not to say the charger is at fault, it’s running 6 other Raspberry Pis quite happily but they are older models and I don’t think the ports supply the required current. I’m ordering a 5v 2.5A power supply to see if that resolves the issue.

The WiFi chip needs to have power management disabled to get it to be responsive.  To do that, you can create a file /etc/modprobe.d/8192cu.conf and add the following:

options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

I’m not certain this is addressing my immediate problem but once I get a more powerful power supply, I’ll be able to check.



Thanks to a comment from one of my Facebook “friends”, who suggested I etch the name of each host name into the plastic plate on my Pi rack, I found a project for a Raspberry Pi controlled CNC laser etcher.

The details are at

Someone tweaked the project and put together a video showing how his contraption works:

Thanks to Bryan, I got a couple of old DVD-RW drives and took them apart for the stepper motors.


The project suggests that the laser diodes in the DVD drives can be salvaged but the manufacturers of *these* drives saw fit to encase them in concrete and diamond dust so there’s no way to get them out cleanly.

What’s next is to wait for my eBay purchases to show up and I can start on the stepper motor drivers. I know I can buy them fully-assembled but there’s no fun in just clipping it all together, is there?

Introducing the Ravelox PiRack

Introducing the Ravelox PiRack

I had a random urge to rack my Raspberry Pis so I was looking for inspiration that wouldn’t tax me that much.

Dug had an original design for a single-layer Pi case which I embraced and extended to allow me to stack my 3 devices.

Introducing the Ravelox PiRack.

Initial device mounting
Initial device mounting
Top view of initial mounting
Top view of initial mounting
A closer look
A closer look

pirack14 pirack13 pirack12

The finished article
The finished article

The Pi sits in the groove in the rubber grommets.

Total cost is around $35 ( + tax ) and I bought all the materials from Lowes ( see pictures below for the details ) and OSH ( the nylon nuts ).

Each acrylic plate is 4 15/16” x 3 7/8”.

The drill holes are 1/4″. It’s an arbitrary choice but 1/4″ was the most reasonable size that I could find where the threaded rod was 6″.

For the drill hole placement, it’s important to note that it’s not uniform on the plate. The components on the Pi make it impossible to place it evenly in the grommets.

So, with the plate facing you where the longest length is horizontal, the drill holes are offset from each corner as follows:

TL = 7/8” horiz - 11/16” vert
TR = 1” horiz - 3/4” vert
BL = 1/2” horiz - 9/16” vert
BR = 13/16” horiz - 5/8” vert

Materials are:

8 x Acorn Nuts 1/4 - 20 (pack of 3 $1.24) [OPTIONAL]
12 x Rubber Grommets 9/16 OD x 1/4 ID ( pack of 2 $1.04 )
4 x Threaded Rod 1/4 - 20 6 inch ( 1pc $0.92 )
2 x Clear Acrylic Sheet 8”x10” 0.080” thick ( 1pc $2.97 )
24 x Zinc Nuts 1/4 - 20 ( 100pc $5.58 )
12 x Nylon Nuts 1/4 - 20 ( 1pc $0.69 - OSH ) [OPTIONAL]

pirack6 pirack5

The materials
The materials

pirack3 pirack2 pirack1