Final Project

Table of Contents

This page contains the ideation and development process of the final project throughout the Fab Academy as well as the final result including the bill of materials.

Following other Fab Academy instructors, a good final project is simple, has a very precise purpose and is beautifully designed. Another advice was to take something what you think is “too easy”, and do that properly. I also considered aspect of iterative development, that is I wanted to propose a project which can be very simple and working, but also can be extended to more advanced versions of itself when I would notice that there is more time. Another nice hint I read was that for the final project it is not important whether it is a novelty or not, but that it is created by yourself. Regarding what to make, I thought I really enjoy making music. My favourite genres included bass music and weird noises, so I wanted to do something with audio (yes, you listen to the linked tracks during reading). Considering all of the above points, I came up with the following ideas.

The final project must incorporate:

  • 2D and 3D design,
  • additive and subtractive fabrication processes,
  • electronics design and production,
  • embedded microcontroller interfacing and programming,
  • and system integration and packaging.

This page must contain:

  • Answers to the following questions
    • What does it do?
    • Who’s done what beforehand?
    • What did you design?
    • What sources did you use?
    • What materials and components were used?
    • Where did they come from?
    • How much did they cost?
    • What parts and systems were made?
    • What processes were used?
    • What questions were answered?
    • What worked? What didn’t?
    • How was it evaluated?
    • What are the implications?
  • A summary slide
  • A one-minute video showing its conception, construction, and operation

Alternative Ideas

Before I got to my final final project idea, I had some other ideas. Those are listed here.

Idea 1: Bass Synth / Soundboard & Sampler

A first idea was a bass synthesizer. The bare minimum would be to have it playing some simple soundwave (e.g. sawtooth) as it was the most minimum version. It would have one button for “play” and an infinity knob for adjusting frequency.

sketch of a simple bass synthesizer
Sketch of the bass synthesizer in its simplest version.
Possible advancements would include doing proper sound design and developing a unique characteristic sound for the synthesizer. This could be achieved by implementing a filter (likely a low pass, maybe with some quirky features, like an LFO automating its cutoff-frequency to get a wobble bass). Other advancements being considered would be adding MIDI input for basic frequency control instead of relying on just a knob and button. More controls for the synthesizer’s algorithm parameters could also be planned. The casing could be designed to resemble the sound the synthesizer makes, e.g. sharp edges if the sound sounds more squealy or more voluminous and bulbous if the sound happens more in the sub bass frequency area. The major learning outcome with this project would be how to implement a synthesizer in an embedded system.

Another idea was to create a soundboard where the sounds can be sampled from an integrated microphone. I had this idea, because my flatmate always says characteristic and funny catch phrases I would like to record and play back when needed. The minimum version would include a microphone, a jack for output, a push button for activating recording and one piezo for playing back the recorded sound. Possible advancements could include adding multiple sample slots, with one piezo for each sound, incorporating one LED per slot to indicate which slot is being played or recorded. An SD card could be used to store and import audio files. The sampler could be extended to have a looper function so that a sample can be played back automatically triggered by clock of user-defined tempo. As with the synthesizer, adding MIDI-compatibility could be considered. The major learning outcome would be how to safely record, store, and play back sound in real-time.

Prior audio projects as well as research about , I listed in week 4.

Idea 2: Living Bass Synthesizer

Sketching the synth more weirdly.

  • Developing the synth idea further: it could be a living thing. The synthesizers state could be modeled with a dynamical system that models changing emotions based on external influences. Based on the emotional state, the synthesizer could make different sound. Would need to think of a specific system. maybe a non-linear, oscillating one. could be fun.
    Phase portrait of the Van-der-Pol-Oscillator, a dynamical system.
  • Conditioning:
    • If i want the synthesizer to make a specific sound, I need to take time before a performance to e.g. cuddle it so it makes the desired sound for the event.
  • Appearance:
    • It needed to be large and bulbous. It needs to be designed so that it needs so much room that a performer has to design the placing of their setup around the synth. Reason: the synth is a living thing, it should be paid proper attention.
  • Sound:
  • Interfaces:
    • Ripcord with rotary encoder and spring for theremin-like interface.
    • Touch sensors for caressing the synthesizer
  • Enclosing
    • Silicon casing, bulbous
    • Something that breathes: in/deflating
    • wood: burn in lightning patterns when applying voltage
    • transparent pcb (with acryl)

