Accessible Light-Up Cupcake Stand

by mullencn in Circuits > Assistive Tech

397 Views, 1 Favorites, 0 Comments

Accessible Light-Up Cupcake Stand

IMG_7314.JPG
Physical Computing Assistive Tech Project - Switch Accessible Cupcake Stand

For my Assistive Tech project for Physical Computing, I modified an LED cupcake stand to be switch-accessible using an Arduino Nano RP2040. The project is designed for the Campus School's Coffee Shop at BC. The LEDs are powered off of the Arduino, with 3.5mm jacks to connect to light-touch switches. One switch can be connected to toggle the lights on or off, while another two may be used to greet and thank customers with selectable prompts for different food options. Another 3.5mm jack, located on the other side of the box, can connect to a mono speaker for audio out. Read along to see how to build one yourself!

Supplies

Necessary Supplies:

1/8" Baltic Birch Plywood

LED Cupcake Stand

4x female 3.5mm jacks

Wire

Arduino Nano RP2040

Adafruit Perma-Proto board

Micro USB cable

Hamburger Speaker

Electrical Tape

Slider Potentiometer


Important Note - if you are using the version of the Arduino with headers, you will need to either solder female pin connectors to wires later, or solder your board directly to the Perma-Proto board to make the necessary connections. If using a board without headers, you will need to solder directly to the pins on the board.


Tools Required:

Laser Cutter

Hot Glue Gun

Soldering Iron

Wire Cutter + Stripper

Assemble the Cupcake Stand

IMG_7304.JPG

First, open the cupcake stand and assemble according to the provided instructions. Necessary tools and an instruction pamphlet should be provided in the box. You may choose to string the LEDs through the cupcake stand now, or wait until later to do so once everything has been soldered together. Regardless of this choice, it is a good idea now to try powering the LEDs by installing three AA batteries into the battery compartment. This way, you are able to make sure the LEDs are working properly before cutting their connection to the battery and connecting them to the Arduino. Once you have verified that these are in working order, you may now cut off the led strip from the battery box, cutting the wire below the integrated resistors. If possible, follow the wires from the positive end of the battery pack to determine which wire is positive. Since these lights are LEDs, current will only flow one way and will not damage the LEDs if installed reversed, but it may be difficult to de-solder and reconnect the LEDs in the opposite orientation later.

Prepare Necessary Materials

Before assembling the rest of the project, we must get our materials ready to put together. Use a Laser Cutter to cut the three supplied box files out of 1/8" Baltic Birch Plywood. Feel free to combine elements into one file before cutting. The finished box should have an outer dimension of 106mm x 106mm x 106mm, and an inner dimension of 100mm x 100mm x 100mm. Make sure to check your scale before cutting.

Next, you will need to cut the necessary lengths of wire. To connect each of the 3.5mm jacks, you will need to prepare a total of 8 segments of wire. I recommend making half of these in one color, to represent ground *I used black), and half in a different color, to represent signal (I used yellow). With these segments cut, you will also need one additional section to connect the ground rail on the Perma-Proto to the Arduino, one section to connect the potentiometer to the ground rail, and two segments to connect 5v and signal from the potentiometer to the Arduino. Remember, if you are not soldering to your Arduino, your connections to it must end in female pin connectors - same goes for the potentiometer!

Install Components Into Box Cutouts

IMG_7307.JPG
IMG_7308.JPG

Before soldering, we should install any components into cutouts along the boxes in order to make sure they are in the right location. First, install 3.5mm jacks to the panel with three holes. To do this, first insert a jack into each hole, then screw the nut onto the jack from the back side. These will be for switch inputs After installing these three, locate the panel with one similar-sized hole located towards the center-top of the panel. Repeat the process to install the fourth 3.5mm jack, which will be for audio output. Next, we can install the sliding potentiometer. Locate the panel with the large rectangular hole and install the potentiometer into it with hot glue. Finally, locate the panel with a small circular hole, and run the wires to power the LED strip through the hole.

Soldering

IMG_7306.JPG
571-01.jpg
pinout.png

