snickerdoodle

The team at krtkl (pronounced “critical”) is crowdfunding Snickerdoodle, a $55 hybrid development board that has an ARM application processor with an onboard FPGA. It is programmable from a cellphone, has 230 general purpose input/output pins (GPIO) including ground pins, and might just be the next big thing for Makers in the embedded computing community.

Here’s how the board stacks up:

Specs

  • Zynq 7010 processor: a dual-core ARM Cortex-A9 at 667Mhz and 430K gates (upgradable to a dual-core A9 at 866MHz and 1.3M gates)
  • 512MB of LPDDR2 RAM (upgradeable to 1GB)
  • 2.4GHz 802.11b/g/n Wi-Fi (upgradable to include 5Ghz)
  • Bluetooth classic and Bluetooth low energy
  • 154 “actual” GPIO, 230 including ground pins (179 “actual” with the 7020 processor upgrade)
  • 3.7–17V input
  • Board dimensions 2″×3.5″ (50.8mm×88.9mm)
  • iOS & Android apps
High-level block diagram of Snickerdoodle

Differentiating the board even more than the number of GPIO is the design choice that allows users to pair Snickerdoodle’s Wi-Fi chip with a cellphone app called Connect. Once paired, Connect facilitates uploading custom field-programmable gate array (FPGA) configuration files to the board, controlling such operations as GPIO assignments, pin multiplexing, and overall system performance.

Use a cell phone app to load custom configurations to the Snickerdoodle’s FPGA

Not everyone will love this method of programming, and Snickerdoodle’s team gets this. They stress in their preliminary documentation that you will absolutely be able to program the board with a microSD card, serial console/terminal via or microUSB and avoid the phone app, if that is what you want to do. This openness and awareness of user choice is a great sign of a good user experience.

Wall-E inspired robot using the Snickerdoodle as its brain

While the specifications are quite impressive, unless you are familiar with the architecture of the Zynq 7000 series of processor and aware of the integrated FPGA, you are missing the really interesting aspect of this board. The Zynq 7000 series System-on-Chip (SoC) is a combination of a traditional ARM application processor — like you find in a Raspberry Pi or BeagleBone Black — with the on-the-fly reconfiguration of logic gates of an FPGA. This dual threat enables the ease of working with an ARM SoC combined with the power of software-configurable hardware of an FPGA.

The Snickerdoodle is not only powerful, it is tiny

Typically, FPGAs have been prohibitively expensive, with prices only industrial customers could even consider paying. Their appeal is due to the ability of a designer to change the purpose and interaction of logic gates in the hardware simply by altering lines of software code. This programmability, plus the focus on parallel distribution of compute tasks, make FPGAs ideal for applications such as video and audio processing.

Snickerdoodle compatible accessory boards

In addition to the base Snickerdoodle board, krtkl is offering several adapter boards that target two problems: wiring all of the GPIO on Snickerdoodle and demonstrating the power of the board’s configurability. Of the first variety is the breakyBreaky breakout board and shieldBuddy for Arduino. The former exposes every one of the 154 GPIO pins to male 0.1″ pitch headers and the latter mimics the footprint of a Rev. 3 Arduino UNO board, and also handles level shifting to Arduino’s traditional 5V on the GPIO to 5V.

The second variety — designed to show off the flexibility of the main board — includes the piSmasher, gryphon autopilot, and the massive whiteRhino industrial SBC. Of these boards, it is likely only the piSmasher will be of mass appeal, as it mimics the footprint of the Raspberry Pi, but provides gigabit Ethernet, USB 2.0 high-speed, HDMI in and out, and 68 reconfigurable I/O via0.1″ headers. But in many ways, these boards are not about moving product, rather they exemplify what can be done with a configurable Zynq-based system. When all the pins are customizable, nearly anything is possible.

Editor’s Note: This post was originally published October 12th, 2015