Idea 3: Interactive Installations

  • show people that influencing, changing the environment is the true bliss, rather than just consuming whats around you.
  • Some previous projects concerning interactive art
    • reddit projekt: the button.
      • anwenden auf parties: qr-codes die man nur einmal scannen kann. dadurch muss
      • 50 cm filament
      • du entscheidest mit deinem filament, welcher druck fertiggestellt wird.
    • reddit projekt: r/place
    • kinetic sand table
      • plate where you scratch with a violin bow to form patterns
    • infrarotscheinwerfer + armbänder die aufleuchten (coldplay, beyonce whatever)
    • tücher unter decken
      • motoren, die seile spannen an denen die tücher hängen.
    • something with water and water drops that are falling
    • pappe mit schlitzen drin die man überlagert und dann bewegt und dann gibts lustige lichtinstallation

Idea 4: Wireless & Controllable Lights

Hanging lights. Dub stage at the e30v party 2024, Espoo, Finland.

  • addressable light
    Sketch of a hanging light, maybe inflatable.
  • other projects
    • mitch altman: trippy leds
  • enclosing
    • paper: you put paper around some 3d rack and make it hot
    • living/moving
    • inflates and deflates periodically
      • final project where somebody had a heart in their hand which pumped in the same frequency as someones heart.
    • hanging where it is lifted and lowered periodically
    • i consider using my project from week 7 to hang the lamp in the middle of it
  • interactivity
    • maybe adding IR LEDs so that the lamps themselves can speak with wristbands of people (the things you have at some pop concerts)
    • interfacing for people actively influencing how the lights behave
      • something where somebody walks past and that lignts up
      • theremin interface for light
      • some plate where you can step on and you control lamps with that.
  • variable lighting
    • RP2040 peripherals for controlling ws2812 leds
  • audio-reactivity
  • communication
    • artnet, rather osc
  • maybe develop kit to build osc lights to enable people to create lights themselves

Smaller Ideas

  • interactive light synthesizer

Final Idea: Bass Gauntlet

My final idea was to have an interface in form of gloves that include several sensors (accelerometers, vector magnetometer, etc.) to send control signals to a music or light component, e.g. via OSC or MIDI. People using that might be musicians, performers, or light operators.

Later I settled to have only one glove. I thought that would be sufficient for this project. That way, the operator would still have one hand free.
After a couple of weeks, I got a more detailed picture of which type of inputs I wanted. I thought of a gyroscope for detecting pitch and roll of the hand and pressure (plus maybe bend) sensors at some fingertips. That would enable the user to use finger drumming to send MIDI signals, thus playing music.
System Diagram. Maybe

Requirements

Syntax: (m) “minimum” (s) “should” (c) “could”

circuitry:

  • (m) attachable to the right hand (e.g. by attaching each PCB to a glove, which would be bought)
  • (m) MCU: ESP32S3
  • (s) multiple solid FR1 PCBs connected with braid wire (or ribbon).
    • possibly all components open (+ epoxi over it)
    • MCU on seperate pcb island. maybe at the wrist. needs a case to protect it -> 3d print that
  • (c) flexible PCB
    • made of printed TPU with pockets for tracing cables or copper putting
    • ordered from board house

Inputs:

  • (m) gyroscope (BNO085)
  • (s) pressure sensors at fingertips to detect “drums”
    • velostat
    • piezos in fingertips (at least in index, middle, ring). use as drum input.
  • (c) switch
    • conducting fabric at fingertips. can be used as switch when thumb and finger touches. for use to play melody or for configuration of glove.
  • (c) finger bend
    • velostat
    • alternative: rubber band connecting fingertip + wrist. has copper foil on inside of the ribbon + copper at inside of hand -> capacitive sensor using step response.
  • (c) acceleration + position of each single hand
  • (c) relative position of hands
    • additional glove with magnet + vector magnetometer on the one with the pcb

Outputs:

  • (m) 4 ws2812b leds attached to back of hand to indicate tilt of gyroscope
  • (s) 1 ws2812b led attached to index, middle, ring fingers to indicate drums
    • the leds are on separate pcbs and mounted to the glove using snaps as well as the main pcb
  • (s) vibration motor: vibrates with specific rotation of hand.
    • could be inside of some small 3d printed case at the inside of the hand to transfer the vibration correctly. the case could be wrapped in fabric for soft feel.
  • (c) oled led for… something
  • (c) optional direct audio ouput from on-board synthesizer

