MiCubes are your cubes!
To be a little more specific, the ultimate goal of MiCubes is to create an open source miniature BLE device that can pair with your smartphone and companion app. Once it does, what you do with it is up to you! So far I have received some really cool ideas for features and would love to hear more!
Some of the current features include:
- A one button control scheme
- Dimming of the leds
- A "shake-on-shake-off" feature (exactly what you think, you shake it to turn it on and shake it to turn it off) **Easily disable and enabled.
- Bluetooth control through BLE console app by Nordic Semiconductor.
- Magnetic buttons for attaching to metal things.
- Inductive Charging (how fancy!)
Some of the future features (hopefully!) include:
- Companion app on Android and iOS
- Notifications from smartphones
- Moodlight settings
- Audio visualisation from ambient sound and bluetooth audio
- Make them waterproof
- Bright white and RGB color in all cubes
- "Smart" and "Dumb" cubes of 1,2, and 3 inches.
As of right now, I have 3 different sized cubes, 1 inch, 2 inch, and 3 inch.
The 1 inch and 2 inch versions are both running off of an Attiny85, and the 3 inch one off of a normal Arduino Uno.
These cute little guys are my 1 inch cubes. This was were it all started. The original mk1 cube, which had a white led. was cannibalized for it's AVR, while I made these just for fun. They each have a single button for controlling the various functions
The basic control scheme is
- A single press for on and off
- A double press for enabling/disabling the "shake-on-shake-off" feature
- A long hold for dimming. When the button is held down, the LED will start dimming in a wave, and where ever you let go, it will remain at that brightness!
The 2 inch cube is pretty much my flagship right now in terms of functionality. It has the same control scheme as the 1 inch cubes, but instead of colors, it had 4 bright white LEDs. It also has the awesome feature of wireless charging!
You can see the charging coil in the bottom of the cube below. Contrary to my belief, the magnets didn't affect the charging at all! I also did a rough 3d printed base just to give it something to sit on. Once I design them, I will print out a new base and custom enclosures for all of the cubes.
Finally, we have the 3 inch cube! So far, this was the only cube that could be controlled through bluetooth. It doesn't really have much use in my day to day life just because it is so big and clunky to use, but it does have the most features. I just send it a string of numbers through my phone which controls the red, green, and blue, channels of the led, the super bright LED, and then virbo motor. That data is then parsed. It has:
- RGB led for multicolor pleasure
- Super bright light cool white led
- Vibration motor
- Bluetooth control
Really, the biggest problem that I have faced is finding a user friendly BTLE device that is small enough to prototype with. As of right now I am using a DIY BTLE shield that I made out of the great bluetooth module by Adafruit, and an Arduino proto-shield.
Another issue with this, is that the BTLE module took up a substantial amount of I/O pins that had PWM. While I know that I could have used the analog pins on the Arduino. I wanted to make things interesting.
So I used the PCA9685 i2c to pwm controller. It had 16 channels of control through i2c so it made everything nice and simple!
I really would love to produce a fully functional product that could eventually be put on Kickstarter. I also think that an Android and iOS app are a must have for this sort of thing.
This idea really extends beyond just lights!
I envision a system where MiCubes are all talking to each other through the bluetooth on a users phone to provide relevant and useful information. There are all sorts of things that these cubes could, some of them could be:
- Speaker/Sound Cube
- These could link up with LiteCubes and provide an awesome audio visual experience
- OLED/Smart Ink Cube
- cubes with screens to display information at a glance just...