Wall of Enlightenment v3 - the rebirth

Having given out my details and promising I'd blog at the Pi Birthday bash this weekend, I'd better crack on!
Given the previous issues I needed a rethink on the design, key points:
  • Build wall mounted from the start, to avoid issues when I finally came to hang it
  • Weatherproof
  • Improved frame
  • Tensioned strips to keep them straight
  • Short, heavy duty power cables
  • Improved signal cables
  • Connectors, connectors and connectors
A quote from Brian Corteil was my mantra for this build: "If in doubt over engineer it, it'll be easier to build initially and far better for reuse show after show".
So firstly the construction, thin conduit didn't work and I wanted the strips to be tensioned so hanging vertically was the best option. To keep the weight down but still make the construction easy having a box of some sort with the strips hanging down from it seemed ideal. I settled on electrical trunking and 75mm square gave me plenty of room to play with. Ideally I wanted this to be black so that it would not stand out but the requirement for that was a huge order! So, white and a liberal application of matte black spray paint resolved that.
Next hanging the strips vertically - this meant that I'd have to modify the code to rotate the image by 90 degrees which was part of the reason I'd dismissed it originally. A review of the Fadecandy documentation though gave me the answer very quickly, Micah had already solved this for me - with a simple config setting - BRILLIANT. I also learnt a lot from the example on the Fadecandy site: https://learn.adafruit.com/1500-neopixel-led-curtain-with-raspberry-pi-fadecandy/overview with regard to constructing the screen.
The LED strips are in a waterproof covering and I used hot glue to seal the ends with a 10mm glass ball. Unfortunately the only place I could find 10mm glass balls was Alibaba an the minimum order was 10,000 - so I have about 9000 spare if anyone needs any?
For the connection to the trunking, which also needed to be waterproof, I investigated options and costs with a number of suppliers and ended up with a plastic screw threaded version I found on Alibaba. After a few emails backwards and forwards we agreed on the details and the supplier sent me comprehensive design documents. A few weeks later and the finished articles arrived exactly as I'd requested. The sockets bolted directly into the trunking and the plugs screwed into them. I soldered the strips to these and again sealed them with hot glue and heat shrink tubing. (Having now attended a few shows bayonet fittings would have been far easier).
The Fadecandy cards as controllers for the strips were still the right way to go but with the previous version I had two problems related to the wiring, the first was the power. To get the 5v from the power supply box to the trunking was going to need some decent sized cables. Given that part of the problem I had with the initial version I wanted to make sure that this time was a success. The second issue was the wiring for the data lines to the addressable strips. On advice from Micah(fadecandy designer) I replaced the previous twisted pair with ribbon cable with alternate connections being Ground and also used 16 way ribbon connectors with header pins soldered to the cards. This makes it easy to swap cards out if they are faulty or I wanted to use them elsewhere while the Wall is not in use.
I grouped the strips into 8 and tie wrapped them onto laser cut perspex rectangles. This logically grouped the strips per fadecandy card and also made them easier to carry when detatched. Attaching them to a flat surface at the top and bottom of each strip meant that they were held facing forwards to get the best light from the LEDs.
Finally into the trunking went the Raspberry Pi as before with the Fadecandy server installed. Unfortunately at this point I realised my next mistake with the power - with all of the LEDs on there was insufficient power to run the Pi! This was easily solved by running a mains lead into the trunking and adding an adapter specifically for the Pi. Longer term I'll change that.
So finally I had a working screen - only half the size of the clients requirement but that would be easily remedied by building another duplicate 'half' and connecting the two toether when needed.
I exhibited at the UK Makerfaire in Newcastle and it looked pretty good.

'Wall of Enlightenment' v2 - the next instalment

It's taken a while (the original post was Feb!) but it's time to tell the story of the full size screen, which I've named 'The Wall of Enlightenment'. As a reminder the aim was to build a 2 metre wide, 1 metre high screen which could be hung on the side of the Pitt building in Cambridge as part of Science week.

Having created the initial small prototype my intention was to use the same materials, and scale it up. The prototype went down well at the Guildhall exhibition and I was given the green light to build the full size screen. Ordering 75m of LED strips from China was an interesting experience but once I'd got through the complexities of sending the money they arrived within a week. Construction could then be started on the floor of my home office.
70m of LEDs was a great box to open

The Wall is based around a Raspberry Pi which then uses Fadecandy cards to control the addressable LED strips. The maximum length of these before any lag is visible is estimated to be 64, from details on the Fadecandy site. With 32 LED per metre strips that gave me the 2 metre width I was looking for, so I started by cutting the strips and constructing the frame around them from 25mm black plastic conduit.
Initial construction

Using the same aspect ration on the vertical meant that I needed 32 rows and with 8 strips per Fadecandy that was 4 cards. As these were small my intention was to hide them inside the trunking but to get things running initially I wired them up outside. I also added a length of nylon line to the end of each strip and sealed the end with hit glue and heat shrink tubing. This would make it waterproof and the line could be used to tension the strips so that they didn't sag once the screen was hanging in position.
Once I had the first 8 lines connected I tested to ensure things were working as expected. I used the fadecandy server on the pi and streamed a video from my laptop. At a friends suggestion I used the ipod video advert as it was great for motion and colours. The result was great and can be seen here
Once I knew that worked I was confident that I could complete the rest the same way and after many long nights of soldering, sticking and threading wiring the construction was complete.
Construction complete

