Grupo Naidy – L3

Names: Yaared Al-Mehairi, Kuni Nagakura, Avneesh Sarwate, Joe Turchiano, John Subosits

Group Number: 1


For our creatively moving robot, we decided to build a roomba like bot made out of plastic bottle parts. Our CrackRoomba is driven by a DC Motor which is attached to the end of a punctured bottle cap. The rotor of the DC Motor is positioned underneath the bottle cap and is held in place by electrical tape. While the CrackRoomba in action exhibits creative patterns of motion, at the same time, it serves as a surface polisher. Our main inspiration for the CrackRoomba came from an earlier idea to use a Servo to simulate inch-worm motion. We thought it would be cool to create a robot that could crawl forward using joint motions. However, precise joint motions seemed rather difficult to perfect, and as a result we chose to adapt the traditional roomba with more erratic motion and attach it to a bottle to simulate an edging forward motion. We were certainly pleased with the results of the DC Motored bottle cap. The DC Motor drove the bottle cap rather well and moved extremely smoothly over the table surface, thus acting as an effective looking surface polisher. Although the DC Motor drove the bottle cap well and the whole system edged forward consistently, we would have liked to see more movement of the large bottle. While simply using a smaller bottle could be one improvement, allowing more precise movement of the motorized bottle cap so as to allow the CrackRoomba not only to simply nudge but also to pull the bottle in a steady direction would be something to work on in future iterations. At the moment, the limited motion of the large bottle restricts the area that the motorized bottle cap can polish due to the irregularity of the motorized bottle cap’s movement.

Brainstorming Ideas:

  1. Wobblebot – Weeble-wobble bot that uses eccentric weight to roll (DC motor)
  2. Helibot – Helicopter bot that uses Servo to aim and DC motor to jump in a given direction
  3. Wheelchairbot – Wheelchair bot propelled by DC motor
  4. Breakbot – Breakdancing bot that can do the “windmill”
  5. Trackbot – Drive wheels/tracks with DC motor
  6. Legbot – Construct bot legs out of wheel parts and drive with DC motor
  7. Wormbot – Use Servo to simulate inch-worm motion
  8. Airbot – Controllable airship that uses servo to aim DC motor driving propeller
  9. Clumsybot – Robot that falls over in a desired direction then picks itself up and repeats
  10. Dragbot – Use DC motor as winch to drag bot back to “home base”
  11. Sledbot – Use DC motor to drive fuel pump for engine of rocket sled bot
  12. Trolleybot – A trolley that uses a pulley, a DC motor, and a guiding wire to move
  13. Rollbot – A robot that does a “pencil roll” using a DC motor
  14. Boatbot – A boat with a Servo controlled rudder and DC motored propellor
  15. Cranebot – “Arm and wheel” model where DC motor is mounted on Servo and from computer you can lift and drop Servo to let DC motor touch ground or not
  16. CrackRoomba – Use DC motor to drive roomba made out of plastic bottle parts

We chose to prototype idea #16 – a roomba type bot that polishes floors and moves.

Design Sketches:

2013-03-31 20.13.17

CrackRoomba sketch (bottle cap, DC Motor, large bottle, Arduino, circuitry)

2013-03-31 20.13.25

CrackRoomba polishes floor and edges forward

2013-03-31 20.13.30

CrackRoomba pushes against bottle, nudging it ahead

System in Action:

Polishing Surface

Edging Forward

Polishing Suface and Edging Forward!

Parts List:

  1. Arduino
  2. DC Motor
  3. Bottle Cap
  4. Large Bottle
  5. Electrical Tape
  6. 1N4001 Diode
  7. PN2222 Transistor
  8. 220 Ohm Resistor
  9. Breadboard
  10. Jumper Wires
  11. Alligator Clips


  1. Poke a hole in the center of the bottle cap
  2. Put the rotor of the DC Motor through the bottle cap
  3. Apply some electrical tape onto the rotor to put it in place
  4. Attach alligator clips to the motor’s wires and tape the aligator clip wires to the large bottle
  5. Put the DC Motor vertically onto the table with the bottle cap on the table surface
  6. Assemble the circuitry to operate the motor according to the attached diagram

Circuit diagram

Source Code:

Names: Kuni, Yaared, Avneesh, Joe, John
Group 1, Grupo Naidy
COS 436 Lab 3
CrackRoomba code

