close-circle
Close
0%
0%

Wordy

Ring that has interesting vocabulary, plays accelerometer Pong, and answers questions. Implemented on the Arduino-based MicroView platform.

Similar projects worth following
My plan: I got a MicroView: a tiny Arduino with a nice OLED screen. I want to make a ring with it. When I tap the ring, it should give me a word. If I tap it again, the ring shows the definition. I’ll call the ring WORDY and vocabulary geeks all over the land will rejoice.

Actuality: Wordy has a vocabulary of over 150 interesting words. It plays Pong and can make decisions. Also, superheroes have super punches: Wordy can totally scare away villains. Or make them perish from laughter.

The project grew from tap-for-vocabulary word to play Pong, act as Magic 8 ball, and react to air-punches. Once you have an accelerometer, might as well use all of it. You can see the interactions on the YouTube video.

On tap, the ring shows a vocabulary word. On tap or double tap, it next shows definition.

On double tap, it starts Pong game, the paddle position set by tilt of accelerometer.

On an upside-down shake, the ring says to consider a question, waits for another shake to give a response. On air-punch (or shake), Wordy puts up a punch word (BIFF, Pow!) and a couple rectangles for emphasis.


  • Another Day of Battery Life

    elecia12/16/2014 at 16:11 0 comments

    To make a ring, I needed to minimize everything. Of course, if you've seen the picture, you already know I didn't actually minimize much.

    Still, batteries in wearables are a pain. For this wearable with my "you have to take it apart to charge it" methodology, well, longer battery life means this hack will exist longer. The more I take it apart, the more like it is that I'll repurpose the parts to do something else. (I have this idea for a different ring…)

    Minimizing power in Arduino is a topic that has been taken on by plenty of other people. And I happily reused their code and methods (Thank, you Nick Gammon!).

    However, when planning a device, it is helpful to determine the size of battery you need. To that end, I made an Excel sheet (sorry, I default there) which I've put into a Google spreadsheet so you can see it with the math. The first sheet (words) describes the process in words. The second sheet (numbers) reflects the same information but with numbers. You fill in the orange boxes, it generates the green one.

    The first step is to determine the different power states of the device. For Wordy, it is either on (display showing) or sleeping (Arduino asleep, accelerometer configured to wake and interrupt it).

    My next step was to figure out how much time the system would spend in each of these states. My goal is for the ring to be on for about five seconds every five minutes. Sometimes it will be on more, as I play with it a lot. More often it will be sleeping, such as left on a table overnight. (Note: if you build a Wordy, I strongly recommend setting the ring so it will lose at Pong. Sometimes if you leave it on the X side with no Y tilt, the ring will play Pong by itself indefinitely.) Starting with the idea of five seconds per five minutes means I'll probably be on the conservative side (unless it plays a Pong marathon without me).

    Next, I measured how much current each state. I used my shiny new DVM-with-current-sensing (my old one didn't have that (though it did have a more melodious beep in resistance mode)). You can use a resistor if you feel like doing it old school style.

    (This pic is from my book. If you were unaware I wrote a book, well, yes, I did and it is full of jokes. And dinosaurs. But mostly embedded systems.)

    Finally, I calculated how long the device would last given a 40mAh battery (the largest I was willing to use due to size constraints). The result turned out to be much greater than I expected.

    This does not have to be the order of events: you might start with the idea of how long you want the device to last and choose the battery accordingly. Or you may have a fixed battery and a predetermined life and need to determine how much time you can spend in each state. Happily, the math works in all the different ways.

    Note that this value I got was greatly in excess of my self-imposed goal (which was a puny two hours). It is also greatly in excess of what I said in the build instructions (which was 48 hours). My wear-time was even greater than the estimated value: I charged on Tuesday afternoon and it died on Saturday night.

    Though, I'm pretty sure I can do better than these power numbers.

    When I measured the MicroView without the accelerometer, the on-state power fluctuated between 10mA and 14mA, depending on how much of the screen was lit. (All current measurements were taken around 3.7V.) If I modify numbers on the spreadsheet, the on-state power of 10mA to 14mA, it changes from 3.5 days to 3.1 days. I switched it back to 12mA as reasonable middle ground.

    The accelerometer doesn't add much to this on-state value. On the other hand, for the sleep-state power, it is a very different situation. The MicroView alone took 0.14mA. The MicroView and accelerometer together take 0.31mA. If I change the sleep-state power from 0.31mA to 0.14mA, the amount of battery life expected changes from 3.2 days to 4.9 days.

    The accelerometer datasheet says the accelerometer's...

    Read more »

  • Crafting a Ring

    elecia12/09/2014 at 23:31 0 comments

    Part of making a wearable device is making it look nice. That was a more difficult proposition than I expected.

    I had this fantasy of putting my battery in the ring body using a bendy polymer battery. While they do exist, I couldn't find any with the power rating I need that was also rechargeable and had the safety circuit.

    I ended up with the battery under the MicroView and on top of the accelerometer.

    Now I needed a ring to fit it on. I started out with Amaco's cloud clay because that's what my local hobby shop had when I was considering the idea (I <heart> D&J Hobby). It is strange stuff, very light. It is flexible when cured so it works well as a ring.

    Once a ring dried, I could put connector pieces on with hot glue, then essentially plug the MicroView assembly into the ring base.

    This worked pretty well but looked pretty awful, especially from the front and back.

    The cloud clay dries in 24 hours so I was able to leave it attached to electronics while it was drying. I tried lots of different blanks, getting ideas and making new ones pretty quickly. I used fingernail polish on some of them to give a glossy, finished surface. That worked fairly well given my fairly messy painting skills. However, the paint needs two coats (at least) and takes a really long time to dry so I went back to D&J to get the black version of the clay.

    This whole time, I was trying to put the ring on my right hand ring finger. That is where the the MicroView "fits":

    However, Pong is really, really hard to play from that angle. Also, after wearing the assembled one for 3-4 hours, I found it itched a bit. I think that was battery edges scraping into my skin.

    I decided to try Sculpey. I have a lot of it. It's faster turn around time meant I could build something the day I wanted it. (Ahem, ok, maybe I switched to Sculpey because the nail polish took too long to dry and the white looked shabby and the black wasn't done yet and I wanted to wear it to a party.)

    The first Sculpey ring broke right away, probably I didn't do it right but it also indicated the rigidity was going to work against me. It wasn't that comfortable either.

    I went to Michael's to look for ring blanks in the jewelry section. I came home with the blanks I was looking for (though I wanted the good version, they only had the cheap version which are scratchy and uncomfortable). Amazon has a much better selection but I was not in the order and wait patiently mode. I also found a "chain making kit" with a number of large-ish silver rings. Some of the rings fit my right hand index finger. When 4-5 were combined together, they were a sturdy, nice looking ring.

    Atop that, I put a box made of Sculpey. This wouldn't see the stresses associated with moving my hands so it was less likely to break.

    As noted in the instructions, I put the connectors on the MicroView, add a bead of hot glue, then put the electronics in the box. Getting it out hasn't been bad. Someday it will leave all of the connectors behind (and that will be a good thing).

    I like this ring because it is very sturdy, it feels stable. The ring stays powered. And I can tap the top (screen) or the metal band. It is functional.

    However, it is huge. The box is bigger than it needs to be which means the whole thing is bigger, clunkier than necessary.

    I either need to make another, smaller version or I need to sand this one a bit, then cover it in clear nail polish to make it look a bit nicer.

    With any project, the thing that takes the longest isn't the part I expected. I suspect making this look nice could take infinite time, something I don't have. So excuse me while I got put the connectors on the pins, heat the hot glue gun, and put this on so I can wear it to dinner tonight.

    Oh, I want to say that the ring is turning out to be amusing. Geeks like it, normal people ask about it. I think the "I love vocabulary" is a harder feature to grok than...

    Read more »

