Introduction: Icecream Animated Multicolor Lamp - No Contact!

The software is meant to be easy to update & understand, by default there are 4 modes:

(default on startup): white light, by keeping your finger (or anything else) in front of the sensor you can change the brightness

still color: single color displayed, which can be changed by letting your finger in front of the sensor

rainbow: color wheel which turns more or less fast, configurable letting your finger in front of the sensor

color cycle: colors changing at the speed you configured by letting your finger in front of the sensor

You can switch modes by "tapping" in front of the sensor. You can compare those actions to a click and a long press... click = change mode, long press = change setting (luminosity, color, or speed, depending on the current mode).

Read instructions & download code from the GitHub page!

https://github.com/fdev31/RGB-lamp/

https://platformio.org/ is needed to build the software easily. Alternatively you can use Arduino IDE.


You will need to print the two plastic parts, I recommend whitish for the top part.

Here are the electronic parts I used:

LED ring:

https://fr.aliexpress.com/item/Aihasd-WEMOS-X-ring...

Controller:

https://fr.aliexpress.com/item/EYEWINK-D1-mini-Min...

Sensor:

https://fr.aliexpress.com/item/GY-9960-3-3-APDS-99...

In case of demand I'll write better instructions. Things to update: make the hole for the sensor a bit more taller, at 0.2mm layer height it printed fine but at 0.1 it's not really fitting.

About electronics, I'm quite a beginner and couldn't solve one problem, I have to make the sensor very sensitive to get any signal if I plug the LCD ring to the controller. Happily it works fine for the usage.

Step 1: Connect LCD Ring

Directly solder 3 wires to

GND

5V

And TXD pins.

Alternatively, depending on the jumpers position, you can connect to pins on the other side of the board.

Step 2: Connect All the Other Pins

The only two "tricky" PINS are:

- the I2C pin for the sensor

- the INT pin for the sensor

- and eventually the "1 wire" pin for the LED

After choosing & testing the pins on your controller, just solder it directly.

The pins chosen for my hardware & default values found in the code are documented in the github page.

I used some connectors which is great for testing but removing them afterwards is a pain so I had to keep it, losing a lot of "volume" in the final assembly.

Step 3: Assembly!

Put electronics in the printed base, the sensor should go on the taller hole and shouldn't move.

Plug some micro USB cable to the micro-controller, make sure the cable is using the hole on the other side.

Place the 2nd printed part so it's held tight (print larger if needed), make sure you make it all way down.

Step 4: Flash the Firmware

After un-compressing the zip file or cloning the source repository, install platformio, plug the USB cable of the lamp to your computer and type:

"make up"

Enjoy !!