int motorPin = 3;

void setup() 
  pinMode(motorPin, OUTPUT);
  while (! Serial);
  Serial.println("Speed 0 to 255");

void loop() 
  if (Serial.available())
    int speed = Serial.parseInt();
    if (speed >= 1 && speed <= 255)
      analogWrite(motorPin, speed);


L1 – SoundBox

Group #1

  • Avneesh Sarwate (asarwate@)
  • John Subosits (subosits@)
  • Joe Turchiano (jturchia@)
  • Kuni Nagakura (nagakura@)
  • Yaared Al-Mehairi (kyal@)

Ideas and Sketches

  1. Squat Coach – Detects the depth of your squats and assesses your form.

    Flex sensor is positioned to run up the back of knee joint

    Flex sensor is positioned to run up the back of knee joint

  2. Etch-A-Sketch – Arduino version of Etch-A-Sketch game.

    Users control stylus with 2 rotational potentiometers

    Users control stylus with 2 rotational potentiometers

  3.  Adaptive Lighting – LED changes brightness depending on lighting of room.

    Photo cells connected to LED vary brightness of light emission based on surrounding light

    Photo cells connected to LED vary brightness of light emission based on surrounding light

  4. SoundBox – Musical instrument with a simple interface for intuitive interaction and immediate results.

    Users can control amplitude with FSR (force sensing resistor) and pitch with slider

    Users can control amplitude with FSR (force sensing resistor) and pitch with slider

We decided to choose idea #4. While we liked our other ideas, we felt creating a SoundBox would be the most feasible and rewarding endeavor.

Project Description

We built a musical instrument, called the “SoundBox”. The “SoundBox” allows users to create notes by applying pressure to a force sensing resistor. The amount of pressure applied determines the volume of the note and users can control the pitch of each note they create with a SoftPot Membrane Potentiometer (slider). When users create notes, a python program reads the incoming signals from the USB port (which the Arduino is speaking to). Our python program then feeds these signals to ChucK, an audio programming language, which then creates the sounds you hear. We are definitely pleased with the result of our project. The intuitive and simple nature of the “SoundBox” interface allows any user to create a variety of sounds and patterns. Thus, in giving the gift of music (albeit limited) to users, we feel that our project is successful. One thing we could certainly improve is the limited functionality of our “SoundBox”. For example, we could add a switch to the Arduino which would enable users to toggle through ChucK instruments (as of now the default instrument is the mandolin). Furthermore, we could add multiple sliders to enable users to play multiple notes at once. What’s more, we could speak to any MIDI receiving Audio Software, such as Ableton Live or Logic (which have extensive sound libraries), to fashion sounds out of user input. As such, there is definitely a lot of room for improvement in our design, which would seriously enhance the functionality of the “SoundBox”.




Loves music but can't play any instruments

I love music but I can’t play any instruments

This instrument is really easy to play!

This instrument is really easy to play!

'Making music'

‘Making music’

Wow, that was so easy!

Wow, that was so easy!

Photos and Video

SoundBox interface closeup

SoundBox interface closeup

SoundBox interface connections

SoundBox interface connections

Arduino setup

Arduino setup

Breadboard setup

Breadboard setup

Arduino and breadboard

Arduino and breadboard

Whole system

Whole system

Movie on 2013-02-26 at 21.36


The FSR was quite effective at picking up varying pressures and gave a
pretty convincing and natural feeling “pluck” that was sensitive to
tap intensity. The Softspot was adequate, but would sometimes behave a
bit unpredictably. We weren’t sure whether this was because of
hardware issues or simply our own clumsiness with a controller that
required very precise motions. Regardless, it was very intuitive to
use. Next time, we would have possibly added some kind of visualizer
to see what note you are at on the Softspot, or maybe added the
functionality to “bend” notes by sliding on the Softspot after
pressing the FSR to “pluck” a note.

List of Parts

  1. Arduino
  2. Breadboard
  3. Force Sensing Resistor
  4. Soft
  5. 10 kΩ Resistor
  6. Wires
  7. Alligator Wires
  8. Cardboard Box (to mount resistance)
  9. Electrical Tape


"SoundBox" Circuit Diagram

