Seb Lee-Delisle


Lightning projects take home TWO awards!

After 5 years of working with lasers, it seems that I have now been accepted by the wider laserist community! The International Laser Display Association (ILDA) have honoured me in their awards ceremony in Montreal, as part of their annual conference.

My awards are in their Innovative and Art category, second prize for Lightning Catchers and first prize for Lightning Strikes!

It’s obviously a huge honour and I’m looking forward to working with lasers some more in 2019 🙂

Posted in Lasers, News | Comments Off on Lightning projects take home TWO awards!

Installing LaserShow Xpress on Windows 10

I thought I’d give LSX a try – it’s pretty cheap and seems like fun laser software. I had some trouble installing it on Windows 10 – kept getting the message “Code execution cannot proceed because msvcp100.dll was not found”.

It seems to be a problem with Visual C++ apps, and I found the solution on this post – you have to install the Visual C++ redistributable package, download here.

I’m not sure if this is a Windows 10 specific thing but hopefully posting this here might help.

Posted in Uncategorized | Comments Off on Installing LaserShow Xpress on Windows 10

Review of 2017

I can hardly believe it but this is now the tenth anniversary of my annual review, and therefore I’ve been blogging for over ten years – how the internet has changed since 2007! Back then it was all about open APIs, personal websites and blogging. Facebook was a tidy and uncluttered alternative to MySpace, the first iPhone had just been released, Twitter was a year old, YouTube was only two, and I had a successful career as a Flash programmer, making Flash games and embarking on my speaking career.

Boy firing laser gun

From a personal point of view, it’s been a remarkable ten years. I’m in an incredible position now, making a living from creating massive interactive light and laser art installations, a variety of electronics projects, a fun side-line in geek comedy, and regular conference speaking appearances. I could not be any happier.

But this isn’t a review of the last ten years, it’s a review of this year – 2017! So let’s get started.

Light Installations

2017 has been my biggest year yet for light and laser installations, kicking off with Laser Light Synths at Spectra Aberdeen in February. It was the project’s second outing, which was developed considerably adding a host of extra synth sounds, including a very 80s-tastic slap bass.

Laser Light Synths projection

A brief installation at GEEK in Margate for Laser Arcade (including Laser Duck Hunt) and then immediately afterwards, PixelPyros was shipped off to Abu Dhabi with my crew for a two week run at Mother of the Nation Festival. In June, I was invited to project laser visuals on the side of a building for the Glasgow School of Art graduation show party.

Over the summer I worked on a new prototype project, Lightning Catchers, which debuted at Enlighten Festival Bury. I built 2m long “lightning rods” full of super-bright LEDs and projected laser-generated lightning on the church tower. If you catch the lightning with your rod, it lights up and buzzes. I applied for an Arts Council grant to scale this up to 12 lightning rods but sadly this was rejected – my first failed application!

As so often happens, this turned out to be a good thing. It meant that I didn’t have the budget to produce the full-scale interactive installation for my commission at Enchanted Parks in Gateshead and had to rethink the project. I ended up designing projections that recreated various electrical effects and projected them on to the iconic Saltwell Towers.

I completely re-wrote my laser control code and hired two of the biggest lasers I’ve ever used and created a 6 minute looping show that was all algorithmically generated in real time. I very rarely produce things that are non-interactive so it was an interesting challenge. Not to mention way easier to set up and run!

Mindfulness Machine

In February I packaged up a new project and sent it to Dublin for their Humans Need Not Apply exhibition. The Mindfulness Machine is a robot that likes to colour in. Based around an 80s plotter, it just quietly doodled away for the four month installation.

It’s going to be travelling in 2018, but I can’t tell you where to yet…


R&D with Tim Casson on the interactive dance project Choreocracy continued in December and we have got full funding to finish it up and take it on tour! It’ll be visiting several venues in Spring 2018.

Public Appearances

I didn’t have as much time for speaking this year but still presented at a few good events. I brought my laser to Render Conference Oxford in March, and Generate London in September. And spoke at a handful of other events throughout Europe.

