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 stackable interface boards

QUUB is an open-source, micro controller system based on a core processor, addressable daughter boards which in turn can have addressable daughter boards, and remote IO modules. It is a general-purpose embedded microprocessor system, the form factor is based on a main MCU board and multiple stacked IO boards called "stackables" and smaller solder-on boards called "dockables".

This concept of up to 64 addressable boards makes for a very versatile system that can be configured for just about any imaginable application.

The target audience for the QUUB is more the serious hobbbyist and low-end BMAC (Building Monitoring and Control) applications, it's way overkill for a beginner's flashing-LED project, although can can be done as well.

The QUUB system has the following features.

  • The core processor board is an Raspberry Pi Pico module, this is a dual core 32-bit Cortex M0+ processor running at 133MHz.
  • Medium size form factor, nominally 100 x 125mm (4 x 5 inches).
  • A unique method of attaching front and rear panels.
  • 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.
    • Each dockable has access to UART, I2C, SPI, ADC, DIO, PWM, and various control signals.
    • Allowance for dual dockables for functions than need more real estate.
    • Each dockable can be shut down to conserve power.
  • Each stackable and each dockable has a ID EEPROM that defines its IO capabilities for the MCU.
  • Up to 256 vectored interrupts from these stackable modules
  • Four docks on the MCU board for IO expansion, up to another 60 docks on a fully-loaded system.
  • 36+3+3-way "stackplane" using stackable headers.
  • The stackplane has provision for all power signals, I2C, SPI, 2x UART, 2x analogue in, up to 16 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.
  • Two front-panel accessible pushbuttons that are used for reset and a user input.
  • One switched power signal that can be used by the MCU to shut down peripherals such as a GPS or wireless transmitter.
  • 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.

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 (backplane for the QUUB stack) The stackplane consists of three headers of 36, 3 and 3 connections. 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 four 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. Another might be to allow high-current devices to get power from a power-supply stackable via the stackplane.

Front and rear panels Provision is made to solder PCBs at right angles to the main PCB on the front and rear.The rear panel has access to all the stackplane signals, the front panel has the SPI, I2C, and power. These panels can be used to implement a user interface.

Bases A base is not normally required as the MCU board has no components on the solder side of the board. However the MCU may not be the lowest stackable and the one that is may have through-hole components. In this case a base board may be required to isolate the electronics from whatever the stack is mounted to.

Another reason to have a base board is to accommodate large components, for example a...

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