“SoundBox” Circuit Diagram


  1. Place sensors on cardboard box at comfortable distance and clip the alligator clips onto the ends. Use electrical tape to hold down the wires to the box. 
  2. Connect SoftPot Potentiometer to 5V port on one end and ground on the other. Input goes to Port A0 on the Arduino. (follow pictures and circuit diagram)
  3. Connect Force Sensing Resistor in series with 10kΩ resistor. Input to Port A2 on the Arduino. (follow pictures and circuit diagram)



#include <MIDI.h>

/* FSR simple testing sketch.

Connect one end of FSR to power, the other end to Analog 0.

Then connect one end of a 10K resistor from Analog 0 to ground

For more information see */
int sliderPin = 0; // the FSR and 10K pulldown are connected to a0
int fsrPin = 2;

int sliderReading; // the analog reading from the FSR resistor divider
int fsrReading;
int pitch;
int velo;

void setup(void) {
// We’ll send debugging information via the Serial monitor

boolean touched = false;

void loop(void) {

sliderReading = analogRead(sliderPin);
fsrReading = analogRead(fsrPin);
pitch= map(sliderReading, 0, 1023, 0, 20);
velo = map(fsrReading, 0, 1023, 0, 127);
// the raw analog reading

if(velo > 5 && !touched) {
//Serial.print(“FSR reading = “);
Serial.print(” “);
touched = true;
if(velo <= 5) touched = false;
// if ( {
// // Send a Note (pitch 42, velo 127 on channel 1)
// Serial.println(“YO!”);
// delay(1000); // Wait for a second
// MIDI.sendNoteOff(42,0,4); // Stop the note
// }


import serial
import OSC
import time

ser = serial.Serial(‘/dev/tty.usbmodemfa141’, 9600)

client = OSC.OSCClient()
client.connect( (‘’, 6449) )
vel = OSC.OSCMessage()
pitch = OSC.OSCMessage()

while 1:
line = ser.readline()
# line = “50 13″
# print line
if ” ” in line:
print line
vel.append(int(line.split(” “)[0]))
pitch.append(int(line.split(” “)[1]))
# time.sleep(1)

// create our OSC receiver
OscRecv recv;
// use port 6449
6449 => recv.port;
// start listening (launch thread)
// create an address in the receiver, store in new variable
recv.event(“vel, i”) @=> OscEvent vel;
recv.event(“pitch, i”) @=> OscEvent pitch;

Mandolin m => dac;

[0, 2, 4, 5, 7, 9, 11] @=> int scale[];

40 => int root;
3 => int octaves;
int pitches[octaves * scale.size()];
for(0 => int i; i < octaves; i++) {
for(0 => int k; k < scale.size(); k++) {
root + i*12 + scale[k] => pitches[i * scale.size() + k];

while(true) {
vel => now;
vel.getInt() => int v;
pitch => now;
pitch.getInt() => int p;
<<<v, pitches[p]>>>;
v / 128.0 => float v2;
p + 60 => int p2;
Std.mtof(pitches[p]) => m.freq;
v2 => m.noteOn;



Yaared Al-Mehairi – Assignment 2


  • kyal@


I conducted my observations during the 10 minutes before COS 333 (11:00 – 12:20pm) on Tuesday February 19th, PHI 322 (1:30 – 2:50pm) on Thursday February 21st, and COS 340 (3:00 – 4:20pm) on Monday February 25th. I arrived early to these classes on said days and noted the behavior of my fellow students and professors. In the process, I was able to interview a number of students.

General Activities

  • Students talking amongst themselves
  • Professor playing classical music and taking pictures (B.W.K.)
  • Students checking and responding to email
  • Professors trying to set up equipment/distribute materials for lecture
  • Students getting out notebooks and pens for lecture
  • Students sleeping
  • Students staring into space (i.e. relaxing)
  • Students listening to music
  • Students texting/making phone calls
  • Students doing/reviewing homework
  • Students surfing the web (on laptops and phones)
  • Students shopping online (mostly female students)
  • Students and professors reading (academic/non-academic materials)
  • Students drinking coffee/eating snacks
  • Students eating meals (mostly graduate students)
  • Students charging phones/laptops
  • Students checking dining hall/eating club menus
  • Students playing games (on laptops and phones)

Subject Interviews

  • Student 1 arrived early to COS 333. When I asked Student 1 what he/she did during 10 minutes before class, he/she indicated, “Not much apart from checking emails and surfing the internet.”
  • Student 2 arrived late to PHI 322. When I asked Student 2 (after lecture) what he/she did during 10 minutes before class, he/she indicated, “Nothing, usually it is hard to utilize the 10 minutes before 1:30 class because it is lunch time, there is much dining hall/eating club traffic and it takes some time to get from dining halls/eating clubs to class buildings.”
  • I passed Student 3 (whom I know is in COS 340) on the way to COS 340. Student 3 was a smoking a cigarette outside the lecture building. When I asked Student 3 what he/she did during 10 minutes before class, he/she indicated, “I usually require the 10 minutes to get to my next class, but sometimes I smoke a cigarette on the way.”


From these observations, it is evident that people like to spend the 10 minutes before lecture in one of three ways: socializing, entertaining themselves, or working (in some fashion). Therefore, my design should look to cater to those who are looking to socialize, those who are simply bored, and those who are trying to be productive. Furthermore, my design should improve their lives by enhancing such kinds of activities.

Brainstorm Ideas (collaborated with Kuni Nagakura and McLean Shaw)

  1. “Tracktor” – An app that integrates with your music library and chooses a customizable playlist, whose duration is less than or equal to a specified length of time (perfect for your walk to/wait for class).
  2. “CourseView” – An app that integrates with ICE and offers students high-level summaries of past lectures/materials and upcoming course deadlines.
  3. “PitStop” – An app that finds food/drink (e.g. coffee shops, fast-food restaurants, vending machines) on your way to class based on tank status, which is user specified.
  4. “The Outside Initiative” – A proposal to introduce more outdoor social spaces on campus. A greater number of benches and trash cans outside (of which there are very few) on campus, for example, would allow more opportunity for socializing outside the classroom (something that is pretty tough to do in the school week).
  5. “Flag-A-Friend” – An app that integrates with ICE and your contacts so that users can let their friends know when and where they get out of class, thus enabling you to run into your friends even when swamped with class.
  6. “Docket” – An interactive device with both multiple sockets and screen interfaces that serves as both a charging dock for mobile devices (e.g. cell phones, laptops) and an info center for campus activities and schedules (e.g. dining hall/eating club menus, facility closing times, conference times, social events, student performances and so on).
  7. “BrownSound” – An app that generates brown noise (deep ambient rumble) that serves as a sleeping aid for those looking to catch some shut-eye before class.
  8. “Achilles” – An app that finds the most efficient routes from source to destination on campus including routes through buildings taking into account any congestion.
  9. “LunchBag” – An app that allows you to order meals-to-go from dining halls/Frist food gallery/eating clubs for pickup at a user specified time for students in a rush.
  10. “CampusLife” – An app that serves an info center for campus activities and schedules (e.g. dining hall/eating club menus, facility closing times, conference times, social events, student performances and so on).
  11. “ResourceFinder” – An app that finds the nearest restrooms, printers, scanners, computer clusters, convenient stores, coffee shops, vending machines, prox scanners (for updating prox privileges) and so on.
  12. “PrincetonTrivia” – A gaming app that quizes users on Princeton trivia.
  13. “PresenterFace” – An intuitive presentation interface for lecturers and preceptors that allows hassle-free pre-lecture/precept setup.
  14. “GymTime” – An app that offers 5-10 minute simple workouts that can be done in any environment.
  15. “CourseQuiz” – An app that integrates with ICE and offers multiple choice quiz questions on course material.

Favorite Ideas

My favorite ideas were “LunchBag” and “CampusLife” (#9 and #10 respectively).  I chose “LunchBag” because I think, based on my observations not only for this assignment, but also in general, a to-go food service at dining halls and eating clubs would greatly benefit students. Due to large queues and limited time, it is hard for a lot of students to get meals and to class on time. Students shouldn’t have to make this choice (especially when the majority of meal plans are paid upfront). I chose “CampusLife” because I think such an app would both serve as an extremely useful centralized resource for students and faculty alike and help to instill a greater sense of community on campus, since if people are aware of what’s going on, people are more likely to get together. Furthermore, both these apps can benefit from the student prox/netid system, thus making them rather simple to implement.



LunchBag homepage

LunchBag homepage

LB - DHalls

Dining halls page

LB - Eating Clubs

Eating clubs page

LB - Frist

Frist food gallery page

Butler menu page

Butler menu page


LB - Terrace

Terrace menu page (check box to select)

LB - Mexican

Mexican menu page

LB - Order

Order page (where user specifies pick up time)


CL - HomepageToStudent

CampusLife homepage (integrates with LunchBag)

CL - Culture

Culture page (daily/weekly student articles)

CL - Facilities

Facilities page (daily hours of operation)

CL - News

News page (University news)

CL - StreetPage

The street page (what’s open tonight + passes required)

CL - Student

Student performance page (on this week)

CL - Tigers

Tigers page (sports events on this week)


I completed user testing with 3 different people.

LunchBag Photos

LB - HomepageToFrist

Home to Frist food gallery

LB - FristToMexican

Frist to Mexican menu

LB - MexicanToHome

Mexican menu to home

LB - HomeToEatingClubs

Home to Eating clubs


Eating clubs to Terrace

Eating clubs to Terrace menu

LB - TerraceToOrder

Terrace menu to Order

LB - OrderTest

Specify pick up time and submit order


CampusLife Photos

Home to The street

Home to The street

The street page

The street page

CL - StreetToHome

The street to home

Home to Student performances

Home to Student performances

Student performances page (on this week)

Student performances page

Users who tested “LunchBag” and “CampusLife” found the interfaces extremely simple and very easy to use. One user at first was unsure of how to go back a page on “CampusLife”, but shortly after discovered the “home” button (prototype is one level deep). Users in general remarked that they thought both apps would be extremely useful. Specifically, users indicated that “LunchBag” would be of great help to students in a rush and were confident that students would use it. In addition, users indicated that “CampusLife” could be the kind of fluid centralized service for campus activities and news in general that students are really looking for. Users also like the idea that “CampusLife” could integrate with “LunchBag”. One improvement suggested with regards to “CampusLife” was to allow users to purchase/reserve tickets for student performances and sports events. What’s more, generally users indicated that they would prefer more visually pleasing interfaces.


From the user testing, it is evident that clear layout and simple symbolization is key to the intuitiveness of a design, and therefore its accessibility. In general, users commented that both apps were successful because of their ease of use. Neither idea was particularly innovative, yet the ease of use coupled with clear organization of information seems to be of great value to the user.

Given the suggestion to allow users to purchase/reserve tickets for student performances and sports events through “CampusLife” (which I think is most definitely a good one), another point to take away from the user testing is to always remember who you are designing for. In my Brainstorm Ideas, I envisioned “CampusLife” being a kind of campus info center and as a result unknowingly narrowed the scope of the app’s functionality from an app that could provide users information and ways to use that information to an app that simply could provide users information. In any revision of “CampusLife, I would certainly add ticket purchase/reserve functionality for student performances and sports events.

Lastly, the user testing illuminated that even when using paper prototypes the aesthetics of an interface should not be completely ignored. People in general like to use things that are easy to use but also things that look nice. While, of course, when in the paper prototype stage, functionality is a designer’s primary concern, aesthetics is always a concern for the user.



Grupo Naidy – P1 Brainstorming


  • Avneesh Sarwate (asarwate@)
  • John Subosits (subosits@)
  • Joe Turchiano (jturchia@)
  • Kuni Nagakura (nagakura@)
  • Yaared Al-Mehairi (kyal@)

Brainstorming List

  1. Spare Prox/Key Shooter (SPK) – SPK shoots a spare prox or key under your door when triggered by an iPhone.
  2. hiLight – A highlighter that reads text that you highlight and stores it on your computer.
  3. Snoozy – An alarm clock that uses motion sensors for snoozing capabilities (helps you control an alarm clock that is out of reach).
  4. MotherClocker – An alarm clock that senses if you’re levels of motion (e.g. stirring or dead silent) and adjusts volume accordingly.
  5. myBar – An interactive bar counter that lights up when you want a drink and visually notifies the bartender (kind of like in airplanes).
  6. hiRoom – A system that tracks motion and heat in rooms and keeps track of the availability of rooms.
  7. HandBoard – A new type of extended keyboard that makes full use of gesture control.
  8. AbsolutelyRotten! – An alarm that detects rotten food in your fridge.
  9. MatchFit – A color sensing camera app that detects if your clothes match or not.
  10. HowToDressWell – An application that learns your fashion tastes and sensibilities.
  11. GComp – An immersive gesture control computer.
  12. GTV – An immersive gesture control TV.
  13. Grillo – A streamlined, interactive grill ordering system for Terrace/Tower that also tells you what orders have finished being prepared.
  14. PencilMouse – Pencil shaped mouse that you can use on your screen.
  15. HotDamn! – Heat sensor that notifies when you’re overheating or sweating in formalwear.
  16. mobPage – Pager for smartphone that notifies if a special person is trying to contact you (sketch below).

    Pager for mobile when you are out

    Pager for mobile when you are out

  17. myMix – A system that makes your mixed drink.
  18. ArchScan – A scanner for 3D prototypes that translates them into CAD or Rhino.
  19. Tabelisk – A desk that incorporates a tablet computer.
  20. PetPet – A pet feeder that can feed your pets on a timer or detect when they approach.
  21. Scarecrow – Scarecrow that senses unwanted animals and scares them off.
  22. SketchIt – Etch-a-sketch controller/app that works on computers.
  23. PubPort – Interactive system for optimizing public transportation hubs/stations.
  24. MCVolume – Motion-controlled volume controller (possibly for TV).
  25. Rise – Light-sensor alarm clock that wakes you up when the sun comes up.
  26. DrinkUp – A system that uses pressure sensors to detect when your drink is empty and notifies the bartender/waiter to get a new one.
  27. EyeComp – Eyepiece computer with facial expression and voice recognition software.
  28. DifPic – A camera that compares a picture of your room to a picture of it when clean (sketch below).
    Before versus after

    Before versus after


  29. E-Cig – An electronic cigarette measuring smoke throughput that gives you your stats.
  30. GGPS – A GPS system that notifies trafic patterns and indicates most efficient routes.
  31. UrbOp – An urban system in which road and street sensors optimize traffic lights.
  32. CarMap – A density map that shows you where cars are in a selected area.
  33. Radar – Laser tag radar system with map (kind of like how video games display enemy position).
  34. Empto – System for detecting decreasing drinks in restaurants.
  35. DJ Light – A gesture controlled light show that allows DJs to use their movements for a light show (sketch below).
    Gesture controlled light show

    Gesture controlled light show


  36. MIDI Light – A system that allows DJs to have a MIDI controlled light show.
  37. Sound Light – A system that allows DJs to have a live-sound controlled light show.
  38. Gestar – An enhanced guitar incorporating extra sensors to trigger effects without extra gestures.
  39. DJ Mat – Rollout DJ mat that uses smaller sensors instead of big 3D hardware (sketch below).
    Roll out DJ mat

    Roll out DJ mat


  40. MoodMix – A song mixer that plays music depending on mood lighting, temperature, and room humidity.
  41. Posturrector – A posture correcting system that beeps when you slouch.
  42. SenseForm – A mechanism that assesses the form of your squats/lifts against ideal static finish positions using flex sensors (or Kinect).
  43. PressBox – A box squat device with pressure sensors to stop you from cheating (i.e. sitting on the box).
  44. Juggo – Learn how to juggle a soccer ball using Kinect.
  45. GloveForm – Martial arts glove that teaches proper form by detecting hit knuckles and wrist angle (sketch below).
    Hit knuckles and wrist angle

    Hit knuckles and wrist angle


  46. ForceForm – Force/accuracy sensor to determine the effectiveness of your punch/kick on a bag.
  47. MemPic – A smartphone app for students (mostly freshman) that can take pictures of buildings and know their campus location and department/facility associations.
  48. VirtualNote – A system that incorporates a pencil that integrates handwritten notes to a virtual notepad (so it is okay to lose your hard copy).
  49. JuggoMotion – Special juggling balls that teach you how to juggle by displaying the motion of the balls on the screen.
  50. MindMouse – A mind-controlled mouse, using EEG caps that measure brain waves.
  51. EnviroSense – An environment (e.g. room) with sensors that measure your sweat and body temperature and adjusts the humidity and temperature of the room accordingly.

Idea Choice

Prime Ideas

  • DrinkUp (#26)
  • SenseForm (#42)
  • VirtualNote (#48)
  • DJ Light (#35)

Our first choice for ideas (non-Kinect based) is DrinkUp – a system that notifies staff, waiters, and bartenders in a bar or restaurant if a customer’s drink needs to be refilled. Our second choice for ideas (Kinect based) is SenseForm – a system that serves as a personal weight-lifting trainer that makes use of Kinect to direct and teach users how to properly lift weights. These ideas have clearly defined problems and the ideas in themselves are not overly complicated, therefore leading to simple solutions. Below we expand on both of these ideas (however we have left out designs and sketches for our second choice).

DrinkUp: Idea #1

Target User Group

The target user groups for this technology are both patrons and staff of restaurants, bars, or virtually any other establishment where a drink might be served. The idea driving our project is to remove any active participation on the part of the patron for requesting refills. We imagine the drink and table sensors being used by patrons, who might want to let their waiter know they need a refill on their drink, or by the waiters themselves, who might want to keep track of all the drinks in the restaurant and refill them when they are empty.

Problem Description and Context

Imagine yourself in a crowded bar or restaurant. You’ve just finished your drink of choice, and your glass is now empty. However, you are still eating food of some sort, or perhaps for some reason you are just very thirsty today. Maybe you’re enjoying a conversation with a friend or a colleague and you can’t be bothered to scan the restaurant for a waiter. Unfortunately, no matter what you do, you’re having difficulty getting a refill! Maybe the bartender is at the other end of the bar at the moment and well-occupied, or perhaps your waiter at the restaurant is just nowhere to be seen. Has this ever happened to you? Our system will let you stay “in the moment” with whatever is engaging you at your eatery of choice, and stop service lags from breaking your flow of conversation. Experience the restaurant as it should be.

Justification of Technology Platform

Fear not! Imagine this scenario: there is a small touchpad on your table/bar seat. When you tap the touchpad, it sends a signal to the restaurant staff or the bartender to let them know that you’d like a refill for your drink! But let’s say that the restaurant is crowded at the moment. Even if the waiters wanted to come by and refill your drink, they are just too busy to do so. Well, it just so happens that in addition to that manual touch sensor on your table, there is a pressure sensor directly underneath your cup. This pressure sensor took note of when your drink was full, and it’s able to tell when the weight of your cup has decreased enough for it to be empty. When it detects that your cup is empty, it automatically sends a signal to the staff to let them know – and the staff maintains a computerized list of which cups in the restaurant are empty at the moment. Now the restaurant staff has a more effective method of managing empty drinks, and as a result you get yours refilled within moments rather than having to wait as long as a half hour for a waiter to notice your empty glass!
Our system is arduino-based, making use of pressure sensors to detect whether a glass is full or not, and then sending the table location to the staff computer. The system needs to be portable to accommodate different table locations as well as be able to interpret the data returned from a pressure sensor, so the arduino is ideal for that purpose. In order to actually be useful, the data must then be sent to a central location, which is why a computer application is necessary.

Designs and Sketches

Empty drinks, busy waiters, unhappy restauranters

Empty drinks, busy waiters/bartenders, unhappy restaurant/bar-goers


When below minimum pressure tolerance, signal is sent to central location


Central location gathers data for all drinks on all tables in restaurant/bar


SenseForm: Idea #2

Target User Group

This project is targeted towards anyone performing standard power lifting lifts in the gym. It will work best for lifts that have a static final position (i.e., the low-holding position in a squat). The system will tell them if they are performing the lift properly or not.

Problem Description and Context

Often, when people go to the gym to lift, they have a “gym buddy” that they can go with, one who can watch them and tell them if they are properly performing the lifts. For power lifting lifts in particular, the technique of the lift is of utmost importance. If a person goes to the gym alone, it becomes difficult to effectively determine whether one is correctly performing a lift or not. Mirrors are sometimes not available, and even when they are it is difficult to properly evaluate your form simply from a mirror view. This system could help alleviate that problem.

Justification of Technology Platform

A kinect, wekinator, and a laptop could be used to implement this system. The user could hold the final position and use these training examples to train the “finished” position on the wekinator, and then go through the motions before finishing and use these examples to train the “not finished” positions. The kinect’s skeletal tracking would be ideal for sensing the body positions. A simple footswitch could be used to turn example selection from the kinect on or off.