With the components installed, we may now solder to them. First, we may solder to the 3.5mm jacks. We will attach the ground wires to these first. To do so, solder a segment of ground wire to each jack, soldering to the pin labeled "4" (this is the "sleeve" of the connector). Once these are in place, you may solder a segment of signal wire to each jack, soldering to the pin labeled "1" (the "tip" of the connector). With these all soldered, we may now connect all of the ground wires to the perma-proto board. Take out this board and locate the negative rail. Solder the ground wires from each of the 3.5mm jacks, in addition to the ground wire from the LED strip and a wire running to pin 3 on the potentiometer (if you are using a pin wire to connect to the potentiometer, make sure your wire terminates accordingly, or if you are soldering to it, solder this wire to the pin as well). With all of these wired, we can solder another wire to this rail to connect to the Arduino. If using a pin connector, solder one end to the rail, and leave the other end of the wire with the pin connector attached to connect to the Arduino. If soldering, either solder the wire to the board directly, or solder a jumper wire to the Arduino on the perma-proto, depending on the method used. It is strongly recommended to cover any solder connections with electrical tape to insulate them.

With all of the ground wires soldered, we may now connect to the rest of the pins on the Arduino. We will cover which pins to attach to, although the method used may differ depending on the method of connecting to the Arduino. As a reminder, if using pin connectors, simply terminate each of the following connections in a female pin connector and connect. If soldering the Arduino to the perma-proto, solder to the appropriate lane on the board. If soldering to the Arduino itself, solder to the pins directly on the board.

Attach the Ground rail of the perma-proto to one of the GND pins on the Arduino. Next, attach the positive end of the LED string lights to pin D2. Then, connect the signal wires from the rightmost, middle, and leftmost switch input 3.5mm jacks to pins D10, D9, and D8, respectively. After this, wire pin 1 of the potentiometer to the 5V pin on the Arduino, and pin 2 to pin A1 on the Arduino. Finally, wire the signal wire for the audio out 3.5mm jack to pin D3 on the Arduino.

Programming

With the wires connected, we can finally install our program. Download the supplied code and load it onto the Arduino from your computer using Mu. Before running your code, create a "sounds" folder on your Arduino, and place the three downloaded .wav files into this folder.

This program primarily works by waiting for switch inputs. The rightmost switch toggles on and off the LED lights. Installing and clicking a switch once will turn it from off to on and vice versa, rather than staying on when the switch is held. There is a small delay after the light is toggled on to prevent turning it off by holding the button down too long. The leftmost switch will greet the customer and announce what the current food selection is. Users may select one of two options at any given time to announce what the selection is for that day; these selections may be made by sliding the potentiometer to one side or the other, which will change the current food option value. This is then checked when announcing the voice line. Lastly, the middle switch simply thanks the customer for their order. These voice files are currently names as "Thank You", "Food Option 1", and "Food Option 2", and stored as .wav files, created in Audacity. These files may be changed for other audio files with changes to the code and storing the files in the "sounds" folder, although be sure to store the files as .wav, as other file types will not work without further modification to the code. For best results and compatibility, create the .wav files in Audacity.

To monitor for any errors, I recommend testing out the code in Mu with the serial monitor open before installing the project elsewhere, in order to monitor for any issues.

Assemble the Box

IMG_7305.JPG
IMG_7312.JPG

With all the connections made and tested, we can now assemble the box. We may start by gluing the two sides of the box with 3.5mm jacks to opposite sides of the base. With these attached, orient the box so that the side with three 3.5mm jacks is facing towards you. Glue the side with the potentiometer attached to the left side of the box. Then, glue the side with the LED wires running through to the right side of the box. Your box should now be fully assembled, with an opening at the top. At this point, it is a good idea to mount the Arduino and perma-proto, if desired, in addition to running the Micro-USB cable through the smaller cutout on the panel with the potentiometer attached. With this done if desired, you may then glue the smaller of the two plain wooden squares to the center of the larger square, to form the lid. Once this has dried, test the fit with the box, and if desired, attach the speaker to the top of the lid. With this, construction of the project is complete.

Test the Project

Physical Computing Assistive Tech Project - Switch Accessible Cupcake Stand
IMG_7315.JPG
IMG_7316.JPG

The project should now be complete! Be sure to test it out, and refer to the steps above for any troubleshooting. Good luck with your project!