LED dimmer RGB

I have just finished making some LED controllers, they have a pretty simple purpose, to turn on and off some RGB LED tape, powered by batteries. There are three trimmers so you can mix the colour you want when you hit the button (on the back of the PCB).  The module is long and thin so it can sit alongside the tape in 30mm wide extrusion, and the button can poke through the back.

It has a programmable processor on board so that it can be programmed to do other things, like fade, or change colour… but thats for another day.

They are for Electric Foundry – see www.electricfoundry.co.uk

CurrentNode … for CurrentBun

More CurrentBun news, working with a good friend of mine we have created a very simple version of CurrentBun. There is a tiny server that server a webpage up displaying your Currents. With alarms etc.


Goal! (again)


A few months ago I did a rush job to detect some footballs in very small football nets for a football boot brand, the player had to boot the ball into small holes in a wall in sequence to win.   I got this working with one of my “BEAM” boxes, but modified to accept 12 laser beam break sensors, so that a invisible net could be formed just behind the hole.

It worked, but It got me thinking, what would happen if I could do it without the fuss of all those sensors and reflectors. AND what would happen if I could sense the velocity of the ball and turn that into some kind of lighting or sound buisness.

In this weeks Seeeed delivery was GOAL! a board I have deisgned to take the input from a 3 axis accelerometer and turns it directly into DMX. The DMX comes out of an RJ45 socket that also has power input on it, so it could be mounted in a speeding ball proof container and clipped to the net directly for some interesting sensing!


STATUS – Feb 19th – FixPrep

Some updates on the STATUS project (there will be another video soon).

I have the parts for 10 units that are going to go out to some testers before the first release. So don’t worry all you people that have asked me for one, thankyou for your support and feedback, not far away now!

RDM development coming along, usual sort of controller modes going in now.

And  a special one I’d like to talk about  FixPrep. This is an idea I have had while prepping too many fixtures. It uses RDM to grab a fixtures start address, footprint and mode as a template. You then connect another fixture and it auto-programs it to the same as the first, but with a start address offset by the footprint.  I have put some buttons in to allow you to factory default the connected unit. Any lots of checks so that you have to connect a different fixture to go, or if you connect a new type of fixture the process stops and asks you what you want to do.

Pressing Addr lets you override the auto-address and set a new one.  you don’t need to press send (it detects a fresh fixture) but you can if you want to re send for a new address.

You get a nice big green flashing tick when the fixture is programmed. And it is much faster that going through those menus! Your light has to have RDM of course…

The fixture in the pic below does not support mode names, so instead I just display the footprint info after the model name.

Fixture Prep Page

Another new one on the hardware front… Lanyard attachment point. Doubles as protecting the on off switch a bit. It is stainless steel and I have been dropping the poor thing on it all afternoon….

Lanyard attachment point.

Lamp Swing

It has been a busy start to the year. I am working on STATUS in every spare moment. Here is a little aside.  This project came in just before Christmas. The idea is that some hanging lamps need to be swung about theatrically when a storm blows in (etc), and there is no access for person on string method usually preferred.  Bit of a video to go through the design and manufacture process.  Not much time for RnD it was pretty much straight to the tools and hope for the best.

STATUS – Update vid

Lots of new stuff to talk about so I made a video. The case is still awaiting a bit of work, as you might be able to tell by the odd screen centring and lack of right hand end.

As usual, any suggestions or thoughts, drop me a line. Thanks very much for all your feedback so far.

Printed brackets

This week I have been working on mounting the STATUS touchscreen in a nice solid way to the enclosure, without fasteners. With the help of some rapid prototyping with Matt from www.mt3d.uk  these are now some nicely fitting 3D printed parts that snap into the internal rails of the enclosure.  It took a couple of goes (4) to get the fit perfect and the printing time down to a reasonable level.

To those in the 3D printing world this might be old news, but it is still a weird feeling to draw something in the imaginary computer world only for it to turn up the next day as a solid object.

White water, and a first go at the STATUS front

Prototype boards are in production for the next round of improvements.

