was successfully added to your cart.

All posts by Stijn van Drunen

Many small steps, one giant leap

By | LightSaga | No Comments

Finally, just before the years’ end, we made the giant leap of constructing our first LightSaga clock (Technically it is the second if you count the original iteration made of wood). A lot of small steps were required to finally get to this point and we still need to assemble the other 19 out of our first prototype run, however this marks a big milestone and our first chance to really see the aluminum and acrylic coming together.

2015-12-30 10.22.57

The software that was running fine on the Spark needed some touching up for the Photon, but now runs fine on both platforms and as we now have a finished clock with all the electronics in it we can now also focus on the software.

2015-12-30 15.00.43

Glueing of the other 19 rings will take place in the beginning of 2016, or, not all of the rings can be glued yet as many orders haven’t picked colors yet and the rings need to be anodized before glueing.

2015-12-30 15.00.48

Also a redesign of the PCB is needed for better accommodation in the clock as we learned that some of the things on the first iteration on the PCB simply won’t work (we now manually modified the 3 existing PCBs).

2015-12-30 14.46.16

A lot of steps still to take, but a nice result just before 2015 ends.

Glass Bead Blasting!

By | LightSaga | No Comments

After manually sanding our first acrylic ring from opaque to diffuse it became painfully apparent that this method doesn’t give the envisioned result nor did it scale well to our full prototype run. A single ring costs around 20 minutes to properly sand manually and even then the result wasn’t the silky milk glass finish we envisioned. Bead blasting was the way to go!

2015-12-19 10.04.06

Bead blasting uses many kinds of media, but in our case we used glass beads. Glass beads are made from lead-free glass. These materials are formed into tiny glass balls. You can recycle the beads that you use in the course of bead blasting up to 30 times before replacing them. The glass beads used in the process are free of chemicals and safe for the environment. They come in several sizes and the size you choose will depend on your needs.

2015-12-19 10.03.50

We found a place that had a large enough bead blasting machine for our needs, as the whole 70cm ring had to fit into it and the owner was friendly enough to open up his workshop to us as he was enthusiastic about two guys trying to create their product. We had to develop a bit of a feeling for the bead blasting as the cabinet features thick rubber gloves and a very limited view of what you’re actually doing, but after a couple of rings all was going smooth, averaging at about 3-5 minutes a ring dependent on the size.

2015-12-19 11.36.17

The end result is simply stunning and the feel of the acrylic is completely different after getting treated to a shower of small glass beads. Another step to the envisioned end product is made, and we even managed to glue a couple of parts, hopefully glueing the other rings in the coming weeks.

Color choices

By | LightSaga | No Comments

Because a lot of the people that ordered their LightSaga prototype weren’t sure which color to pick, as it is hard to picture how it will look, we asked Aldor to help us out by making one of the small rings in each of the four colors we were going to offer. Wouter and myself already knew we were going to go for polished black (which is like a black glass look) for our clocks so we also had two of the big rings done in this color. Because this choice requires a lot of handwork it is slightly more expensive then the other three, but it has a unique look and feel.

All the results were stunning and it is hard to capture the real look and feel of the rings on a photo, but we tried. The four options we are offering to our customers (or to the enlightened people that will get a LightSaga asap, pun intended):

Glossy Black


Matte Blank (not to be confused with Matt Leblanc)


Matte Blue


Matte Black


Allow me to Interrupt

By | LightSaga | No Comments

Recently I had some problems with my I2C brightness sensor on my clock. It messed up the main routine of smoothly drawing the clock at a rate of 30 updates per second. Analog was a solution to this, but it didn’t solve the main problem of the design. Interrupts where the way to go if I wanted to solve this properly.

So, what is an interrupt in this context? Well, there is a method by which a processor can execute its normal program while continuously monitoring for some kind of event, or interrupt. This event can be triggered by some sort of sensor, or input like a button, or even internally triggered by a timer counting to a particular number.


With an interrupt, the processor temporarily interrupts it’s normal routine to handle the interrupt. It will effectively save its execution state, run a small chunk of code (the interrupt handler or interrupt service routine) and then returns back to whatever it was doing before. How does it know what code to execute? This is set up in the program. The programmer defines where the processor should start executing code if a particular interrupt occurs.

Arduino’s tend to normally only support external interrupts, which is not something I wanted. What would solve all my problems is just being able to run whatever code I’d like (such as I2C readings and fetching internet data) while my clock rendering is guaranteed to run at specific times. After a while I finally managed to hookup an interrupt to a timer the Spark Core provides and after flashing it, it works like a charm! Need to change my power on and off routines a bit and the notifier routines, but this is a vast improvement over the mindless loop my code was doing before.

