Today was Raspberry Jam #8 in Milton Keynes. Originally Peter (@PeterOnion) who runs the jams at the National Museum of Computing (@tnmoc) at Bletchley Park, wasn’t sure whether there would be enough interest over Easter, but advertised it anyway, and all 40 tickets were sold – it was a packed house, lots of new visitors and also some familiar faces.
Peter generally keeps thing simple at the MK Jam’s, providing a space for people to meet, show off some projects, and share ideas. I think this is a great format because it means that everyone has the maximum time to mingle and look at demos and talk about ideas, and people often spin off into little sub groups and talk about collaborative projects.
Sometimes Peter invites people in to give a short demonstration or a short talk on a subject, and today Peter kindly gave me a small slot to talk about some of the work I am doing with after school STEM clubs and Raspberry Pi clubs. I thought I would go into a little more detail here, and provide some links for people to follow up on later.
I wanted to get this write-up overview on the web for the people who attended MKJam#8 quickly, so I have put some “watch this space” markers which will soon link over to other blog articles I have written or that I will be writing soon. I will notify on twitter when each article is published, so follow me on twitter @whaleygeek to learn about updates.
Dr Gill Clough (@GillClough) from the Open University was there too, and has also blogged about this jam from her perspective, which has caught all the other projects that were on show there:
STEM work in schools
I gave a little talk about the work I am doing in schools at the moment, which basically involves helping schools to set up and run after school STEM clubs with a Raspberry Pi angle. The club might be a general science club with a couple of Raspberry Pi’s, or it might be entirely a Raspberry Pi club. Both work.
Kids are quite inventive and come up with their own ideas quite quickly, but teachers are just so so busy, they need help from willing volunteers to get the Pi’s set up, to sit with the kids and steer them around a few minefields and to try to help them to focus and plan their projects. The kids love adults sitting with them and showing them “geeky tricks”, and you don’t need to know much about the Raspberry Pi and the command line in order to be seen as a bit of a guru.
The way to get into schools is to go via the “regional STEM contract holders”, of which I have put some contacts in the linked article.
School clubs also need help in putting together resources – especially things that kids can work on in the first couple of weeks of a club while they find their feet and work out what projects they want to work on. Sometimes just showing them a demo of something you have made is all that is needed to get them going – that’s how my doorbell project and also the dice game started off.
For those jammers that like building things, this is a good way to put your experimentation to good use – you don’t have to sign up through the full process and go into schools to do this, one member of the audience suggested he would be interested in building up experiments and resources that others could use, and I think this is a really good idea. Kids need the “beginnings of a project” that shows them how to do something, that they can use as a building block to
build something larger from. It’s a great way to get involved, even if you don’t actually go into schools yourself.
PiFace and the Doorbell Project
I recently bought a PiFace plug on extender card for the Raspberry PI, and in order to demonstrate the possibilities of this to some schools and give the kids ideas of things to build, I got it all working and built a little doorbell by using it with a small python program.
I demonstrated the doorbell at the MKJam#8 and this created a lot of interest. The main thing about the doorbell was that it showed people how it was possible to create a real functional product with not too much work, and it also provides a simple building block for kids to extend into bigger projects.
4 buttons on the PiFace are scanned by a small python program, to simulate various buttons and contacts. A relay on the board turns on an LED light which simulates turning the porch light on and off. 4 wav files are played through powered speakers plugged into the audio socket of the Pi, one wav file for each button. The python program is only about 10 lines long, but can easily form the basis of a bigger project.
[LINK:PIFACE DOORBELL - watch this space]
A dice simulator with the GertBoard
One of the kids at the Saturday Pi club I run is building a dice simulator. He has used a GertBoard to drive the LEDs and read the switch. 7 LEDs are plugged into a breadboard, and pressing the switch spins the dice, letting go of the switch causes it to slow down and stop on a random number. We hope to link this up to a small python web server that I wrote, to make the worlds first “web controlled dice spinner”.
[LINK:DICE SIMULATOR - watch this space]
A minimal Arduino
Another of the kids at the Saturday Pi club is working out how to build a tiny computer to fix inside an airfix model of the Starship Enterprise. The plan is to control up to 16 LEDs of different colours around the model, perhaps when a button is pressed.
We have been using the arduino chip that is pre-populated on the GertBoard as a way of building a little program to flash LEDs, and the Arduino development tools installed on the Raspberry Pi as the main programming environment. Not many people realise that the GertBoard has an arduino chip on it – this is great, because you can use the Raspberry Pi as a host environment to write your sketches and program the Arduino chip. You can then remove the chip and place it in your project.
As a side project from this, I have built a small minimal arduino on a bit of veroboard that plugs into the Pi to allow it to be programmed, and has 16 LEDs on the side. You can unplug it from the Raspberry Pi and run it off a battery, and this will be the basis for the electronics that makes it into the Starship Enterprise. I detail the wiring of this board and also some configuration settings you can change inside the chip so that it runs off of it’s internal RC (Resistor/Capacitor) clock, so you don’t even need an external crystal on the board!
I also had some people talk to me about the Arduino and how it compared to the Raspberry Pi. I think the Arduino is just as credible a platform as the Raspberry Pi and a great learning tool. I use both the Arduino and the Raspberry Pi, but for different reasons. The Arduino is great for small little control projects such as a robot or some flashing lights, whereas the Raspberry Pi is great where you want a bigger project such as something with a full screen and internet access. You can do this on both, but the Arduino is particularly suited to those building little device that need a really tiny control system.
I like to start people off with the “Getting Started with Arduino” book by Massimo Banzi, which is a great introduction for both kids and adults.
[LINK: A minimal Arduino - watch this space]
[LINK: Comparing Raspberry Pi and Arduino]
A number of people asked me about Python, and how they could learn it. The best book I have found to date is the Python for Kids book, because it is chunked into small digestible chapters that you can learn at a regular pace. It also has at the back two complete game case studies that you build one bit at a time.
I actually think this book is also good for adults to use, and you can treat it as a complete little course and work through it at your own pace. You could sit a kid (or an adult!) in front of a Raspberry Pi with this book and they would come out a good programmer by the end of it.
I am in discussions at the moment with the author of this book, and we are considering the option of collaboratively writing some small worksheets that can be used in Raspberry Pi clubs, so that the sections of the book can be worked through ad-hoc – when a particular project needs some python facility, the hope is we can hand out a small worksheet that gives you some reading to do from the book, a couple of “type in and try” examples for reference, and a couple of exercises to try.
[LINK:PYTHON FOR KIDS BOOK REVIEW - watch this space]
[LINK:A POSSIBLE SAMPLE WORKSHEET - watch this space]
A Raspberry Pi desktop on your PC
I somewhat hastily demonstrated that it is possible with standard technology to open up a whole desktop or individual windows from an Raspberry Pi on a PC, and I did this using a wireless link directly from the front of the room. There are a number of ways of remotely controlling a Raspberry Pi, such as an ssh login or using VNC – but X11 is my favorite as it is the most flexible.
I think given more time I would have liked to have explained this better, but you can read about how to set this up on my other blog article.
The Raspberry Pi club box
I was using my “internet in a box” at the jam, which is basically a really-useful-box with a wireless router, the necessary mains adaptors, a USB memory stick that is served out via an integral web server and ftp server, and a wireless client that connects to the room WiFi. Kids plug their Raspberry Pi’s into the 7 network switch slots on the top, I plug it in the mains, and they have an instant network with internet access.