The CNC machine has had a coolant upgrade.  I was having to constantly squirt WD40 onto the end mills when cutting metals, which is both a pain in the ass and probably an environmental disaster, not to mention breathing in hot WD40 fumes is I’m sure not going to increase my life span.

4 trips to Screwfix later I have a load of 22mm compression plumbing fittings, a central heating header tank and  pump. Amazon has provided a ‘whole house 5 micron’ water filter to filter the small chips out. I ordered up some pre cut polycarbonate sheets to make a box/tray and stuck it all together with solvent weld.  The coolant pumps onto the cutter, then drains into the tray and into a sink waste, then back into the tank.  It develops a pretty decent pressure so I hope that will blow away those irritating bits of metal that get welded to the cutter.

And now with the 4.3″ screen on the Ping display.

“BEAM” Beam Break to DMX


Beam break sensor to DMX unit.

Quick project for a customer – challenge: detect people at different places in a tunnel and trigger a lighting console to do something (unspecified).

I have decided that PIR is too indiscriminate, especially if there are loads of people in there, so I have gone for some “retro reflective beam break sensors” Which are essentially a beam of light from a device that hits a mirror and comes back to the sensor on the device.

I have hooked this up to one of my EXHIBIT boards, that has plenty of in and out, and programmed it to send DMX channel 1 to full for sensor 1, 2 for 2 etc. There are 4 sensors in total. This means it can be used as a DMX Remote for the MA console the customer has, and trigger a macro or a cuestack to do whatever they want.  I have added a  timeout, so you don’t get a mass of triggers if a couple of sets of legs walk through the beam.

The sensors didn’t come with any brackets and as they are a bit of a fiddle to focus on the reflectors I made four of these.

Custom brackets for adjusting the sensors


Hello? is that RDM your looking for?

And here begins my journey to RDM nirvana. I should preface this with I didn’t get that degree in electronic engineering, and my interest in this sort of stuff is that of frustrated lighting technician.  I have recently had two RDM experiences, one; 30 led batterns with no interface whatsoever and a controller provided (French interface only) that would make a cup of tea better than addressing fixtures.  The other was a JEM AF2 fan, that had a nasty case of random wind when connected to an EOS with RDM discovery enabled.

So here we go, how can I make a controller, and how does it work anyway.

First steps.

Most things I read about RDM is about being a responder (a fixture) There is an extremely boring spec document that specifies how to behave. With DMX you are just sending frame after frame of data, separated by breaks and stop bits, to be an RDM sender you need to be able to send stuff that isn’t DMX and then immediately stop and listen to see what comes back. All that toss about RDM compliant buffers is all to do with being able to send data both ways down a cable that you only normally send one way.  

The spec shows a whole load of standard messages to send, I’m going to try a “Get Device Info” first or   “E120_GET_DEVICE_INFO” because engineers love a caps lock underscore combo. The packet of data starts with a Hex 0xCC byte, if it was DMX we would send a 0x00.

Once you can send and receive you need to need to know who to talk to, and of course it can’t be via start addresses that we all know and love as the whole point is RDM is to able to mess about with them.

In the standard all fixtures that work with RDM should now have a unique ID or UID.

The first thing as a controller is to figure out who is connected to your line and what their UIDs are via “Discovery” I’m saving this for another rainy day. Today I am just trying to talk to one ELDO led driver sat on my desk, I know it has a UID of 0x64, 0x6F, 0x00, 0x00, 0x8C, 0x10 (don’t ask me how I know that)

So thanks to Open Lighting Project’s packet builder and some assistance from computer genius Peter I have worked out what I need to send to get the thing to talk back, and start sending out data and trying to listen.  On my microcontroller I have a RS485 transceiver hooked up to the dmx line, and I have control of the most important pin – the REDE (receive enable send disable) when this pin is high or low puts the transceiver in a state of listen or send. 

Here is me sending out the get info packet , the left blob is the data going out, and on the right is the ELDO talking back… or in this case, the line is still being biased by the controller so it is just causing a load of noise on the line. I checked this by sending data with the ELDO unplugged and I didn’t get the right hand blob.

Now I’m flipping that REDE pin straight after sending out the message, on the right you can see the ELDO taking control and writing some stuff onto the bus 