Although I didn’t get the chance to perform Hacked On Classics this year, I did appear at a couple of Evenings of Unnecessary Detail and closed the year with Cosmic Shambles’ Nine Lessons and Carols event with Robin Ince. It seemed to go down really well and I expect it to lead to bigger and better things in 2018.


Fun side projects this year included making a hardware single key keyboard and fully restoring an 80s keytar. Sadly the podcast was somewhat neglected; we only managed two episodes! Not sure what’s going to happen to that in future to be honest. But it’d be nice to getting it going again if I can.


I’m not entirely sure how best to document and publicise my work these days. The last few years I’ve been relying on Twitter more than my blog, but I feel like that is less effective now (not to mention the nazi problem). I should probably redesign this site and update it – the projects page is woefully out of date. And I think I will re-instate my mailing list. It seems the way to go.

But it’s been a great year for me, a fantastic mix of projects, all very exciting. And it seems like the art installations are taking off to a point where I rarely have time for conferences.

And it doesn’t stop here ; the first half of 2018 is already very booked up. I’m back in Aberdeen for Spectra with more lasers, I’ve been commissioned for the brand new Science Gallery in London, and I’m performing Hacked on Classics at the Lowry in Salford in May. And there are a few other things that I can’t talk about yet…

As the year closes, I’m thankful for the success and the support I’ve had. Here’s to another ten years!

Timeline of 2017

Mindfulness Machine install at Science Gallery Dublin
Laser Light Synths at Spectra Aberdeen
Laser Arcade at GEEK

Appearance at Raspberry Pi birthday celebrations
Keynote at Render Conference, Oxford
PixelPyros in Abu Dhabi

Visited Dublin to document Mindfulness Machine
Appearance at An Evening of Unnecessary Detail – Nintendo Laser Gun

Appearance at Hafentalks in DĂĽsseldorf

Laser show at Glasgow School of Art
Appearance at An Evening of Unnecessary Detail – Lunar Lander

Sent out first Mystery Makers’ Box
Restored vintage Keytar
Made Keyboard simulator

Bought a new 3D printer

Appearances at Berlin and Zaandaam
Appearance at Hackaday, London
Keynote at Generate Conference, London

Lightning Catchers debut at Enlighten Bury
Laser show at WestVisions, Duisburg, Germany

Official photographer at FFConf

Lightning Strikes at Enchanted Parks, Gateshead
Week of R&D for Choreocracy, with Tim Casson
Appearance at Nine Lessons and Carols with Robin Ince.

Posted in Annual Review, Articles | Comments Off on Review of 2017

Calling all speakers! A hardware button to toggle display mirroring

I’ve been really frustrated that my favourite keyboard shortcut to toggle display mirroring doesn’t work on TouchBar MacBooksso I’ve made a button that can emulate it!

Of course since I’ve got this working I’ve discovered there’s a weird work-around to get it working on the TouchBar, but it’s still quite a fun device, and you could use it to emulate any key (missing that Escape key, anyone?)

What you need :

That’s it! It should be way less than $20. You’ll also need a soldering iron.

Solder the switch to the Trinket as in the pictures – you’ll need to break one of the legs off.

Then you’ll need to install the Arduino IDE, and add the Adafruit boards. Checkout Adafruit’s brilliant guide to installing the Arduino IDE for their boards.

Download the code from the Cmd-f1-emulator repository on GitHub.

In the Arduino IDE, open the preferences and change the sketchbook folder to be the ‘Arduino’ folder inside the repository that you just downloaded. Restart the IDE, and then open the file CmdF1Emulator from the sketchbook. Make sure that the correct board and programmer are selected (Adafruit Trinket 8Mhz and USBTinyISP, respectively – check the instructions on working with the Trinket on Adafruit if you’re new to this).

Press the reset button on the Trinket and upload the code to it.

