Joe Wilkins | Software Engineer

Chameleon Box



I wanted to prototype a concept whereby someone could change the colour of the light in a room to match the colour of a physical object. I had this idea after seeing some of the interesting ways in which the manufacturers of smart light bulbs have attempted to encourage users to try out different coloured lighting configurations. Some of them suggest predefined themes or modes which take influence from the way that the colour of light changes in nature. Other options include sampling from other external influences like sound and music, or extracting colour data from visual references like favourite images.


I developed a working prototype of this concept, though on a smaller scale, in the form of an alcove box in which the lighting inside would match the colour of any object placed within it.

I made the prototype using foam board so that I could create a consistenly white box in which a object could be placed, the box could then be slotted into an existing alcove in the 9 Yards office.

On top of the box, I mounted a Raspberry Pi, Arduino and on the underside, a NeoPixel LED ring and a Raspberry Pi camera, all of which were connected together. The colour matching process ran as follows; a reference image was taken of an empty box, after this, when placing a new object inside the box within the alcove, a picture would be taken by the camera mounted above, which would be compared against the reference image of the empty box. The object was then extracted from the background of the image and then the average colour of the object was taken and applied to the lighting within the box.

I go into more detail about this project in this blog post:, which explains more about some of the processes and techniques involved.

← Back