Hi, new here;-)
But I played with the NXShield for Arduino (Mega) before. I’m surprised that the BrickPi delegates all the little details for the motor control to the Pi. Especially for things like [BrickPi_Python] motorRotateDegree(), that could be handled in the ATmega’s.
Currently, that’s just an idea.
Thanks for posting that picture!
One of the differences between the Pi and the Arduino is that running PWM and serial constantly can suck up a lot of power on the Pi. So sending a command, letting the motors run, is actually a power and processing power saving issue.
Currently when you try to do motorRotateDegree(), the Pi has to talk to the ATmega’s in very short intervals and get the positions of all motors and compare those to the target values. So a lot of load on the Pi and the serial connection.
If the communication between Pi & the ATmega’s could be something like
rotate motor X y decrees and notify when done, the Pi would not have to constantly ask`are we there yet?’ So it would minimize the load on the Pi, the ATmega’s and on the serial line.