Processor Independent Embedded Platform Supports Modular Development
Ok. You have an embedded project in mind. Enhancements come to mind so the peripheral complement is likely to change. The problem with the last project was the development board had limited peripheral interface hardware and it was hard to add it. There were cables all over the place. It would be nice to have a more modular system.
It might be time to take a look at E3 Embedded Systems. It is taking the Processor Independent Embedded Platform (PIEP) to Kickstarter on August 15th to see if the embedded community can take advantage of its modular prototyping system (Fig. 1).
Essentially the platform is a small motherboard that has a socket for a processor module and lots and lots of sockets for peripheral interfaces. It also has a lot of small cable connectors. E3's video (Fig. 2) gives an idea of how modules plug into the system.
PIEP is built around peripheral modules (Fig. 3) that are 1.25-in on a side with a stackable 10-pin header. Two holes provide a rigid, three point mount. The header provides power and ground along with 8 signal lines. There are essentially four types of sockets on the motherboard: SPI, I2C, UART, and discrete I/O. The stackability depends upon the type of module.
For example, the SPI modules typically have three of the signals dedicated to chip selects. The modules normally have wires connecting these signals to the chip select on the module. Two need to be cut if module is stacked allowing two other SPI modules to be added in the stack. The use of wires instead of slide switches reduces cost. It is easy to solder a wire back if changes are necessary.
The motherboard has PIEP sockets on both sides of the board. That is a dozen PIEP sites although most are digital sockets mixed in with a pair of SPI, I2C and UART sockets. PIEP modules can take up more space but usually their primary interface uses one of the connectors.
The key to the system is the ease with which peripheral modules can be attached as well as the robustness of a finished system. Typical development platforms offer one or two expansion connectors and usually a giant header to expose all the devices pins. It is then up to the developer to figure out how to connect those to the outside world.
The hardware comes with connection maps since each processor module exposes different interfaces. It is also useful to know what pins will be connected to what devices. Many processors have pin remapping capabilities providing even more system flexibility.
The 10-pin, low profile sockets spaced around the board are complementary to PIEP 10-pin headers. The sockets provide power and ground allowing off-board peripheral connections.
The processor modules initially include:
Each processor has its advantages. The Atmel module is based on the 32-bit Arm Cortex-M3 platform. Freescale and Microchip offerings use 16-bit architectures. Freescale's MC9S12 is an automotive part that will be around a long time. Microchip's dsPIC33 is a robust digital signal controller (see “16-bit DSC Handles Dual Motor Control And USB Communication”).
E3 Embedded Systems is primarily providing hardware. You will need development debugging tools to program and develop applications. The processor modules expose their debug interface on the motherboard. JTAG debuggers can plug into the usual header while the Microchip MPLAB ICD 3 with MPLAB X (see “NetBeans Powers New PIC IDE”) requires an adapter.
Advantages and Disadvantages
Of course there ain't no such thing as a free lunch (TANSTAAFL) and that is the case with PIEP.
The PIEP platform is similar to other module expansion systems like Digilent's Pmod system used on its Cerebot family (see “Low-Cost Kits Make Evaluation Faster”). The Pmods are about the same size at E3's modules but they have one or two rows of right angle headers on the modules. This makes for a cheap processor board with lots of Pmod sockets. The downside is they are held in place by the header pins alone. This can be precarious. In this case the PIEP has the advantage.
There are other stackable solutions. Ones like PC/104 use much larger boards. Most vendors have expansion options for their own development boards but the available peripheral complement tends to be related to their other products. For example, Texas Instrument's BoosterPack for their Launchpad series has a single socket set although it is possible to have multiple sets on a board (see “Interview: TI's Dung Dang Talks About Modular Hardware For Rapid Prototyping”). Microchip's PICtails are expansion boards for its development kits.
The limitation on E3's current offering is on the processor side. The three modules currently available provide a good selection for the application areas it targets. The system can be utilized by almost any microprocessor and the processor modules are relatively simple to design.
Another advantage to PIEP is simplicity. The 10-pin headers are limiting but they are easy to design modules for. Laying out a board is a relatively trivial process and most will be double layer boards. There just isn't space to get too complicated. Even hand soldering is practical although some surface mount chips might be a challenge for some.
On the other hand, the PIEP can be applied to other platforms as well.
Supporting The Arduino
The PIEP Shield Adapter for Arduino (Fig. 4) might be an alternative for some. It has a pair of dual personality PIEP sockets. One set has an SPI and digital interface and the other has an I2C and digital interface. The other connectors spaced around the board have 10-pin PIEP interfaces.
I find the shield to be a more compelling platform if the standard processor modules do not fit your requirements. The Arduino started out with an 8-bit Atmel AVR but it has become so popular that there are many new Arduino and third party Ardruino-compatible boards. For example, there is Freescale's Freedom boards (see “Cortex-M0+ Freedom Modules Support Arduino Shields”) and Digilent's boards with Microship's 32-bit PIC32 (see “Arduino Expands Into More Demanding Applications”).
There are a lot of shields available for the Arduino and it is possible to stack them but that stack can get large and expensive. The PIEP modules are much smaller.
Hands On PIEP
I had a chance to check out the PIEP system with all three processor modules and the main motherboard as well as the PIEP Shield Adapter. I started with the Microchip module since I knew where my ICD 3 was hiding. The adapter mount is not very solid but it works. A new version might be forthcoming.
Debugging was on par with other development boards from Microchip but I had to do a bit more work to figure out what devices were connected to which pins. That was to be expected and it tends to be done once for a particular project. I didn't stack a lot of modules so I actually left some of the jumpers intact. If you don't drive the lines then they essentially float.
Some of the first modules I used included the LED display and button module. The problem with the system is that there is little feedback without these. In fact, the button module is handy because it has four LEDs and fourd switches. The breakout boards only provide cable connections.
Overall, the PIEP approach is handy for microcontroller projects from robots to process control. Whether you have an Arduino-compatible system or are just looking for a better development platform then E3 Embedded Systems' Processor Independent Embedded Platform is worth a look.