CuckooTankard: a New Approach on Beerable Computing




Introduction: CuckooTankard: a New Approach on Beerable Computing

About: ... using laser cutter, PCBs, 3D-Printer and whatever i get into my hands to build things

Build Night time in the Fablab Aachen. We got a bunch of Spark IO boards and Spark Buttons - and if we made a cool project with ist, we might even keep it. So what to do? I decided to build an improved beer mug - adding the functionality of a cuckoo clock with the power of the spark board.

It could be use also as a clock if you tend to loose track of time on e.g. an octoberfest, with the eleven leds as clock and the cuckoo classic for tick every hour.

(And as an expended version later: You can add a compass module and gps to your spark board below your beer mug, so if you are too drunk to find your car for driving home, your tankard can show you the way, with the leds pointing in the right direction :-)

... or you might do something useful with the board...

Anyways. Since the spark board allows easy access to WLan, the plan was to add a world-wide prost function to the tankard: If someone lifts his tankard straight upwards, a signal is send to all followers all over the world to cheer (which means lifting up the tankard and moving it forward in a certain time). Then, a cuckoo will hammer against the mug as feedback for succesfully cheering.

Technical, I use the accelerometer on the Spark board for the movement detection, the buttons on the lower side are used for checking, if the mug stands on the table (pressing the buttons together) and the led ring is used for enlighten the beer in different colors. Addditional a servo from the spark maker kit is used to move the bird, which is enligthend with 6 3mm leds: Two of them enlighten the chest (red) and the wings (blue). The other four form a cross as eyes, which allows additional feedback for the state of the bird: a successful cheer will produce an "happy" eye ^^, while waiting for a cheer will give the upper two leds as feedback `´ `´, and if the cheering is not happening in time, the bird will hang backwards with dead eyes xx.

The housing is made with lasercutted 3mm acrylic, but since it is not very complicated, e.g. cutting with a fretsaw will also work (In fact, because of lack of time some adaptions are made with a proxxon saw & drills).

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Make the Leds Smaller...

After making first size tests with cardboard the standard 3mm leds seems to be to big for the eyes. Therefore i made each led a little bit smaller by sandpapering two opposite sides (parallel to the two wires - one of them coming later out of the front, the other on the backside of the acrylic) and sharpened the top of the led to a triangle. Each led is than wrapped into black isolation sticky tape for removing cross talk between each led (otherwise one active led will enlight the passive ones, which makes showing different forms impossible). After insertion in the acrylic the tape on the top and bottom side is removed with a cutter.

That was the first point which worked not very well for the first try-out. Should be done better in the next version, but one-night-project, no time for reworking (Nice excuse for bad craftmanship :-)

Step 2: Lasercutting...

Ok that was straigt forward: Just cutting the layouts with the laser cutter of the lab. No problem. The parts are than assembled with plastic glue. Just mount the servo before assembling, otherwise it will be much harder (That was already late at night, therefore i choosed the other way).

The bird is a free Vector-Clipart, slightly modified (removed legs and tail, etc.), use one that looks nice. Add cutouts for eyes and maybe the chest and wing led. I think it might even look better if there are some kind of photorealistic engravings better, lighting up with the led. Another point for more time and future work.

Template for the leds are (now) attached.

Step 3: Electronics...

Ok, no really good pictures here, but it was quite easy: Two rows of pinheaders (i used bent ones, but straight ones shouldn't be a problem) Connectors are inserted i n the female plugs on the spark button board (Well designed, by the way, the only disadvantage of this board is the missing 12th led - just my opinion). The two wires from an 3*AAA battery back are the soldered to VIN and Gnd, the servo also to this two pins and to A0 as control line, the leds are soldered to together to GND on the other side of the spark board and then - with a 150 Ohm resistor on the connector - Upper eye (two leds parallel) to D6, Lower eye to D5 (again two leds parallel), the front led (chest) to D0 and the back led (wing) to D7. Or some other way around, just need to change the pins in the program corresponding.

The front and back led's are always on at the moment, might also be connected to VCC, but since some pins are still free no need to sacrifice future possibilities.

Step 4: Next Ugly Fix: Hot Glue and Saw

At the beginning i just wanted to mount the bird ont the servo with a thin wire through the 3 holes in the servo arm (which should act as some kind of leg). First problem was that the wings of the bird were to long and touched the ground - after a little rework with the saw the bird was smaller and the problem fixed. The next problem was that the above mentioned wire connection was not strong enough - the bird could break himself free. Good for the bird, but not for me. A buch of hot glue fixed that - for a future version screws or at least a transparent glue would be better.

Step 5: Claim a Core Upload Program...

... Time was running out, so no Cheernet. Instead you can only cheer yourself at the moment. Of coursem, that's kind of sad. But at least it is running...

Until a better version comes out, the code is in the attached file. Just copy that into a new Spark app, add the SparkButton and ElapsedMillis1 library to the app (and remove the additional automatic added #include "elapsedMillis1/elapsedMillis1.h" and #include "SparkButton/SparkButton.h")

Upload the code to your Spark core. Then check if the bird moves in the right positions (otherwise change the myservo.write(xx); values).

If everything seems to work as expected tape the spark board at the bottom and the tankard on the top. And start cheering yourself... until the battery runs out. Should have added a power switch and make the battery back accessible from the outside without removing the mug. Not such a big problem, since the tape can be easily removed (which is also necessary for cleaning the mug), but would be nicer.

Anyways: Cheers & Have fun.

Make it Glow!

Participated in the
Make it Glow!

Enchanted Objects

Participated in the
Enchanted Objects

Be the First to Share


    • Magnets Challenge

      Magnets Challenge
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    9 Discussions


    3 years ago

    Incredible work


    5 years ago

    You can substitute servo with solenoid (if you can get the code to work with it) if you want a more durable application, since the bird will move freely when not energized, reducing the risk of misalignment and shattering of axis.
    Same mechanism was used in a Polaroid camera.


    Reply 5 years ago on Introduction

    Good idea. It might also solve the problem that the servo is to slow for a strong "punch". The servo was just the thing at hand (in the spark maker kit we got).


    Reply 5 years ago

    Glad to hear that I helped!

    If you're really short on solenoid actuators, you can use solenoid valves (the ones used in Air Wick Compact air freshener spray), or improvise from a steel pipe, whole bunch of wires and a steel rod.

    Same idea was used in that metal bell or xylophone type doorbell (which has actuator that hits first bell when energized and hits second bell whe disengaged, using spring) and TwitterBell (a small tabletop temple bell which reacts to Tweets, uses same actuator).

    In this case, a vertical installation with link is ideal.
    Cuckoo cutout needs to be pivoted first, at its feet.
    Actuator is connected to the back end of acrylic cuckoo cutout with a stiff wire, and solenoid will stay down if not energized.
    When it's energized, solenoid will pop up, moving the cuckoo and thus giving visual feedback to user.
    Think of a cam mechanism, but with the rotating cam replaced with an actuator.


    Reply 5 years ago on Introduction

    I think you did now far more thinking about the construction than myself :-). Thanks for the input!


    I want to drink beer with your beerglass

    I bet it will be more delicious...


    5 years ago on Introduction

    My favorite Spark Build night video! Nice job!