[su_youtube url=”https://www.youtube.com/watch?v=7Q30Nph9aAQ”]

Led Clock Saga

By | LightSaga | No Comments

Having moved into my apartment a while back one thing remained missing for a long time; a clock. It sounds simple but I wanted a rather large and eye-catching clock. Those turned out not to be cheap nor very innovative. This is the story of the quest for changing that, by making my own clock with the help of Wouter Jansen and Bart Bilos.


As everyone probably knows, LEDs make things better. These days they are more accessible, easy to use and program than ever and thus the idea was born to make a clock out of a string of 2 meters of addressable LED strip. As if the chinese manufacturer knew, these strips feature 60 LEDs per meter, which is quite an easy coincidence when trying to build a clock.


With the help of Wouter, a design was made to create a frame and plexiglass rim using a laser cutter. It would mean having to glue a lot of stuff together, and even more challenging – doing a decent paint job on it, but we accepted that challenge since it was the only way of creating the 2M circumference circle we wanted.


It took a lot of time putting it all together but the result was simply stunning. The software is running on an Arduino and the clock is not limited to just showing the time but can show you everything that you’d want to display on it, such as a VU or spectrum meter (which works awesome at a housewarming or any other party).

[su_youtube url=”https://www.youtube.com/watch?v=f-kzLQ0qZkk”]

Ever since we made the clock, a lot of positive reactions followed regarding it’s looks and if it was commercially available. We do have plans to make a first prototype production run to build some more clocks for the people who want one and perhaps a KickStarter campaign in the future, as we think this could be a nice clock for the masses. If you’re interested drop us a line! Suggestions of future expandability are also welcome.

A more technical blogpost about how it all works and what’s in it will follow shortly.

Led Clock Saga (Part 2)

By | LightSaga | No Comments

After writing my first post on the clock many people remarked that it all sounded and looked nice, but there was no actual picture or movie showing the actual clock mode. So, without further ado, here it is in all it’s glory! The colors are fully customizable but in my setup blue is the seconds, green the minutes and red the hours.

[su_youtube url=”https://www.youtube.com/watch?v=NL_uqgPF9eI”]

The clock in action shows the second hand fluidly fading between LEDs, trying to give people the impression through the fade and the plexiglass diffuser that there are no actual discrete LEDs but a continuously updating fluid clock (same applies for minute and hour hands but this is not visible unless looking at the clock for longer periods).

[su_youtube url=”https://www.youtube.com/watch?v=fTEPlaHdcSI”]

Wouter lent me his Spark Core to port the software on to and to make it a proper internet connected clock. I did just that and what’s cool is that the clock is now IFTTT enabled. In the video you can actually see me being notified on a new follower on Twitter, the rule for that in IFTTT is as simple as:

Screen Shot 2015-03-13 at 15.36.01

Notice the data? It’s the hex color for the notification! It allows you to do all kind of cool stuff, here’s my list of current recipes but the sky is the limit in terms of notifications based on this. Future plans on this function include adding some other animations and persistent notifications (e.g. a small blue glow when it’s raining or red when you have missed calls, while the time is still moving).

Screen Shot 2015-03-13 at 15.38.57

So a lot of new functionality in the code and the way the clock works now. It’s getting more and more mature! Wouter also did a mockup for our new version of the clock of which we still plan to do a prototype run for people that are interested (contact us!) which incorporates lenses for each of the LEDs allowing a diffuse and discreet lighting, which will make the clock easier to read.

[su_youtube url=”https://www.youtube.com/watch?v=rNuZwFnE9mA”]

Prism effect 3 (web)That’s all for now, if anybody wants to know more about specific things, feel free to ask or drop us a line. Stay tuned for more functionality and updates.

Brightness, Analog > Digital

By | LightSaga | No Comments

One of the annoyances with my led clock has been that it is too bright during the evening. But, that can be easily solved by adding some kind of brightness control… This is the tale of that feature.

So, brightness control. There’s an awesome digital light sensor that can give you resolutions up to 16 bits and provides on chip lux conversion for getting numbers out of it that actually make sense (On high resolution you’ll get a number between 1 an 65535 lux) . It’s called a BH1750 and it is cheaply available everywhere. Connecting it over I2C is a breeze and there are lots of good libraries available for this chip, even for my Spark Core.

BH1750 Spark Core

Hooking it up to your Spark is a breeze and I wrote a small brightness controller with a running average trick in it to smoothen the transitions between different light readings. More on how that works later, first let me tell you this thing is simply not fast enough. As the main loop that makes sure there’s continuously fading between pixels (limited at 30 refreshes per second) even on low resolution the BH1750 needs 16ms for a measurement which gives a notable hick-up. Since you can’t do it async I decided to ditch the digital way and go for analog instead.

Photoresistor Spark Core

The Spark Core has 8 analog ports (A0 till A7), which give a 12bit accuracy when reading an analog value on it. This allows us to connect the photo-resistor with only a few components to the Spark Core and then reading it’s voltage gives a pretty good resolution and most important without any delays. Of course the numbers returned are not saying that much, so what I did in code was add a minimum and maximum threshold and minimum and maximum brightness of the LEDs so you can actually tweak how the brightness controller reacts to changes.

Mapping the numbers from the one range to the other is as simple as Y = (X – A) / (B – A) * (D – C) + C, where X is the number we get out of the reading, A is the minimum threshold, B the maximum threshold, C the minimum brightness and D the maximum brightness. Y of course is the outcome and before doing this you’ll need to check if X is below or above the thresholds since then you could directly write the minimum or maximum brightness, depending on X being above or below.


Moving Average

Getting back to the running average I’ve added, what it does is dampen the peaks or lows the circuit might give due to instability but also provide smooth fading between brightnesses (see graph above to illustrate this principle). This excellent tutorial on the Arduino website describes perfectly how to do it and gives you a nice library if you’d wish to integrate it into your own program. My own version of it is tailored to my specific needs (who needs floats anyway!).


By | LightSaga | No Comments

Time for an update on the led clock project by me and Wouter Jansen. A lot of things have happened recently; We’ve send out a call to action to all the people who’ve shown interest in investing into the first prototype run and the we’re happy to announce that our first prototype run is not only funded successfully, but also almost sold out. With prices at 350 euros for the original and 250 euros for the smaller version we are very grateful for the support and hope that all the people that believe in us will be very happy with their hand build limited edition clocks.

35 & 70 cm clock.20

Furthermore, we decided on a name for the whole project and have launched a website for the clock as well. The official name will henceforth be LightSaga and you can find the official website at http://www.lightsaga.com. The site features some production renders of how the current clock will look once it’s done.


In terms of production we are making good progress. The first Photons arrived as well as the acrylic rings and we hope to receive the aluminum parts this week. After that we need to assemble, test and program them all. This puts the scheduled delivery date somewhere past the summer so we have some time to do all the things that need to be done.

We’ll be keeping you updated throughout the whole build process so be sure to keep checking back on this blog for more information. Also, a couple of clocks are still available for sale so while the supply last you can still get your hands on one!

The OSH Park Experience

By | LightSaga | No Comments

For the LightSaga project we have designed some custom boards that will house the Photons, light sensor, some capacitors for stability and a logic level converter. Nothing too fancy but a good chance to let these prototypes be produced by OSH Park, well known for their purple PCBs.


One of the really awesome features of OSH Park is that you can upload your Eagle board directly instead of first having to export all the Gerber files. Of course you can also upload the Gerbers but why would you when just uploading your Eagle files is so much faster and easier. Once uploaded the website will show you very nice purple renderings of what your produced board will look like including all the layers which you can visually inspect to make sure everything looks like you want.

Screen Shot 2015-07-17 at 14.41.35They also provide an Eagle DRU file (design rules) which you can run to make sure your board abides to their specifications. I think I saved many hours with these very helpful features. You can try this with one of your Eagle boards right now, just go to their website and upload your .BRD file.

OSH Park PCB’s have a ENIG finish which stand for Electroless nickel immersion gold. ENIG being a chemical process results in excellent surface planarity as opposed to HASL (hot air solder levelling) which leaves behind visible irregularities. The quality of OSH Park PCB’s is top notch. The pads show a perfect finish and the solder mask apertures have excellent tolerance.

So I want to really give OSH Park a thumbs up and recommend it for small prototyping batches as well as production PCBs. I think they are superior to the Chinese PCB makers in terms of quality and turnaround time. Pricing is very competitive (DirtyPCBs has a nice offer for prototype packs but is inferior in quality).

If you’re interested in how OSH Park does it, be sure to read this interview.

Anodizing Choices

By | LightSaga | No Comments

For our LightSaga project we recently met up with Mr. Baas from Aldor BV, a company dedicated to anodizing and chromating aluminum. It’s amazing how many options and choices there are when it comes to anodizing aluminum, both in pre processing the material, the color selection and the finish. But what does anodizing do in the first place? The process of aluminum anodizing adds a layer of oxidation to aluminum extrusion products. Unlike iron or carbon steel where oxidation creates a layer of corrosion or rust, the anodizing process actually enhances the properties of aluminum. The hard, oxidized layer becomes a part of the aluminum, creating numerous beneficial properties:

  • Durability: Since anodized aluminum extrusion products have a protective layer, they are more resistant to wear from normal handling and usage.
  • Finishing: The process creates a more aesthetically pleasing finish, with either a clear or colourized appearance.
  • Corrosion resistance: The thick outer coating produced, along with proper sealing, increases the corrosion resistivity of the surface as it prevents further oxidization.
  • Lasting Color: The color finish added to anodized aluminum is more enduring due to the surface obtaining more adhesive and porous qualities during the anodizing process. The resulting anodic film coating allows for effective dyeing processes to be applied.
  • Strength:  The anodized aluminum surface is harder than pure aluminum, second only to diamonds with respect to its hard crystalline structure.

Anodized aluminum can be nearly as hard as diamond under the right anodizing process. Many modern buildings use anodized aluminum in places where the metal framework is exposed to the elements. Anodized aluminum is also a popular material for making high-end cookware such as frying pans and pots. Heat is distributed evenly across anodized aluminum, and the process of anodizing provides a naturally protective finish. It is possible to use another electroplating process to make anodized aluminum look like copper or brass or other metals. Special dyes can also be used to color the anodized aluminum for decorative uses.

Because of its strength and durability, anodized aluminum is also used in a number of other applications. Many of the satellites circling the Earth are protected from space debris by layers of anodized aluminum. The automobile industry relies heavily on anodized aluminum for trims and protective housings for exposed parts. Furniture designers often use anodized aluminum as the framework for outdoor pieces as well as the base metal for lamps and other decorative items. Modern home appliances and computer systems may utilize anodized aluminum as protective housing.

Anodized aluminum may not be appropriate for all applications because of its non-conductive nature. Unlike other metals such as iron, the oxidation process doesn’t seem to weaken aluminum. The layer of ‘aluminum rust’ is still part of the original aluminum and will not transfer to food or easily flake off under stress. This makes it especially popular for food-service applications and industrial applications where durability is crucial. The anodizing process consists on a number of steps, all adjustable to create a very big difference in outcome and virtually endless possibilities to give a product an unique and distinctive feel:

  • Pre-Treatment: Cleaning is done in a non-etching, alkaline detergent heated to approximately 60 – 65 degrees celsius. This process removes accumulated contaminants and light oils (such as oils left by skin contact).
  • Rinsing: Multiple rinses, some using strictly de-ionized water, follow each process step.
  • Etching (Chemical Milling): Etching in caustic soda (sodium hydroxide) prepares the aluminum for anodizing by chemically removing a thin layer of aluminum. This alkaline bath gives the aluminum surface a matte appearance.
  • Desmutting: Rinsing in an acidic solution removes unwanted surface alloy constituent particles not removed by the etching process.
  • Anodizing: Aluminum is immersed in a tank containing an electrolyte having a 15% sulfuric acid concentration. Electric current is passed through the electrolyte and the aluminum is made the anode in this electrolytic cell; the tank is the cathode. Voltage applied across the anode and cathode causes negatively charged anions to migrate to the anode where the oxygen in the anions combines with the aluminum to form aluminum oxide (Al2O3).
  • Coloring: Anodic films are well suited to a variety of coloring methods including absorptive dyeing, both organic and inorganic dyestuffs, and electrolytic coloring.
  • Sealing: In all the anodizing process, the proper sealing of the porous oxide coating is absolutely essential to the satisfactory performance of the coating. The pores must be rendered nonabsorbent to provide maximum resistance to corrosion and stains. This is accomplished through a hydrothermal treatment in proprietary chemical baths or by capping the pores via the precipitation of metal salts in the pore openings.

Since out product is relatively low volume but big in size we needed a place that would be able to process our 700 x 700mm ring and Aldor has this ability and does not limit us to just bare or black aluminum but also adds the possibility of color to the process. Capturing the beauty of anodized aluminum in a picture is a very hard thing to do, so the pictures in the post don’t do justice to the feel and look of the real thing but they do give some indication.

2015-07-22 16.55.39

To our prototype customers we’ll be offering a choice between etched bare aluminum (It’s like an iPod but totally different), etched black aluminum (Matte black looks very nice and was the intended color for our original clock), etched blue aluminum (This color is a chameleon in terms of appearance with light making the color look different and exciting any time of the day) and glossy black aluminum (My pick for my own clock, it looked as black glass).

Limited number of prototype run LightSagas now for sale! I WANT ONE!