Zooming in we can see  the message comes 560us  after I send the message.

The yellow trace is the receive pin on the micro receiving the data.

Cue nearly a whole day of messing about trying to actually listen to that data.

Turns out I didn’t understand much about how DMX was working and “framing error” in the context of receiving this data is actually a good thing, as my micro triggers a framing error every time is gets a “break”…

And after a tonne of nobbing about here we go, a string of hex numbers back from the device, copy and paste this into Open Lighting Project’s “RDM packet dissector” and success, it shows me my led driver amongst other things has a start address of 5 and a footprint of 8 channels.


Now I can talk, listen and understand. Next job is to find out how to discover those devices…

Introducing: STATUS First look prototype, bits and pieces

So some of you know I have been working on a new tester. It is not going to replace the STATE, it is quite a different beast and serves a smaller subset of people I think.  It is probably about time that I talked about it though, as I need some push to get it to a version that I can actually give to people to try out.

This prototype is currently being held up in hardware… and software…  If anyone is in a position to get on board with some software I would be interested in talking.  Maybe open source the whole project ?  I would love to be able to make the boxes for other people to develop amazing software for.

Its based on a Teensy (because I love them) and because it reduces the hassle of prototyping with a really good capable processor.

Now follows a really long list, the colours are ORANGE for nearly there, needs work or has some obvious problems, GREEN for all good, first round tests ok. RED is not even started, don’t go there, hiding in a corner from the problem.


STATUS – Lighting protocols tester
STATUS is a multipurpose tool aimed at the live events industry. It allows a field technician to diagnose faults, test for presence
of correct signals and wiring and control lighting equipment across a variety of different control protocols.
The unit can be used to act as a protocol bridge in some circumstances, and data can be recorded and played back from a micro SD card.
DMX, DMX RDM, ArtNET, sACN, OSC, MIDI, MTC, LTC and supported at this time.
The battery powered tester frees the technician from carrying around a easily damaged expensive laptop and multiple dongles.
The unit also provides a computer interface for the mentioned protocols, and a suit of applications using the data will be avaiable soon. One, the LTC display is already available – Allowing the display of SMPTE Timecode on a Mac or PC in a floating window, so values can be embedded with screen recordings, or used as a large clock readout.
The unit can receive and transmit DMX512, STATES can be set up by channel or individual fixtures can be tested from on board library (updated via micro SD card included)
Scope mode; 4 channels can be views level against time on an oscilloscope style display. – helpful for diagnosing transient faults.
64 channel levels viewable at once in DMX input view
Completed states can be saved to SD card for replay via DMX or any other below protocol.
Discovery, Identify, Report sensors, send lamp strike/reset/douse, readdress.
Open and short circuits can be detected in standard wired DMX 5pin XLR cable (pins 1,2,3)
Pictorial reference for ease of diagnosis.
New board has broken this…
All features of DMX
Stat page showing universes on network, framerate etc
Send to any Universe, by channel or fixture.
Save a Universe to memory (SD card) or All incoming universes to a memory. (selectable)
sACN (E131)
As per ArtNet features
port to other protocols?
receive and display incoming strings on a fixed port.
send test string
Input log, shows incoming data on inbult 5pin DIN connector
MSC decode, decodes MSC into human readable Cue numbers etc
Midi output to send notes on/pff, pitch and velocity changes.
Ping a device on the local network. Selectable “to” and “from” IP addresses
Display Midi timecode and frame rate
Display SMPTE Linear Timecode (LTC) and frame rate from inbuilt 3pin XLR
Display average incoming signal level in mV and on bargraph
MAC and PC App to display LTC in a floating window (for screen recordings, TC tagging, larger clock displays etc) – Done
Playback saved memories to DMX, ArtNet and sACN. Regardless of where they came from.
Memories can be edited easilyfrom the SD card in a text editor or VIA SOME SOFTWARE PRODUCT..??
The USB on the device outputs serial which can be viewed in any terminal program, providing an ALL PROTOCOLS to serial adaptor for logging projects etc.
Could be used to timestamp with LTC for example, or view incoming MSC comands over the course of a day.
Encoder for rapid level setting (clickable to jump 0,50,100%), encoder also selects universes etc.
Rechargeable Lithium Polymer battery, charges via micro usb B, using supplied cable.
Robust extruded aluminium case
XLR 5 pin Male DMX
XLR 5 Pin Female DMX
XLR 3 Pin Female (LTC)
DIN 5pin (MIDI)
RJ45 Socket (ArtNet,sACN,Ping,OSC)
MicroSD – fixture library and saved states – editiable via any text editor.
Battery life is …..
Charge time is….
Battery monitor (an improvement from STATE R3!)
Future possibilities….
Node mode??


