The MotorPiTX is a multi-function board. It has two A/B motor drivers, two servo controllers, a bunch of headers and most interesting of all an “ATX-style” soft power switch. As with so many boards, this was launched through Kickstarter. The project was successfully funded, and several stretch goals were met, so I also got some handy motors, wheels amd a battery pack included. There seems to have been some sort of mis-calculation with the prices and postage costs, though, which has meant that the kits are being sent out to backers in dribs and drabs. The first ones were delivered last September, but mine only arrived last month.
The kit is naturally more complex than the single-purpose RPi MCB, and was more fiddly and time-consuming to assemble. Unfortunately I could not find any detailed assembly instructions. The kit came with a diagram, a parts list, and some assembly hints, but not the kind of step-by step instructions that often accompany Raspberry Pi kits. There was also the problem of board versions. The web site and the kickstarter page are full of pictures of earlier versions, but so far I have not been able to find a single picture of an assembled “1.0” board. This makes some things (choosing and placing headers, for example) quite tricky. If It helps anyone else, here’s a picture of mine. I have not populated all the headers, but I hope I got the rest right!
The other assembly problem was the surface-mount micro-USB socket. The pads on this are so tiny that I did not feel comfortable trying to solder this in place. Luckily, the instructions suggest to leave it off if it is too tricky!
Eventually I got the board to a point where I was comfortable with powering the board on and trying to test it. My initial attempt was to plug in a 9V PP3 battery to the barrel jack on the board. When I plugged it in the relay clicked alarmingly and the power light flashed, but then the system was quiet again. Pressing the power button on the MotorPiTX switched the Pi on, and it flashed its LEDs pretty much as usual. This was when I hit my first real problem. I don’t usually connect a keyboard and screen to my Pis, preferring to work using ssh and remote X windows. However, when I started the Pi powered by the battery connected to the MotorPiTX, for some reason it did not start up the networking. To get a network connection, I had to power the Pi from its own microUSB connection, and forgo the soft power switch. I’ll investigate this further some other time.
Having successfully powered up the Pi and the MotorPiTX board, and got a network connection, I now wanted to try the motor control. Wiring the motor was a bit more tricky than the RPi MCB, as the MotorPiTX just provides pin headers rather than screw terminals. If I had had some spare screw terminals I would have soldered them in place instead, as they seem a much better way to connect motors. Eventually, though, I used a small breadboard to connect the bare wires from my test motor to some header wires.
For comparison purposes I wanted to run the same two-second forward and backward test as I did with the RPi MCB. I had that code on the Pi already, so my first attempt was to just change the pin numbers and run that one. Unfortunately, this did not work. My next port of call was the example code. There are examples of using all the board features on GitHub, so I downloaded the motorpitx python library, and knocked together a small python program to use it:
import motorpitx import time motorpitx.motor1(100) time.sleep(2) motorpitx.motor1(-100) time.sleep(2) motorpitx.cleanup()
MotorPiTX uses PWM percentage for speed control, so the example above sets motor 1 to full speed ahead, waits for two seconds, sets motor 1 to full speed reverse, waits for two seconds, then stops and cleans up the outputs. Pretty straight forward really.
In conclusion, this is an interesting board with plenty of features. While I can see the theoretical advantages of the “ATX” power supply circuitry, it does complicate the board, and I could not get it to work properly. If all you want is no-nonsense control of two motors, and you don’t feel like wiring your own controller, then the Ryanteck RPi MCB is the obvious choice. If you also need servo control and general purpose I/O, then the Boeeerb MotorPiTX seems a good all-rounder.