New Pi-Kitchen recipes!

Posted: December 18, 2014 in General, Pi-Kitchen, Raspberry Pi


The Pi-Kitchen has been progressing exceptionally well, and I can introduce some new recipes to the cupboard:

000-NOOBS Setup

This recipe will allow easy setup of the NOOBS configurations and allow you to switch between GUI based installs and automatic ones, as well as selecting which custom flavour you want to automatically install.  It also provides a way to quickly add the standard set of Pi-Kitchen flavours to a new clean NOOBS card.

It’ll even allow you to pre-select the display output NOOBS will use (although NOOBS 1.3.10 has a bug which ignores the video setting from the cmdline file, this should work for other versions of NOOBS, including any new ones).

For more details see…Recipe: 000-NOOBS Setup


This is a recipe which will allow a huge amount of customisation to your setup.  Enabling scripts to run on first boot (for automated installations etc), scripts to run on start-up and a run-once option (for installations which need user input) this recipe will be very useful.  It even allows scripts to be automatically from from the RECOVERY partition (so you can drop files on there from windows and they will run next time you boot your Raspberry Pi).

For more details see…Recipe: 001-Startup

002-Boot Display

This allow you to pre-set a number of display settings (and other settings) which are set in the config.txt file of the boot partition.  This includes a script, which allows easy changing once installed on the Raspberry Pi.

Note: This also fixes the forced HDMI settings which NOOBS 1.3.10 adds, even when composite video out is selected.

For more details see…Recipe: 002-Boot Display

003-Direct Network

This implements a recipe which allows easy setup of a direct network connection between a PC or Laptop and the Raspberry Pi (including sharing the PC’s Wifi network connection).  Once you have your configuration setup, you can install and connect to your Raspberry Pi, right out of the box.

Laptop connected to internet via WiFi, share Wifi using ICS with Wired Connection, use Wired Connection address as Gateway (and part of RPi IP address).

Laptop connected to internet via WiFi, share Wifi using ICS with Wired Connection, use Wired Connection address as Gateway (and part of RPi IP address).

This also includes a script to change configurations and to select standard network settings (as required).

For more details see…Recipe: 003-Direct Network

Lots more on their way! :)

A workshop later…

Posted: December 1, 2014 in General

I’ve been progressing well with the Pi-Kitchen, however I put development on hold for a week while I got ready for the @Bristol Digimakers event.

Python Pirate Digimakers

Python Pirate Workshop for Digimakers November 2014


The workshop had a pirate theme, although the plans went well, the workshop was far too long to fit comfortably in the allotted hour.  Added to the lessons learnt, I know to adjust things next time.  I think everyone enjoyed it anyway and many thanks to all that came along, it was a fantastic day.

However, I hope the workshop materials will make a good on-line resource, details of which are now available:

Lessons -> Pi-Stop Workshops -> Legend of the Python Pirate

It provides details on running it as the full workshop (which had simulated lighthouses displaying the signals) as well as a version which has all the signals and codes ready on the treasure map so you don’t need the lighthouses.

Kudos to those who already knew all about Morse code too!  Very impressed.

Set-up of the workshop was greatly helped by having the Pi-Kitchen on hand to automatically set-up the four lighthouses with preconfigured scripts running on power-up (details will be in the next recipe..just a few tweaks to be made first).


Also, the majority of this Raspberry Pi Python workshop was written using an Arduino Nano…one loaded with Brian Lavery’s Virtual GPIO, which allowed me to write and test the Python scripts directly on a PC.  The same Python scripts can then be run on a Raspberry Pi without any modifications!

Arduino Nano + mini-USB + Pi-Stop + Laptop = Easy Development!

Arduino Nano + mini-USB + Pi-Stop + Laptop = Easy Development!

The only difference to a standard Raspberry Pi Python script is shown below.  This detects if the RPi.GPIO module is available or not and allows us to set different pins as necessary.

  VIRTUAL = False
  import RPi.GPIO as GPIO
except ImportError:
  VIRTUAL = True
  print (">>>Entering Virtual GPIO Mode")
  import virtGPIO as GPIO

  LED=[4,3,2] #RED, AMBER, GREEN
  # Model+ P1
  # 2[=========XGYR]26
  # 1[=============]25
  LED=[26,24,22] #RED, YELLOW, GREEN

