Hot on the heels of the Maker Uno RP2040 and Edu Pico, Cytron are back with another Raspberry Pi Pico based board, but this time the RP2040 has been replaced with the new RP2350 SoC.
The $25 Cytron Motion 2350 Pro offers connections for four motors, eight servos, add-ons using Stemma QT, and a plethora of GPIO pins for sensors and electronic components.
Is this new board worthy of the dollars in your pocket? Spoilers, yes it is, but together let's take a look through its features and functions so that we can better understand it.
Cytron Motion 2350 Pro Specifications
Cytron Motion 2350 Pro Design
Another purple PCB from Cytron, and it packs plenty of features into a small package. So much that it forces the RP2350 onto the underside of the board. The SoC is the RP2350A, which has 30 GPIO pins in total. It can be considered the default RP2350 board. There are other RP235X configurations, and we have a full guide for your reference.
The port and GPIO placement on the Cytron Motion 2350 Pro has been well thought out and considered. The motor terminals are right next to each other and to the VIN terminal, meaning that higher voltages are not traveling across the board. On the other end of the board are the GPIO pins for general use, and hobby servo motor connections. These are in a SVG configuration (Signal, Voltage and GND) which provides the correct pinout for servos, and a plethora of voltage and GND connections.
Three “Maker Ports”, the Cytron parlance for Stemma QT / Qwiic / QwST connectors adorn the left side of the board. These ports provide a quick and easy connection to compatible add-ons boards. Next to the Maker Ports is a USB A host port, which can be used to connect USB flash drives for storage.
Dotted around the board are switches and buttons. The switches are used to turn on / off the board and the embedded piezo buzzer. The buttons are a mix of reset, boot, user configurable and motor test. The reset and boot buttons are used when flashing firmware to the RP2350. The user configurable buttons are essentially broken out for use with the GPIO and our chosen programming language.
The Motor test buttons are useful for checking the wiring of your motors. Why is this useful? Firstly, we can check that they are making good contact in the terminals. Secondly we can ensure that the motors are spinning in the correct direction, ensuring that our robot moves correctly. These buttons are an excellent way to debug whether your issue is hardware or software based. The LEDs which adorn each GPIO pin, follow the same logic. We can see the state of the GPIO pins (on/off) without using any code to print their state.
Using the Cytron Motion 2350 Pro
Essentially, the Cytron Motion 2350 Pro is a giant Raspberry Pi Pico 2 with onboard motor controllers and fancy features. The Cytron Motion 2350 Pro is as easy as using a standard Raspberry Pi Pico 2. The board comes pre-flashed with CircuitPython and a quick demo script. The demo script shows off every function on the board, at once! The GPIO LEDs lit up, the speaker played a rendition of the Mario theme, and the RGB LEDs lit up a glorious rainbow on our desk.
Coming preloaded with CircuitPython is a recurring, and smart move by Cytron. CicuitPython, a fork of MicroPython, is maintained by Adafruit and a team of developers. Devices running CircuitPython appear as USB flash drives (CIRCUITPY) in the file manager. We can then edit the code directly on the board. It looks and feels like MicroPython, but it has an extensive library of pre-written libraries for a range of sensors and add-ons. Adafruit offers the libraries as an archive that we can download as one large package, or piecemeal .Dropping the libraries for your intended add-on board into the libs folder of your device. Edit the code.py file with your project code, save, and your project springs to life each time the board is powered up.
Not a CircuitPython fan? Ok, that’s fair. Being an RP2350, you can also run MicroPython, and the Arduino IDE. It's still early days for the RP2350, so expect a little turbulence while everything settles down. More languages will be supported in the coming weeks. The community needs time to get hands on with the latest Raspberry Pi SoC.
No matter what programming language you prefer on the RP2350, by offering the embedded components as simple GPIO pins, we have total control. Labeling the components with their GPIO pin reference makes it really easy to work with.
I ran through our usual tests, connecting servos to the servo pins, and writing a few lines of CircuitPython to sweep the servos in unison. I dug around in my Ikea Alex drawers (with 3D printed Gridfinity storage bins) and found eight servos. A few minutes of coding and I had a Mexican wave effect with servos copying each other’s movement. Yes, you really can connect eight servos to this board. They can be continuous of 180 degree servos, all easily controllable via CircuitPython. This would make for an excellent crawling creature effect.
I then connected two DC motors, the large yellow motors found at the cheaper end of the robot kits. No issues at all. They just worked with our code, and I tested that they were wired up correctly by using the motor test buttons. Motors up to 12V would be fine for this board, just make sure to calculate your stall current requirements as you don’t want to exceed the motor controller’s max output.
Moving on, I tested the two WS2812B “NeoPixel” RGB LEDs. These LEDs soon danced to our command, with many different colors on show.
The Maker Ports are where our interest lies. These ports are essentially smaller GPIO pins offering connections to the I2C bus. Using an MPR121 touch sensor with 12 inputs, Adafruit’s MPR121 library for CircuitPython, and a few lines of code, I soon had a project that saw the board reacting to our touch. It took less than ten minutes!
The USB host port is not, as I first thought, for control of current to a USB device. The Edu Pico had a USB port and relay that enabled us to control the port and send power to a device. This host device is there for data transmission with a USB device.
The flexible power options are wonderful. For programming we must use the USB-C port. The port can also be used for 5V of power, but if our motors, servos or other devices need a little more power, then the VIN terminal accepts between 3.6 and 16V, which is stepped down to 5V for the 5V rail, the GPIO running at 3.3V. Motors will get access to the raw power, so match your motors correctly. Power can be provided by AA batteries or a LiPo cell, but note that there is no onboard LiPo charging.
Who is the Cytron Motion 2350 Pro for?
This is a board for the roboticists among us. Those that need a little more processing power than the RP2040 based alternatives of which Cytron has the $10 Maker Pi RP2040 which has just two motor terminals, and nothing for your servos. Saying that, we did give it the Editor’s Choice Award back in 2021.
You don’t need to be a professional to enjoy Motion RP2350 Pro. Learners will feel right at home thanks to the labeling and choice of components. This isn’t strictly an educational board, Cytron’s previous board, the Edu Pico offered a plethora of sensors and add-ons. It also features a great instruction manual and quick hit suggestion cards that show the code and wiring for the included sensors.
Bottom Line
Cytron’s Motion 2350 Pro is a great board, and for $25 you are getting a great deal. The board is small enough to embed in a project, but also large enough to provide plenty of connection options. By labeling the GPIO, including test buttons and the always welcome GPIO LEDs, Cytron has provided another great board for learning the basics of robotics.