• Build logs, Tutorials and Hacks

    Friday, December 27, 2013

    Review: PiFace Control and Design

    Introduction

    The raspberry pi is a cheap and highly customizable single board computer with gpio pins which can be used to control electronics. There are many ways to expand the functionality of the pi and a company called piface is in the business of making add on boards to do just that. One of the boards they sell is the piface display and control which is marketed by element 14 and we had a chance to get our hands on one.


    The box contents.
    The box contains the board and a simple poster. Not much to say about that but I rather expected to find the schematic as well. Better luck next time

    [caption id="attachment_755" align="aligncenter" width="300"]Box Contents Box Contents[/caption]

    [caption id="attachment_756" align="alignright" width="300"]PiFace Control and Design PiFace Control and Design: Reversed[/caption]

    The build and design
    The build quality is rather nice. Its not shiny like other glass epoxy boards that I work with but the product feels solidly built and components well positions and placed. I did happen to drop it off the table and it survived. The spacers were a nice touch and it seemed to be a good product.


    There were some things amiss as well. Firstly there is no notch in the connector. I actually connected the piface incorrectly at first. It sat on the Pi at an offset. I luckily caught it before I powered it up. Another thing that came a bit off was the fact the I could not figure out which side was up and which is down. I guess it is a matter of use however since the silkscreen is present and visible, I would have appreciated a better layout.
    Since there is just the connector hence it supported on only one side. It has a cutout on the PCB which rests on the Ethernet Jack and allows rather neatly for the PiCamera Cable to come through. Very nice and smart design on the PCB. The mounting is considered OK and I guess the case will take care of the stability of the whole thing.


    The documentation
    The documentation seemed quite adequate but I would have liked there to be a print poster of the schematic and labels. I was surprised to find so many demo projects available at the time I received the device. This is something to consider since the demo projects can usually be used as the starting point of a different application. My favorite demo is the "snap-camera".


    The complete instructions are given at
    http://pifacedigital.wordpress.com/tag/piface-control-and-display/
    The source code for the entire product range is given at https://github.com/piface


    I was rather disappointed at the lack of C programs for the PiFaceCAD and happy with the extensive documentation in Python. I will take some time out to work up some docs for the PiFaceCAD and C demos if possible.


    The Setup
    Setting up the piface CAD was relatively straight forward. I did what the documentation said and it worked like a charm. I liked it so much that I just might start working with python! The demos are quite clean and simple. I usually start working from an example and work my way to my desired application. I really have not gone that far as of now but will be putting up stuff on my github account at https://github.com/inderpreet


    For python it was as simple as:
    1. Enable SPI: http://www.piface.org.uk/guides/setting_up_pifacecad/Enabling_SPI/
    2. Setup for python: http://piface.github.io/pifacecad/installation.html
    3. Run other demos!

    For C, the stuff I found was as:
    1. Enable SPI: http://www.piface.org.uk/guides/setting_up_pifacecad/Enabling_SPI/
    2. Get the C libraries for PifaceCAD and setup by: http://piface.github.io/libpifacecad/
    3. Make other projects and upload! :)

    Docs will update with the product I assume.

    The Teardown!
    Well no I did not really rip this thing apart but I have a fairly good idea how this thing was designed to work. The heart of the PiFaceCAD is the MCP23S17 which is a 16-bit I/O Expander with an SPI interface. The code simply pumps out GPIO information in the desired format and I might do a schematic of the device if I get the time. You can rip out the LCD(de-solder it) and use it as an IO expander but you will have to write the routines for the IOs. its pretty straight forward and I rather liked the simplicity of the thing. Its a keeper folks!


    http://www.element14.com/community/people/Problemchild/blog/2013/12/25/piface-control-display-tear-down

    Comparison
    I happen to see some similar products on other website which I will not mention but will say this. The support for this particular project was much cleaner and the rocker was a FANTASTIC reason to choose this particular board over others. I will try and further document this project so that the internals are better exposed for modders.

    Conclusion
    There are good and bad points to the piFaceCAD which can be summarized as follows

    The Good
    1. Simplicity of design- Matters to people who want to dig deeper
    2. Well documented- I was falling short of ideas on Demos!
    3. Excellent Build Quality
    4. It has a Rocker with the Push button! Fantastic!

    The Bad
    1. No Connector notch-
    2. Rather delicate mounting arrangement
    3. Silkscreen could have been done better. - Its upside down as compared to the LCD display output!
    4. Can't use the rest of the GPIOs- No expansion connector.

    Overall the PiFaceCAD is a good solid product. If you want to display simple test and need a few buttons, this is MUCH better than anything in the market. It has minor flaws which can be overlooked as compared to what it offers. The documentation and community support is nice and personally I will not be taking it off my Pi since mince was already a headless setup. I am going to modify my existing HTPC setup to use this board as a UI. I already have some tutorials on embeddedcode.wordpress.com and will be posting more.

    PiFace UK, thanks for the rocker- I love it.
    It may not look it, but its a really powerful piece of addon to the RPi and it is HIGHLY recommended!

    No comments:

    Post a Comment