Nesting Hive Lights

by Random_Canadian in Circuits > LEDs

3114 Views, 36 Favorites, 0 Comments

Nesting Hive Lights

DSCN1045 (2).JPG
DSCN1046.JPG
DSCN1099.JPG
DSCN1097 (2).JPG
DSCN1092.JPG
DSCN1090.JPG
36Diamond.JPG
DSCN1048.JPG
DSCN1049.JPG
DSCN1050.JPG
DSCN1051.JPG
DSCN1052.JPG
DSCN1054.JPG
DSCN1055.JPG

I wanted to create an interactive light display that would allow the individual to draw light pictures in a pixel like fashion. Having grown up with the Lite-Brite I used this as an idea starting point.

The larger size of the lights meant that the physical size of the overall design got to be quite cumbersome, so broke the lights down into individual modules…

I call these Hive Lights. You can greate your own by following these instructions.

Each module features a microcontroller and a LED module that is user adjustable to output a one of 4 colours in the RGBW spectrum.

This style of LED is best viewed in lower level ambient lights, more on this later.

The colour is changed by rotating the light bezel on the top of the module.

The modules have 6 power points which allow it to be connected to additional modules.

One module is changed slightly to allow direct power brick attachments I estimated that only 1 power module is needed to power 24 modules.

This is an early proof of concept version of the finished project.

I have included the .STL files if you wish to create your own, just beware that the cost goes up drastically the more complex the pattern you wish to create.

The Parts

DSCN0850.JPG
Assem1.JPG
Assem1a.JPG
BodyShellCutoutBase.JPG
SquareGearBezel.JPG
OriginalShellBase.JPG
SquareKnob.JPG
OriginalLightCone.JPG
OriginalHexThin.JPG
Assem1c.JPG

I utilized a 3d printer to create the parts needed, my plastic of choice is ABS. All the print files are included here.

Print the 7 unique parts (one piece requires 6 copies) needed for each module. The original shell is not quite the first original. It went through 4 design changes before I came to this one which is quite usable and robust. Inside the module is space for 6 magnets as well as drive gears for the light changing mechanism. The gears have a cover that secures into tracks for proper operation.

There is 2 versions of the ShellBase. One is complete which I found looked cleaner but was an absolute nightmare to fit the contacts into. I split the contact pads in half and created two distinct patterns that made the contact installation much easier but I did sacrifice some of the aesthetic appeal.

The LED window is an opaque square of plastic 22mm square, very easy to cut with a razor knife so that is why the square shape. This is held in place by an outer bezel that acts as a knob to turn the lights from off through all of the colour schemes programmed into the microcontroller.

I used the Arduino neopixel library and simple colour change code for the RGBW LEDs that I acquired from Amazon. The code is in step 6.

Attraction

DSCN0970.JPG
DSCN0969.JPG
DSCN0880.JPG
DSCN0881.JPG
DSCN0883.JPG
DSCN0885.JPG
DSCN0886.JPG
DSCN0888.JPG
DSCN0889.JPG
DSCN0890.JPG
DSCN0891.JPG
DSCN0892.JPG
DSCN0894.JPG
DSCN0893.JPG

I built a simple tool to help with this process it is the yellow part shown under the inverted module here. Beginning at the top ring magnets are place into the slots in an alternating polarity manner. These are then glued in place.

The module body is placed as shown with the POT gear cutout near the loop on the tool. This will insure that all the modules have the same magnet orientation. this is very important in order to prevent a short circuit.

For the module body, place magnets (12mm x 2mm) in an alternating polarity into the 6 magnet pockets around the perimeter of the outer shell.

The magnets are 12mm X 2mm available online through numerous vendors. In total there are 7 magnets required for each module.

The magnet template print file is attached

Downloads

Module Assembly

DSCN0872.JPG
DSCN0875.JPG
DSCN0873.JPG
DSCN0874.JPG
DSCN0879.JPG
DSCN0877.JPG
DSCN0878.JPG
DSCN0895.JPG
DSCN0896.JPG
DSCN0897.JPG
DSCN0898.JPG
DSCN0899.JPG
DSCN0900.JPG
DSCN0901.JPG
DSCN0902.JPG
DSCN0903.JPG
DSCN0904.JPG
DSCN0911.JPG
DSCN0912.JPG
DSCN0915.JPG

Place the potentiometer gear into the small gear track then place the square gear cone part into the larger gear track, with the long part going through the outer shell from the inside.

The potentiometer selected is a mechanically limited 1 turn type. This is attached to the gear cover with adhesive. It is important to have the shaft of the tiny drive gear mate with the potentiometer, the pot limits will prevent the over turning of the light bezel.

Yes this turned out to be not so robust and has been addressed in subsequent builds.

