Close
0%
0%

The Quub

Open-source microcontroller system based on an Adafruit Itsy Bitsy M4 core processor and stackable interface boards

robrob
Public Chat
Similar projects worth following
Open-source microcontroller system based on an Adafruit Itsy Bitsy core processor and stackable interface boards

This is a new version of an old idea that I've been playing with for years, and I mean literally for years.

Overall the delay has been good though in many ways as the current design is way better than early ones were.

There is a rudimentary website hosted as a sub domain on my main site here

quub.org

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.
  • Small form factor, nominally 2.4 x 2.4 inches (60x60mm).
  • 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".
  • 18-way "sideplane" that allows fully functional IO boards (walls) to be soldered directly to the main PCB.
  • 18-way interface to the mezzanine board that allows fully functional expansion.
  • 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.
  • 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.
  • 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.

211125__MG_9886.jpg

Latest PCBs for the CPU.

JPEG Image - 1.69 MB - 03/16/2022 at 23:29

Preview
Download

Schematic.pdf

Schematic design as at 13 Sep 2021

Adobe Portable Document Format - 108.72 kB - 09/13/2021 at 10:16

Preview
Download

7-01-2021 6-29-47 AM.jpg

This is the new design. Where as the original only had a single solder-on side this has four, all of which can house electronics and/or be connectors for IO interfaces.

JPEG Image - 391.94 kB - 01/06/2021 at 20:44

Preview
Download

  • New PCBs received.

    rob03/16/2022 at 23:39 0 comments

    The new CPU boards are here, I already have some changes in mind so I may not even test these one, we'll see.

  • A quick video showing most of the QUUB features.

    rob10/14/2021 at 21:38 0 comments

  • PCB v2 is almost ready for fab

    rob09/13/2021 at 07:07 0 comments

    The PCB v1 has been in use for a while now and some support code has been written to remap a few of the default Adafruit pins to get a second UART etc.

    During the course of this I had many new ideas and have modified the PCB substantially. It's almost ready to be fabbed as v2 now, here's a 3D render of the new look.

    NOTE: Circuit boards called "walls" can be soldered at right angles to the main PCB on the four edges, these have access to all the backplane signals so can have active electronics and connecters to facilitate IO, or just be blank to form the sides of a box. These walls are designated as per the cardinal points of a compass, N, E, W, and S.

    With all four walls in place and the addition of a top PCB the design is essentially "self enclosing".

    The "stackplane" is now three Arduino-style socket strips, one is 22-way with most of the logic signals and two are 3-way that mostly carry power.

    The expansion bus has been extended to include most of the backplane signals. The expansion module now sits at the same height as the Adafruilt CPU module. Normally this expansion module would be used for small functions that don't justify an entire stackable daughter board, such as an RTC or micro SD card. It could also be used for IO like a serial port or more STEMMA-QT/QWIIC interfaces as it has some access to the west and east walls and even the south wall if it is designed in an L shape.

    There is now hardware decoding for six slave select signals, one for each wall, one for the expansion module, and another for the backplane. Thus up to six devices can share signals such as the SPI interface. Alternatively up to 16 stackable and addressable boards are allowed for and each such board can provide a vectored interrupt with a protocol for this being largely defined.

    Two STEMMA-QT/QWIIC connecters have been added, this is fast becoming a standard so it makes sense to include them. I always planned to have a quad buffered interface for this and still will, but these two connecters allow the use of STEMMA-QT/QWIIC modules right off the bat.

    Another addition is dedicated pins on the debug header, these can be used as scope triggers or for other high-speed measuring. Also internal data variables can be bit banged out these pins and read on a scope. Code has been written to do this. Naturally a standard ICE debugger for an ARM can be used as well and I have plans to design a debug board with some useful features.

    Finally both the debug and expansion headers allow for the direct plugging in of a common 0.91" OLED I2C serial display, either for debugging or general UI purposes.

  • PCB fab is in progress

    rob06/25/2021 at 22:39 0 comments

    The design files have just been uploaded to JLCBPCB, this is the base board to hold the Adafruit CPU module. The tabs on each corner are to locate the side "walls" that can house more circuitry and/or physical IO connectors.

  • A new simpler and more powerful design

    rob01/06/2021 at 20:58 0 comments

    This is the new design. After a few years of inaction I've come up with a modified design that is much simpler and yet more powerful in most ways.

    The original design only had a single solder-on side, this new design has four, all of which can house electronics and/or connectors for IO interfaces.

    Another big change is the processor. Despite the fact that I love their chips and tool chain, after total lack of support from NXP I've gone with an off-the-shelf design in the form of a tiny carrier board with a ATSAMD51 Cortex M4. This is an Adafruit product that has good support and is Arduino ready. Therefore I will spend almost no time debugging the processor electronics and fighting with the development toolchain only to wind up with something that nobody will want to use because it's not "Arduino inside".

    Of course, as the processor is on a carrier board, and the backplane is very generic, a new processor version can be designed at any time and just plugged in.

  • New version being considered

    rob09/09/2019 at 01:00 0 comments

    This project has languished for a long time but I think I will resurrect it. 

    The format will change but still be similar in many ways, with stackable boards and solder-on front panels. The main difference is that the new design uses an LPC1549 ARM processor and has built in RS485 networking using a protocol I am designing called R3N (Robust Redundant Ring Network).

    Why bother when you can run Linux and WiFi or Ethernet on a board 1" square these days? I dunno, I just like doing this stuff and I can see uses for it.

  • Boards back from PCBA

    rob09/24/2014 at 21:55 0 comments

  • PCB and PCBA in progress

    rob05/06/2014 at 23:29 0 comments

    The design files have been sent to a company in the UK, they wil fab the PCB and load four boards with components for use as prototypes.

  • Website up

    rob03/10/2014 at 13:47 0 comments

    The Quub website (quub.org) is up, actually it's been up for some time but needed re-jigging because there has been a lot of changes to the Quub design recently that were not reflected on the site.

    The information is still a bit sparse, but what is there should be in line with the final Quub design.

View all 9 project logs

Enjoy this project?

Share

Discussions

rob wrote 03/09/2014 at 22:48 point
PCB design finished for the first core processor board, an ATmega2560 with 512k external SRAM. Getting PCBA quotes for first prototypes soon.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates