Introduction: Jellyfish Sensory Stand - Assistive Tech Project

For our Assistive Tech Project in Physical Computing at Boston College, we created a jellyfish sensory stand for the BC Campus School! We were tasked with using electronics to create an assistive technology piece for the Campus School, so we decided to create a jellyfish sensory stand that incorporates many different textures, lights, and sounds for students to use.

Supplies

Electronics (mostly from Adafruit)

  • Adafruit Circuit Playground Bluefruit
  • Massive Arcade Button
  • Battery Pack
  • 20 LEDs with 4" pitch
  • amplifier (a speaker would be better)
  • Wires
  • Solder + soldering iron
  • Heat shrink tubing + heat gun
  • Electrical tape
  • 3 AAA batteries

Other

  • sewing machine + thread
  • black fabric
  • stuffing filler
  • ribbon, pom pom ribbon, sequin ribbon, tulle frill
  • sequin fabric
  • plywood
  • clear acrylic tube
  • table saw
  • sander
  • drill press
  • scissors
  • hot glue + hot glue gun
  • lots of hard work and determination

Step 1: Design

We had many conversations with the BC Campus School on the best way to design our sensory stand and took a lot of input from multiple people. Make sure your design fits the needs of your audience!

Step 2: Acquire Materials

It took us a long time to finalize all of our materials, as we bought items from many different sources. We bought from Amazon, Adafruit, and used fabric materials we had around for many parts of this project. Improvisation is always important for any good project :) We were lucky to have the Makerspace at Boston College available to use for all hardware materials, including wood cutting, drilling, sanding, and soldering. We were also thankful the BC SIMS lab gave us a clear acrylic tube to use for our project.

If we were to redo this project, we would buy a small hamburger speaker rather than an amplifier. The amplifier noise is very low volume even at is highest setting and not the best quality.

Step 3: Create the Base Stand and Jellyfish Structure

We cut a 15" x 15" board of 1" thick wood as the base, using a table saw. We also cut a circle out of the same wood with a 15" diameter for the top, cutting into a rough circle and sanding it down. Our clear acrylic tube was 4" wide and about 12" tall. We then drilled a ring into each piece of wood, in order to slide the acrylic tube into each piece of wood. A small 1" circle was drilled into the top wood circle as well to fit wires through the top of the acrylic tube. The acrylic tube also has a 1" hole to put the button and battery pack outside of the tube, while the rest of the electronics are inside the structure.

DO NOT GLUE or SOLDER yet.

Step 4: Assemble Electronics + Code

We recommend demoing your electronics with alligator clips first, before soldering permanent wires. You can see how we wired things in the picture attached. Also attached is our code - we used Circuit Python on our CPB board. We used some Adafruit libraries that included light animations (we used a Sparkle animation) and colors. We also programmed for our external button to use internal pull-up, so we had to check if the button value was false to see when it was pushed. The code checks to see if the button is pushed, if so, it sparkles the LED lights in purple and plays a random water sound. We got our free wav files from bigsoundbank.com and used Audacity software to format the wav files appropriately for the CPB. Make sure your wav files are small and short in length, ours were about ten seconds each. We used Mu IDE for editing our Circuit Python code.

Feel free to modify our code to your own specifications!

jellyfish-sensory-stand.py

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Show hidden characters
# jellyfish sensory stand
importtime, board, digitalio, neopixel, random
fromaudiocoreimportWaveFile
fromadafruit_led_animation.animation.sparkleimportSparkle
fromadafruit_led_animation.colorimportPURPLE
bigbutton=digitalio.DigitalInOut(board.A4) # Marked A3
bigbutton.direction=digitalio.Direction.INPUT
bigbutton.pull=digitalio.Pull.UP
numPixels=20
pixels=neopixel.NeoPixel(board.A1, numPixels, brightness=0.8, auto_write=True)
sparkle=Sparkle(pixels, speed=0.01, color=PURPLE, num_sparkles=10)
try:
fromaudioioimportAudioOut
exceptImportError:
try:
fromaudiopwmioimportPWMAudioOutasAudioOut
exceptImportError:
print("This board does not support AudioOut")
pass
#configure AudioOut & set path where sounds can be found
speaker=digitalio.DigitalInOut(board.SPEAKER_ENABLE)
speaker.direction=digitalio.Direction.OUTPUT
speaker.value=True
audio=AudioOut(board.SPEAKER)
path="jellyfish-sounds/"
defplay_sound(filename):
withopen(path+filename, "rb") aswave_file:
wave=WaveFile(wave_file)
audio.play(wave)
whileaudio.playing:
sparkle.animate()
sounds= ["seawaves.wav", "bubbles.wav", "stream.wav"]
whileTrue:
ifnotbigbutton.value:
print("big button")
randNum=random.randint(0,2)
play_sound(sounds[randNum])

Step 5: Soldering

We then soldered replacing our alligator clips with wires. We used a soldering iron, clips to hold wires in place, and solder to connect the wires permanently. MEASURE TWICE CUT ONCE. Or in our case, plan twice, solder once. We forgot to put the wires through the hole in the acrylic tube before soldering, so our external pieces such as the massive arcade button and battery pack could not be put through after soldering. We had to cut our wires and resolder after threading through the hole. We also used heat resistant tubing and electrical tape to cover the exposed soldered parts.

Step 6: Sewing and Gluing

We first made a mock-up with extra canvas fabric to create our design. We sewed seven triangles together (roughly 20cm long) of black fabric to form the top of the jellyfish. We also sewed pom-pom ribbons and glued sequin ribbon to the black fabric. The black fabric wraps around the wood circle part, with the lights coming up through the circle that we drilled earlier in Step 3. We put all the electronics in the clear acrylic tube, surrounded by sequin fabric. Once the electronics are threaded through the top wood circle, you can stuff the black fabric with stuffing to fill the jellyfish. Then we glued the fabric to the wood. Thus completes your jellyfish top! We glued the acrylic tube to the top wood circle. Make sure your electronics are situated and finalized before doing this step. It will be difficult to retrieve them and edit code or connections.

Finally, we glued more fabric and ribbon decorations to the jellyfish underneath the wood circle and the edges of the jellyfish.

Step 7: Add Finishing Touches and Demo!

Now you have a jellyfish sensory stand! When you press the button, the lights should sparkle, various water sounds should play, and the fabric is very tactile. We hope you enjoyed making this, we sure did!