Programming Languages

Hack the Pancake Stack: Running PancakeBot under Xubuntu Linux

21 Oct 2016 1:29pm, by

monkey2

The PancakeBot represents the latest in pancake making technology. It’s essentially a 3D (well, 2D) printer for pancake batter. It uses a microcontroller, steppers, a little vacuum/pressure pump, valves and an X-Y mechanism. It is a robotic and a physical computing device.

The New Stack uses the PancakeBot for promotional purposes at vendor/corporate breakfast events. Running the machine during an event helps break the ice with attendees and serves as an attention grabber. It also fosters a metaphorical connection between an emerging technology, printed pancakes and the software/hardware stack of topics we cover at The New Stack.

Are printed pancakes Earth-shattering, revolutionary tech? Possibly. You must admit that it’s certainly innovative and thought-provoking.

My editor thought it would be interesting to figure out ways to hack the PancakeBot. As The New Stack’s resident Hardware Hacker-in-Chief, Yours Truly got the job. Naturally, the first order of business was to put it through its paces under Linux. That’s what we’ll do today. We’ll stack the PancakeBot on top of Linux, which has it’s own layers of geeky, if not edible, goodness.

Future articles will explore additions, mods and hacks that I dream up for the PancakeBot. Maybe there’s a way to build an automated pancake flipper. Or, could we transfer the G-code files from the Pancake Painter program to the PancakeBot, wirelessly? What interesting features could we invent if we connect a Raspberry Pi, an Arduino or an ESP8266 to the PancakeBot? Free association is crucial to inventing and modding gadgets.

The machine is sitting in my lab, and I have been given open license to hack it.

First, let’s see what it takes to get the PancakeBot up and running with Linux.

Linux Setup

My nearly-antique ASUS duo-core notebook runs Xubuntu 14.04. It’s pretty much a standard issue 14-inch machine, with 4 GB of memory and a 750 GB hard-drive.

It’s no big feat to download a pancake design or even draw your own, using Windows or a Mac and copy it onto an SD card. You can then plug the SD card into the PancakeBot and print out your pancake.

Sadly, Linux isn’t officially supported for the PancakeBot, just yet. What that means is that if you want to create your pancake designs, you’ll have to go to GitHub, clone the programs to your Linux machine and run the Pancake Painter program from the source.

The good news is that it isn’t very hard to get working once you know how. We’ll use the command line.

First, make sure node.js and npm are installed on your system. I used the Synaptic software manager although you could just as easily install it using apt-get.

rob% sudo apt-get update
rob% sudo apt-get install nodejs

Npm is loaded when you install node.js.

Next, clone the PancakeBot Painter program repository, from GitHub down to your Linux machine.

rob% git clone https://github.com/PancakeBot/PancakePainter

Once you’ve cloned the repository to your machine, cd into the PancakePainter directory.

rob% cd ~/PancakePainter

Execute the npm install command with the force option using sudo, so it pulls in all the dependencies.

rob% sudo npm install --force

After the installation completes run the program using npm, from the Pancake Painter directory.

rob% npm start

Using The Pancake Painter

Pancake Painter Program Running Under Xubuntu Linux v.14.04

Pancake Painter program running under Xubuntu Linux v.14.04

Once the Painter program starts, you’ll be able to either load existing prints or create new ones. Existing prints are found on the PancakeBot website, under the “Print Designs” tab. I downloaded a few prints from the “characters” menu item.

If you want to draw your own prints simply grab the “squeeze bottle” icon and use the left mouse button to lay down your batter. There’s also a batter fill icon. Choose one of the four color buttons to change the batter shading, from light to dark.

You can also trace pictures with the batter. Use the “import image for tracing” icon (next to the big arrow) to place a picture on the griddle. Grab the highlighting box to shrink or expand the picture or rotate it on its axis.

Use the big arrow, to grab a line or shape and move it around on the screen. If you highlight something on the screen, hitting the Del key will make it vanish.

Although the Painter program is pretty basic, it offers enough features that you’ll be able to create some pretty interesting prints. Just poke around a bit, and you’ll get the hang of it.

Once you’re happy with your drawing, it will need to be translated into G-codes before you can print it on the PancakeBot. Use the “export for printing” selection item under the File tab and choose a directory where to you want to save the G-code file. Give it a name that makes sense.

G-code File to the SD and the Printer

Once the G-code file is produced, copy it onto a standard SD card. Use a blank card to keep things simple and make it easy to find the print on the PancakeBot’s LCD screen.

Next, heat up the hot plate, start the PancakeBot by pushing the power button and plug the SD card into the slot.

Use the ||> button, then the Up and Down arrow buttons to scroll through your files. Push the ||> button again to start the print. The little progress bar will move from left to right to show how much more time it will take to print. When the progress bar goes blank, flip the pancake over to finish on the back side.

Tips and Tricks

The owners manual has a lot of information on using the PancakeBot.

Printing a pancake is certainly a black art and will take a little practice to get great results. For example, the first print my daughter and I did came out as a big blob because we mixed the batter a little on the thin side. We remixed regular store-bought pancake batter a little thicker the second time, and it came out much better.

Three variables affect the details in the pancake.

  • The thickness of the batter.
  • The temperature of the hot plate.
  • The setting on the pressure dial.

You have to juggle those three for the individual prints. In the case of the Eiffel Tower, a fairly simple drawing, it was pretty easy to dial in the proper settings. Results were pretty consistent when printing the same image multiple times, in a row.

Simple Eiffel Tower Print

Simple Eiffel Tower print

I printed a couple of pancakes that were large/multi-layered images, and they came out OK. The more complex the print, the more tweaking you’ll probably need to do.

If you want to see PancakeBot in action, keep an eye out on our Twitter feed for events near you, or conferences we may be attending. Next up: OpenStack Summit, Barcelona, October 27:

barcelona


A digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.