Spacebrewer - Remote Tea Making Device




Introduction: Spacebrewer - Remote Tea Making Device

About: I am a full time student at Parsons, The New School for Design in the Design and Technology department with a huge appreciation for physical computing and anything science related.

We wanted to make a device that would allow us to remotely brew a cup of tea. Why? Because tea is awesome! On those cold winter days, you would be able to have a tea brewed and ready for you by the time you arrived home. You can also brew tea for your friends and family even if you're across the other side of the world, who doesn't want a tea made for them over the internet? 

Using the power of Spacebrew, this enabled us to use mobile phones, arduino and processing as an intermediate step to control a hacked water heater. For this instructable, we will assume you are familiar with the basics of arduino and processing.

To recreate this project, you will need the following:

1 x Water Heater (We used this one)
1 x Arduino
2 x standard servos
1 x micro servo
1 x continuous rotation servo
1 x pair of IR emitter/detector (
1 x 330 ohm resistor
1 x 10k ohm resistor
1 x Tea cup 
1 x spool of fishing line
1 x 5 volt power supply
1 x DC barrel jack (breadboard friendly or not, up to you)

Breadboard, wire, solder, etc
Side note: we used a good amount of this great heavy duty mounting tape because it joins things extremely well and is really easy to use. It's amazing. Seriously.

Spacebrew (more info in the next step)

3D printed parts
We printed the tea bag and sugar dispensers on our own 3D printer. You can find the files below and also here on Thingiverse

All files can be downloaded here.

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: Rapid Introduction to Spacebrew

Spacebrew is an amazing tool for connecting devices, programs and interactions quickly and easily. With it you don't need any knowledge of web technologies to be able to prototype projects that communicate via the internet. 

In order to take the tricky html/css/javascript coding out of the web side of things, Spacebrew consists of a series of libraries for Arduino, Processing, Javascript (for browser based interactions) and OpenFrameworks. We recommend you take a look at Brett and Julio's Getting Started Guide.

Essentially, whenever a Spacebrew example is run (processing, javascript, etc.), a "publisher" or "subscriber" is created on the Spacebrew server. The official documentation has examples of how to run your own server, but there is also a public server available for use immediately.

A "publisher" is basically something sending out some form of data. These will show up on the left column of the server.

Subscribers show up on the right column of the server and will receive information that is sent to them. 

The most fun and easy part! The browser based graphical interface allows you to literally make connections between publishers and subscribers by clicking on the nodes as seen in the photo above. It really is that easy.

Data Types
The type of data that can be sent. This must be the same on both the publisher and subscriber side in order for a connection to be made. Booleans, intergers from 0-1023, and strings of text are supported immediately with the option to create custom data types for slightly more advanced users).

This Instructable...
Will use a modified version of the "Javascript String Sender" example. The modifications made to it only serve to make the on screen text a little more relevant, but the straight-up, off the shelf string example would work just fine. 

This javascript example (can be run locally on your own browser by clicking the "index.html" file or can be made live on the web by uploading it to your own server) will be a publisher and will connect to the processing example that will appear in the subscriber list. The processing sketch will then send data to the arduino via the serial cable.

Step 2: Print and Assemble the Tea Bag Dispenser

Tea Dispenser
The tea bag dispenser comes in 4 pieces you must 3D print: The housing, inner carousel, face plate, and servo mount. My printer can be a little sloppy and leave small beads of plastic in certain places. If yours does the same, take an x-acto knife and a piece of sandpaper and smooth them out. This is much more important for the inside of the dispenser to prevent tea bags from getting caught and make sure they move and fall out smoothly and reliably.

Using the mounting tape, fix one of the horns of the continuous rotation servo to the center of the cylindrical part of the inner carousel. Make sure it is as centered as possible to ensure it operates smoothly. Once this is attached, we will have to mount the servo to the back of the housing using the servo mount. Using more mounting tape, fix the servo to the servo mount and the servo mount to the back of the housing. Because we were using a metal laboratory stand to hold up the dispensers, we didnt create a separate stand to hold up both pieces. You may want to align the flat part of the servo mount to be vertical with the hole for the teabags to come out of directly beneath it. This will give you some space to attach a clamp or something like we did in the photos.

Note: Do this slowly and carefully to ensure that when everything is stuck together, the servo and carousel are aligned and give smooth motion. 

Continuous rotation servos aren't reliable enough to say "rotate for 300 ms", i.e. just long enough to line up with the next slot and release a bag. Because of this, we decided to not detect when we were over the next slot of the carousel but when we actually dropped a tea bag. For this we used an infrared LED emitter and detector to see when something was blocking the opening. Solder wires to the leads of the detector and emitter and fix them to the bottom of the tea dispenser, one on either side. These LEDs emit/detect from the side that has a little dimple on it so make sure these face each other. 

We will discuss the wiring to the arduino in a later step.

Step 3: Print and Assemble the Sugar Cube Dispenser

Sugar Dispenser
The sugar dispenser is just two pieces, the sleeve and a special horn for the micro servo. Print the sleeve without support material so the inside of the sleeve is as smooth as possible.

The servo is placed right on the outside of the sleeve and blocks the sugar cubes from falling further. When we want to release a cube, the servo pulls back, allows the next cube to fall on the small ledge then moves back to where it was. This pushes the fallen cube out to the side with the next cube resting on top of the servo horn itself. (see photos)

Just like the tea bag dispenser, make sure sugar cubes can move easily through the sleeve without getting stuck. When looking at it from the front, the left wall of the sleeve comes down a little bit further than the right. This is to prevent the sugar cube resting on the horn from following the servo as it cocks back to push out the cube. Align the servo as you see in the photos, with minimum clearance between the top of the printed servo horn and the bottom of the left wall.

You may want to run a simple arduino sketch to see if the servo can reliably push out the sugar cubes and just mounting tape before using something more rigid and permanent.

Step 4: Hacking the Water Heater

Our original idea was to get a water heater with electronics we could hack into for a more elegant solution. The water heater we had to play with was all analog components and not very hackable so we decided to just have servos push buttons for us. This was not a bad solution as it still left the buttons accessible and the heater usable without the arduino needing to be on. This required two standard servos, one for the on button (the heater automatically shut off once it was done heating) and one for the pouring mechanism.

Drill small holes into the case so the fishing line can be fed through the case and attached to the necessary levers. The photos are much more clear than any description I could write so see them for more details about how it worked.

Note: Another reason we decided to use servos to push buttons rather than hack the actual electricals is because it is much safer. In addition to dealing with 120 volt mains voltages, the heater also gets EXTREMELY hot, boiling a whole cup of water in less than a minute. If you decide to replicate or improve on this project BE SAFE!

Step 5: Connect Everything to the Arduino

For this project we need an external 5 volt power supply because we do not want to rely on our computer's USB port to supply the current for 4 servos, even if they are never used at the same time. Just make sure that the ground on the arduino is connect to the ground on the power supply so that they can all have the same 0 volt reference voltage. However, it is a good idea to keep the 5 volts from the power supply separate from the arduino (and the usb port it is connected to), just in case there are any surges or drops in power that might affect it negatively.

See the image for more details.

Step 6: Upload and Run Code

The arduino and processing code are very well commented so you shouldn't have a problem figuring out what is doing what. 

Once the processing sketch and javascript app is running you can see it show up in the spacebrew public server. Once you see them, just click the publisher part of the "teabot mobile" (the name given to the javascript app) and connect it to the subscriber part of the "teabot controller" (the name given to the processing sketch).

Once this connection is made the two are ready to send data to each other! Thats it, no web skills needed!

NOTE: The spacebrew "sandbox" server is a public server generously kept open to anyone that wants to experiment with spacebrew. This means that you will see other projects being worked on at the same time as you are. Practice the golden rule and only play with connections between your own apps.

Step 7: Putting It All Together and Running It

Now that all the moving pieces are together, try and run it! You will need to get creative and construct a ramp to get the tea bag and sugar cubes into the glass. You may need to create some walls on it in case the servo decides to really fling the sugar cube out of the sleeve. I simply used a piece of scrap acrylic taped to a panavise desktop vise.  

The video below shows the javascript file run from a private web server so it would be accessible via mobile phone. Note that despite running on a private web server, the javascript will still publish its data to the public spacebrew server.

For more information and tutorials on how to use Spacebrew for your projects, visit and be sure to download their libraries for arduino, processing, javascript and openframeworks. It is a powerful platform that is ridiculously easy to use! 