Very useful!

The last few weeks I’ve been very busy working on a new concept which I’ve been using for months.  The groundwork is now in place and I’m ready to start sharing some of the results.  I hope that people give this a try and find it useful (I know I have and is now something I use all the time).

It also lives on GitHub, so I hope it will also grow as others submit their own recipes.


Introducing the Pi-Kitchen

Have you created that perfect setup on your Raspberry Pi and then needed to update or reinstall your card?

Ever wanted to share your creations with others without having to go through all the trouble-shooting that typically comes with it?

Would you like to be able to use the same setup over and over without needing to clone SD-Cards?

Do you want your Raspberry Pi SD-Card experience to just be simpler right from the start?

Well, welcome and come into the Pi-Kitchen!

The aim of the Pi-Kitchen is to provide a new way to customise and build your SD-Card even before you power up your Raspberry Pi. It should allow you to bake your own bespoke installation which is ready to go right off the first power up, up to date and fully loaded with whatever you desire.

The Pi-Kitchen Concept

The overall concept for using the Pi-Kitchen is to provide a wide selection of “ingredients” from which you can select and include in your very own special “recipe” for your own perfect SD-Card.

In theory, you will be able to mix and combine the various ingredients (=a particular feature/setup) with other ingredients, to create that perfect blend of special spices to go into your recipe (=your desired setup).

The key difference to the standard method of building custom images is the that source files (the ingredients) are kept separate to the installation (the recipe). This means we are free to mix and combine them how we wish.

Since NOOBS supports the installation of flavours we can (if we want to) create a range of flavours each using a different recipe, all drawing from a common set of ingredients.

The Pi-Kitchen works using standard files making it easy to edit, adjust and re-configure your setup (even from OSX/Windows or directly from your Raspberry Pi). Of course once you are happy, you can also tar-ball (compress) everything as desired into a single package.

How does it work?

The Pi-Kitchen uses a small modification to the scripts used by NOOBS to perform an additional step in the installation process, allowing us to inject our own files into the final installation (without having to edit the standard images or create custom flavour images).

In the most basic setup, we replace one file in the standard NOOBS install, and then just add the files we need.

With thanks to…

A huge thanks to Kevin Hill who created NOOBS-config which performs the magic, and has kept modifying it to fit in with my ideas/plans for it.

Also thanks also goes to the NOOBS team (Andrew Scheller etc) who created NOOBS in the first place.

NOTE: We do allow the Pi-Kitchen to break the golden NOOBS rule about not messing with the recovery partition (and in some cases we are actively encouraging it) so these methods will probably remain outside of the standard NOOBS system.

What can the Pi-Kitchen do?

By using this very simple idea, we can perform lots of exceedingly useful operations:

  • Injection of network and WiFi settings so we can have full networking and remote access enabled immediately.
  • Automatically enable the settings for a direct network cable link to use the Raspberry Pi with a laptop/PC
  • An automated install script which we can trigger on the first power up of the Raspberry Pi following the NOOBS installation (so we can install SAMBA, VNC etc as needed)
  • Enable a bluetooth keyboard to work on the first boot
  • Automatically run background scripts to check for and respond to attached hardware (such as hardware buttons)
  • Build stand-alone projects which can be quickly deployed by selecting a specific OS flavour
  • Possibility to setup scripts which automatically run on start up
  • Option to setup mapping of data and recovery partitions automatically
  • We can create a range of different flavours which then can install a unique combination of ingredients (=a particular feature/setup). For example, you could create one flavour for a workshop and another flavour which runs an automated demonstration of the workshop as soon as it is switched on
  • Create installations which can be run without a network but can be easily updated when required.
  • Pre-load the installation with relevant data-sheets, resource materials or web-links.
  • Ability to share and develop common ingredients with others.
  • and probably a lot more we’ve not tried!

The bonus is, that once you have got something setup and working, you don’t need to keep doing it each time you create a new installation or perform clean install.

Get baking!

Take a look in the subsections for examples and ideas, and bake your first SD-Card.

Pi-Kitchen: Getting Started – explains how to setup a very basic Pi-Kitchen setup and how everything works.

