What is a prototype?

A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:

Proof of Concept

Explorations that test ideas and functionality.

Functional Prototype

Demonstrates the functionality of the final product, but looks different.

Appearance Prototype

Looks like the final product, but is not functional.

Design Prototype

Appearance and function match the final product, but is made with different manufacturing methods.

Production Prototype

Appearance, function, and manufacturing methods match the final product.

Prototype Gallery

These photos and videos provide a detailed look at this project’s development.

There is a plan to replace FPGA with bigger one e.g. 20K cells, potentially it may happen on this project if funding goes above planned. All part numbers will be provided once final revision of the board is completed.

What is QDT?

Quokka Develpment Toolkit (QDT) is a cloud-based SaaS, allowing to program FPGA with high-level programming language. C# (not .NET) is used at the moment and shows great productivity enhancements. Toolkit is in preview mode right now, you can check it here https://quokka-fpga.net

There are drivers for each hardware component on the board including ADC and DAC drivers, UART, JSON serializer\deserializer and much more.

QDT goal is to bring software and hardware people together to create amazing integration products. Working with low-level hardware is a pain due to timing, synchronization, protocol implementations etc. There are IPs available for different tasks, but bringing it all together is a challenge, which is costly and time consuming process. Quokka Development Toolkit is focused on solving this last mile problem, it allows to quickly shuffle your hardware configuration, coordinate components and does all the heavy lifting of VHDL programming.

NOTE: There is no binding between Quokka board and QDT. They are two independent products that can work together or on their own. You can use boards by themselves and write code on VHDL, you can use QDT to program other boards from major vendors.

What is FPGA?

FPGA is really cool technology that has been around for year, but has not get much attention from general development community due to various factors like metastability, obscure language and high cost of development tools. In essence, it allows you to change internal configuration of the chip according to specific application needs. Traditionally, it is used in low-level real-time applications like networking and video processing. Over the couple of years it gained traction and was approved for use in US Military and Defense. Another factor was acquisition of Altera (one of the biggest manufacturers of FPGAs) by Intel. There are plenty information around on how to program FPGAs and which tools to use, please make sure you read about advantages and limitations of FPGA before committing to this project.

Some of the advantages are

Low latency, handling logic is activated withing one clock cycle after getting event, which is about 20ns (when signal only used as a trigger) on 50MHz clock

Predictable performance, there are no interrupts happening during handling of events, it is as real-time as hardware can be

Major limitation is the amount of resources available for design. Once you exceed it, you have to choose bigger chip

FPGAs are limited by clock frequency under 1GHz at best. Enormous amount of work is required to optimize design to run on high frequencies

Why Quokka?

Quokka IoT is a hardware lab rat. Ideal for quick prototyping of robotics, hardware systems and protocols. When used with https://quokka-fpga.net toolkit, it unleashes the great power of FPGA. Implement hardware integrations in minutes, communicate with upstream to report state and receive commands.

Risks and challenges

WiFi module that originally was chosen for the board is discontinued now. Work has been done to replace it with WiPy (https://pycom.io/), all schematics are ready, but has not been manufactured and tested. Production will be split into two stages - first will be test order for 5 boards, most of the board components are already tested, so only WiFi module needs to be integrated. Once everything is working fine, main order will be placed and then dispatched after manufacturing.

There is a piece of software that has to be written in order to support JSON comms with FPGA - Forwarder from UART to HTTP. Considered low risk as there are plenty of examples on how to do that with this module.

There might be some challenges in dispatching large amount of boards in estimated delivery date, but that will be an awesome problem to solve. Chinese manufacturer has dispatching service available, so this might be considered as low risk