This blogpost will run through the process of idea to product, with all the design considerations and engineering techniques used to make this effective, efficient and robust with a minimal price tag.
The idea started as a Christmas present for a friend, who liked the band 'Starset', their logo below.
To personalise the present, I found the font '[Nasalization Rg]', installed it into Photoshop, and played around until I was left with the image below.This was the basis of gift, and now I had to turn this drawing into a nightstand. I started by using a ruler to make some rough measurements of how large I wanted the box to be, and settled on 12cm tall, 20cm wide and 5cm thick. I scaled down the whole product later to 82.5% of this size for better light intensity.
I started by importing the above image into Onshape, and tracing out the shapes using the spline and line tools. This process took around 15 minutes due to the effective workflow of splines, with later adustements made to make sure all required lines were perfectly parallel or perpendicular to accentuate the robotic look of the logo
I then extruded this sketch for the below part, and then created a sketch with some 1cm diameter posts with 0.5cm holes through them to allow a standard M5 bolt (thread to valley thickness of 49mm) to screw into tightly. The model would be 3D printed with large layer lines, meaning that the screw holes would be self tapping (the threads would be formed when you screw in a bolt for the first time.)
I then modelled a backplate with 4 M5 accepting holes in them. In this iteration, the design of front was copied to the backplate, though this idea didn't make it to the final version for reasons that I will discuss later on. Although the design looks mirrored, the idea would be to flip the plate lengthwise before screwing it on, so that both the front and the back read the right way.
Unfortunately, my problems started when I realised that you cannot really find a USB to USB cable, and that the only connector I had was a female USB port. I do not know how I only realised this after soldering and making the connections but even after making a complicated series of chargers and adaptors to have a live USB male cable, the strip wouldn't turn on this way. I had to switch to another method of getting 5V, and the most appealing way was to use a female USB-C port, as this is the commonplace standard nowadays, and can easily support the tiny currents needed to keep this light strip on safely.
The rounded hole on the side is the USB-C input. The rectangular hole opposite it is the hole for the switch, with a notch cut out on top to allow the wires to the switch to just be pushed in. The other rounded rectangular hole, perpendicular to these is to feed the light strip through, with a similar hole being made in the back of the nightlight panel so that the strip can get wired power from the Arduino. After fiddling with the printer settings so that supports were minimal, I ended up with this part:
I then extruded this sketch for the below part, and then created a sketch with some 1cm diameter posts with 0.5cm holes through them to allow a standard M5 bolt (thread to valley thickness of 49mm) to screw into tightly. The model would be 3D printed with large layer lines, meaning that the screw holes would be self tapping (the threads would be formed when you screw in a bolt for the first time.)
I then modelled a backplate with 4 M5 accepting holes in them. In this iteration, the design of front was copied to the backplate, though this idea didn't make it to the final version for reasons that I will discuss later on. Although the design looks mirrored, the idea would be to flip the plate lengthwise before screwing it on, so that both the front and the back read the right way.
I had some LED light strip lying around that I intended to use for this project, with its major downside being its low LED density. All LED light strips are just strips of plastic with two, thin metal rails printed down them, with LEDs placed at even distances down the strip. A low density LED strip has lights placed far apart, while a high density strip has them close together. The issue with a low density LED strip is that in this use case, you tend to see bright spots and dark spots. In the first iteration, I used a sheet of baking paper as a diffuser, and got the following result:
There are 2 distinct problems here. There are clearly visible bright and dark spots on the nightlight itself, and the whole contraption is battery powered. The issue with battery power is simply its inconvenience, having to replace the batteries, however rarely, would mean that the light isn't left on all day as I intended it to, and is an extra burden on the recipient of the gift. This meant I had to make this USB powered, and luckily, the 3 AA batteries the lights are designed for run at 4.5V combined, while USB power lines are 5V, so it would be a plug and play installation, with the 0.5V extra just going towards slightly more heat in the system that wouldn't decrease the lifetime of the LEDs by any noticeable amount.
The above picture shows the current configuration. I had the LED strip bundled up in the box, with the brown line parallel to the front plate being a sheet of baking paper. The baking paper meant you couldn't see the light strip itself through the holes in the front, and diffused some of the light from the LED strips, though clearly not enough. The box was also a lot less bright than I anticipated, and I suspected that this was because roughly half the LEDs were facing away from the front display, with the light energy just being absorbed by the white PLA of the housing box.
This was the next design, trying to combat these issues. To try fix the lack of diffusion, I printed a thin PLA plate on the printer that would fit snugly into the box. This was pressed against the front so that the baking paper was sandwiched between the front panel and the PLA diffuser. I also added a layer of foil on the back, in grey, to reflect the light that would normally be lost through light from LEDs facing away from the front.
This iteration was much better in terms of the brightness of the device, meaning that the foil was working as intended. The PLA was not so successful though, with bright spots still being clearly visible, ruining the aesthetic of the nightlight as a whole. While playing around with the disassembled box, I discovered that if the LED was far away from the front, pressed up against the back, all the diffusion problems vanished, and there was an even glow from the front. I could also then print the PLA diffusers even thinner, as they would have less work to do, allowing the nightlight to be brighter. The issue was that I had no method of keeping the LED strip in the back of the box, so after unsuccessfully trying glue and tape, I settled on stuffing the empty section in the middle of the box with clingfilm. This also served to make internal reflections that helped soften the light further. This was the final design:
Reading from back to front:
Foil layer, to reflect light incident on the back face of the nightlight
Baking paper layer, to prevent foil shorting contacts on LED strip
PLA diffuser to spread light evenly
Clingfilm bundle for internal reflections and to keep LED away from front face
PLA diffuser to spread any 'hotspots' of light from clingfilm layer
Baking paper to prevent PLA diffuser from being visible
All these layers only reduced the brightness of the nightlight imperceptibly from the initial prototype, while having a greatly improved distribution of light that made the device a lot more pleasing to look at.
The next issue to address was the USB. I thought this would be as easy as using a USB breakout board I had lying around, although this quickly became my favourite aspect of this project. I started by dissecting the AA powered 4.5V power supply of the lights, resoldering the switch and wires from the power pack.
I then wired the board's VCC and ground up to the power lines of the LED strip, which I cut, strip and soldered on in series with a small resistor to negate the effects of upgrading from 4.5V to 5V.
Unfortunately, my problems started when I realised that you cannot really find a USB to USB cable, and that the only connector I had was a female USB port. I do not know how I only realised this after soldering and making the connections but even after making a complicated series of chargers and adaptors to have a live USB male cable, the strip wouldn't turn on this way. I had to switch to another method of getting 5V, and the most appealing way was to use a female USB-C port, as this is the commonplace standard nowadays, and can easily support the tiny currents needed to keep this light strip on safely.
I settled on using an old. broken Arduino. The chip itself had ceased to function, but when I checked with my multimeter, the voltage across the 5V and GND pins was still a solid 5.00V. I desoldered all the header pins of the Arduino to make its profile smaller, a designed a 3-peice holder for it:
The rounded hole on the side is the USB-C input. The rectangular hole opposite it is the hole for the switch, with a notch cut out on top to allow the wires to the switch to just be pushed in. The other rounded rectangular hole, perpendicular to these is to feed the light strip through, with a similar hole being made in the back of the nightlight panel so that the strip can get wired power from the Arduino. After fiddling with the printer settings so that supports were minimal, I ended up with this part:
The top case, shown in the above diagram as dark orange, was then hot glued on, completing the build:
Price conclusions:
Price conclusions:
PLA costs in filament : 70p
Arduino (new) : £1.90
LED strip: £2
Other (foil, baking paper, clingfilm): negligeble
Switch, wires: 10p
Total:
£4.70






















