Review of the Cytron Technologies Maker Pi RP2040 – a motor controller board at the start of your robotics journey
Last in my mailbag of Cytron Technologies goodies, this is the Maker Pi RP2040. It has clearly been designed to get you going with your robotics journey and to give you the ability to add all sorts of inputs and outputs into a project, centered around the new RP2040 microcontroller chip from Raspberry Pi.
What’s in the box?
You get the Maker Pi RP2040 board and also 4 Grove-to-female-header cables, some rubber feet and, handily, a small Phillips screwdriver – that saved me digging my own screwdriver out, and it’s a nice something for the newbies who don’t have a collection of tools.
What can the board do?
Let’s first of all look at your input/output options:
- 7 x Grove sockets – you can plug in any compatible Grove modules, or you can use the four included cables to hook up any generic sensors, outputs, inputs, whatever you like!
- 2 x DC motor outputs – allowing you to drive 2 motor outputs forwards and backwards independently at up to 1A per channel (1.5A peak). Also on-board are four test buttons that allow you to get your motors moving and check they work without any programming.
- 4 x servo motor outputs – for fine motor control.
- 1 x piezo buzzer – so you can play beeps and other sounds (this can be disabled completely by an on-board switch).
- 2 x Neopixel-style user-controllable RGB LEDs.
- A collection of low-power LEDs in-line with all the input/output ports so that you know what has been activated (and who doesn’t like blinkies?)
- 2 x user-defined buttons – perhaps you can use these to put your robot into different modes…?
- A Run/reset button and a Boot button.
If you want to take a look at the Datasheet, you can find it here.
Let’s talk about power
In terms of powering the board and the motors, you have three options:
- Supply power through the microUSB socket (very handy when you’re testing things out and programming at the same time).
- Supply power via a single-cell 3.7V LiPo battery. (The microUSB input will charge your LiPo as well, with overcharge and undercharge protection built-in).
- Supply power via the screw terminals between 3.6V and 6V (the max is equivalent to 4 x non-rechargeable AA batteries, but you can, of course, use rechargeable ones instead).
All the power is handily isolated by an on-board power switch so if you just need to shut the thing off, one click and you’re done.
Having a play
I hooked up two 6V DC motors to the board using the screw terminals (thanks again for the screwdriver!) then used the test buttons to make them run. Excitingly, it “just worked”. I then used the pre-loaded demo script to automatically “turn the robot on the spot” (which it would have done had I not elevated the wheels before I hit the button!). You can see a short demo video of it working below:
I also hooked up a servo and used the demo script to turn it back and forth. These are small steps, but vital ones, as it proves that everything works and you’re ready to embark on your future exploits.
Speaking of which, Cytron have provided a GitHub repository to help you, full of demo scripts for both CircuitPython (which is pre-installed) and MicroPython.
You can see the code for the pre-loaded demo here. As you can see, for DC motors you simply use the pwmio library to define the motors and then trigger them. For servos, they are using Adafruit’s adafruit_motor/servo library. Normally, I’d criticise them for not building their own library, except a) why re-invent the wheel? and b) they’re using CircuitPython for this anyway, and Adafruit invented that!
The post Review of the Cytron Technologies Maker Pi RP2040 – a motor controller board at the start of your robotics journey appeared first on Raspberry Pi Pod and micro:bit base.