Do you need to build a custom embedded computer? Gumstix's Geppetto may be what you need especially if an Arm Cortex-A8 will fulfill an application's computing requirements. I put together a short animation to show how easy it is to use.
Gumstix modules are tiny and based on based ARM Cortex processors from Texas Instruments. The Overo line has a Cortex-A8 core (Fig. 1). The modules come in a variety of configurations with some including Bluetooth and WiFi on-board. The modules are designed to plug into a carrier board that would provide power and connectors.
Gumstix provides a range of carrier boards like the Turtlecore (see “TurtleCore Tacks Cortex-A8 On To iRobot Create”) used with the iRobot Create (see “Commanding The iRobot Create”). There is even a cluster computer boards that is home to seven modules (see “A Cluster of Gumstix”).
Developers can create their own carrier boards but designing a new board is usually not a chore for the uninitiated. The process is actually quite involved starting with the PCB design. It is not an easy task to turn a raw PCB into the final product especially these days where surface mount is the norm. This is one reason prototypes are typically done using the off-the-shelf carrier boards.
Gumstix is looking to change this state of affairs with its web-based Geppetto design and delivery system. It is a game changer because the tool changes the level of expertise required to create a carrier board. It also slashes the up front fixed cost to only $1999 for a 20-day turn around.
The start up cost is often a major limiting factor for many designers. That translates to only $20 if the initial run is 100 boards. The difference is that Gumstix will deliver as many or few boards as you want with this start up. Most prototype firms often require a dozen or more boards in the initial run in addition to a higher start up cost.
The approach is ideal for prototypes or small run productions. The systems created using this approach could be popped into a case created using 3D printers that are becoming very popular (see “Tap New Technologies To Produce Practically Perfect Prototypes”). The 3D printers are also becoming less expensive. The combination of Geppetto and 3D printers means a virtual company can easily create very polished prototypes or production level solutions in a very short period of time.
There are very sophisticated PCB and system design tools on the market and these would be used by most designers interested in creating a custom board or custom carrier board. Using a carrier board tends to simplify the overall system design because the plug-in module exports only a few interface and power connections that will be linked to connectors or basic on-board circuits. Often the carrier board can be a two layer board where the module is a multilayer board.
The advantage of using these tools is power and flexibility. Almost anything can be designed using the tools. Unfortunately the level of expertise required to use these tools well is rather high.
Gumstix was able to create Geppetto by restricting the number of options available to a designer. This makes sense since it only targets the Gumstix Overo modules. The connectors are well defined as well as the signals on those connectors. The trick is matching up the selection of connectors and interface circuits from a menu of options from 3D sensors to USB connectors to low drop out (LDO) voltage regulators.
The layout program can present a 3D view of the board once the design is complete (Fig. 2). It can also show a running board cost as the design progresses. A typical board may run $30 to $50 depending upon the kinds of connectors that are involved. Display options like the 4.3-in LCD tend to run a bit more.
Using Geppetto shows that the interface is more of a selection and placement process. Each item from the Overo module to a power connector have a fixed size. They also have a fixed number of optional and required connections. “Wiring” up the system is linking these connections between matching items on the board.
The system is color coded with red indicating something major is missing moving from yellow to green indicating everything is good. Once the board is all green the design is ready for production.
Note that the wiring process does not show logical or physical connections like a typical schematic or PCB design program would. That is because this information is not required to make a working design. The routing is automatically handle by the system.
The approach also lowers production costs because the parts available for a design are the same ones that are used to make the carriers boards that Gumstix sells. Designers do not have to worry about manufacturing logistics. Supply chain management can be a job all by itself.
The Geppetto website is free to use although an account is required to save a project. Online tutorials should be sufficient for most designers to get a feel for the tool.
What is missing from the initial incarnation are standard headers for interfaces like USB, serial ports or parallel ports. The interfaces need to be connected to standard plugs or sockets like a USB Type A connector. Likewise, there is a limited number of power connectors. Still, there are enough options to create a wide range of designs and more items are being added to the selection menu.
Gumstix is building a community with the idea of addressing community-based designs in addition to custom designs for companies. It would allow someone to order boards where the designs have been posted and the setup fee had been paid. This process is still in the works but the approach might operate similar to the way Kickstarter works (see “Is Kickstarter The New Way To Get Capital?”) but on a much smaller scale. Amortizing the start up costs is relatively easy when a minimum number of supporters is set. For example, 100 boards would increase the initial per board cost by only $20.
Geppetto is applicable to a limited market but that will increase as additional items are added to a designers toolbox. The approach is applicable to a wider range of applications. It will be interesting to see if others will be demanding similar functionality now that designers know what is possible.
Using Geppetto
I put together a quick animation showing how Geppetto works (Fig. 3). It is not real time and it leaves a good bit to the imagination. Still, the amount of time it takes to watch the animation is too different from the time it took to create the design. Of course, it is handy to know what the desired platform was going to look like.
In this case, the carrier is rather simple. It has a 10/100Base T socket and an HDMI interface. This would allow the unit to be the brains for a wired digital signage system. It could be easily enhanced with a USB interface. That addition could be done in a few minutes.
Essentially one starts with a blank board that can be resized. The normal mode of operation is to select the device interfaces that are needed like an LCD display and a USB port. Using drag-and-drop, these are placed and positioned on the board. They start out with a red tint indicating that nothing has been connected to it. Clicking on an item brings up a list of logical connections on the upper left of the item. Clicking on hides the rest but shows the matching connections on other devices on the board as well as showing items in the menu that would provide the necessary support.
For example, the 10/100BaseT item has an XM interface that can be provided by the Overo module. In the example, the connectors were added first and then the module. The HDMI also needed a display interface that the Overo provided so that connection was made as well.
The process works for any kind of connection including power. Likewise, the relationship between devices is pretty simple. A 5V regulator needs a 5V input connector. It can also provide power to a 3.3V regulator that provides 3.3V that the Overno needs. Geppetto keeps track of the power budget. This is key when dealing with something like a USB connection. It is possible to create a board that draws its power from a USB connection.
The design process moves from a red to yellow populated board and finally to an all green board. At this point the design is ready for production. It is then a matter of placing an order. I didn't run mine to completion but I may if they add some header I/O.
One thing that will take a little longer is fine tuning the layout. My example was a quick drag-and-drop. I was concerned with general placement but I would make sure things were where I wanted before a production run. Details like mounting hole alignment and socket alignment will be key to a successful solution especially one that has to fit inside a case. This might even be a way to create a real sci-fi tricorder.
Check out the Geppetto website if you get a chance. It will not take long to create a design.