Pi-Kitchen: Creating Flavours – explains how to extend your setup to use flavours, expanding your Pi-Kitchen to support multiple setups.

Pi-Kitchen: Automatic Installations – explains how to configure the Pi-Kitchen to perform an automated install of your preferred setup.

Recipe 001 – Direct Network – The first recipe for the Pi-Kitchen finally provides an out-of-the-box direct networking solution (based on the Super Easy…Direct Network Connection guide).

I will have a Quick Start guide coming very soon too, as well as lots more of the recipes I’ve been using on my own Raspberry Pi!

Also don’t forget to let me know how you get on.

UPDATE: The Pi-Kitchen: Quick Start is now available too!

Custom Markdown Conundrum!

Posted: October 13, 2014 in General

Greetings all!

I’ve been very busy working on the development branch of the Pi-Stop github recently trying to crack the issue of providing customised Markdown documents.  I wanted Markdown documents which can be reconfigured quickly and easily for specific workshops and to allow me to automatically generate versions which I can drop on to the website.  This isn’t supported as part of Markdown, so I had to get a little creative!

If you take a look in the bar above you will find a whole new section under the Lessons heading called Pi-Stop Workshops (I’ve moved all the RGB-LED Lessons into a sub-section too so we can stay organised).  These are all generated directly from the github Markdown files!

I’ve created a way for the source Markdown files to be edited and adjusted but still allow optional/custom sections to be included, as well as support for inserting external links for the images.

I’ll not bother going into the detail here, since I’ve documented how it is done in the github (see the document).  Currently, the file generation is only supported on windows at the moment, but if anyone wants to use it on Linux/Raspberry Pi then let me know and I’ll create some suitable scripts.

This means all the workshops and lessons can be written once in a simple Markdown editor and then all the various variants automatically generated (including a web_version to be posted to the website).  The files can also be easily adapted for a particular event or a particular school as and when required.

Let me know if you use the workshops and let me know if you have any improvements you’d like to see added!


My little girls go with the Pi-Stop and the Traffic Light workshop Great work!

Pi-Stop – Updates, new materials and a new product!

The Pi-Stop and the Pi-Stop Stands are now available from the 4Tronix website.

The Pi-Stop

Pi-Stop Support for “Plus Models”

The introduction of the model B+  (see my previous post “Fresh Pi” for more details) conveniently adds two additional locations for the Pi-Stop, which we will call Location A+ and Location B+.

New Pi-Stop “Plus Model” locations

Pi-Stop “Original Model” locations
You will notice that Locations A to D remain totally unaffected, so you can continue to use the same guides and examples on any model or variant of the Raspberry Pi.

New – RGB-LED and DPad “Plus Model” Support

I’ve now updated the user manuals and guides for the RGB-LED kit and the DPad Kit so “Plus Model” users can easily connect and use them. The kits are fully compatible with ALL variants of the Raspberry Pi.

Pi-Stop GitHub Updates

I’ve updated the Pi-Stop Git Hub workshop files to include details for both models:

In the development branch I’ve started to experiment with a special method of customising the markdown pages, this will allow me (and users) to create easy to adjust workshops and smooth out the process of publishing the workshops both here (or if anyone else wishes to publish them) and on GitHub.

New Guides

I’ve been busy thinking up some great new ideas for some more workshop materials, including some with Pirate and Secret Agent themes!

Of course I would welcome any additional feedback on the current materials too. If you use them let me know how you get on!

And finally…

We also have a little surprise from the 4tronix foundry…

4Tronix PiStop Road Crossing preview!

4Tronix PiStop Road Crossing preview!

Looking forward to writing some guides and tutorials (and games!) for it.

Fresh Pi

Posted: September 7, 2014 in General

Fresh Pi

The summer also saw a new iteration (or “evolution” as the foundation calls it) of the Raspberry Pi.  The Raspberry Pi Model B+ is an incremental improvement to the older Model B (a Model A+ version is due later in the year).

The Register provide an excellent review explaining the new changes.

