The light rods that represent the candles are made from a 2 part epoxy resin mix.
These are made from 22 mm diameter poly pipe of 30cm lengths, requiring approximately, 100ml of resin per pipe.
In order to enable the Light Rod to be supported in the candle holder and at the same time allow the Neopixel to be mounted at the end of the rod to enable light to be efficiently coupled, an adapter was required.
This was 3D printed.
The candle holder is essentially made up of 2 cylinders a 2cm x 1cm candle socket and a wider cylinder 3cm x 1.2cm wax catcher that sits above it.
Using BlocksCad I created these required elements to the measurements previously obtained.
The candle socket element would require a recess for the Neopixel and a way for the wire to be routed.
The wax catcher element would require a hole aligned to the element below it and a recess for the wire, which also serves to make up the slack in the socket for the light rod.
Having created the elements these were then imported into Cura.
At this stage 4 pairs for a total of 8 elements were required.
As the Candelabra has a golden finish I used Gold Silk PLA filament.
Printer settings for 4 pairs of adapters.
Layer quality - 0.15mm
Wall thickness - 1mm
Infill - Density; 50%,
Build Adhesion - Brim
Weight - 37g
Filament length - 12.4m
Print Time - 4 hour 30 mins
Having created the Light Rod Adapters these now require assembly including the Neopixel.
Looking at the pad configuration for the Neopixel it was evident that the two 5V pads were connected in series and likewise the two 0V pads too, in order that that these could be connected in a continuous series chain.
However, to simplify the connections in the adapter, I would connect these as a spur off the main trunk.
This would mean that only 4 wires would be required per Neopixel rather than 6 wires.
With wires attached a 90 degree bend was formed and the wire pushed through the hole to exit the bottom this was then bent back up by 180 degrees inline with the recess.
The wires were then fed through hole in the wax catcher element, bent 90 degrees across the top in the recess and then bent 90 degree down the side..
The 2 elements are now united, a dab of glue will hold the two elements together.
Taking a piece of stripboard measuring 3 holes wide by 7 holes long a length of right angled pin header strip consisting of 3 pins, is inserted and soldered in each end.
At hole co-ordinate 2,6 cut the copper track, either using a track cutter or 3.5mm drill bit.
Having approximately 7cm of wire bend a right angle 1cm from the end of each and remove the enamel to enable the ends to be soldered in to the stripboard.
Ensure consistency of wiring and placement of the wires in the holes to prevent errors.
With this wiring configuration the outer pins at both ends serve as 5V and 0V and the centre pins as Data in and Data out.
The 4 completed Adapter assemblies are then connected together with 7.5 cm, 26 gauge 3 strip ribbon cable with crimp sockets on both ends..
It also makes it easy to add or remove adapters as needed.
Interfacing and control would be via a Microbit microcontroller.
Its low cost, small footprint and Neopixel libraries already exist.
As only 4 Neopixels will be used and they will operate at 3V3, a voltage that is available directly from the Microbit there is no requirement for a separate supply.
Therefore, only 3 lines are required 3V3, 0V and a Data line.
A couple of other components are recommended a 470R resistor in series with the data line and a 1000uF supply smoothing capacitor.
The Microbit has 2 buttons which will be made use of in this project to control which lighting effects are selected.
Buttons A and B will be used individually and together.
Button A - Forward stepping through the effects list.
Button B - Reverse stepping through the effects list.
Buttons A + B - Return to start of list and disable the Neopixels.
Due to the limited capability on the default display it was decided to simply show letters of the alphabet to indicate the display pattern selected, giving 26 pattern effects from A to Z to choose from.
While the project will work perfectly well with one Microbit for local manual control.
The local Microbit in conjunction with a second Microbit will enable remote control using BLE.
The code included is configured to work standalone or via remote control without modification.
Adding remote control simply requires adding a second Microbit and the associated code.
The remote controller uses exactly the same button controls as the local controller and displays the pattern letter.
However, the pattern letter displayed on the remote controller is only a reflection of that transmitter by the local controller, simplifying the remote controller as it does not have to keep track of any data.