Place the gear cover part with the track side towards the lens opening and secure it with adhesive, Hot glue will work but it is not ideal for long term use.

Position the opaque lens into the square opening at the top of the drive gear piece. Then press the outer bezel in place. I designed these parts to be an interference fit and it will be quite difficult to remove if not positioned correctly.

Finally I used heat set screw inserts to hold the shell base on.

Contact

DSCN0861.JPG
DSCN0857.JPG
DSCN0858.JPG
DSCN0869.JPG
DSCN0905.JPG
DSCN0906.JPG
DSCN0907.JPG
DSCN0964.JPG
DSCN0966.JPG
DSCN0968.JPG
DSCN0908.JPG
DSCN0909.JPG
DSCN0910.JPG

I used spring contacts from DigiKey for the electrical connections between modules.

The bottom shell cover needs to have contacts inserted. This is done with the flat top ones in the hollow and the pointy spring ones on the peaks. Each module has 6 of each contacts. There is only provision for power and ground for each module.

To wire these up you will need to connect the adjacent pads to one another between the pad spaces it is wired peak to valley. Beginning at one of the contact pairs that does not have a screw hole between them, going clockwise, make the first valley ground and the first peak power. Connect this peak to the next contact pad valley, continue connecting peak to valley around until you complete the 6 pads. From here pick the first set of contact wire jumpers and connect it to power then the next set to ground and so on, that way there is alternating power and ground connections. Now all 6 contact points are powered and grounded. Adjacent pads have the reverse polarity.

By wiring all the pads the same (positive bridging the screw holes in the base) for each module and if the magnets were installed correctly, the combination of pad design and repulsion, it will be near impossible to force any 2 modules to maintain short circuit scenario. Future revisions have internal fuses.

The tips of the contact pads were held in place with ABS adhesive.

There is an additional magnet in the base of the shell for attachment to metal surfaces.

Power Module

DSCN0987.JPG
DSCN0986.JPG
DSCN0980.JPG
DSCN0982.JPG
DSCN0983.JPG
DSCN0984.JPG
DSCN0988.JPG

One module has been altered and acts as a power input point. It is meant to be powered by a standard 5V wall wart.

A barrel plug was inserted as a replacement of one of the contact point sets.

The was done by cutting off one of the contact pads and trimming one side of the plug.

It is soldered in series with the other pads on the module.

Controller Overview

DSCN0994 (2).JPG
DSCN0918.JPG
DSCN0922.JPG
DSCN0924.JPG
DSCN0929.JPG
DSCN0931.JPG
DSCN0932.JPG
DSCN0989.JPG
DSCN0990.JPG
DSCN0991.JPG
DSCN0992.JPG

I used LED modules from Amazon

The code is a little chunky but it works, I have included it here.

These were connected in a 3 module series. The connections had to be soldered using the Arduino NeoPixel format. The row was glued to the bezel gear cover.

I chose to make each module have a brain since the logistics of having serially connected lights and random analog interfaces communicate to a central mind in an expected manner was well the scope of the conceptual design presented here.

In smaller quantities the Arduino Nano type controller seemed like a good choice since it had the built in peripherals that I needed for this task.

The solder connections are Potentiometer power and module power to the 5V port on the Nano. The grounds are connected to the GND port on the Nano. The potentiometer wiper goes to A0 port and the LED data line goes through a 300 ohm resistor to D2 on the Nano. The power contacts were wired red to Vin and white to GND

The basic operation was checked , The potentiometer is turned, a corresponding light activates.

The lights are kind of anemic in this version as I chose to use RGBW modules, subsequent versions uses daylight readable LEDs. The light driving is from the Arduino NEO pixel program catalogue. The potentiometer is read in through the analog input pins and translated to a colour map in the program. This is then output to the serial LED module.

Downloads

Going Beyond

DSCN1125.JPG
DSCN1126.JPG
DSCN1127.JPG
DSCN1095 (2).JPG
DSCN1104.JPG
DSCN1105 (2).JPG
DSCN1109 (2).JPG
DSCN1107 (2).JPG
DSCN1132.JPG
DSCN1084.JPG
DSCN0997.JPG

The key to these lights is quantity. The more linked modules, the better the display.

Since these lights are expensive to produce in small quantities, I am initiating a crowdfunding campaign to have these produced on large scale.

The light have been completely redesigned for production.

While the primary mode of operation is direct manipulation, these now have additional central communication for remote access and control to override the local operation

additional features are as follows:

The physical internal structure has been fully updated with Custom circuit boards featuring dedicated microcontrollers, daylight readable lights. Additional features that include unique digital serial numbers, configurable modules, more colours.

Please check out my website for updates and links...