Is BrickPi+ and BrickPi3 stackable?

Since BrickPi+ and BrickPi3 are totally different HAT’s can they be stacked and run both BrickPi.py and BrickPi3.py at the same time?

i.e does BrickPi+ and BrikPi3 have different addresses?

I haven’t tried it, but I think it would work. The BrickPi+ uses RPi GPIO18 for LED2, and BrickPi3 uses RPi GPIO18 for the reset line. You might need to write GPIO18 HIGH to allow the BrickPi3 microcontroller to run, and the side effect would be that LED2 on the BrickPi+ would be on solid.

The BrickPi+ uses UART for communication, and the BrickPi3 uses SPI. The two protocols use different pins, so it shouldn’t be a problem.

Although not extensively tested yet, the BrickPi3 and drivers now support changing the address (as of firmware version 1.4.0). See here for an example (note that the example is not ideal, just good enough for testing). Changing the address needs more testing, but so far it seems to work well.

Great news.

I have a BrickPi+ and a BrickPi3 on they way atm so will try to stack the 2 together also great that the BrickPi3 is becoming stack-able as I am sure many people will make use of this.

I want to use 8 motors on my worm brain project as the worm brain has many muscle outputs but current program just groups all of them from 1 side and puts it to 1 wheel them all of the muscle from other side of worm to other wheel. I am going to make 4 section of worm and send brain muscle outputs for each section of worm to the motors for that section. This should create a nice natural worm like wiggle :slight_smile:

I am in the process of rewriting the Connectome routine as it takes 5000 lines of code because it uses a line of code to update each postsynaptic, I am going to make lists of all the updates then a loop will just go through the list and update the postsynaptic this should reduce the 5000 lines of code down to about 200.

Because of the for!ware update @matt mentioned you can stack BrickPi3s

Regarding stacking multiple BrickPi3s, see here.