krtkl
FPGA Boards
AMD

snickerdoodle

A Linux computer that connects to the real world: ARM + FPGA + Wi-Fi + 180 I/O

$357,833 raised

of $55,000 goal

650% Funded! Order Below

In stock. Order now, ships within three business days.

$135 - $270

View Purchasing Options

Recent Updates

You'll be notified about news and stock updates for this project.

A tiny wireless computer for creating something truly different.

snickerdoodle is a tool for dreamers and creators to build, make, invent, and do things they’ve always been told weren’t possible. It’s for people willing to explore new horizons and challenge themselves to learn, grow, and handcraft great, new things - not because it’s easy, but because it’s worth doing.

Why Do I Need snickerdoodle?

If you are satisfied with what existing low-cost platforms have to offer because they’re “good enough,” or you see no reason to dare to branch out and try something new, or you have never been left thinking “I love [fill in the blank maker / development board], but I really wish it could do [this],” then read no further. snickerdoodle isn’t for you.

We love what Raspberry Pi and Arduino have done for education and the impact they’ve had on the growth of the maker community. We also realize that what fundamentally makes these platforms powerful is what limits them: they are intended to help you take the first step, to get you thinking, to get you writing those first lines of code, to foster confidence and hope and curiosity.

The question is: now what? What if I want to do more? To grow? To create something different? Why is there nothing out there that I can afford and use that lets me make what I want to make?

That is why you need snickerdoodle. To create something different. To make what you want to make. To take back control of your projects. To invent something you will be proud to show your friends, your family, your colleagues. Put another way: snickerdoodle takes all the things that Raspberry Pi, Arduino, and BeagleBone prevent you from doing and allows you to do them.

Open Source Software

snickerdoodle includes support for Ubuntu Linux, ROS, and FreeRTOS so you can take advantage of powerful communities and code bases and quickly port over your own existing projects.

snickerdoodle uses an Eclipse-based development environment for programming in Python, Java, and C/C++. With loads of reference designs and pre-built applications, building and learning are actually fun again.

What Can I Do With snickerdoodle?

With Wi-Fi, a dual-core ARM processor, and 155 user-customizable I/O (yes, 155 I/O…across 230 pins…including 76 grounds), snickerdoodle is more than “just another cheap Linux computer.” snickerdoodle gives you the freedom to…

and for the truly ambitious, build things like

You get the idea…

But How?

snickerdoodle has built-in Wi-Fi uses a special ARM processor with software-reconfigurable peripherals and I/O. Think of it as a 3D printer for digital hardware. So whether it’s PWMs, or SPIs, or regular old GPIO, you’ll no longer be held back by the chip or board maker telling you what pins you get, how many, and where - you will always have the pins you need, when and where you need them.

Getting Started With snickerdoodle

With a commercially supported, Eclipse-based development environment, you’ll be able to get from opening the box to running an application in under 15 minutes.

snickerdoodle is programmed using a freely downloadable, Eclipse-based Integrated Development Environment – available for Windows and Linux.

So whether you’re working in Python, Java, or C/C++, you’ll be right at home.

You’ll also be able to download all the board support packages (BSPs) and reference designs you need for your application straight from the krtkl and snickerdoodle websites. With everything from pre-built hardware configurations to open source projects, operating systems, and libraries, snickerdoodle starts your project off on the right foot.

*Note: interested in learning more about the IDE? Check out our YouTube channel for tutorials and demos as well as the links provided in the FAQs below.

Who Needs Wires?

Why clutter your desk with more wires when you don’t need to? snickerdoodle can be configured wirelessly so once you’re connected to your snickerdoodle, you’ll be able to quickly and seamlessly load projects, hardware configurations, and reference designs.

Off-the-Grid

Of course, wireless isn’t for everybody. Maybe you don’t want your data leaving your bedside. Maybe you’re worried the government is watching your every move. Or maybe you’re stuck inside a Faraday cage in Bermuda. Whatever the reason, fear not…because you can still program your snickerdoodle the “old-school way” - with no wireless connection OR mobile device.