View all 2 project logs

  • 1
    Step 1

    Of course you'll read all the instructions before you start. Pay special note to step 5 which involves using a dremel tool to cut a board to size.

    On the whole tools you will need:

    • Soldering iron, fine solder, small wire
    • Dremel tool with cutting wheel (or other cutting accessory), mask so you don't breath board
    • Hot glue and funtac (or other temporary mounting putty)
    • Beepy mode on a voltmeter
    • Way to program the MicroView (FTDI cable or the MicroView reprogrammer)
    • USB charger for LiPo and necessary connections
    • Sacrificial jumper wires
  • 2
    Step 2

    Temporarily wire together the accelerometer and the MicroView:

    • Connect SDA and SCL.
    • Connect the accelerometer's INT2 to MicroView's INT0 (pin 2).
    • Connect ground.
    • Connect MicroView's 5V out to the accelerometer's Vin.
    • (Powering the MicroView will be the next step.)

    I had some trouble with the accelerometer connections until I soldered them (steps 4-6), they were flaky connections, unhappy with my normal press-fit a header to a solderless breadboard solution.

    I did not solder on the header pins that came with the accelerometer, they would be too big in the ring.

    If you are skilled at soldering, you may want to go ahead and do that. Otherwise, make sure your accelerometer has pretty good contacts.

  • 3
    Step 3

    Program the MicroView, test the code and wiring.

    If you got the fancy MicroView programmer board, you can use that. Alternatively, you can use an FTDI cable. Either way, the MicroView getting started page will show you how to wire, power, and program the MicroView. Program it with the Wordy code from github.

    Note that the code takes up all available space. You can comment out some words in wordlist.h if you want to add debugging strings (see note there on how)if you want to add debugging strings.

    When you finish programming, test the modes work. Be careful of your accelerometer if you haven't soldered it yet.

View all 9 instructions

Enjoy this project?

Share

Discussions

jockojet wrote 04/23/2015 at 19:29 point

I am working on a project that uses the same hardware.  I wired up the mma8451 (without the I2 line) and got the mma sending out the informaiton I was looking for over usb.  but if I issue a uView.begin(); it mess up the serial communication and screen doesn't work.  So I found your project and downloaded the code and added the I2 to D3 wire and tried to compile.  It returns a 'class MicroView' has no member named 'end' error.  Any ideas of what I'm doing wrong?   Thank you.  

  Are you sure? yes | no

Philie Blunt wrote 12/11/2014 at 01:00 point
I really like this, do u have or have plans for an 'ible type thing so others could make this???

  Are you sure? yes | no

elecia wrote 12/11/2014 at 02:30 point
I tried to do that with the build instructions here, were they not clear enough? What more would you like to see?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates