How to build your own Recipe Dshini

Blog_recipe-dshini_1This beautiful object is the result of our latest In-House-Creative-Fun-Project at mediaman Germany: the Recipe Dshini. It is an Arduino driven, database enabled, built-of-old-parts, easy-to-use, retro-steamy, Wallace & Gromit-ish recipe printer — FTW!

The idea started here: After a long day at the office many of us seemed to have the same 3 basic problems:


1. You are hungry.


2. Your fridge is empty.


3. You don’t have a clue what to buy for dinner.

So, wouldn’t it be great to have a little printer thingy that provides easy recipes on-the-go based on some low-level parameters?

Yes it would, indeed! So we put our heads together and started working on

  • a little concept and a recipe collection
  • building up a database and connecting it to the Arduino board
  • soldering circuits and solving network and energy problems and
  • constructing a nifty shell for the Dshini.

The parameters: rational and emotional dials

The concept consisted of finding parameters that make it easy to choose what kind of recipe the printer will give you. We decided to build two dials with rational and emotional parameters and a button to start the printing process. The rational dial has the parameters “vegan”, “vegetarian”, “fish” and “meat” — the emotional dial has the parameters “exotic”, “solid”, “mediterranean”, “light”, “basic” and “surprise”.

As we wanted the project to have dynamic content, we built a little database to be able to add more and more recipes and to outsource parts of the logic. Our developers came up with a little frontend to make it a little easier for rest of us to feed the database with the recipes.

The LAN communication between the Arduino and database was easy to set up: The Arduino sends the parameters of the dials to the database and waits for a random recipe to print.

The correct encoding of what we in German language call “Umlaute” and some other characters was a bit tricky.Blog_recipe-dshini_5

We knew that the printer was able to print all the characters we needed and the solution was a transcoding from UTF8 to CP437. As the printer is also capable of printing pictograms, we added our company logo combined with a “Guten Appetit” to be printed at the end of each recipe.


And to have an interaction feedback, the Recipe Dshini cycles through 5 lightbulbs at the top of the body while printing and beeps when he finished the printing process.

We wanted the light bulbs to cycle while the whole communication and printing process is happening: As the Arduino is not capable of true multitasking we had to create a loop which does everything bit by bit, one after another.

Pick up the Arduino sketch by Olli Christ and me and a little .php which is part of the whole logic right here.

By the way: We are using an Arduino Mega 2560 and an Arduino Ethernet Shield. The LAN connection is established via a Devolo DLAN adapter — so the only cable you see coming from the Dshini is a power plug. The Printer is mounted heads up at the bottom of the case to be able to access it easily from outside.


In his former life our Recipe Dshini was a simple fan heater (by “Fakir” coincidental). We saw this little fella at an antique shop and instantly fell in love.Blog_recipe-dshini_8

Working on the Dshini was true fun and the collaborators were: Marle, Stina, Steffen, Heiko, Michi, Alexandra, Thomas, Tanja, Jan, Olli, Steven, Nina, Florian, Michael, Michaela, Josephine, Claudia and Sara. Thank you all folks!

And now — see the Recipe Dshini in action:

Why build a physical object? Because it’s fun!

You may be asking: “Why the heck a physical device when you can build an app with more functionality in no time?”. For us, this project was about playing around with ideas and creating a (very) unique user experience. We did not want to limit ourselves to a specific technology or plattform from the beginning. It is true, that there are several apps on smartphones out there, capable of much more than what we are doing with the Recipe Dshini. But smartphones do not necessarily feel natural although manufacturers try to convince us otherwise.

In many cases an object that provides physical interaction (like actually pushing a button) grant us a natural understanding of how to use them. It’s more immediate. It’s like feeling at home in a physical world which can be navigated by anyone without the need to learn virtual interfaces first. Compared to looking at a little glass screen, there is definitely more joy in seeing the Dshini’s little lamps blinking while it’s printing a recipe just for us.

This article is also published on with a few more technical details and images — if you want to know more: stop by!