DMX Debugging.. 2

I recently read Wayne Howells excellently detailed “DMX Debugging” article in LSI (July 2017 p86) , and thought I would add my 2p. This is not strictly a project, however is does lay the bed for a new project, STATUS – a tool to test networked lighting systems… but more on that later.

I rarely work with equipment that does not come fully serviced from a hire shop, so much so that thankfully I would say that cable and fixture faults a a rarity. This however has not stopped me scratching my head over some bizarre control problem on a regular basis. If fixtures are suspected, simple bypassing by joining their in/out cables together or using a new cable to exclude whole areas from the search can find problem areas easily. Many problems can be eased with the aid of a simple dmx test tool.

Note simple. I don’t need my iPhone to call the mothership to download a fixture profile, in all of the cases below the tester should be used to verify the correct signal is present, be that existence of good DMX, presence of the correct universe, presence of the correct level of the correct channel where it is expected. (All DMX In modes).

Before you get to DMX IN, I often just check that the fixture responds to me, when I am standing right in front of it connected via a short cable. Don’t I need a fixture profile?, no not really. Selecting 1 thru 512 and wheeling up should bring up the dimmer, move the thing about it and change all the features at once. In this case I don’t want to test the fixture really, just that it is able to respond to DMX, and pass DMX through to all the other fixtures that should now all be doing the same hideous dance. This has proved (coupled with a bit of understanding of your own system) to successfully find air gaps, wrong universes, buffers not outputting anything, faulty cable in the middle of a run of fixtures. So that is DMX Out mode on your tester.

Here are a few faults I have worked in in the last year, as you might work out, at least 50% of these are not the fault of the equipment. None of the unnamed equipment gear mentioned below is from one of the cheaper manufacturers. Lots of the problems could have been solved in a more efficient way by calm accurate communication*.

Case of mistaken identity

A new fixture on an existing DMX line does not respond as it should… the address is correct on the fixture and the patch. Installation was done (by me) several weeks earlier. This universe is not the universe you are looking for.

Fixtures fail to respond at all

Short to chassis earth due to a cable fault.

Faulty fixture has a non passive output

Crazed fixture has gone into some kind of master mode sending crap data all over the place. Identified by bypassing each fixture in turn.

The lighting desk says it is on, but it isn’t.

– Profile is not correct for the mode the fixture is in, fixture actually has two extra mysterious timing channels that mean that the whole rig is now overlapping. Causing fixtures to work in some cues, and then not in others….

Some fixtures respond on a line but others don’t… and they all worked a half an hour ago.

Cable fault near the end of the line. The older fixtures can deal with some nasty reflected goodness, the new ones lock up completely crashing their UI. Did somone mention terminators?

Fixture makes no sense on console, R G B work individually, but as R is added to G for example the fixture snaps to full white. Surely a console/programmer problem? – Address the fixture to 1 and check with a DMX tester to find exactly the same result. New firmware needed as some ‘smart led calibration routine’ is, not so smart.

And all of this is on the copper.

And then we add the artNET, SACN, console to console syncing mysteries….

*easy to type, not easy to do. It should work already, you idiot!

Linear Motion

This is project is for a shop window display – two signs move up and down alternately.  Using some linear slider kits from ooznest I made a few aluminium pieces to allow them to push up and down some 6mm OD rod.  A teensy micro and some stepper drivers in a box does the control, with a limit switch at the motor end. A calibration routine on startup lets controller work out where the carriage  is and then back off the limit switch like the CNC router does.

Its a bit loud, I’m going to add some of those rubber anti vibration bushings to mount it on.