Enjoy your tea :)

Be the First to Share


    • Tiny Speed Challenge

      Tiny Speed Challenge
    • Spring Cleaning Challenge

      Spring Cleaning Challenge
    • Trash to Treasure Contest

      Trash to Treasure Contest

    8 Discussions

    Trike Lover
    Trike Lover

    5 years ago on Introduction

    Just for the record re: digital vs. analog electronics. As far back as the 1970's it was common practice in the amateur (ham) radio world to control remote VHF repeaters via DTMF touch pads on the local transmitter, and DTMF decoding triggering specific control functions on the remote repeater - in fact, this is still done in the present day. So, not only does analog technology, via wireless or wired connection, have the capability of multi-function remote control (some of it very sophisticated), but the hardware is available and "know-how" well-documented, in amateur radio publications. Similar technology was used for the same purpose in commercial service. Both are still in use in the present day.

    This is not to take away from the inventiveness or ingenuity of the control software and harware documented in this project, but simply to illustrate that a great deal of sophisticated control is possible with analog technology such as DTMF operated from locations widely separated from the device(s) being controlled.

    Either way, it's a most intriguing and unusual project. Congratulations and thanks to the author for this most interesting writeup.


    5 years ago

    Sorry but to Rube Goldberg
    for end product , my teapot
    works just as fast and better


    Reply 5 years ago on Introduction

    yes anywhere I am be it the high desert ,or Tundra,even the beach
    I can have Tea in a matter of minutes


    5 years ago on Introduction

    Now I know this might appear to be heresy .. But why is everything appearing to be Arduino based?

    I remember simple timers & displays using a 555 IC. Then there were relays & micro switches that could control motors.

    I am genuinely curious as to the progression that requires programming etc...

    Could someone Inform me? Thank you


    Reply 5 years ago on Introduction

    Hey ChefJohn,

    Yes, this could totally be done with analog circuits... until you get to the communication. The reason for adding the programming is to build in the web-based control. If you want to be able to control the tea maker from your phone/from a distance (the original intent of our project), you have to add in a little programming backbone to it.

    Best, Adiel

    Trike Lover
    Trike Lover

    5 years ago on Introduction

    Very interesting project. Not being caught up in the Arduino wave, I could not help thinking, as another person commented, that the same end result might be accomplished using other technologies. I believe a 555 IC circuit was mentioned, and certainly there are a lot of interesting things that can be done with those.

    But, being a quirky sort, I wonder: could the whole thing be made to operate using mechanical actuator perhaps even steam powered? It would be sort of an 1850's tip of the hat to the great British tradition of a pause for afternoon tea. A starting point might be a simple model steam engine, such as a Wilesco model, which has both boiler and engine. Cams and lever/spring linkages could be rotated slowly or actuated from a geared-down (actually, I visualize a rubber O-ring belt drive) "actuating disk, which would, at certain points in its rotation, trip levers via inset pins, or actuate cams, etc. Possibly a concession would have to be made by having the boiler electrically heated, rather than using the traditional spirit/wick burner, or solid fuel pellets. Boiler pressure need not be high, and of course it would be fitted, as the Wilesco models are, with a pop-off safety valve. The boiler would have to have enough excess water capacity to allow drawing off one cup of boiling water without running the boiler water level dangerously low, but that was mastered long ago on many different types of steam engines in full-size use. I think that the final touch might be to have a metal mesh net scoop out the teabag, and perhaps part of the same linkage could operate a valve running to a steam whistle, which would blow when the tea was ready.

    It would be an interesting challenge to see if this could be done, with the only electronic component the initial actuation by a servo tied to a networked computer, or having it simply start running when its phone number was dialed.

    Think of it as SteamPunk with real Steam!

    There is food, or should I say drink, for thought here. Luddites might not approve, but if you look at the historical record, an amazing number of interesting and creative machines were built from the beginning of the Industrial Revolution well into the 20th century, that used only steam power and mechanical devices. A quick look through the archive index of the magazine "Model Engineer", first published about 1903, shows literally hundreds of unique devices, either full-size or scale-model, or even scaled-down prototype.

    In the meantime, congratulations on a very ingenious idea. Even those of us without 3D printers could probably bodge up the parts using conventional fabrication methods.