Bake A Fresh Raspberry Pi: Never Struggle To Configure A Pi Again

[David Ferguson] has put together a nice little tool called Pi Bakery. Half MIT Scratch, half configuration utility, it puts a nice visual face on all the various start-up scripts, and kludges that the Raspberry Pi community uses to configure the popular single board computer.

Raspberry Pi’s are a little weird. They mostly get crammed into the slots microcontrollers used to live in. The nice part about microcontrollers is that they just turn on and start going. There’s no OS to boot. No file system to mount. Of course the downside to microcontrollers is often that there’s no OS to boot and file system to mount. Regardless, mostly you’ve got to spend a bit configuring a Raspbian install before a Raspberry Pi really starts to encroach on the microcontroller’s territory.

Pi Bakery abstracts all this. You can drag blocks, representing scripts, in the order you’d like them run. If you want to your Pi to boot up, connect to WiFi, and then start a VNC server it’s as easy a dragging the blocks in the right order and filling in the blanks. You can see an example of it in operation in the video after the break.

21 thoughts on “Bake A Fresh Raspberry Pi: Never Struggle To Configure A Pi Again

    1. This is by far the most requested feature, and will be in the next major release of PiBakery. Make sure you’re following @PiBakery on twitter so you know when I release it!

      1. Are there any plans to add a wired network block, that basically just modifies /etc/network/interfaces ?
        I’m currently using two run-commands to set a static ip temp but on each boot, until i can ssh in and do it by hand.
        A block to set an interface, and choose disabled/dhcp/static with boxes for all the static options would pretty much allow for a complete network setup all within pibakery

        1. I would love to add a block that does this, and many people have requested this (or something similar), but I’ve actually found it quite hard to get working. Maybe it’s just my (admittedly overly complicated) network that I have that’s causing an issue, but I’ve never got static IPs to work with a Pi. If you’re (or anyone else reading this!) knowledgable about this, feel free to create a pull request on the block repo on GitHub ( and I’ll add it into PiBakery!

    2. Many of the ffunctions (‘ingredients’) it uses only work with the distribution it has installed. CHANGE the distribution and the locations for key files move.

      I’ve been using it for a ltitle while and it’s half way near what I want, but it would be even better if it had an ingredient for uninstalling default applications, especially if they were in a drop down box or a tick boxes.

      If that happened i’d be a lot happier knowing I could make a recipe for a specific project and it will fit on a 4gb card once the Junk is removed.

      1. Currently you can use Raspbian Lite, which obviously has all the bloatvremoved and fits in a 4gb sd card. You can also use the “Run Command” block to uninstall programme and delete files if you wish.

        1. The lite version is too light for a current project for me however I didn’t think of using the run command option. Despite of the (my) perceived shortcommings this should be the default installation path for all users instead of Noobs. It gives the best installation options and has the greatest flexablity availible.

  1. Pretty cool concept, but I wonder why he didn’t make it as a purpose built wrapper around something like saltstack? With that all the abstraction of the OS gets taken care of for free and is battle tested, rather than starting from scratch and writing a bunch of scripts to change configs.

    1. All the changes that I made to Raspbian can be found on GitHub – and if you’re running Linux (may also be possible on Windows, but I’m not sure) you could mount the standard raspbian.img and then the pibakery-raspbian.img and then do a file difference check.

      The only “vulnerability” PiBakery creates is a script on the /boot partition of the SD card that’s executed as root on boot. Obviously, this script can only be edited by root when it’s mounted by the Pi, and although it can be modified by anyone if they take your SD card and put it into their computer and mount the /boot partition, but if you’re working on something where security is vital, and someone’s able to get hold of your SD card, I think you have bigger issues!

  2. Super thanks for sharing my video guys, The dev of this software really deserves the shares. It’s a life saver for sharing builds or just backing up setups. There new version has some of my issues listed fixed. I love this site and am very happy to have something I reviewed shared!. Thanks guys

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.