Gumstix launched Geppetto Design-To-Order (D2O) system back in 2013, and at the time you could design complete baseboard for their Overo CoMs right in your Chrome or Firefox web browser, and once complete, order the board from the website. The system is meant to save you time, and “design” here does not mean drawing schematics, and laying out PCBs, but instead selecting board size, and adding ports as needed.
Since then, the company has added support for more modules, and you can now easily build you own baseboard for Raspberry Pi Compute Module, Technexion PICO-IMX6 module, Toradex Colibri SoM, 96Boards Mezzanine, and they even have Beaglebone Black and 96Board CE or IoT connectors, among others. Support for Qualcomm DragonBoard 410c, Atmel (Arduino) , and STMicro platforms is also being worked on. Their latest feature – AutoBSP – automatically generates device tree files for your custom boards, so you can simply copy it to your favorite image and get started as soon as possible.
I give it a very quick try by going to https://geppetto.gumstix.com/, and opening a pre-designed board, namely RPi Compute LoRa Gateway PoE, and clicked on the AutoBSP button on the right top corner of the browser window. Within a few seconds, I was asked to open or download devicetrees.zip, which containes three files including the device tree, and a README.
The README gives some basic instructions, here and excerpt:
= Gumstix Geppetto Raspberry Pi Compute =
= Module (1 and 3) designs =
= AutoBSP README file =
= Copyright (c) 2017, Gumstix, Inc. =
The Raspberry Pi Compute Module connector module included in your Geppetto design connects the Raspberry Pi Compute Module and Compute Module 3 to your custom expansion board. Gumstix provides a custom Yocto Linux disk image for use with these devices. In order to take full advantage of the hardware embedded in your design, The RPCM’s bootloader uses a device tree overlay, a DTBO, to facilitate communication between the operating system and the expansion board’s hardware. AutoBSP delivers a custom DTB overlay for Geppetto RPCM designs, incorporating the device tree features required by the kernel and many device drivers.
Instructions for the compilation, installation and use of the device tree file, and a list of helpful links, are provided in this document.
– Raspberry Pi CM getting started: https://www.raspberrypi.org/documentation/hardware/computemodule/README.md
– Custom Yocto RPCM disk images: https://catalina.gumstix.com/binaries/7230/
– Custom Yocto RPCM3 disk images: https://catalina.gumstix.com/binaries/7191/
– devicetree-rpi_cm.dtbo Compiled device tree overlay
– devicetree-rpi_cm.dts Device tree source
– README.txt This file
1. Flash your compute module with a Raspbian image or one of the disk images provided above, as described in the RPCM getting started guide.
2. Copy the DTBO file designed for your expansion board on to a USB drive
3. connect the compute module to the expansion board, the USB drive to the board’s USB port, and a power supply to its power connector
4. From the compute module’s terminal, Copy the DTBO file from the USB drive to the overlays folder in the RPCM’s boot partition.
In a future update, AutoBSP will also automatically generate network and application code specific to designs, but the company did not elaborate on that part.
I did notice another feature called AutoDoc, which has been there for a while, but still new to me, and it generated the following datasheet (PDF). The 3D model of the board is also available, but this feature had been already implemented in 2013.
So now, Geppetto streamlines not only hardware design and ordering, but also documentation and software support. If you are short in time, and hardware cost is not the biggest issue, the system may be worth looking at, as it may save you time and/or money.