It should now work! It uses the Keyboard Trinket code provided by Adafruit, although I had to adapt it – apparently the Mac doesn’t act on the keyboard shortcut unless it thinks it’s made by Apple. That was a day wasted trying to figure that out! I adapted the Keyboard Trinket library to provide an Apple USB device ID to fool your computer into thinking it’s an Apple keyboard.

Ideally you should really put it in some kind of case – maybe just wrap it in Sugru? Or else there are some Trinket cases on Thingiverse you could check out.

Let me know if you decide to make this simple project and how you get along!

Posted in Speaking | Comments Off on Calling all speakers! A hardware button to toggle display mirroring

Keyboard shortcut for “Mirror Displays” on Touchbar MacBook

It’s kind of a niche requirement but very important for someone like me who runs presentations with keynote split on two screens to running demos that need to be mirrored.

It was always Cmd-F1 on any non-touchbar equipped Mac, but sadly that stopped working on the new Macs, even if you hit the fn key to make the function keys appear.

I went as far as creating a hardware keyboard emulator, before I discovered this software solution (thanks Anders Anker!).

Step one :
In Keyboard Preferences, select Press Fn key to Expand Control Strip

Step two :
Hit Fn-Cmd and the decrease brightness button on the touchbar.

That’s it!

If you’re interested, here’s the post with full instructions on how to make the hardware version.

Posted in Uncategorized | Comments Off on Keyboard shortcut for “Mirror Displays” on Touchbar MacBook

Review of 2016

It’s been quite a year, that’s for sure. Politics in both the UK and the US have been increasingly chaotic, and I can’t help leaving this year in a high state of anxiety. It’s certainly had an effect on my productivity and in many ways has left me questioning myself; am I really doing the best thing for society with my work?

But perhaps a bit of fun and entertainment is a necessary and desirable distraction from the turmoil in the news pages? And thankfully I have had another successful year; my work has been steadily progressing and I’ve been enjoying it. There has been a good variety of different projects and events.
Continue reading

Posted in Annual Review, Articles | Comments Off on Review of 2016

Fading LEDs with PWM on all pins with Pi Zero & Node.js

I’ve been converting my ST4i workshop from Arduino to Node.js/Raspberry Pi and one of limitations is a lack of built-in PWM pins. PWM or Pulse Width Modulation can be used to fade LEDs up and down rather than just turn them on and off. If you’re new to PWM, here’s a full explanation at Sparkfun.

On the Pi Zero, you can only enable 2 hardware PWM pins at one time, and the library I’m using to control the GPIO pins doesn’t support PWM at all! (The ubiquitous onoff node module).

After a bit of searching, I found the pigpio Node.js module, and this, in turn is a wrapper for the Pigpio C library.

As far as I can tell, it manages the PWM duty cycle in software, so it’s not as performant as the built-in hardware PWM pins, but as it’s written in C I’m sure it’s fast and certainly my experience so far suggests it’s super smooth.

If you want to try it for yourself, follow the instructions on the github page. I had a slight amount of weirdness, it didn’t seem to install straight away, but I deleted everything and started again and it seemed better.

I also had another problem – somehow I had started the pigpiod daemon and this clashed with the Node.js module code. Either the installer for pigpio did it or else I ran in manually while trying to get things running. sudo killall pigpiod should sort it out.

And a final thing to look out for – if you have node 0.10.29 on your Raspberry Pi (the version that comes with Raspbian Jesse) you’ll have a problem running any Node.js module that uses Nan, the native addon library. I first encountered this when I updated the LED matrix library to work with newer versions of Node.js, but it’s simple enough to fix. See this thread on github for solutions.

Once you have it installed you can do PWM output on any GPIO pin, here’s a set up for 9 LEDs like in the image above.

9 Leds on a Raspberry Pi

You can then use this code to get the nice pulsing effect in the animation.

var Gpio = require('pigpio').Gpio; 

// change these to match your LED GPIO pins : 
var ledPins = [21,20,16,12,26,19,13,6,5]; 