Networking:

  • (m) MIDI-USB interface for talking with computer
  • (s) wirless
    • espnow
  • (c) OSC mode: can be switched via switch. send osc messages to broadcast.

Enclosing (alternatives)

  • (m) open pcbs with a case for battery & MCU to fulfill requirements. attachable to a glove
  • (s) black, alien hand attachement consisting of multiple components connected with ribbon cables (which temselves are somehow enclosed). cuffs instead of gloves
    • fingertips (touch sensors)
      • fingertip caps containing sensors.
      • silicone
    • finger leds:
      • rings attached to finger led pcbs
    • back of hand pcb (alternatives)
      • silicone casing & attachable to cuffs with snaps
      • rubber band, threaded through a 3d-printed casing
        • casing can be slid-open to reveal pcb

Prior Work & Literature

Most relevant

Other cool stuff

Making the Thing

Tasks to be Completed

Legend: (o) - optional Molding & Casting Week

  • Input Devices
    • build pressure sensors for the finger tips
    • build bend sensors
  • Molding & Casting
    • fabricate enclosing for bend & pressure sensors

System Integration Week

  • Output Devices
    • fabricate PCB for vibration motor
    • (o) substitute with linear vibration motor
  • System Integration
    • integrate all sensors in a prototype, consisting only of the electronics & code
      • integrate BN085 gyroscope sensor with the ESP-IDF
    • Design & print enclosing
      • finger tips
      • rings
      • main pcb
      • integration with pcbs
      • somehow make it attachable to hand (snap fasteners or rubber bands)

Unscheduled & Optional

  • Add direct audio output & syntesizer unit

Input Devices

In week 9, I set up a gyroscope for reading pitch and roll of the glove.

What I did not do

  • piezos
  • IR led communication
  • step response for bend sensor.
  • distance sensors.
    • interfacing for people actively influencing how the lights behave
    • something where somebody walks past and that lignts up
    • theremin interface for light
    • some plate where you can step on and you control lamps with that.
  • step response sensors to build finger bend sensors
  • optional laser tof sensor to measure distance of palm from boden. only turned on if hand is waagerecht. then this can also be used as a control thing.
  • https://forums.adafruit.com/viewtopic.php?t=199693

Output Devices

In week 10, I designed a PCB for integrating WS2812B LEDs and set them up to indicate pitch and roll from the gyroscope. Furthermore, I researched on how to integrate a vibration motor in a circuit.

Schematic for integrating a DC motor.

Networking

In week 11, I set up the ESP32S3 to send MIDI signals to the laptop via USB-MIDI. Together with my fellow student Niclas, I set up two ESP32S3 boards to communicate with each other with the goal of having a wireless MIDI controller eventually.

What I did not do

  • open up osc stream to network via wifi

Computer-Aided Design

3D Printing

Molding & Casting

  • weekly
    • fingerkuppen for putting velostat sensor onto.
    • build touch sensors
  • optional
    • create something inflatable.
    • cast leds in epoxy or something to put them onto fabric

Interface & Application Programming

  • write some software that makes it possible to remotely talk with led strip. (osc, artnet)

System Integration

Snap Fastening

  • soldering snap buttons works
  • now create footprint for snap pins:
    • want to have direction (i.e. it woudl not be possible to attach diode in the wrong way) so i wanted to have 6mm snaps for one side and 7mm for the other one.
  • following this: https://www.pcbway.com/blog/PCB_Design_Tutorial/How_to_make_a_footprint_in_KiCad_.html
  • creating a new symbol (for schematics)
  • reference designator: j or p (bc we are plugging)
  • number of units per package: how many are in one pocket of the roll (relevant for toolchanger). 1. for me not relevant.
  • rest default
  • renamed to “…_male”
  • close editor. open footprint editor
  • new footprint
  • set name
  • create pad (the most important part)
  • the pad should be round of diameter of connector + via to connect to the other side.
  • choose largest via possible (easier to handle)
  • measure -> outer diameter of 1mm via -> 1.3mm
  • as hole choose 1.4mm

Wildcard

Applications & Implications

Personal Notes

possible inputs

  • oled display

other projects

outputs

  • pcb for vibration motor
    • voltage
    • cr2032/lir2032
    • batterien selbst bauen
    • halterung selbst designen + drucken
    • bestellen: ladegeräte

flexible pcbs

Quotes

(Jakob is beat boxing), Richard: “Look, you do not even need a glove to annoy people.”