Final project

A drinking glass with a built-in LED display for visualizing cocktail recipes. The user picks a recipe from the application, and the LEDs shows how much liquid should be poured.

Cast a glass

  1. Design a four-piece positive mold with notches for LEDs and place for board and battery at the bottom.
  2. Machine mold on ShopBot
  3. Clear & foodsafe casting resin: looks like there's no such thing. I'll use clear, non-foodsafe resin for now. Another option is to use vacuum forming, but this might be hazardous for the electronics.
  4. Stuff the glass with electronics.
  5. Initial model: leave hole to connect to PC.

Electronics

  1. Pick a microcontroller: ATMega168 has enough pins, also the ATTiny2313.
  2. Design a charlieplexed bi-color LED matrix (this is harder than I expected! Still working on it). I can simplify matters (i.e., reduce number of pins and traces) by having each pin combination control two LEDs instead of just one. Need to check brightness though.
  3. The circuit consists of a milled part (with the microcontroller, communication headers, etc.) and vinyl cut traces with the LEDs and resistors.
  4. Use bi-color LEDs (already asked Arch shop managers to order).
  5. Map height to volume, as the glass circumference changes with height. Can achieve this by calculating the volume of a conic frustum (i.e., subtract volumes of two cones). Or assume a cylinder for the first prototype...
  6. Number of LEDs to use: a pint glass is ~135mm tall. I'll use 15 rows of bi-color LEDs. lowest five rows have 5 LEDs each, mid five - 6 each, high five - 7 LEDs each, for a total of 5x5+5x6+5x7 = 90 LEDs total. For the first prototype, I'll start with just a couple of LEDs in each row!.
  7. Power source: charlieplexing should make it possible to power the matrix using lower voltage than I have originally predicted. A 9V battery should be enough.
  8. Mill, cut, and stuff!

Functionality

  1. Basic: typing an amount of liquid calculates height and lights LEDs up to proper row. Support multiple layers using alternating colors.
  2. Advanced: (1) predefined recipes (2) drink pacer: LEDs are turned off to desired level.

Interface

  1. Python interface.

Communications

  1. First prototype to feature a wired connection. Might go wireless later.
  2. Neil suggested using inductance communication with a base, which will communicate with the PC.

Cast a glass

  1. Design a four-piece positive mold with notches for LEDs and place for board and battery at the bottom.
  2. Machine mold
  3. Foodsafe mold material -- check Blick.
  4. Clear and foodsafe casting resin -- -- check Blick.
  5. Stuff the glass with electronics
  6. Initial model: leave hole to connect to PC

Electronics

  1. Each row should have two colors (red and green), each connected in parallel with its own resistor.
  2. Number of LEDs: a pint glass is ~135mm tall. An LED is ~3mm high but I’ll use 5mm increments, thus 27 rows of each color for a total of 54 rows. Each row has 5 (low nine), 6 (mid nine), or 7 (high nine) LEDs, thus: 5x9+6x9+7x9=18x9=162 LEDs of each color. For first prototype, start with just a couple of LEDs in each row.
  3. Calculate power source: 2.2V drop per green, 2V per red, up to 15.4V a row. ~10mA per LEDs, 540mA over all rows (with max brightness?). Serially connect two 9V batteries.
  4. Calculate resistors: TBD.
  5. Design the circuit: X row (circles) each consisting of Y LEDs and a resistor.

Functionality

  1. Basic: typing an amount of liquid calculates height and lights LEDs up to proper row. Support multiple layers using two alternating colors.
  2. Advanced: (1) predefined recipes (2) drink pacer: LEDs are turned off to level.

Interface

  1. Mobile App?

Communications

  1. Wireless?

My project relies heavily on communications as well as interface and embedded programming, less on fabrication.

Idea

Glass with LEDs that light to indicate desired level of liquid. Used to visualize recipes (fill liquid X up to this level and liquid Y to this level) and pace drinking (to encourage users to hydrate themselves, of course!).

  1. Support multiple layers (=different liquids in same glass).
  2. Information is transmitted from a dedicated app.
  3. Extra credit: add a sensor to allow comparison of actual/desired state.

Device

  1. Ideally, the glass would be 3D printed with the LEDs and wiring already embedded in it. Need to find out if this is possible with fab lab equipment. Such a glass would be difficult to wash though.
  2. A simpler alternative is to create a LED-embedded koozie that wraps around an existing glass.

Controller

  1. Ideally, the device would be wirelessly controlled using a smartphone.
  2. Simpler alternative: use a USB.

Circuits and LED bulbs

  1. Design and print a flexible circuit (using vinyl cutter) to which the LEDs, resistors, and battery are connected.
  2. Catch up on electronics design.
  3. Calculate resistor value for chosen configuration.
  4. Some LED info here.
  5. Color LEDs available on Amazon at $6/25pcs.

Sensor

  1. Some information from Omega. I need a non-contact ultrasonic sensor.