You can:

And for more advanced embedded development, there are dedicated pins (on J2) for debugging via JTAG.

Wait, Where Are the Connectors?

snickerdoodle has seven physical connectors (eight if you opt for the upgraded processor).

ConnectorManufacturer Part NumberDescription
J1FCI 10103594-0001LFUSB and Power Input
J2Samtec TFM/SFM-115-01-F-D-APower, JTAG, I2C, Analog
J3Samtec TFM/SFM-120-01-F-D-AMicroprocessor Subsystem
JA1, JA2, JB1, JB2Samtec TFM/SFM-120-01-F-D-AReconfigurable I/O
JC1Samtec TFM/SFM-120-01-F-D-A(Zynq-7020 only)

In order to keep snickerdoodle small enough to use in mobile robots, drones, and other size- and weight-sensitive applications - but not so small that you:

a. can’t practically hook anything up out of the box or
b. are forced to buy an expensive baseboard just to get to pins you can actually use

The 0.05” pitch, upright headers can be plugged into directly using a housing+jumper pack, providing 0.1” “maker-friendly” female jumpers for quick prototyping right out of the box.

This is the perfect solution if you neither need nor want any bulky USB, Ethernet, or HDMI jacks in your system, or you’re just looking to hook something up on the workbench and start creating your own gloriously ‘frankensteined’ contraption…

But don’t worry - if it’s more single-board-computer-style connectors or 0.1” headers you’re looking for, we have a solution for that too! Just head on down to our “baseboards” section below…

snickerdoodle: Inside & Out

Below are the high-level technical specifications for snickerdoodle (items in bold are configuration specific):

A microprocessor you can customize!

The workhorse behind snickerdoodle is an ARM-based System on Chip (SoC) from AMD called Zynq.

These powerful little chips - which have roots in industrial, aerospace, and defense applications - allow hardware to be reconfigured with software, freeing you to accomplish things that simply aren’t possible with regular microprocessors (like those in the Raspberry Pi and Beaglebone - which have roots in DVRs and cell phones).

Unlike a lot of more complicated reconfigurable hardware, the Zynq SoC inside snickerdoodle has a full-blown ARM microprocessor inside meaning you are able to treat it (and program it) as if it were “just another microprocessor”…with a ton of really fast, reconfigurable I/O.

In other words, the development process and tools are very similar to what you’re used to using with other systems like Raspberry Pi.

If you’re interested in learning more about Zynq, check out the free e-book at ZynqBook.com.

One Chip, Two Delicious Flavors

With snickerdoodle, you have three flavors to choose from:

snickerdoodle one comes with a 667 MHz Dual-Core ARM Cortex-A9 processor and 430K reconfigurable gates (Zynq-7010) to give you 155 I/O (100 reconfigurable) and everything you need to get started.

If you need more I/O and 3x the configurability, snickerdoodle prime bumps up to 1.3M reconfigurable gates (Zynq-7020) and 180 I/O (125 reconfigurable).

And finally, if you’re looking for even more horsepower, snickerdoodle black packs a punch with an 866 MHz Dual-Core ARM Cortex-A9 and reconfigurable gates that are 30% faster than snickerdoodle prime (Zynq-7020).

See our FAQs at the bottom of the page for additional hardcore technical details on the exact part numbers, I/O performance, documentation, and more.

Wireless: Can You Hear Me Now?

Sick of putting up with poorly performing dongles or endlessly wrestling with dysfunctional drivers just to get your projects connected to the Internet or your mobile device? snickerdoodle has the cure.

Wireless connectivity is provided via a Texas Instruments WiLink 8 pre-certified module.

snickerdoodle one uses the WL1801 radio to provide single-band 2.4 GHz 802.11n SISO Wi-Fi.

snickerdoodle black comes equipped with the WL1837 and bumps you up to dual-band 2.4 GHz & 5 GHz 802.11n 2x2 MIMO Wi-Fi.

