RoadTest: PiFace Digital
Author: penguintutor
Creation date:
Evaluation Type: Evaluation Boards
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: I have previously made a project using a slice-of-pi and soldering to the circuit board. I had also considered the Gertboard.
What were the biggest problems encountered?: Lack of documentation and Scratch Mesh setup did not work on the PiFace Raspbian image.
Detailed Review:
The PiFace is a good sized board that fits comfortably on top of the Raspberry Pi. There is a slight bend on the circuit board where it rests on the audio connector, but not enough to risk any damage. The circuit board includes a plastic "foot" where the HDMI connector is to prevent it bending too much. As such it feels quite sturdy and is unlikely to be damaged under reasonable amount of force.
The inputs and outputs from the PiFace are all provided on screw terminals. These are quite small and a very small screwdriver is required, but are sufficient for most connections to breadboards or to most sensors. Stranded wires can be connected as well as single-core and jump leads, which is much more flexible than trying to connect direct to the Raspberry Pi headers. The connectors to the relay outputs are small compared with the maximum current of 10A that the relays are capable, but that is unlikely to be an issue for most projects.
The board provides a good selection of digital inputs (including 4 physical push-switches soldered on the board), digital outputs (including LED status indicators) and two relay outputs which switch between two different terminals (allowing them to be used as either normally open or normally closed). The relays can be disabled by removing some jumpers, which could be useful if you don't want them clicking on and off if not being used. The number of digital ports is sufficient for most projects, but it would have been useful to have some analog inputs. It's a much safer way of connecting electronics without risk of damaging the Raspberry Pi by overloading the GPIO port.
It's also a shame that there is no way of accessing the other GPIO ports (without an additional connector between the GPIO and PiFace or modifying the PiFace). Although for the intended purpose and as a simple teaching aid it is not necessary to use other GPIO ports it may have been useful for those wanting to get the benefit of the increased current capability with also being able to add additional SPI inputs.
The general documentation is useful, although I did spot one minor error. There is sufficient information to get up and running with Python. As well as the python examples the supplied demo program (PiFace emulator) is very good, it has a good representation of the PiFace showing the current status of all the inputs and outputs and allowing them to be manually changed.
Unfortunately the documentation for languages other than Python is not so good or easy to obtain. In addition to the getting started guide which is easily available from the Element 14 website the other documents are provided through Google Docs. Whilst this is good for working on documentation it does not work very well for accessing using the Midori browser on the Raspberry Pi. I was looking for the documentation on using the PiFace with Scratch, but despite trying the official PiFace Raspbian download (based on October 2012 release) the icon on the desktop didn't connect to the Scratch mesh connection. There is a blog post on the PiFace website that indicates that the documentation is being actively worked on and once that is sorted out this should work well with Scratch.
I'm most excited about this as a simple way of teaching physical computing to children. With the ability to communicate with Scratch and with the ability to make secure connections without soldering then this is going to make that job much easier. There are lots of things that it can do in terms of teaching simple switching, logic control and communicating with on/off type sensors. It's a little limited in terms of connecting to analog sensors, but that is outside of what this is designed to do and so it would be unfair to expect that. The fact that it's designed to fit as a shield over the Raspberry Pi means that this can be directly incorporated into projects where it may not be possible with a larger board. Prior to having the PiFace I had created a electronic project with my children that I had to solder onto a board to connect to the Raspberry Pi; the PiFace would have been a much easier way of achieving that which would have allowed more hands-on for my young children.
As far as programming in Python and interfacing with digital electronic circuits the PiFace works really well. Once more documentation and the Scratch mesh setup is working correctly then this is going to be a great teaching aid for use with Scratch. With it's small size and easy connections this can find an easy home in several projects and particularly useful for teaching young children or prototyping or creating semi-permanent projects without needing to solder.