Close
0%
0%

The Quub

Open-source microcontroller system based on an Raspberry Pi Pico core processor and stackable interface boards

robrob
Public Chat
Similar projects worth following
Open-source microcontroller system based on a Raspberry Pi Pico core processor and dockable/stackable interface boards

The QUUB system has the following features.

  • The core processor board is a Raspberry Pi Pico module, this is a dual core 32-bit Cortex M0+ processor running at 133MHz.
  • Medium size form factor, nominally 170 x 125mm (~6.7 x 4.9 inches).
  • Up to 15 addressable daughter boards (stackables) can be stacked above or below the core processor.
  • Up to 16 addressable devices on each stackable.
  • Up to 4 addressable docking boards (dockables) on each Stackable (assuming the standard form factor is adhered to, up to 16 if the stackable is larger).
    • Each dockable has access to UART, I2C, SPI, ADC, DIO, and various control signals.
    • Allowance for dual dockables for functions than need more real estate.
    • Each dockable can be individually shut down to conserve power.
    • Each dockable can be individually reset.
  • Each stackable and each dockable has an (optional) ID EEPROM that defines its IO capabilities for the MCU.
  • Up to 256 vectored interrupts from these stackable modules.
  • Six docks on the MCU board for IO expansion, up to another 60 docks on a fully-loaded system with 15 stackables.
  • A seventh "remote" dockable on the main PCB, typically for a user interface panel.
  • 40-way "stackplane" using stackable headers.
  • The stackplane has provision for all power signals, I2C, SPI, 2x UART, 2x analogue in, 8 digital IO, four user-defined signals, and addressing of daughter boards.
  • All 15 daughter boards can be addressed and can therefore share the same system IO lines.
  • Three front-panel accessible pushbuttons that are used for reset and a user input.
  • MCU control of the 3V3 power supply to the system.
  • Watchdog hardware and provision for system fault detection.
  • Six mounting holes suitable for an M3 bolt or similar-sized screw.
  • One-digit 7-segment LED display for a heartbeat or error code display.
  • Provision for a .91" OLED display for debuging or general display.

If you need a system with over 20 analogue inputs, or maybe 30 serial ports, or more than 200 digital IO connections, no problems, QUUB can do that and more.

Stackplane

The stackplane (backplane for a QUUB stack) consists of a single 40-way header. With the vast array of I2C and SPI peripheral IO chips now available it makes sense for larger and more complex applications to have a backplane with just a few signals that communicate with slave devices using one of these popular serial interfaces.

There are two user-defined signals on the stackplane, these signals pass up the entire stack and can be used by any stackable for whatever purposes. One example would be a power supply stackable sitting at the bottom of the stack that needs an ON/OFF switch and a power indicator LED at the top of the stack.

Stackables

Stackables are simply daugther boards that interface with the QUUB stackplane.

They are specified to be 125x125mm in size with up to four dockables, but any design and size is allowed as long as the stackplane interface is adhered to.

Dockables

Dockables are small PCBs (32x42mm) that solder directly onto a stackable. With today's technology that size is plenty for most IO needs however there will be times when a larger version is required. So the dual dockable has been specified. At 32x94mm this module is just a tad over twice the size of a standard dockable.

A QUUB stack can have up to 66 dockables, all individually addressable, this makes for a very versatile system with just about any combination of IO achievable.

"Remoting" a dockable

Using a simple adapter board dockables can be connected to the MCU board via a 26-way ribbon cable rather than being soldered directly to the board. The dockable therefore can be mechanically placed remotely from the main board, for example as a user interface on the face of an enclosure or as IO on the side of an enclosure.

To make this even more useful small PCBs can be soldered directly to — and perpendicular to — the dockable, such PCBs can be used to mechanically fix the dockable at right angles to the enclosure side to facilitate user IO, such...

Read more »

211125__MG_9886.jpg

Latest PCBs for the CPU.

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

Preview

Schematic.pdf

Schematic design as at 13 Sep 2021

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

Preview

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

  • The latest PCB

    rob05/17/2024 at 10:39 0 comments

    Mission creep has set in and I've added a lot of features. Here is a 3D render of the latest version of the main PCB.

  • Slight update

    rob02/25/2024 at 21:56 0 comments

    Almost as soon as I received the last PCBs I had a few ideas for some changes. So I'll be getting new ones made and won't be using the last ones. They cost almost nothing to make these days so might as well get it as right as possible eh?

  • Yet another processor and PCB design

    rob02/20/2024 at 05:22 0 comments

    This project started about 10 years ago and has had more starts than Phar Lap (Aussie joke). Yet more processor PCBs made recently. The core processor has been changed to a Raspberry Pi Pico, partly because it has castellated pads so it can be soldered directly to the QUUB board, and partly because I think that there is a much larger following and body of work out there for that particular processor.

    Here are five of them stacked, giving some idea of where the QUUB name came from :grin: Of course one would not stack five MCU boards, I just wanted to check the mechanical aspects of the idea.

  • 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

View all 12 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