See our FAQs at the bottom of the page for additional hardcore technical details on the exact part numbers, wireless performance, documentation, and more.

Baseboards

Have a specific application in mind and want a little help getting started? snickerdoodle can be paired with several pre-configured baseboards with no need to hassle with configuration or setup.

Each baseboard has its own on-board memory/identification chip that tells your snickerdoodle what’s plugged in and automatically loads the right package to get all your peripherals working without you lifting a finger.

breakyBreaky Breakout

Did someone say something about 0.1” pins? Well here’s 270 of them! Think that’ll cover it?

breakyBreaky provides the full snickerdoodle pinout on 0.1” headers and comes loaded with:

Note: requires snickerdoodle with connectors “down” configuration; not included.

piSmasher Single-board Computer

Or maybe what you’re looking for is gigabit Ethernet, high-speed USB, a bunch of reconfigurable I/O, and…simultaneous HDMI output AND input? Enter: piSmasher… Named “piSmasher” for a reason, you’ll get everything Raspberry Pi provides and more - you can kind of think of it as a Raspberry Pi on steroids.

piSmasher gives you:

Note: requires snickerdoodle with connectors “down” configuration; not included.

snickerdoodle at Scale (and DIY Baseboards)

One of the beauties of snickerdoodle is that it’s architected, built, and priced in a way that makes it incredibly easy and practical to go from proof-of-concept to production. The minute you’re done prototyping, simply take the snickerdoodle you spent all those hours in the lab with and plug it right into your production system.

Have a killer idea for a baseboard or shield you don’t see? Just follow our baseboard design guide and you can build your own micro shields, breakout boards, interfaces, or whatever you can dream up. And with reconfigurable I/O, the possibilities are practically endless.

Note: for more information on connectors, footprints, and pin-outs, be sure to check out our User Manual linked in the FAQs.

Accessories

Finally, snickerdoodle has a bunch of optional accessories to make your development experience even more awesome…

cookieJar Enclosure

Don’t let your cookies get stale… keeps your snickerdoodle safe, clean, cool, and securely mounted in your autonomous cat-herding robot. cookieJar’s are machined out of 6061 aluminum, bead blasted, anodized, and laser engraved. They’ve got an internal boss + thermal pad so the enclosure will act as the heat sink! There are four countersunk mounting holes in the base if you want to strap this thing to whatever you’re driving/flying around… We’ll provide the screws.

Note: the above image is a rendering, final design subject to change. snickerdoodle not included. Production enclosure to be functionally equivalent.

copperHead High-performance Copper Heat Sink

Note: included with snickerdoodle prime and snickerdoodle black

32GB U3 Speed Class microSD Card (Pre-loaded With snickerdoodle Ubuntu Linux)

Note: microSD card manufacturer subject to change. Potential substitute shall be at least functionally equivalent.

Pin Housings + Jumpers

Note: All seven mating snickerdoodle connectors and a 50-pack of (loose) jumpers - see below for jumper description

Jumpers (Pack of 50)

Note: jumpers only. Wires are approximately 7.5” long (19cm), and come with 0.1” female pins & housings installed on one end and crimped pins for installation into mating Samtec housings on the other.

FAQs

How do I go about building my own snickerdoodle "microShield" or baseboard?

For both plug-in and cable-ready baseboards and microShields, check out our User Manual for info on connectors, footprints, pinouts, and more.

Do I have to run Linux?

Nope. Again, there are two “hard” ARM Cortex-A9 processor cores so you can run a wide range of real-time and general-purpose operating systems. Or if you don’t want the overhead of an OS, you can even run “bare metal!”

I noticed you have an STM32 microcontroller in your block diagram but you didn’t mention it in the campaign. What does it do and can I run my own code on it?

The STM32 functions as a USB-to-serial bridge, power-supply manager, boot-source controller, USB boot flash mass-storage-device bridge, LED and button controller, and I2C auto-configuration manager. We provide pre-integrated, functioning firmware for this device, which allows us to implement many of the platform and usability features intrinsic to snickerdoodle.

