Introduction: Pooh Bear & Friends Night Light
The following night light was created using a surface mounted ATTiny85. It has two buttons, one to switch it on and off and one to pause it at a selected lighting sequence. The pause is not a true pause but rather simply breaks the connection to the LED strips data pin, therefore preventing any futher changes from being registered.
- Self-locking buttons (x2)
- 470Ω resistor (final PCB uses SMD)
- ATTiny85 (SMD)
- WS2811 LED Strip (5 lights)
- 100nF capacitor (final PCB uses SMD)
- 10uF capacitor
- USB-C female socket
- M3x10 Flat head screwsM3x10 Flat head screws
- 10mm Acrylic
- Connecting wire (three different colours)
- 3D Printer
- Laser Cutter
- Soldering Iron
- Glue Gun
- EasyEDA - PCB design and manufacture
Step 1: Printing the Holder and Base
To edit the model in FreeCAD, download "HolderV4.1.FCStd.txt" to "HolderV4.1.FCStd".
The disc model was placed overlapping the corners of the Bottom and Top models so as to prevent the models from lifting in the corners while they printed.
In order to get very clean finish inside, I used triangle supports with a support density of 50%. This worked very well but a chizzle was needed to help remove the supports afterwards. Supports where not set to everywhere but only to those touching the base; this was done so that the USB hole stayed clean.
Once printed, sissors where used to removed the disc corners.
Step 2: The Circuit
Using an Arduino as an ISP, together with a DIP8 programmer adapter, the NightLight.ino code was uploaded to the ATTiny85. The actual process of doing this is covered in more detail here.
My initial design did not use a SMD resistor and was missing the 10nF capacitor which I then had to attach to the back of my old board as a hack. As such it will look different to the one attached to this instructable.
Step 3: Pooh Bear & Friends
If you wish to make any changes to the drawing, you can do so using Inkscape.
Cut, etch and engrave the above SVG on a piece of 10mm acrylic, using a laser cutter.
The design was edited/created following similar steps found in my "Simple Trophies" instructable.
Step 4: Putting It All Together
- Except for the LED strip, USB socket and buttons, solder the components onto the PCB.
- Solder approxiately 5cm lengths of wire to the button terminals and then onto the PCB. Do the same of the USB socket.
- Solder 5cm connecitng leads onto the LED connectors, on the PCB. Do not attach to the LED strip just yet.
- Insert the buttons and USB socket in place and secure with a liberal amount of glue from the glue gun. You may need to use a small file to clean out the USB socket hole.
- Cut a lenght of LED strip so that it has five lights.
- Peel off the sticky back of the LED strip and stick it down in place (as shown in the last photo), threading the terminating end through the slot into the base.
- Solder connecting leads to the LED strip.
- Put the base on the holder and screw in place using the M3x10 screws.
Step 5: Conclusion
Over all I am happy with the result.
Once again I learnt the importance of having to consider how the electronics are mounted into a project and how it then will all be put together. Because I initially just focused on the outward appearence I landed up printing one or two prototypes that were simply too hard or to fiddly to put together.
In hindsite, the following would be some changes that I would make:
- Place the USB plug on the opposite side to the buttons. In my opinion it makes more senseto have the buttons on the front and the power at the back (rather than having them all at the back).
- If the pause button is engaged then the light will not switch on again if powered off i.e. the pause needs to be off when switching the light one. It would be bettter to change the schematic and coding so that the pause in controlled by a GPIO pin. In this way it would be reset everytime the light is switched off.
Finally, once again, a shoutout to the Unleash Space (University of Auckland) and their great and friendly team for creating the opportunity that allowed me to start down the makerspace path.