As an parent I often try and imagine myself in my children's shoes to try and think about how appropriate something would be for their age group. Usually I can get a reasonable idea of how well they will pick something up, but this review is one where my daughter has helped me to see what it is like to learn programming through a child's eyes.
I trialled a Fuze for a few weeks so that my 8 year old daughter and I could review it. To review it I've been working through the supplied project sheets with my daughter. Much of the review is based on my thoughts, but I've also asked her about her thoughts and included some quotes within the review.
What is the Raspberry Pi Fuze?
The Raspberry Pi Fuze is a Raspberry Pi based computer. It's inspired by the BBC micro computers from the 1980s, but has a Raspberry Pi at it's core. It has a similar shape and size to the BBC micro and includes a keyboard mounted on the sloping front. One unique feature is a breakout board for the GPIO connections and a solderless breadboard for building electronic circuits. It also comes with a selection of electronic components ranging from a selection of resistors to an LED 8-segment display, which turns it into an electronics starter kit.
Whilst obviously much more powerful than the computers of the 1980's it creates some of the nostalgia of the first home computers. In fact when I first powered it up I couldn't resist writing a quick program:
10 print "Hello PenguinTutor" 20 goto 10
Whilst the basic language has come on a long way since those days, it reminded me a little of the electric feeling I had when I got my first computer as a child.
The Fuze hardware
The case is metal and feels quite sturdy, it has the Raspberry Pi mounted with the SD card slot and the micro-USB power-connector accessible at the rear. The rest of the ports are moved to the back of the computer through the use of breakout cables inside the case. This means that all the connections are located at the rear which helps keep the cables tidy on a desk. Two connectors on the Raspberry Pi that are not accessible are the composite video output and the camera connector port, neither of which are required for most uses. The composite port is only required for those without HDMI TVs (or digital monitors) and is fairly poor quality anyway.
The case is very sturdy and a good way to protect the Raspberry Pi. It also keeps the keyboard with the RaspberryPi. It also comes with a wireless mouse which occupies the only accessible USB slot, so a USB hub is still required if you want to connect with any other USB accessories.
The GPIO connector (General Purpose Input / Output) is brought out to a small circuit board on the top of the fuze. The connector changes to female connectors which makes it easier to use with male-to-male leads, but does mean that will not connect to any GPIO add-on boards. This is unlikely to be an issue for most users.
The Fuze comes with an SD card pre-installed with a custom Raspberry Pi Linux image. It includes the main applications and programming such as Scratch and Python, and also adds Fuze basic.
I have already done some Scratch programming with my daughter and during the time I had the Fuze we worked through the programming cards on the Fuze. We also did a little Python programming on an unrelated Raspberry Pi project which gave a useful comparison between learning basic and python.
Before starting on the basic projects I was a little sceptical about the relevance of the basic programming language these days. Whilst basic was the predominant programming language in the 1980s, python has all but become the de facto language for teaching programming with a large community following and large number of resources. I didn't really see what basic would provide that couldn't be achieved using python. Having worked through the projects with my daughter I now see how basic can be a useful programming language to bridge the large gap between simple teaching languages such as Scratch and the more complex python.
Basic is an easy programming to learn. The language is simpler than many other language which makes it easier to pick up. It is not as finicky as Python in terms of spacing. This was evident when my daughter tried some python programming and she said "[Python] is so fussy. I wish this was basic".
Fuze basic also includes an easy way to interface with the GPIO ports which are brought to a connector next to the breadboard. It uses similar commands to the ones used on the Arduino, but with basic which is much easier than C as used on the Arduino, making it a good way to learn electronics.
Fuze basic does have it's limitations. One of the issues is that there is much less documentation on basic and Fuze basic in particular. There are 4 projects at the moment, which are all based on text based. I understand that there are plans to provide a more comprehensive documentation, but that doesn't compare to the amount of documentation available for other programming languages.
One thing that I did find frustrating is the Fuze basic programming environment and editor. It is a text based window similar to those on computers of the 1980s, but this is somewhere that does seam very dated and not so appropriate today. There is no graphical copy and paste that is included in most other editors and the edit functions are controlled using the 'F-keys'. There is help on the keys by pressing F1, but the help is quite cryptic with text such as 'Load program into interpreter' and 'Erase edit buffer'. There is also no file open browser included when loading files into the editor making loading the files difficult.
It is easy enough to switch between the basic prompt and the editor and my daughter did say that "Using the F keys to switch between the editor [and the basic prompt] is quite good."
Whilst I think that the editor lets this down a little (compared with other basic environments such as basic256) my daughter's impression is that "Basic is fantastic".
Uses for the Raspberry Pi Fuze
Whether you are buying the Raspberry Pi Fuze as a rugged case for the Raspberry Pi, for the Fuze basic or as an electronics workbench there is something for everyone.
The Fuze does provide a good case for the Raspberry Pi for home use, although it is more expensive than most Raspberry Pi starter kits. It does include some of the additional electronic aspects which could justify this as a combined computer an electronic educational tool.
It would be particularly good for use in schools due to the rugged nature of the Fuze.
It's also a good to use for teaching electronics. This will be better as more project guides are developed, but the fact that it comes with a good selection of electronic components makes it possible to create projects that can be done without needing to source individual components.
The Raspberry Pi Fuze provides a Raspberry Pi in a sturdy case that can be used for programming in basic, learning electronics or with any of the other Raspberry Pi applications.
The Fuze is quite expensive compared with a Raspberry Pi starter kit, but that does include a rugged case and the additional electronics platform and components.
Whilst is was initially cynical about the choice of the basic programming language, having used it with my daughter I can now see it as a useful tool for bridging the gap between Scratch and python. The basic programming is let down a little by the editor which, whilst usable, has a very dated feel to it.
It can also be used for other programming languages, such as a Scratch and Python using the standard tools included in Raspbian.
To sum it up in the words of my daughter "the computer is a brilliant idea".