However, if you wish to build your own custom firmware for the STM32 device, both ST and ARM provide complete free toolchains and SDKs for the STM32F078, and the STM32 debug pins are fully exposed as well (on J2).

What is snickerdoodle’s standby or “resting” power consumption?

Taking advantage of the STM32-controlled load switches, snickerdoodle’s standby power can get down to 5 milliwatts! (this is with the Zynq off and STM32 in “stop” mode).

I didn’t see JTAG on board - where is it?

Well, a couple places actually… For starters, all the JTAG pins are available on J2. Secondarily, you can actually debug over Wi-Fi via the debug agent in Linux. You can also get JTAG over the microUSB port (facilitated by the STM32 companion controller); note that due to the limitations of "full-speed" USB and SPI, this will be limited to approx. 4.8 MHz (as opposed to an external high-speed, pro-style JTAG box that’ll run about $60-250) - a pretty reasonable compromise considering there’s no added hardware cost. :) And, of course, breakyBreaky has "standard" JTAG headers built in.

What is the voltage range for snickerdoodle’s I/O pins?

The voltage levels for the FPGA I/O pins are settable to between 1.2 V and 3.3 V (JA1, JA2, JB1, JB2, JC1).

snickerdoodle has two independent “banks" of 50 FPGA I/O pins and each can be set to any I/O voltage in the aforementioned range. snickerdoodle black adds a third (independent) FPGA I/O bank of 25 I/O pins.

A 3.3 V power supply output is supplied on each FPGA I/O connector, which can be used with a single jumper to set the I/O voltage to 3.3 V for that bank without any additional external components. However, to use an I/O voltage other than 3.3 V (1.2 V to < 3.3 V), that voltage must be supplied to the I/O bank.

The microprocessor I/O (J3) have a fixed voltage of 1.8 V (this is required to support Ethernet on the baseboards as RGMII does not support I/O voltages above 2.5V).

The analog, audio, JTAG etc. I/O on J2 have a fixed I/O voltage of 3.3 V.

What is the temperature range of snickerdoodle? And do you offer an industrial grade version (-40°C to 100°C)?

Below is a list of snickerdoodle component temperature ranges:

There is an industrial version of the Zynq, however it carries a significant price premium and the processor is (usually) limited to the 667 MHz speed grade. If you do have a volume application requiring an industrial temperature grade snickerdoodle, please let us know by submitting a “question” below.

Is snickerdoodle open source?

All baseboard/microShield schematics, Gerbers, and BOMs are/will be published and publicly available.

The complete snickerdoodle schematics and BOM will be published and made publicly available before the end of the campaign.

Is there a version of snickerdoodle without Wi-Fi?

We do not currently offer a version of snickerdoodle without wireless connectivity. If you have an application that does not permit or does not require wireless, please submit a “question” below and we will be happy to discuss.

What happened to the other baseboards you show in your video?

Due to lack of demand - and in an effort to simplify the various campaign offerings - we decided to stop taking orders for shieldBuddy (Arduino shield adaptor), gryphon (autopilot), and whiteRhino (industrial SBC). If you are interested in learning more about these boards, please send us a “question” below. Also, please check out our GitHub profile for schematics of these boards for use as reference designs. Note: if you have already ordered one or more of these boards, we will be contacting you directly for the next steps.

Can I build my own FPGA IP cores? If so, how?

Absolutely! Using AMD’s free Vivado WebPACK, you can develop your very own snickerdoodle IP and take advantage of a thriving community of developers. For more info on FPGA IP development using Vivado, head over to AMD’s site: Vivado Design Suite Video Tutorials

I know the ARM processor can access the LPDDR2 directly, but can the FPGA?

Yes! LPDDR2 memory controller is accessible by both the "hard" ARM cores * and * the FPGA. There are a 9 uncommitted AXI buses linking the FPGA to the ARM processor.

