Arduino Mega2560 with 3.2″ TFT LCD Touch Display

I received today in the post an Arduino Mega with 3.2″ TFT LCD Display made by SainSmart, from Amazon. Click here

I was impressed how easy it was to assemble – however it isn’t exactly a robust set-up. The screen board is attached at one end, so it’d be quite easy to bend the pins between the LCD PCB and the Arduino Shield .

To use the screen you need to use a library which I found on SainSmart’s website. However – there is an issue (in my Arduino IDE anyway) with this library. Namely that it refers to another library WProgram.h which has been renamed to Arduino.h. You’ll need to rename this once extracted or download my copy with the mod to your arduino/libraries/touchscreen directory (you’ll have to make one). Without this mod you’ll get an error when you compile;

In file included from ITDB02_Graph16_Demo_Landscape.cpp:18: C:\Program Files\arduino-1.0\libraries\touchscreen/ITDB02_Graph16.h:69:22: error: WProgram.h: No such file or directory

But once that’s done, it should work fine and dandy. There are two example sketches in the library – one uses the touch screen to make a sort of etch a sketch and the other displays some of the more advanced graphics that could be displayed.

Below’s a video of that second example running on the device. (sorry it’s a tad blurry)


Intelligent fixtures as follow spots part 2

I tried my Lego prototype today with a moving head. The results weren’t as good as I was hoping. After a bit of tweaking and jiggery pokery, managed to get the moving head to move in sync with me moving the tracking system. By ‘in sync’ I mean the same directions and speeds, but not scale yet (although it was close), and managed to use both of the handle encoders to change the dimmer of the fixture (individually and not both at the same time – that would be silly!).

Rite now there is one problem – it’s Lego. The problem is accuracy of movement to encoders and there is an error here. As you move the Lego, you have some play in the parts before the pots sense the movement, and this means it is not accurate. So until a more accurate device in the real world (out of laser cut wood, with 20bit or more AD’s) can be made, this project is on the back burner. (Plus I need to focus on my studies.)


For those interested in where I got to, have a look at the pictures in this post, and the code below – it is similar to the code for the simple DMX desk here.

 #include <DmxSimple.h>

// this is the code for a track pod idea and it takes 4 analogue ins to
// a number of analgue outs.

// this code channels is for a mac 250 mode 2
// 1 strobe
// 2 dim
// 3 colour
// 4 gobo
// 5 gobo rotate
// 6 focus
// 7 prism
// 8 pan
// 9 pan fine
// 10 tilt
// 11 tilt fine

// two in’s are for pan and tilt – so the 10bit will need to be translated
// to 16 bit and split up and sent on channels 8+9/10+11,
// one will be used for dim and one will be used for focus. both will need
// 10->8bit reduction.

void setup() {

void loop() {
// read the value from the sensors:
int value1 = analogRead(A1);
int value2 = analogRead(A2);
int value3 = analogRead(A3);
int value4 = analogRead(A4);

//need to change from 10bit to 8bit
value3 = value3 / 4;
value4 = value4 / 4;

//spliting the 8bit output from the 10bits.
int valuep = value1 / 4;
int valuet = value2 / 4;

//spliting the 2bit output from the 10bits.
int valuepf = (value1 – (valuep * 4)) * 64;
int valuetf = (value2 – (valuet * 4)) * 64;

DmxSimple.write(2, value3);
DmxSimple.write(6, value4);

DmxSimple.write(8, valuep);
DmxSimple.write(9, valuepf);
DmxSimple.write(10, valuet);
DmxSimple.write(11, valuetf);


Intelligent fixtures as follow spots

The other night while working on an event I though about this and well – “how hard can it be?”

So i’m currently designing and looking at building a tracking system (similar to the Martin TrackPod) that will allow the user to change a moving head or scanner fixture into a follow spot over DMX. I plan to be using Arduino for this project and If I can get the maths to work this will become a very advanced and feature rich project.

Stage 1 will be to create a input system to track the users input and produce DMX from it. (Did I mention I like Lego?)
Stage 2 will be to increase the interface features and add extra use input such as basic mapping and dim/focus input parameters.
Stage 3 will be to introduce wall mapping and multi-fixture support.

I’ll post again about this once the first stage is complete. 🙂

Update: Lego prototype with 2 pots attached.

Lego TrackPod

Lego TrackPod

Update: Lego prototype with 4 pots and cables attached. (A mess but it is only a prototype.)

Lego Trackpod with cables.

Lego Trackpod with cables.

General purpose flightcase from one sheet of ply.

So today i’ve been working on a general purpose flightcase that’s suitable for many things but some of the uses I imagine I will be using it for;

  • Dual Mac 250 flightcase,
  • 32 channel multi-core,
  • Power and audio cables (maybe even 63/3)

Measurements (external) 800*500*588+wheels

Here’s a half way through taster pic… excuse the mess.

Part way through build

Part way through build

Google Image search – by image…

Google Image search by image is a different way of looking for information. I have a logo of something which no words, just a mono image. This is the first time I’ve noticed i could search this way and i’m hoping i can find out the name of the company from this logo image i have.

Google image search by image

Google image search by image

So it’s simple, being Google, well not really. The first image I’ve uploaded had a lot of background (wood table) in it and rather than scan the image for the black and white image it’s just picked up the table. It showed me many wooden products – but nothing that i’m quite after.

So I’ve now manually edited the image and re-uploaded it, without any table. Essentially this image is a heart with a outline. The results now include   many monochrome images of various things from toy dogs to ipod-esk chargers. Still there was one or two images that had hearts in them, so not all bad.

Even when adding descriptive words that i know link the logo to the company i got nothing of value back.

To summerise; Google image search by image is a neat idea that for common images but not quite there yet.


Try it urself; here’s an image –



no jigsaw pieces come up in the top results, but a lot are orange.


A simple Arduino DMX controller

So recently i was testing some old Clay Paky Pin Scans with a friend and i reached for a simple 6 channel DMX controller we had in the workshop – only to find that it was broken :(. So i thought to myself how hard can it be to make one? After all it’s simply some faders (potentiometers) some A/D and a chip to read the values and convert them to DMX code and transmit them. SIMPLE.

Well actually yes it is. Arduino offeres an open source platform for doing this and best of all – the hard work has already be done. shows work that others have done and DMXSimple is an install-able library that makes the sending of DMX well, simple! Continue reading