Liz: A little while ago, we had an email from Alan Herbert, who helps run the Boreatton Scout troop. The troop had been hoping to get their hands on a Raspberry Pi but hadn’t been lucky with the first batch. They’re a pretty special troop, who have a real affinity with things technological; they’ve been busy winning robotics prizes and building rockets, and we decided they were just the sort of kids we wanted to see get an early start with the Raspberry Pi. We warned them that the software stack isn’t complete yet, and that there would be bugs in there which are being ironed out in time for the educational release – in particular, we’re working on X drivers at the moment to speed up scrolling and so on, which can make things aggravatingly slow for some, but Alan assured us that they’d be able to work around any problems.
The scouts have had their Raspi for a just under a month now: I asked Alan if he’d write something for us about how they’ve been getting on, and he’s really gone to town on it. An enormous thank you to Alan and all the scouts – we hope to feature more of what they’ve been up to with the Raspberry Pi as they develop their mind-control robot project. (And be sure to read down to the end, where there’s some video from some of the scouts on what they’ve been doing.)
My scout troop likes doing science projects and competitions – I think most kids do if they have an enthusiastic leader or teacher – and they take part in the First Lego League robotics competition. This year they did well and won their Regional Finals at Manchester University, and went on to win the National Finals Robot Design Prize at Loughborough University. We were chosen as one of the teams to represent the UK at the European Open Championships in Germany in June. Part of the competition is a research project, and the scouts have been busy experimenting in ways to preserve raspberries (see the connection coming!), so my house is filling up with bottles of gases for controlled atmosphere packaging, raspberries pickling in Coca-Cola and generally lots of raspberries in various states of decay! In the international competitions we want to show off some cool Lego-robotics ideas in our base camp, and we started planning what to do just as the Raspberry Pi was launched. Perfect! Especially as, although we missed the front of the queue to buy one, Liz at the Raspberry Pi Foundation liked our idea and sent us one of the very first!
So how have we got on? It’s great! The scouts love it and are very proud to be part of the community that is helping test and develop the Pi.
With all our techy projects, it is important to have a goal and to know what we want to do. That’s easy – we want a mind-controlled Lego NXT robot that is portable and independent of big bulky wired computers, and the Raspberry Pi looks just the job. We want it to be fun too – if it’s a computer then it must have some good games too. That’s what computers are for, right?
So what do we need from the Pi? It needs to do the basic computer things – internet, games, PowerPoint, more games…and it needs to look cool!
Putting it together
First things first – we made a Lego case! It is our Raspberry Pi now! The case is quite easy: the Pi fits into seven splots by eleven splots, and to allow for the the USB and LAN ports we need it to be three bricks high.
The SD card operating system download now has good detailed instructions. We bought a cheap Sony 8Gb SD card from Maplin, and had no problems once we remembered to resize the partitions after copying the image. We decided to use a old BlackBerry 700mA charger; an mini-USB, light-up keyboard; and a mini light-up mouse; all connected to a newish LCD TV through HDMI. Everything worked right out of the box (our new Lego box that is!). Wired LAN worked right away, and we were on the internet.
Because the software is still in development, it is very slow at the moment! You need patience when browsing in LXDE windows through Midori. I guess it is important to realise what you are trying to do with the Pi, and it you want a netbook or a laptop – that’s not the Pi. But you do need to be able to connect to the internet, and we needed to be away from the wired LAN which is in a room that we can’t devote to the scouts. This is where we ran into problems – the nano-usb WiFi dongles didn’t have drivers available that I could find in Debian, and nor did the full size D-link 54G dongle, so we took the tiny WiFi dongle back to Maplins and exchanged for a Netgear N150 full sized dongle that had been shown to work.
Not for me! Everything worked as per the instructions on the Raspberry Pi website up to the point where it is supposed to connect. This is now well documented as a USB power related issue, and lead eventually to trying a range of power supplies and hub combinations. In the end we found that cheap powered USB travel hubs (the ones that say power port available in case your devices need extra power) try to take power from the hub, and that WiFi and Bluetooth dongles seem to need more than the 150mA that is enough to trip the polyfuses protecting the board at the USB ports. You need a hub that does not connect unless it is powered. I also got quite adept at whipping the lid off the case and checking voltage on the board. The BlackBerry charger seems to deliver slightly low voltage, the iPad charger with a USB to micro-usb (BlackBerry) cable delivers too much voltage (5.3V). So does my Maplin external laptop battery. Quite frustrating.
In the end I gave up messing with random chargers and hub combinations and got a digital bench power supply (cheaper than the cost of petrol driving back and forth to Maplin, who, while not necessarily offering the cheapest price or most comprehensive range, were very helpful and allowed me try and exchange any of the peripherals if they didn’t work). That delivers 5.07V which drops a bit by the time it arrives at the test point. I use an old Belkin powered four-port hub that is not connected to the USB 5V line for WiFi or Bluetooth, and a cheap travel hub for keyboard and mouse. We generally have to boot the Raspberry Pi first then plug in the travel hub. There are still issues, and in particular, the Pi likes me to restart on average 3.14 times before booting up with WiFi working, but at least I can always get up and running now.
We do want to be free of heavy accessories, so for going to our Lego competition we have bought an OPTOMA PK320 pico projector that works great from batteries or mains, and takes AV out or HDMI (although the HDMI port is very close to the mains plug, and I have to run off batteries if using my HDMI-mini-HDMI adaptor on the projector). It will be nice to sort our battery power for the Raspberry Pi and its hubs in due course, but for now we run with the bench power supply and the powered hub. I guess I should get the scouts to make up a little regulator circuit to see what happens when we try to run from four AA batteries…
As for drivers, the Debian wiki gives pretty good instructions and I found that the www.wiki.debian.org/WiFi and www.wiki.debian.org/BluetoothUser gave clear instructions that worked for the Netgear N150 WiFi dongle (Atheros chipset, also my WiFi is not secured so I needed to give the essid name directly in the configuration file rather than using a WEP configuration file – the Debian wiki has more general instructions than the ones on the forum links) and for an Abe UB22S Bluetooth dongle. We use the ALSA drivers and the modprobe command sudo modprobe snd-bcm2835 (searched for sound on the forum). Video works through VLC (www.videolan.org) but with rather odd colours (this is a known issue for the old Debian “squeeze” image).
We can also get the Raspberry Pi to drive the Lego robot through nxt-python (Hurrah!) www.code.google.com/p/nxt-python/ gives instructions to get the source and run from the Python IDE in LXDE. We ran one of the demo examples and BERT5e obligingly drove forward 3cm! One small step for BERT5e, and then we stopped for the day so as to end on a win!
Last but not least, we have the Quake III demo working.
Some of it works, some of the time – just not all of it works all of the time
Actually, with the above setup, we can get all of it to work, just not all of it at once – it is still not happy at having WiFi, Bluetooth, mouse and keyboard all together… [Liz: I'm going to butt in here, scouts, and suggest you replace the backlit mouse and keyboard with something that requires less power, and see how you get on with that setup.] I’ve parked that issue for now as we can set it up to do whatever we want now and just reboot when we want to change the setup. Hopefully that will be sorted out by the Educational release. Our next target is to get Puzzlebox Brainstorms. This works well from our laptops with an Emotiv EEG headset, and the Brainstorms software is written in Python. We probably need to get a NeuroSky EEG headset though as the Emotiv drivers are commercial and not yet available for Linux.
But finally, I can leave the scouts to just have a play on their Pi and be confident that they will be able to do things and explore. I do not know Scratch, but they have seen it at school and very quickly made some programs to chase a raspberry fish around the screen (you always lose, but can run and hide in the corners for a while); and a smiley face maze game where you have to hide from Pac-Man-type monsters that patrol their corners of the maze. They can all, of course, beat my attempts at Quake III.
A couple of them came across last Sunday to make an electric pickup for their guitar (a piezoelectric transducer disk for 99p), and to see what they could do on the Raspberry Pi. They had to be dragged away from the game they had made, and were busy changing and improving it as their parents finally prized them away from it – that’s what it’s about isn’t it!
The scouts’ games are pretty basic compared to downloaded games and anyone else would get bored with them in no time at all, but it is completely different when it is your game that you’ve written yourself, or a game your mate has written. The fun is in planning how to make it better and problem-solving to get the code to do that. GUI programming languages like SCRATCH and the Lego robotics NXT-G mean that my scouts can get to that point and enjoy developing something that is working straight away. They could do that on any computer, and it is a little bit intangible exactly what makes the Raspberry Pi so much cooler than a laptop. But when you can see the board and put it in your pocket it seems much more real. With the Pi they can have their own computer that will be able to go anywhere and it doesn’t matter if they mess things up – they can recreate the whole system by recopying the SD card. Developing the operating system and installing hardware is, for them, more like getting apps from the App Store than upgrading Windows. They will be able to share that with each other in the same way as they recommend new apps to each other. And they like the idea that when they have one each (they all want one each and several are in the queue already) they can just swap SD cards and will have recreated their computer with all their projects.
The initial development release of the Raspberry Pi has had some frustrations as the software and hardware gets sorted out, but that is part of the fun of this stage of the Pi. The scouts can see what I am doing to get it working (with the help of everyone on the troubleshooting forum!) and enjoy the small wins as we make progress.
Should everyone have a slice of the Pi?
How will the Raspberry Pi work for other groups? Obviously, I have a great group of scouts who win national STEM competitions and are a pretty unique bunch, but what makes them succeed? They come from a decent state school and are an ordinary mix of 10-14 year olds. They are not selected in any way other than wanting to join the team, so it’s not just for ‘gifted and talented’ kids. But the leaders enjoy science projects and we generally find that it is very easy to enthuse the scouts at everything that we are enthusiastic about ourselves. They are doing it in their own time and are having fun and not ‘being taught’. They have learned that if they put in the effort they can do really well at whatever they are doing, and now that they know they can succeed, that enthusiasm and confidence means they usually do! I think that formula will work for most groups of kids if they find an enthusiastic teacher or leader. They will be able to do all sorts of great things with a Raspberry Pi, and the price means that once they are widely available, it will be cheap enough for practically any group to get involved – just check out the Projects and Collaboration Forum.
As for the teacher/leader, you do not need to be a computing expert. You need to be reasonably computer literate at this stage obviously, but the Raspberry Pi Forum works well and there are plenty of people out there who will help you through getting to know Linux. The wider Debian community has produced a lot of walk-through instructions to do most things. I think the main requirement is to have some long term objective of what you want to do as a class/group and to want to do it!
Hear from the scouts themselves, and see the BERT5e the robot in action, as well as a game Doc has written in Scratch on the Raspberry Pi. The scouts here are Matt Farrow, Matty (Doc) Smith, Isabelle (Biz) Herbert and Ben Thomas.