var leds = [];

// initialise all the pins
for (var i = 0; i

Note the issue with sending floating point numbers - I'm surprised that this isn't handled at the other end but it's easy enough to fix with a Math.floor.

And also notice how I'm using cubic easing to smooth out the brightness curve on the LEDs.

You can also use the pigpio library to control hobby servo motors. That's what I'll be doing next!

More about my ST4i workshops.

Posted in Node.js, Raspberry Pi, ST4I | 2 Comments

Controlling 7 segment LED displays on Raspberry Pi with Node.js

As part of the preparation for my upcoming workshops (last two tickets left!) , I’ve been working on writing Node.js code to drive various bits of hardware that are included in the free kit that comes with the course. So I’ve made my first ever npm package! And it drives cute LED displays running on the MAX7219 chip.

In particular, there are two little LED displays that I really love. One is an 8 x 8 LED matrix, and the other is an 8 character 7 segment display. (The ‘7 segment’ refers to the arrangement of LEDs that makes up the number shape – think of the displays on the Delorean time-machine dashboard).

They’re both driven by the same chip, the MAX7219, which can drive 64 LEDs, so perfect for both of these displays, and you can actually daisy chain up to 8 of them together and run them from the same pins. There is already a Node.js library that can run these, and it works fine (MAX7219) – it’s geared towards the 7 segment display and it works with the native SPI device on the Raspberry Pi.

But it is possible to run a MAX7219 chip without using the SPI device. You can ‘bit-bang’ the GPIOs – this is a way of sending digital data out of pins manually by setting them to high or low for each bit. It’s probably more performant to use the native SPI device but this method is perfectly fast enough for most applications, can be connected to any pins, can have multiple outputs, and is simpler to set up (as you don’t have to enable the SPI device on the Raspberry Pi).

[UPDATE – I just found this post with more about how bit-banging the MAX7219 works]

I’ve also implemented a few other fun features :

  • Display a number on the 7 segment display, with a fixed number of decimal places and leading zeros
  • A full alphabet – send it any alpha-numeric character and the library will do its best to represent it (obviously m’s and w’s are a bit crap 🙂 )
  • Set a specific led at x and y coordinate of the 8 x 8 matrix – for fun graphics output

It’s based on the Arduino LedControl library so much of the API is similar, but it’s currently in a very early state so expect the API to change.

See the github page for more details.

Posted in Node.js, Raspberry Pi, ST4I | Comments Off on Controlling 7 segment LED displays on Raspberry Pi with Node.js

Upgrading a node module that wraps C code

Today I wanted to get this ultra-thin LED matrix working with Raspberry Pi in NodeJS as part of my work on my new ST4i workshop.

Ultrathin RGB Matrix_02

The SeeedStudio Ultrathin Red LED matrix.

It’s such a nice bright matrix, I really love it, but they’re a little weird to work with. They use the HUB75 protocol which scans across the screen doing a few pixels at a time, so they tend to look super flickery on a standard slow Arduino. But there’s this C++ library for Raspberry Pi that is way faster and some nice person has wrapped it in a Node.js module.

Although I got the C++ code working, I couldn’t install the Node module – the compilation process failed. After some exploration, I realised that the module was designed for older versions of Node (I think a maximum of 0.12.0) and I’m running 5.4.1.

I tried to revert my Node version with n but that seemed temperamental on the Raspberry Pi ARM versions of node. I couldn’t get it working, and it didn’t feel right to switch Node versions if I didn’t have to.

So plan B – I set to work updating the node module. There’s lots of documentation on how to wrap C++ code into Node addons and I have to admit, it’s pretty intense! At least for me, as I haven’t really got much experience of the V8 engine.

But I figured it out – the main issues were how objects are passed back and forth between the JavaScript and C++. It works! But sadly I think it’s probably broken in older versions.

I really should use the Native Abstractions which is a way to wrap C++ code that will remain compatible with past and future versions of Node.js, but one thing at a time. I’ll take a look at that next.

[UPDATE here’s a link to my fork of the repo]

[UPDATE 2 Now rewritten to work with Nan! So is hopefully good for Node.js versions 0.8, 0.10, 0.12, 4 and 5. here’s a link to my fork of the repo, pull request pending.]

[UPDATE 3 My pull request has been accepted and the main repo is now updated.]

In the meantime, enjoy the particles!

Posted in javascript, Node.js, Raspberry Pi, ST4I | Comments Off on Upgrading a node module that wraps C code

Review of 2015 – the year of electronics

2015 has gone by in a blur – at first I couldn’t remember the details of what I did. There have been so many different threads and distractions that it occasionally felt like I didn’t accomplish much. But now I’ve looked back at my calendar I’ve realised that there was actually a lot going on. In fact it’s taken until mid-way through January to compile it all together!


Synth Prototype1

If 2014 was the year of the laser, I’d say that 2015 was the year of electronics. Following on from my LED emblazoned Light Synths I continued to develop my skills, working on a wide variety of different electronics projects and workshops.



The year was off to a flying start with my Internet of Things workshops, or ST4i, as I cheekily prefer to call it. Three sell out workshops in Brighton, followed by more in Amsterdam, London and Dusseldorf. It’s been really great to share the electronics stuff I’ve learned and connect little prototypes to the internet. I loved it, and thankfully the participants seemed to really enjoy it too.

In February, I wrote an in-depth article for net magazine all about ST4i, giving an overview of all the various platforms and devices. This stuff moves so fast that it may be a little out of date, but you can see it here – How to Build Cool Stuff for the Internet of Things.

And then in June, I was invited to speak about IoT on Radio4. It was a fun segment on “You and Yours” (from 18:50 onwards) and we all had a knowing laugh about the internet fridge again. Fun times!

I’ll be updating the ST4i workshops with a brand new version with a really exciting twist. Join the mailing list if you want to be the first to hear about the new workshops.


In February I spent a week with choreographer Tim Casson on a series of experiments involving live audience interaction with dancers. I have a very sedentary lifestyle, so it’s really wonderful to work with a group of talented dancers so good at expressing themselves with their physicality. Tim’s a really nice guy, and I’m sure we’ll be continuing this R&D into 2016. You can watch this little chat we had on youtube about our work together for South East Dance in August.

spoontesting2The “Get Enough” Robot Spoon by Dominic Wilcox

In June I worked with my artist-inventor friend Dominic Wilcox on a series of crazy breakfast related inventions for Kelloggs. I completed the electronic elements for 2 or 3 of his crazy ideas, including the Soggyometer and the “Get Enough” Robot Spoon (I’m particularly proud of the expressive eye animation).

Working with Dominic was a real pleasure and delight – I hope I get the chance to work with him again in the future.

More electronics, servo motors and 3D printers

In other electronics side projects I worked on a vending machine with multi-coloured LEDs for the hackspace, my office lighting, with adjustable daylight LEDs and a weather station reader.

One of the larger things I worked on was a highly controllable servo motor for a 3D printer extruder. Servo motors are complicated, and I really need to write a few posts to document that project. Suffice it to say that it took several weeks to fully understand and program brushless DC servos but in the end, I managed to get a prototype extruder working perfectly.

IMG_0023The servo powered extruder on the Delta One 3D printer prototype

The main benefit of using brushless DC servos on an extruder rather than the traditional stepper motor is weight. You can make a very lightweight direct drive extruder on the print head that is more powerful than a large stepper motor.

This has been for an ongoing project of Paul Strotten, the engineer I’ve worked with over the last 3 years. He’s been designing and building his 3D printer for a year or two now. The idea is to bring it to market but progress comes in fits and starts. But I think the servo drive hardware could be useful for people outside of that, so I really need to work that up into an open source hardware project this year.


Of course my obsession with lasers is continuing, with three more laser shows for Smashing Conference in Oxford, LA and New York, each progressively becoming more interactive. And again working with Val Head on the animations and laser help from Paul Hayes. The NY edition was on Broadway, and projected onto the Avenue Q set, and the LA show had anaglyphic red/blue 3D.

ofxLaser in action

In the summer I started work on releasing my laser control code into a reusable library for openFrameworks – ofxLaser. It takes care of drawing laser shapes, optimising the path of the beam, calibrating the colour balance, amongst other things.

My friends Tangible Interaction in Vancouver used it for a wonderful participatory laser animation installation ANIMA.  I’ll be continuing to refine the addon throughout 2016.

Oh and I finally got qualified – my laser safety training certificate was issued in September.


I know it’s very un-British to talk about money, but financial extremes played such a big part of 2015 I can’t really ignore it.

The year started with an unexpected tax bill of ÂŁ25k! The result of some very poor financial planning; I had made made some money which I then used up developing Laser Light Synths which fell in the next tax year – I was paying tax on profit that I no longer had.

I fired my accountant, managed to get the bill down to ÂŁ15k and took out a loan to pay it off, but the monthly repayments were a huge burden. I’m very thankful that the ST4i workshops were such a great success, they pretty much single handedly helped me to keep my head above water in that time.

And then the second half of the year was pretty much the opposite. A couple of years ago when Jenny and I moved to a new flat, we managed to keep hold of the old one, which I rented to my brother. Since then, property prices went up considerably so it made sense to sell the flat.

It was a huge relief to be able to pay off all our debts and keep some money in the bank. And knowing I have a safety net in case of bad cashflow is a massive luxury. Of course I should really put that money in our current mortgage…

Although I greatly benefitted from the situation, it highlighted to me how unfair the financial system is in this country. If you have money you can make more money, pretty much out of thin air. I’m greatly concerned about the inequality of the distribution of wealth, although I’m not entirely sure what to do about it. But that’s a story for another time.

PixelPyros & Laser Light Synths

IMG_0143PixelPyros crew rigging the massive screen
After a break in 2014, PixelPyros had two outings in 2015, at Media City in Salford, and at the Arts By the Sea festival in Bournemouth. It was good to revisit the project, and we had a few more pixels to play with thanks to a pair of upgraded projectors.
IMG_9663Laser Lights Synths at dConstruct
Laser Light Synths had a couple of successful mini-outings at dConstruct and the Brighton Mini Maker Fair.

If you’re interested in booking either of these projects for your event in 2016, please get in touch.


CSO19XcXAAAEJeGMotivational speaking at its finest

Not quite as many conferences as previous years, but still plenty to be getting on with. I travelled to York, Shropshire, Amsterdam, Trondheim in Norway, and there were a few in London, mostly opening or closing keynotes.

Diversity scholarship

I ended the year with a CreativeJS workshop in Brighton, and inspired by Remy and Julie, I set up a diversity scholarship to encourage under-represented groups in our industry to attend. I was astonished to get applications from all around the world, and I wish I could have given every applicant a place. It was possibly the most diverse workshop that I’ve ever run and that made it a better experience for me, and hopefully everyone else.

What’s in store for 2016?

Good question! I’m currently taking some time to prioritise all the various strands to my career. My priority is the new ST4i workshop and that’ll be up and running very shortly.

Other than that I have a lot of options. Laser Light Synths needs more work, so I could apply for a grant to take that on tour (like I did with PixelPyros in 2013). Both that and PixelPyros could do with a more co-ordinated marketing push.

And I’m embarrassed about how little I’ve blogged, and I really need to document my projects better. I’m working on a new website, and maybe that’ll give me the impetus I require. I really need to give back more, both in documentation and in my open source projects, and I hope to do better this year.

I feel like maybe my career is in a bit of a transition but between which states? Well either way, it’s a fun ride. I consider myself exceptionally lucky and privileged to have this lifestyle and the chance to pursue almost any interest I want. Here’s to 2016!

Posted in Annual Review | 1 Comment