Tap Lamp With Bluetooth

by Minjan in Circuits > Microcontrollers

16 Views, 0 Favorites, 0 Comments

Tap Lamp With Bluetooth

20250326_122155.jpg

Hello everyone, in my Physical computing class we were tasked with making interactive art and for my project I made a touch sensitive lamp with built in Bluetooth capabilities! The lamp is simplified to only have one button to press but has endless possibilities. The original inspiration for this lamp was that the lava lamp in my dorm died and we were in need of some ambient light to provide a nice cozy atmosphere to our room. I connect the lamp to a wall socket with a micro-usb or I connect it to a portable charger, allowing you to be unbound from the wall socket and bring it around wherever you go. The bluetooth capabilities of the lamp turn on and off with the tap of the metal plate to conserve battery.


Below is a YouTube link to me introducing the project briefly.

https://youtu.be/kByWlULjOBs

Supplies

CircuitPlayground Bluefruit (CPB): The brains behind the whole lamp. On this board you can upload python code that will transform how it behaves

Neopixel strands: These lights are connected to the CPB and are controlled with the code inside it

Bottle: Any frosted bottle will do, in this case I am using a bottle of Chopin that most would be able to find in their local liquor store. If you do not have any frosted glass bottles, getting a glass bottle and a frosting spray from amazon would do the trick!

Beads: I put beads inside the bottle to diffuse the light and make it less harsh on the eyes when it comes out. Any clear bead would do, just make sure that it can fit through the mouth of the bottle.

https://www.amazon.com/Beadery-Faceted-Bead-Crystal-900-Piece/dp/B005MAVWS2/ref=sr_1_3?crid=3K7SWAG6MROWU&dib=eyJ2IjoiMSJ9.p--9JesbI8EcF1KOvq7Y5W9l1ORLxWuLaMVW4jR6u2OSDE7yPTXRAOdNKOhzthdhnMawMB83fkYmbtbM0v7XHuUc6jem6d-WYba5kM5ZVE31R2MhSoqCckPQMWQNGRtr6z9nUtpH28TMGd3BcYMOXrb2-9p-s5X7OjQsAMMve1kYE1rTWs2b8ntRnufrhDlkhOTAWgIvyn0WsoT0SN2eo9NjcykTj-g10YdtYYVhBIPKamkXpGxrX5NaBqt-kPAD0FaOU57ze40gMSeReunH38WdMqH6eTRT3qGv-fLu0aiPfG5QbOu8OK-XO0rTuCxUWZYWRVzoM6PqWsEre5N_nhAz2bfXZUdFXuQxdZEeb6AooY4VhNgi3IssjNRFyA6RNn-rzbUwV8UmwoK6x8Wqo3Da4sFirhEfazmZMuDIU1r1DWRKWG2m1b1hG7RwM0xh.GL357dSuFMoDr8b3YW0t93bay__vOL8TqBK3HgbgzgQ&dib_tag=se&keywords=small+acrylic+beads+clear&qid=1742767073&sprefix=small+acrylic+beads+clea%2Caps%2C185&sr=8-3

Laser cut wood panels: These were used for the lampshades and I engraved a dripping picture on them as decoration

Laser cut acrylic panels: These were used on the bottom of the lampshade and let the user see into the lamp as part of the aesthetic and allows for the built in NeoPixels of the CircuitPlayground Bluefruit to shine through, .ai files will be included

Capacitive touch string: Capacitive touch string connects to one of the capacitive touch pads of the CPB and connects to the metal plate acting as a conduit that people can interact with.

Metal plate: I used a metal plate that I found lying around, basically anything that can convey capacitance can be used, even aluminum foil, but this metal plate has to be connected to the CPB through the capacitive touch string

Glue: I used a mixture of hot glue and super glue throughout the project to put it all together.

Code Our CPB

20250327_005345.jpg

I apologize beforehand because as I was transferring the mid progress images to my computer they got corrupted and lost, but I shall try my best to describe everything in words. and by pointing them out in my pictures

First and foremost, we have to make sure that the code on our board works. The code attached in this step worked for my board and has the Neopixel strand connected to A1, GND and VOUT 3.3V appropriately. The capacitive touch strand is tied to the touchpad on A5. You can test out the tap to turn on and off, hold to change brightness up and down, double tap to change to a breathing animation, and triple tap to turn on bluetooth capabilities. Using the Bluefruit Connect app available on both the Google play store and the apple store, you can connect to "Minjanboard" (you can change this name in the code) and fiddle with the colors in the controller section.

Downloads

Cut Out Raw Shapes

20250327_005456.jpg
20250327_005445.jpg

From here on out we just have building, cutting the lamp shades in any thickness wood, and cutting all the acrylic out of clear acrylic to build the lampshades, the base of the lampshade, and a compartment to hold our CPB.

Fill Bottle With Beads and NeoPixel Strands

20250327_005400.jpg

In order to evenly disperse the lights, we use clear beads that both diffuse lights and evenly space them out so that they aren't all concentrated in the bottom. As you feed the light strand into the bottle, drop in beads every so often to hold it in place and space it out. I used about 900 beads for this bottle. Once you are done, drill a hole into the cap of the bottle and feed the light strand wire through it to prevent beads from spilling out if you were to turn the lamp upside down.

Glue Base Components

20250327_005356.jpg

Glue the base of the lampshade onto the bottle and insert your CPB into the slot Micro-USB side down. Glue the housing component in and make sure there is nothing touching the capacitive touch wire. This is the base of the lamp finished.

Glue Lampshade Components

20250327_005337.jpg

Glue the lampshade panels together with hot glue, and at the top make sure to feed the capacitive wire tied to your CPB through the top to touch the metal plate that will reside at the top of your lamp. Make sure not to use too much glue for the metal plate or else it might interfere with the touch sensor. After testing that the metal plate can detect touch, glue the lampshade carefully onto the bottle and the base of the lampshade.

Voila

20250326_121553.jpg

Congratulations, you have built your own bluetooth controllable bar lamp! The nifty thing about this is that you can change the code by connecting the CPB that is jutting out of the base of the lampshade if you want. This lamp is highly customizable with just the bluetooth alone but with CircuitPython the possibilities are endless.