Improvements include:

  • USB ports increased from 2 to 4 (thanks to new version of the combined LAN/USB hub chip)
  • Replacement of the 3V3 linear power supply with a switch-mode supply (around 30% power saving) – users of my 5V Switch-mode PSU will be well aware of the advantages!
  • Rewiring of power links (so USB hubs will no longer back power the Raspberry Pi)
  • The 26 pin P1 header has been extended to 40 pins (the first 26 pins are identical to the original version but add-ons which fit directly on to the GPIO header may have problems fitting) – ALL of my add-ons will work exactly the same with the Model B+, simply wire them to the top 26 pins.
  • Looking closely at the GPIO pin functions there is also an additional hardware PWM (which is extremely useful for directly driving servos).  By having two hardware PWMs it is dead easy to add a servo controlled tilt AND pan fixture for the Pi-Camera!
Dual servo Tilt and Pan camera/sensor mount - typically this would need two PWM outputs to control

Dual servo Tilt and Pan camera/sensor mount – typically this would need two PWM outputs to control (now available on the Model B +)

  • The composite video connector has now been combined into the headphone audio socket, it will function as a standard audio socket but with a suitable 3.5mm audio-video cable you can continue to use the composite video out as before.
  • External connectors moved to two sides – which means you can mount it inside something a lot easier (fit it into a corner and all the ports will be on an edge).  Although it does mean you will need a new type of case (which is fine since you probably already have a RPi to fill your old case).
  • The full size plastic SD-Card slot has been replaced with a metal micro SD-Card slot.  Since the SD-Card slot has been a particular weakness of the original Raspberry Pi this is great news.  If your collect of SD-Cards are full-size ones you will have to get hold of some new micro SD-Cards – thankfully the price of an 8Gb micro SD-Card has dropped since the Raspberry Pi was first released so this shouldn’t be a big issue.

Image from (I have to borrow the image since I’m yet to get a Model B+ of my own)

There is also a great detailed look at the NEW Model B+ at RaspTV : Raspberry Pi Model B+ Launched Today

I’ll be updating the guides and lessons to ensure that Model B+ users will be 100% clear how to connect the add-ons.

UPDATE: I’ve now updated the user manuals and guides for the RGB-LED kit and the DPad Kit so “Plus Model” users can easily connect and use them.  They are fully compatible with ALL variants of the Raspberry Pi.

Old Hat? New H.A.T.

One particularly interesting feature is HAT (Hardware Attached on Top) which will allow Model+ add-ons to identify themselves to the Raspberry Pi allowing automatic configuration of any drivers or programs when different hardware is connected.  HAT is basically a I2C interface (via Pins 27/28) which on a HAT board will connect to a I2C EEPROM (which will contain vendor info, GPIO map and valid device tree information).

Note that HAT is not compulsory and would make little sense on smaller less complicated boards, however it should take the pain out of more complex add-ons such as screens and digital sound-cards for example.  Potentially you could create an entire system which through HAT will be configured to function as soon as it is connected.

Gert’s great VGA surprise!

Revealed only yesterday, Gert-Van-Loo (a truly excellent guy without which the Raspberry Pi may have not made it without his hardware skills), a new add-on for the new Model + Raspberry Pi which provides VGA output.

Through some clever electronics and cunning use of the additional GPIO added on the Model B+ (so this VGA add-on will NOT work for non “plus” models), Gert has been able to provide native VGA output (i.e. full GPU output, no CPU loading, 1080p/60 and dual screen with HDMI).

The best part is his has said it will be open-sourced and the components required are incredibly basic so it should be nice and cheap too!  A good reason to keep hold of those VGA only monitors and LCD screens, this should help out a large number of schools.

The not so good news though is it uses all but 4 of the GPIO pins…so we shall have to see what hardware we can support while using the VGA output.  You can be sure that we will find a way to still use hardware with it, one way or another!

More details from RaspTV : VGA for Pi Debuts at CamJam, alongside HDMIPi production model No. 1

Welcoming in the NEW!

Posted: September 5, 2014 in General

Well the summer has come and gone very quickly and September has flipped over on the calendar far too quickly.

Back to School

With September we welcome in the academic new year, millions of children starting in new schools, new classes and with a brand new curriculum.  2014 brings in the latest incarnation of the “Computing” curriculum which promises to replace the outdated ICT (Information and Communications Technology – aka how to use MS Office) with a new focus on programming.