So, time to fire up this gigantic beast and enjoy the fruits of my labours, again the same video with the result here. However, something wasn't right. There was way more 'noise' on the display and the colours were not consistent. Something was wrong and this wouldn't be good enough for the display. I started to look at the wiring, the connections, the power levels to determine where the issue was. I also posted on the fadecandy google group and got some great feedback. Unfortunately the more I did the worse it got, with complete strips starting to die and more and more noise.
Here's the last test with some scrolling text: https://www.youtube.com/watch?v=wWNaVCvFfiM
At this point time wise it was the first day that the screen was due to be on display but there was no way it was up to that, it was dead on the office floor.
Dead on the office floor

This wasn't going to beat me. I needed a rethink and some new ideas, while continuing with the design I had may have worked there were some issues that had arisen that really needed to be addressed:
  • Needed to be weatherproof, there were holes all over the tubing for the strips and the nylon tensioners which would have been likely to leak
  • The frame itself was too weak to be rigid when transported or when hung on the wall
  • The strips needed to be tensioned to maintain the integrity of the image
  • The power cables needed to be thick and short to transfer the 5v from the power supply to the strips
  • Construction on the floor meant I didn't think about handing it or the support required
  • Thin conduit was what I had, worked well in the prototype, was thin and looked good but was not strong enough or large anough to contain all of the cabling
  • Electrical interference appeared to be due to the way it was wired, using twisted pair for signal lines
  • It was hugely difficult feeding the wires through the tubes
  • I'd soldered the fadecandy cards directly which made it very difficult to change their configuration or position

So I sat down with some friends at Makespace later that week and we designed version 3.



Lighting up Cambridge

Following an open evening at Makespace last year I've been working with Cambridge University to build a light display to be exhibited in the City in March. The aim is to build a 'low res' video wall using multi colour LEDs which will then be hung outside of Pitt building for the week.

In order to prove the concept I've initially built a small mock up. The full size version will be 2 metres wide by 1 metre high.

This uses WS2812 addressable LEDs which can be individually set to specific intensities of red, blue and green to give a huge range of colours. These are controlled using Fadecandy boards which split the signal to the separate strips and LEDs. The whole thing is then orchestrated using a Raspberry Pi running the Fadecandy server software. This is a great piece of kit and has made the setup really easy.

Currently the prototype is fed video or interactively controlled from a laptop but for the full size version the aim is to allow interactivity from web connected mobile phones and tablets.

I have the waves example running but am looking for further ideas. I'll be exhibiting in the Cambridge Guildhall on Saturday 14th Feb and home to get feedback and ideas from people ready for March.


Word Lens - iPhone App

"See the world in your language" is the strapline on the iTunes store for this app but does it really work?

I downloaded Word Lens over a year ago but at the time it was a little unreliable and the only option was the demo which reversed text. The idea of the app is that it uses augmented reality for language translation. So you point your iPhone camera at some text and what appears on the screen is the translated text in the same setting as the original.

On a recent holiday to France I thought I'd see how well the latest version worked, I was very pleasantly surprised.

Here's my first target, a box of red cabbage. It took Word Lens a couple of seconds to stabilise the image but not only is it a clear translation but the resultant translation image is brilliant.



Next something a little more complex with multiple rows of text.

More than enough information for me to find a new pair of comfortable slippers for the caravan.

The app itself is free, with the demo translation which reverses text. In app purchase is then £2.99 and the following packs are available at the time of writing:

  • English <--> French
  • English <--> Spanish
  • English <--> Italian
  • English <--> German
  • English <--> Portugese

It doesn't work with all fonts, the more simple the font the more likely an accurate translation. However for general use while on holiday it was great and I'll be using it on future trips.


Project - Makespace Coat Rack

Six months ago I joined Makespace in Cambridge, the community's inventing shed. Started by Jonny Austin, Laura James and Simon Ford the aim is to build a community and an environment where we can build pretty much anything. We're based in the old Robotics lab of Cambridge University and membership is open to anyone over 18, more details can be found on the Makespace website.

Before we could use the space we had to clear it, fix the electrics, give it a lick of paint and generally make it habitable. Once we'd got somewhere to sit and some benches to work on we started to add more creature comforts, one of the things we didn't have was somewhere to hang our coats. Rather than buy a coat rack I decided I would go with the spirit of Makespace and make one, here's how it went.

In order to keep the costs down I used a plank of pine that I already had and bought some cheap hooks from Screwfix. Rather than just use the plain board I thought I'd add the Makespace logo, which is a styalised overlapping M and S, fortunately made up from simple circles and a few straight lines. With appropriate guides this could mostly be created using a router.

Step 1: Separate logo from main rack

First I found some scrap boards the same thickness as the pine and screwed some guides at right angles to the board. I then routed a straight channel half the thickness of the board, to form the right hand side of the 'M' and separate the logo from the main body of the rack.

Step 2: First curve

Luckily the radius of the circles corresponded to the radius of the router with a straight bit fitted. Therefore a nail in the centre of the circle to butt edge of router up against provided the ideal guide to cut top curve.

Step 3: Other curves

Adding a second nail I thn cut the remaining curves at 1/4 thickness of the board, to outline the 'S'.

Step 4: Top of 'S'

In order to cut the straight edge for the top of the 'S' I screwed a guide level with the bottom edge of the board.

Step 5: Bottom of 'S'

Moving the guide to the top provided a straight edge to cut the bottom of the 'S'.

Step 6: Drill centres

A hole saw was just right to remove the two centres.

Step 7: Cut 'M'

Vertical cuts for right hand side hole form the right hand side of the 'M' leaving only the curve at the top left to be cut with a jigsaw.


The last steps, which I don't have pictures of, were to sand and varnish the board and add the coat hooks - job done, first project completed and a handy coat rack for all. The completed item can be seen at the top of this post, or on the wall in the corridor at Makespace.