A few years back I was inspired to design a lamp that could be controlled the same way as old telephones were. Similar to the way the picture below shows. I did not want another light that needed an app, or WiFi or Bluetooth, I wanted something that was intuitive to use and independent.

eckhard-hoehmann-NKKvASHfrG4-unsplash.jpg

So I set out and began to design a lamp (for the first time ever), and because this was more of an exploration than it was a product design exercise I took my sweet sweet detours and tried things out.

All design files can be found as one nice archive on my website johnengeln.com.

Some of my prototypes

  • utilising wireless charging technology to make a light that is wireless, and very inefficient and very warm.
  • using Pogo pings to achieve a similar effect to the wireless charging tech but less cumbersome and less expensive.
  • CNC machining the base of the lamp from Aluminium (expensive).
  • Utilising mould making to make resin casts for the body of the lamp, which turns out is very interesting but also a lot of effort.
IMG_1135.jpg

At the end of it all, I settled for a 3D printed housing and diffuser. The appeal hear was immediately to over complicate the design by using a multi material part, but this resulted in unreliable outcomes.

IMG_1128_v1.jpg

The final result is a three part design, a diffuser, a base that houses the PCB and a TPU ring to make it stick to a table, all of which can be printed on a single material printer.

Purchase

Should you want to save yourself the effort of building this lamp from scratch, I sell a few on:

The PCB

After some iterations I settled on a PCB design that utilises SK6812 LEDs (similar to NeoPixels). The PCB is manufactured by JLCPCB in China and I chose the components with this in mind, making the manufacturing process so much easier.

The entire project is build around an Atmel ATmega328P-A, a micro controller that can be found in a run of the mil Arduino. This makes it easy to use, cheap to acquire and simple to program.

IMG_1147.jpg

Assembly Instructions

PCB

The heart is the PCB and just to keep it simple, it is completely outsourced to JLCPCB including component placement. If you want to get your own board you can use the ready made JLCPCB files (the minimum order quantity is 5).

Housing

All files are provided as FreeCad file and each separately as STL. Feel free to modify them and change them. Especially the diffuser has a wide range of different designs. All can be printed on any single material printer.

What I used:

  • Transparent Prusament PETG for the diffuser
  • Coloured Prusament PETG for the base
  • Prusament TPU for the rubber ring

The base has a cavity for a large steel washer to give the lamp some heft and not slide around too much. In your slicer, select the last layer before the printer begins to cover over the cavity and ass a pause. When the pause is reached insert the washer.

signal-2026-05-30-153257_003.jpeg

Washersize (metric):

  • outer diameter 60 mm
  • inner diameter 22 mm
  • height 3.50 mm

FirmwareInstallation

The installation is straight forward. You need an Arduino Uno or similar and connect it the same way it is shown in the connection diagram.

WiringDiagram_Lightcomposer1.0.png

1. Connect the Arduino to your PC and use the Arduino IDE to find the exampel sketch called ArduinoISP. Select it and upload it to the Arduino Uno.

vlcsnap-2026-06-01-12h56m21s130.png

2. Now in the tools section change the programmer to Arduino as ISP.

vlcsnap-2026-06-01-12h56m59s932.png

3. Now you can connect the PCB of the Lightcomposer and once everything is properly connected select in the tools section the button: Burn Bootloader.

vlcsnap-2026-06-01-12h57m15s234.png

The upload begins and the status LED on the PCB should be flashing. If an error occurs double check the wiring.

4. The last step is to open the Lightcomposer firmware sketch and upload it to the PCB. But instead of using the regular upload button use: Sketch -> Upload using programmer.

vlcsnap-2026-06-01-12h57m52s003.png

That should be it. Happy trying and making your own lamp.

AND NOW THIS

compose.gif

fade.gif

IMG_1057-01_v4.jpg

IMG_1057-01.jpg