Image thanks to (user stockimages)

Image thanks to (user stockimages)

A good explanation of the new curriculum can be found on the Guardian website.

This long overdue change is one which has been championed by the Raspberry Pi foundation which have not only provided a home computing platform for children (and adults) but have spent a huge amount of resources adapting its use for the classroom.

They have also been busy providing expert training at their very own Pi-Academy.  The Pi-Academy is a 100% free CPD (continuous professional development) available for teachers in the UK – and being FREE means not only do teachers get top quality training but it leaves more funds available to actually buy equipment to make use of the training.  The next session starts at of the end of September, swiftly followed by another in October!

New resources for the Raspberry Pi in school

Be sure to check out the new Teacher’s Guide to using Raspberry Pi in the classroom created by the foundation (although I feel that the MagPi magazine should be highlighted as a huge resource of information for schools, teachers and pupils).

Also don’t forget the Pi-Stop github which has  ready-to-go workshop materials for use with the Pi-Stop (or with some adjustments, any other traffic light type add-on or hardware – such as my Breadboard  & Components Kit (Chapter 6)).


Create your own traffic lights, just waiting to be programmed!

Create your own traffic lights, just waiting to be programmed! – using the PiHw breadboard and components kit 

There are two particularly awesome projects which if you are running a school, class-room, club or even a few Raspberry Pi at home should be particularly useful to you…

1. Raspi-LTSP – Raspberry Pi Linux Terminal Server Project

This is a full set-up suitable for running a large number of Raspberry Pi computers, complete with centralised user management, a single shared operating system and management of study tasks.

Ideal for a school set-up as each Raspberry Pi only requires a minimal boot SD-Card (which doesn’t even need to stay inserted in the Raspberry Pi once connected – so only a few cards could start a whole classroom).  The Raspberry Pi will connect to the central server and load a copy of the master image (a typical Raspbian install) via the network.  The pupil will login with their own personal details and have access to their own profile (no matter which Raspberry Pi or SD-Card they were using previously).

Compare this to a class-room of standalone Raspberry Pi computers, each with their own SD-Cards which (if not painstakingly re-imaged and set-up each lesson) soon become a mess to handle (and that is without needing to consider how you keep pupil data safe and accessible from lesson to lesson).

As much as I love the idea behind this concept it is probably overkill for my uses in workshops (for now – although it would be an excellent workshop in itself) but I would love to hear how others are getting on using it or are interested in using it.

2. Noobs Config

 This a fantastically useful variant of the official NOOBS set-up, it just needs a single script replaced from the standard NOOBS scripts to enable it.  From then on, you can take any of the standard images supplied with NOOBS and use the Noobs Config method to insert files/configurations automatically as part of the imaging process.

To put it simply…this is VERY powerful and incredibly useful!

NoobsConfig by procount

NoobsConfig by procount

I’ve experimented extensively with this set-up and produced excellent results, from a single image I can select from multiple custom flavours which can automatically install all my preferred programs, settings (including WiFi settings, menus, start-up scripts) or even automatically running demonstrations on power-up. I’ve even used it to provide workshop attendees with images which are pre-configured with my workshop materials and all the required installations ready completed.

Noobs config has the advantage over the standard flavours methods supported by NOOBS as you don’t need to keep repackaging all the files.  Noobs config allows you to construct multiple set-ups directly from the files you place on the SD-Card (allowing common settings to be shared between set-ups seamlessly).

One particularly handy set-up allowed scripts to dropped onto the SD-Card from a Windows or Mac computer, and automatically run when the Raspberry Pi is powered up.  Combined with a basic hardware shutdown button (which can also be automatically added to the config), this would allow simple Raspberry Pi hardware programming without the need for a screen!

For the home user with one or more Raspberry Pi computers in the house, it makes it very easy to set-up and reinstall SD-Cards without needing to go through the painful manual configuration process.  You can have a brand new clean image built in a matter of minutes, which is tailored completely for your needs.  Once you get in the habit of adding anything useful to your configuration, you’ll soon wonder how you managed before!

I’m going to continue experimenting with these various set-ups and share a few how-to guides on how to do it yourself.