CurrentBun returns… OSC

I have been working on a couple of shows lately where the rig vs the power supply capability have come a bit too close for comfort. It reminded me to dig up and old project and give it a new lease of life.

I have developed this; the CurrentBun Mini OSC. It is the same size as my STATE DMX testers.

The unit has inputs for three current clamps and an ethernet connection / USB for software and calibration. There is a 2.5 inch touch screen that shows basic read outs of the three phase currents, peaks and a graph mode that shows current over time.

The idea is that you stick this by the rack you want to monitor, connect it to your lighting network and then display/configure the unit remotely via an app on your PC/MAC/Phone. The data is sent over the network via OSC, so it can be received easily.  I have made a simple application that displays a readout remotely and lets you set an alarm for each phase if it were to go over a top set.  The physical unit can also chirp if required.

Case is still a bit of a prototype, but let me know if you have any ideas for the project.



LightWrite Pipe / Bar / Truss Printer

Just spent some time I should have been doing something else messing about with a Thermal receipt printer.  It has been hanging around the workshop for a long time since its previous life in a robot costume….

It came to me in the middle of the night that one of the morning boring prep jobs it to mark out trusses with units, or mark  a temp prep truss up so that a bar loom can be made. Using a cloth measuring tape, and white gaff to mark the units.  The info is already in LightWrite, so why not print it out.

I wrote a little app in Processing that takes a feed from LightWrite with these fields

Unit# Channel Distance From C Position Dimmer Instrument Type & Accessory & Wattage DMX Mode User 18 Colour Gobo Circuit Name Circuit#

It then just presents you with a list of positions to print. The printer can be calibrated with a little calibration routine so that distances are accurate.

Cue tonnes of paper on  the floor testing different methods.

Out spits a long old receipt with the units centre marks marked, with all the other info so you can make a loom, plug it up, colour it etc.

After a few goes I realised I would need a printer that could take bigger rolls.  I bought one on Amazon for £29.99 inc postage, and it can take 40m rolls. The rolls cost about £2 or less.  Not the greatest for the environment, but it beats all that wasted tape and scratching of heads.

Sadly the printer driver didn’t work with my Mac so I had to bodge a RasberryPi inside it.  Work in progress!

Just printed out my first show.




For when you just need to turn a light on.  Or more specifically the working lights in a temporary gig. Only its not you turning them on and off at the racks, it is the cleaners or the box office people etc etc. This lightswitch outputs a full universe of DMX that can be merged in, or just connected to a relay rack to turn some MBIs on and off. Thats how I am going to use it. It has a little (variable) delay for the turn on so to minimise inrush.

And to the next task >  maintained houselights in a temporary event space. How do you have dimmable houselights that are also fed from a batterybacked supply in a temporary theatre as required by some LAs.

And the next task, site powered from a not 24/7 generator. For several months. How do you keep your emergency lights charged and ready to turn on during generator fail, but not discharging them everynight when the generator is off. With off the hire-shelf  1 inlet unmodifiable twinheads.

Teensy DMX board

img_4005After a quick search around I couldn’t find anything that easily added a RS485 transceiver to the Teensy platform to allow it to send or receive DMX easily. I made this little PCB to do the job. It mounts on the bottom of the main board, allowing an ethernet board to be added to the top. In the picture there are a bunch of other wires soldered on to break out various IO lines for switches, UART and SPI for a display.

Because of the power of the Teensy 3.2 it is great to say make a simple ArtNet node, process DMX for addressable pixels or pixel tape, and any number of projects that need a little bit more processing. AND it is teensy tiny.

E2C – ArtNet to E2 / Leitch

This is a protocol convertor I am developing to take ArtNet or DMX and convert it into Telnet commands to control a Barco E2. I have also added RS422 output so that a Leitch compatible router/matrix can be controlled also. I will be using it with a Black Magic 40×40 SDI Videohub. The basic idea is that the lighting desk and control presets and transitions on the E2 and make routes to video sources and destinations. This means some better integration can be made between systems that are already controlling media servers etc from a lighting system.

The box has a main and a backup system in it – or 2 separated systems that could be used independently. The is no power supply redundancy but that could be included simply.