Skip to main content
Wikispaces Classroom is now free, social, and easier than ever.
Try it today.
Pages and Files
IA01 Background Survey - 1/29
IA02 Arduino Graph - 2/13
IA03 Partner Eval for MPA01 - 3/10
IA04 Partner Eval for MPA02 - 4/02
IA05 Partner Eval for MPA03 - 4/21
MPA01 Input Inventions - 3/3
MPA02 High-Low Tech - 3/26
MPA03 Kinects & Motors - 4/16
Semester Project Assignments
SPA01 Project Pitch
SPA02 Project Presentation
SPA03 Project Instructable
SPA04 Project Video
SPA05 Project Artifact
RA01 Tangible Bits - 1/29
RA02 Arduino Intro - 2/3
RA03 Electricity Intro - 2/13
RA04 Switches (p 39-59) - 2/19
RA05 Input Technology - 2/26
RA05 Sensor-Based Input - 2/26
RA06 Prototyping 3/5
Cubot: An In-hand and Wearable Input Device
Ruofei Du, CS Ph.D. Student
Fan Du, CS Ph.D. Student
, a novel input device that enables people to use it as an in-hand or wearable device. We endow a cube with soul and make it into a general input device for a computer. People can use Cubot as a game controller, a remote, a body tracker and anything else in their mind. In this mini project, we illustrates our idea by playing FlappyBird via body jumping and hand lifting with Cubot, operating "helicopter" to view a 3D scene, observing a 3D object by rotating heads, play games and present slides via moving chairs. Cubot is not an extension or improved version of any existing input devices. It is brand new, and we created it!
Components we used to build our system:
Arduino Uno R3
Breadboard and wires
Pololu MinIMU-9 v2 Gyro, Accelerometer, and Compass (L3GD20 and LSM303DLHC Carrier)
Hat, Chair, Lamp
1. Calibration of the
Gyro, Accelerometer, and Compass
The date out of the Gyro, Accelerometer and Compass is not stable. Hence, we use a calibration process, which calculate the maximum value and minimum value for the first N (N=60) data received. And then use this range as a baseline of the following recognition algorithms. A high-pass filter would also work for this issue.
2. Signal processing for the Hand Lifting and Body Jump gesture.
As long as the hand lifts, a peak in the waveform is detected. For continuous hand lifting, we record and detect multiple peaks.
A jump usually involves with squatting down (not necessary), jumping up, touching the ground, restore stable.
A peak is recognized as at least 120% higher than the baseline value. As soon as the peak goes down to the range of baseline, we consider the maximum timestamp as the occurrence of the peak.
Cubot is a general input device. You can attach it to almost everything and have fun playing with it. We introduced a several "official" usage of Cubot in the video above, including using Cubot+Lamp Holder to fly a plane, Cubot+Hat to control a 3D model, Cubot+Belt to jump and play the Flappybird and Cubot+Chair to play slides and breakout games.
The way to use Cubot is very intuitive and fun. For example, when playing the Flappybird, the bird jumps with you, when flying the plane, the view follows your eyes. You may use Cubot in different ways:
1. As a 3D sensor.
2. As a compass.
3. As a motion tracker.
4. As basic electronic elements such as a switch, a button, a potentiometer, or a vibration sensor.
By combining those functionalities and stuff you use everyday, you can burn your imagination and dig out the true fun of life!
There are two main restrictions for now:
1. Size: this version of Cubot is built based on Arduino UNO, which is as large as a mice. In the second version, we are going to use minimized Arduinos to remarkably reduce the size of Cubot. The ideal size would be as small as a key of the keyboard. Though, we will still provide different size of cases so that it will always fit your idea.
2. Wire: by removing the USB wire connecting UNO with a computer, Cubot will become a true six-sided cube, which would largely enhance its flexibility and usability. Ideally, Cubot will become part of users' life, just as what a mouse, a keyboard, a key, a car do. Once again, we are not redesigning anything, we are creating something.
1. We tried Bluetooth Low Energy Shield. It can communicate smoothly with iPhone or iPad. Nevertheless, when connected to the Mac, the data frequency is almost one data per second, which is too hard to use. Another bluetooth named "test123" would lose connection after 10 seconds. So we need to order a bluetooth module in the future.
2. We also tried the 3D printer to print the box. Nevertheless, it is too slow so we gave up in the end. But it is the idea that values: future users could print whatever they want for Cubot.
3. We wasted a lot of time on soldering and making the bare sensor and other sensors work.
Source code on Github:
Inspired by Makey Makey:
help on how to format text
Turn off "Getting Started"