For very high performance applications, the FPGA can directly stream data to and from the DDR Controller via four 64-bit wide AXI slave interfaces. For medium performance applications, the FPGA can connect to the central interconnect through two 32-bit wide AXI slave interfaces that also provide a path to direct control over hard IP peripherals. The hard DMA controller can also drive transactions to the FPGA via two 32-bit wide AXI master interfaces. See sections 22.3 and 22.4 of the Zynq Technical Reference Manual for very detailed info on the FPGA internal connectivity to the hard ARM processor. For a higher level explanation, please see section 2.3 of the Zynq book which can be freely downloaded at ZynqBook.com.

But wait, I want more specs! How fast are the I/O? What about the memory interfaces? What’s the wireless performance like?

Here’s pretty much everything you need to know…

features snickerdoodle one snickerdoodle black
chipset AMD Zynq-7010 AMD Zynq-7020
CPU 32-bit dual-core ARM Cortex-A9 w/640kB cache and 2x 128-bit NEON coprocessors 32-bit dual-core ARM Cortex-A9 w/640kB cache and 2x 128-bit NEON coprocessors
performance 3,335 DMIPS/2.6 GFLOPS@667 MHz 4,330 DMIPS/3.4 GFLOPS@866 MHz
flash 16MB XIP NOR + up to 200GB SDIO NAND via captive microSD card cage 16MB XIP NOR + up to 200GB SDIO NAND via captive microSD card cage
DRAM/bandwidth 512MB/25.6Gbps 1GB/25.6Gbps
SRAM/bandwidth 256kB/28.4 Gbps 256kB/36.9 Gbps
reconfigurable hardware 430K gates/17,600 LUT-6 1.3M gates/53,200 LUT-6
32-bit performance 143,150 MIPS@350 MHz 587,575 MIPS@475 MHz
distributed RAM 270kB/3,354Gbps 630kB/10,275Gbps
DSP performance 74 GMACs/31.8 GFLOPS@461 MHz 276 GMACs/121.5 GFLOPS@599 MHz
total user GPIO 155 179
reconfigurable I/O performance 16x ADC/100x GPIO/46.2Gbps 16x ADC/125x GPIO/75.7Gbps
fixed GPIO 33x GPIO, 4x I2S audio, 14x I2C, 1x ADC, 2x DAC 33x GPIO, 4x I2S audio, 14x I2C, 1x ADC, 2x DAC
Wi-Fi 150 Mbps SISO 2.4 GHz 802.11n 150 Mbps 2x2 MIMO 2.4 GHz / 5 GHz 802.11n
antenna dual-band antenna, switched U.FL ports dual-band antenna, switched U.FL ports
serial interfaces 2x gigabit ethernet, 2x CAN, 2x I2C, SPI, UART, USB 2.0 high-speed, microUSB console/JTAG 2x gigabit ethernet, 2x CAN, 2x I2C, SPI, UART, USB 2.0 high-speed, microUSB console/JTAG
analog interfaces 2x 1MSPS 12-bit ADCs w/16 channel multiplexer, 2x 1MSPS 12-bit DACs 2x 1MSPS 12-bit ADCs w/16 channel multiplexer, 2x 1MSPS 12-bit DACs
other peripherals 5x LEDs, 2x pushbuttons, secure cryptographic key/certificate storage 5x LEDs, 2x pushbuttons, secure cryptographic key/certificate storage
software support Snappy Ubuntu Core Linux, Python, Java, C/C++, ROS, FreeRTOS Snappy Ubuntu Core Linux, Python, Java, C/C++, ROS, FreeRTOS
power 5V via microUSB or 3.7V-17V via power pins 5V via microUSB or 3.7V-17V via power pins
dimensions 3.5" x 2.0" (88.9mm x 50.8mm) 3.5" x 2.0" (88.9mm x 50.8mm)
What about documentation? Do you have a User Manual or something?

Of course! Here’s a link to the snickerdoodle User Manual. This is a “living” document and will continue to be updated going forward, but this should help answer a lot of the questions you still have.

