Thought for the Dazed

I've had to give up that Distance Learning course as I was having trouble seeing the teacher.

RobMiles' items Go to RobMiles' photostream
C# Yellow Book

Search entire site

The “Difficultifier” is designed to add a bit more fulfilment to your life. It adds a sense of achievement to a very simple task, that of playing some music from your phone. It builds on this by printing a certificate of recognition, giving you a permanent record of just what you have managed to do.

No matter if the cat needs feeding, the boss doesn’t appreciate you, or your wife thinks you are wasting your life messing around with computer hardware, you can use the Difficultifier to perform one simple task with difficultly and then know (and be able to prove) that you have achieved something today.

When I was younger, playing music was a serious business. I had to find the required record, clean it, place it carefully on the turntable and then lower the pickup onto the start groove. Then I had to carefully adjust the amplifier for the optimum volume level. Now you can get the same effect by pressing a button on your phone.

The Difficultifier allows you to relive my experience of playing music. You have to find the record you want to hear (represented by an RFID tag) and then carefully align the controls on the Difficultifier to make all the lights on the huge matrix display come on at the same time. Then a play request is sent over Bluetooth to your Windows Phone so that it goes onto Nokia Music and find the kind of music you asked for. At the same time a small certificate is printed out for you to tear off the printer and store with all your other treasured mementos and receipts.

In a world where complex things are taken for granted and nobody finds wonder in achieving difficult things with incredible ease, you can use the Difficultifier to put a little bit of effort, achievement and recognition back into your life.


This is the Difficultifier hardware, just prior to judging. Fortunately I’d brought along a battery pack that meant I was able to just turn up on stage with the system and show it off. The system is based on the .NET Gadgeteer platform.


This is how the embedded hardware fits together. Click on the image for a larger version on Flickr. The Gadgeteer design surface lets me chose my external devices and connected them to the processor, in this case a FEZ Spider device. Each device is connected to a port on the processor and some devices can be “daisy chained” so that I can have multiple devices connected from a single port. The large blocks at the top right are the LED matrix modules. Each contains 8x8 leds and I use a tray that I’d printed that can hold four of them in a block. At the bottom you can see the three sliders that I use to allow the user to adjust the “settings” of the system and you can also see the RFID tag reader that I use to read a tag that represents the record that the user wants to hear. There are a few interfaces that I don’t use in version 1 of the product. The moisture sensor was added so that the system could detect if you had poured yourself a nice drink before listing to the music, and the buttons and lights could add a light pattern matching element to the setup process. But I never had time for these on the day.On the right you can see the thermal printer that is used for the certificate. If you are wondering where the Bluetooth device is that is used to communicate with the phone, this uses a customised driver that I had to hack into shape to work with Windows Phone. I’m going to release it once I’ve tidied it up a bit.

The code was all written in C# using Visual Studio and debugged in the device. It runs off a single USB port (which I found amazing) and is basically a little state machine that flips between “waiting”, “setting”, and “complete” states as the user interacts with it. When it is in the “waiting” state the program just displays random bit patterns which are curiously fun to watch.

I had great fun making it, and the audience seemed to like it too, which was lovely.