GRAYnomad Nature Photography :: The QUUB


NOTE: This is an initial landing page for an upcoming Quub website. Both this page and the Quub itself are a work in progress.

Quub is an open-source, micro controller system based on a core processor, addressable daughter boards, and remote IO modules.

The Quub system has the following features.

  • The core processor board is an Adafruit ItsyBitsy M4 module, this features a SAMD51 32-bit Cortex M4 processor running at 120MHz. (link to Adafruit product page)
  • Small form factor, nominally 2.6 x 2.6 inches (66 x 66mm).
  • A unique method of attaching four "walls" (vertical PCBs) that have access to all the backplane signals. These walls can be blank or have active circuitry. Either way they make the Quub design "self enclosing", no need for a box.
  • Addressable daughter boards can be stacked above or below the core processor.
  • An optional "mezzanine" expansion module, useful for small addons such as a real time clock or SD card socket.
  • 28-way "stackplane" using stackable headers or a physical backplane just like the "old days".
  • 24-way "edgeplane" that allows fully functional IO boards (walls) to be soldered directly to the main PCB.
  • 34-way interface to the mezzanine board that allows fully functional expansion. Including 10 user-configurable signal/power pins.
  • The stack and side planes have provision for I2C, SPI, 2x UART, analogue in, digital IO, and addressing of daughter boards.
  • Up to 16 daughter boards can be addressed and can therefore share the same system IO lines.
  • Hardware decoding of six slave select signals, one for each wall, one for the expansion board, and another for the stackplane.
  • Options for "vectored" interrupts to be generated by any or all of the 16 daughter boards.
  • Two STEMMA-QT/QWIIC headers with an (optional) added interrupt signal.
  • Dedicated debugging pins as well as the standard SWD interface brought out to a header.
  • Two of the headers are directly compatabe with a standard .91" OLED display that can be used for general IO or debugging.
  • A piezo buzzer.
  • Connectors on the rear can be used by 10 uncommited user signals, these are designed to be used for external power, sensor or network interfaces.
  • Large south-wall accessible pushbutton that can be used for UI or reset.
  • Small south-wall accessible pushbutton that can be used for reset., designed to be activated through a small hole in the wall PCB.

The Quub is a general-purpose embedded microprocessor system, the form factor can accommodate designs from the simplest flashing-LED project to a complex multi-processor robot controller.

If you need a system with over 200 analogue inputs, or maybe 40+ serial ports, or more than 500 digital IO connections, no problems, Quub can do that and more. And if that's not enough hook up multiple Quub stacks together.

Simple systems like Arduino and Picaxe have been around for some time now while at the other end of the complexity/power spectrum it seems that a new Linux-based 1GHz ARM board is being release every second day.

All current systems either pay lip service to add-on functions or are hamstrung by a backplane design that does not allow multiple "shields" to be used without many clashing issues. The Quub aims to rectify that.

Backplane — With the vast array of I2C and SPI peripheral IO chips now available it makes sense to have a backplane with just a few signals that communicate with slave devices using one of these popular serial interfaces.

The Quub then is designed to rely heavily on these serial communication methods with the majority of the IO performed by smart peripheral ICs or dedicated CPUs working as co-processors.

But most systems have these serial interfaces, what's different about the Quub backplane?

  • The main difference is that on a Quub system you can address the plugged-in modules, this means that you can for example have up to 16 identical modules and there are no pin-clashing issues. Or you can use modules from different sources and not have to worry about them using the same pins.
  • Interrupts. The Quub backplane allows up to 16 vectored interrupts to be provided by modules. So when an event happens you can deal with it very quickly.



You want Linux? — While the design of a Linux-based ARM7 board with HDMI, USB OTG and all the modern goodies is outside the scope of the current Quub brief, such a board could be designed to plug into a Quub backplane. That said there a multiple options for a high-end ARM boards these days and the Quub will not try to compete with them.

The Quub can however be used as an IO sub-system to these more powerful systems, many of which are somewhat real-time IO challenged.