If you’re looking for more information on Zynq and everything it’s capable of, our good friends at the University of Strathclyde literally wrote the book on Zynq. It’s an excellent resource packed full of useful information and best of all? It’s 100% free! Check it out at ZynqBook.com, (or pick up a hard copy off Amazon).

You can also check out our GitHub profile for a comprehensive list of schematics, manuals, drawings, tables, and other goodies.

Where do I find out more about the IDE you’re using?

For more on the AMD SDK, head on over to their website where you can find all kinds of great documentation and other resources: AMD SDK Documentation

How do you pronounce krtkl?

It’s pronounced “critical” (krĭt′ĭ-kəl)…we just removed the vowels and changed the “c’s” to “k’s!” Written in lowercase, the inspiration comes from us spending our entire professional careers developing “safety-critical” systems.

In the Press


Hackaday
SolidSmack

Ask a Question

Produced by krtkl in San Francisco, CA.

Sold and shipped by Crowd Supply.

Snickerdoodle Black (Connectors Down)

Dual-Core 866 MHz ARM Cortex-A9 w/1.3M ASIC gates, 180 reconfigurable I/O, 1 GB LPDDR2 RAM, 2.4 GHz + 5 GHz 802.11n 2x2 MIMO Wi-Fi, copperHead heat sink, free SDSoC license.

$270 $8 US Shipping / $18 Worldwide

Snickerdoodle Black (Connectors Up)

Dual-Core 866 MHz ARM Cortex-A9 w/1.3M ASIC gates, 180 reconfigurable I/O, 1 GB LPDDR2 RAM, 2.4 GHz + 5 GHz 802.11n 2x2 MIMO Wi-Fi, copperHead heat sink, free SDSoC license.

$270 $8 US Shipping / $18 Worldwide

Snickerdoodle One

Dual-Core 667 MHz ARM Cortex-A9 w/430K ASIC gates, 155 reconfigurable I/O, 512 MB LPDDR2 RAM, 2.4 GHz 802.11n Wi-Fi. Only available with connectors up (benchtop).

$135 $8 US Shipping / $18 Worldwide

piSmasher SBC

HDMI in AND out, 2x Gigabit Ethernet, 4x USB 2.0 high-speed, audio line in/out, headset, 25 reconfigurable I/O, DC power jack. Note: order your snickerdoodle connectors "down".

$245 $8 US Shipping / $18 Worldwide

breakyBreaky breakout board

Full snickerdoodle pinout (270 pins) on 0.1” headers, JTAG connector, DC power jack. Note: order your snickerdoodle connectors "down".

$45 $8 US Shipping / $18 Worldwide

cookieJar enclosure

A beautiful enclosure machined out of 6061 aluminum, bead blasted, anodized, and laser engraved. Also serves as heat sink. Note: this enclosure is only compatible with connectors “up” snickerdoodle.

$68 $8 US Shipping / $18 Worldwide

32GB microSD card (pre-loaded)

32GB U3 Speed Class microSD card pre-loaded with snickerdoodle Ubuntu Linux.

$30 $8 US Shipping / $18 Worldwide

jumpers (50 pack)

7.5" (19cm) long with Samtec pins on one end (for installing into pin housings, above) and 0.1" female “maker” pins/housings on the other. Note: includes jumpers (50 pack) only.

$10 $8 US Shipping / $18 Worldwide

pin housings + jumpers

All seven mating snickerdoodle connectors and a 50-pack of (loose) jumpers - see below for jumper description for benchtop-prototyping; no baseboard needed.

$15 $8 US Shipping / $18 Worldwide

About the Team

krtkl

 · 

We’re a collection of electrical, mechanical, and software engineers based out of San Francisco. With decades of experience in embedded systems, real-time controls, and robotics, we’ve worked on everything from medical devices to consumer electronics. With the mindset that no detail is too fine and “good enough” never is, we live for building products people love and that will make a difference in the world.

Ryan Cousins
Jamil Weatherbee
Russell Bush

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects