Grove Panda – A Grove shield for the FEZ Panda II board
For a student project, I had recently been searching for a set of easily combinable electronic bricks that would include various sensors (e.g. force and distance sensors), LEDs, displays, and so on. As discussed in my previous post, I finally opted for the Grove components by Chinese manufacturer Seeedstudio in combination with a FEZ Panda II board by the US company GHI Electronics. In this blog entry, I want to present a custom shield I designed for the FEZ Panda II to bring the two systems together.
I am not affiliated with any of the companies mentioned in this article.
Unfortunately, as of today, I do not know of any adapter shield that fits onto the FEZ Panda II and exposes all of its 35 additional GPIO pins when compared to a traditional Arduino shield. The Grove Base Shield (Stem) offered by Seeed is fairly nice, but possesses the following disadvantages in combination with the FEZ Panda II:
- The Grove Base shield expects the I2C pins SDA and SCL on the analog A4 and A5 lines, but the FEZ Panda II provides I2C support on digital lines D2 and D3.
- The lines of the Grove sockets are inter-connected, i.e. if a Grove component (“Twig”) uses both signal lines, the adjacent Grove socket must be left empty.
- Most Grove components require a 5V operating voltage, but the analog-to-digital converter (ADC)/demultiplexer of the FEZ Panda II is only 3.3V-capable. This means that 5V analog Grove Twigs cannot be connected directly, and require some form of voltage divider in between.
- There is only a single SPI socket, and if further SPI components are to be connected, it is a hassle to get an additional chip-select (CS) line connected.
- The spacing of the digital Grove sockets is a bit low, making it hard to unplug cables.
Due to all these restrictions, I decided to design my custom base shield for the FEZ Panda II, nick-named by me the “Grove Panda”. This shield offers the following benefits:
- Almost all of the GPIOs on the FEZ Panda II’s 40-pin header are exposed as further digital sockets.
- The digital sockets are not inter-connected, meaning that adjacent sockets can be used even if a Twig uses both signal lines. Due to the limited amount of analog channels, this does not apply to the analog sockets.
- The shield layout includes 5V-to-3.3V resistor dividers on all 6 analog channels.
- There are 3 SPI sockets in total (one for the SPI1 channel, two on the SPI2 channel), each one with a dedicated CS line.
- A further user-controllable LED has been added on the top side of the board.
The finished printed circuit board, produced by Seeed’s Fusion PCB service, looks like this (bottom shows the bare PCB without components):
Click on the following image to view a larger version of the schematics for this board.
I provide the Eagle and Gerber files of this board free of charge for personal, research and educational purposes and, most notably, without any warranty, e.g. against possible misfunction, potential harm caused etc.
If you are interested in these files, please write me an e-mail with a short description of your project. I can also still offer a handful of spare (unassembled) PCBs – in case you are interested in one or two of these, please also contact me.
To assemble the shield, the following additional components are required:
- 23x Grove socket (available in packs of 10 pcs at Seeedstudio or distributors)
- 6x Grove socket, 90° angle (also available in packs of 10 pcs)
- 6x SMD 1206 resistor, 1.8K (for ADC resistor dividers)
- 6x SMD 1206 resistor, 3.3K
- 3x SMD 0805 resistor, 150R (for LEDs)
- 3x SMD 0805 LED in different colors (e.g. red, yellow, blue)
- 2x 6-pin female Arduino shield header
- 2x 8-pin female Arduino shield header
- 2x 6-pin male Arduino shield header
- 2x 8-pin male Arduino shield header
- 1x 2×20-pin male pin header (for additional GPIOs offered by FEZ Panda II)
- 1x reset button compatible to Omron B3F-31XX package
Note the board is slightly larger than the FEZ Panda II and a traditional Arduino shield (mainly with regard to its longer side), so you might need a custom enclosure if such a thing is desired. The resistor dividers on the analog channels limit the maximum voltage encountered by the FEZ Panda II to slightly below 3.3V (~3.23V), so minor code adjustments/re-calibration might be necessary.
The signal pin1 on digital socket 17 (MOD pin) should be used with care, as it must be pulled high on startup (otherwise, the system starts up in serial mode and USB debugging won’t work).