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.

TL;DR – great for beginners, plenty of inputs and outputs, easy to power. Another winner from Cytron.

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:

  1. Supply power through the microUSB socket (very handy when you’re testing things out and programming at the same time).
  2. 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).
  3. 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!

What did I think?

I think this is an excellent board for beginners. With the ability to hook motors up, provide power and then just click a button to test the motors out, you get the instant gratification that both kids and adults love. Programming the RP2040 is easy (especially using CircuitPython) and if you added on, say, a Cytron line following sensor (which might be a bit “cable-y” using the Grove sockets, admittedly), it’s clear to see how you could create a line following robot, as an example, quite simply.

The only caveat I really have with the board is that, because it’s all very centred around the 7 Grove sockets, there’s no direct access to the GPIO ports. Sometimes, you just want to hook something up without needing a special cable to do it. Now, they obviously provide 4 of these “special cables” to enable you to do that, which is very handy, but having (even unpopulated) headers for the pins might’ve made things even more flexible. Of course, the board is 85mm x 60mm (approx), and that small size is very attractive. There are always trade-offs, though, in any product, and it doesn’t stop me recommending it, it’s just something to be aware of.

The three power options are very flexible, and it’s good to see a LiPo port on there, even if beginners probably shouldn’t use them to start with. Adding the charging circuitry in, though? Very good move from Cytron, there.

I do keep mentioning that it is for beginners. Well, at 1A per channel, it’s not going to blow anyone away in terms of sheer power. Having said that, as a trade-off, you can run 6 motors independently, so one shouldn’t complain! They have a lovely range of other motor controller boards able to provide more grunt, so there is a clear path to change your method later when you get more advanced.

Overall, it’s a solid 9/10, I think, and a great use of the RP2040 chip.

Another winner from Cytron – highly recommended.

For another take on the same board, I suggest having a look at Les Pounder’s review over at Tom’s Hardware.

Where can I get it?

In Malaysia and surrounding countries, go directly to the Cytron website where the board is available for $9.90.

In the UK, I recommend The Pi Hut where it is listed at £9, but I notice they are currently out of stock. There is a notification email list, though.

In the USA, I suggest Adafruit who I believe are getting stock in very soon and selling for $12.50.

Other resellers are listed on the Cytron page near the bottom, above the reviews.

Review of the Maker Pi Pico from Cytron Technologies – a Raspberry Pi Pico project board worth your time

Also in my review box from Cytron (along with yesterday’s Edu:Bit) was a Maker Pi Pico. This is a board that houses a Raspberry Pi Pico and measures approximately 95mm x 70mm. The version I’ve got is the ordinary Maker Pi Pico, but there is also a Maker Pi Pico Base which just has a slot for a Pico that you may already own.

The idea of this board is to make it simpler to add components onto a project, but still keep it to a manageable size.

TL;DR – a great add-on home for your Raspberry Pi Pico at a great price. Find out where to buy it at the bottom of the post!

Features

It has the following features:

  • 6 Grove-compatible sockets for adding on inputs and outputs via Grove cables.
  • An SD card slot (so you can read and write files).
  • A 3.5mm audio output jack and a (fairly loud) buzzer for playing simple sounds (and, thank God, a small switch to disable the buzzer!).
  • Low-power LEDs on every pin so you can see what’s happening, input and output-wise.
  • A socket for an ESP-01 wi-fi module.
  • 3 user-defined buttons.
  • A RUN (reset) button.
  • A single Neopixel-style RGB LED.
  • A header that breaks out the debug pins and also allows you to wire up your own RUN/reset button.
  • All the Pico pins broken out as pin headers.

That’s quite a list, I think you’ll agree. They also provide lots of demo scripts to use when trying it out, so the software is “there”, too. These scripts come in both CircuitPython and MicroPython flavours, although the board is pre-loaded with CircuitPython. This is a wise choice – CP does give you a much easier way to develop – just drop the files on the “drive” that you get when the Pico is plugged in and away you go.

Initial impressions

What I liked about it most initially was that they have been very smart in deciding which pins to break out as Grove sockets. They have chosen lots of I2C but also chosen to break out two of the Pico’s analog pins as a Grove socket. Handy, because that means you can use Grove modules like a potentiometer. It’s an attractive board, too, in its purple colour and everything is well-labelled and well-engineered.

Experiments

Cytron were kind enough to send me a Grove OLED module and a Grove potentiometer module too, so I had a play with one of their demo scripts that shows the value of the pot on the OLED.

As you can see, the board also comes with a nifty pin reference card – very handy for looking up what pin does what quickly.

I did try and get the SD card reading and writing, but for some reason it didn’t recognise my card. I suspect this is just something to do with the card I was using, so I’ll try a different one at a later date.

The buzzer is certainly loud – the pre-loaded demo code plays the Mario theme immediately upon boot. Fortunately (and I can’t stress this enough), they’ve been good enough to provide a shut-off button for the buzzer! The audio jack is a nice touch for higher fidelity sound playing.

The three user-defined buttons, which are linked to GPIO pins 20, 21 and 22, are satisfyingly clicky and the Neopixel-like RGB LED is appropriately blinky. 🙂

Experiments in Wi-Fi

Cytron also sent over a cheap ESP-01 module which allows you to connect the Maker Pi Pico to the Internet. There is a socket on-board (bottom-right) for the module. They were good enough to give me some support in getting it going and I was soon able to ping an IP address by providing wi-fi credentials in a supplied template “secrets” file.

Quick instructions: The demo scripts are on their GitHub here. I renamed simpletest.py to code.py, uploaded that and the lib folder to the Pico then altered secrets.py to give it my own credentials.

Overall

I had a very satisfying experience with this product, overall. The SD card issue I’m sure waseither down to the card, or the way it was formatted, so I will see about that later on. Price-wise, the board is very competitive. On the Cytron site, it’s $9.90 including the Pico. Elsewhere, it can be found on The Pi Hut’s site for £11.50 with the Pico, or £8 for the Base version. It is also available from Kitronik (just the Base version) and you can find other international resellers on the Cytron page, at the bottom.

It’s a great board at an attractive price and it gives you really great options for getting going with the Pico if you don’t want to use jumper cables on the Pico’s pins (although that option is still available to you!). Great features, great price, great idea. What’s not to like?!

Review of the Cytron Technologies Edu:Bit STEM and Coding kit

SC Lim of Cytron Technologies was kind enough to send me a review sample of their Edu:Bit, which is based around the micro:bit. Originally a successfully-funded Kickstarter, the Edu:Bit is, primarily, a large, red circuit board which houses a micro:bit and various sensors, a motor controller and some other bits and pieces. The joy in this kit, however, is not so much the technology but is instead the great printed educational material that comes with the kit.

TL;DR – If you want to get into physical computing using the micro:bit, this kit is superb. See the bottom of the post for retailers.

The packaging

You know I like a good bit of packaging, and here it is!

The Edu:Bit comes in a sturdy box containing the physical book, additional cardboard “props”, the Edu:Bit circuit board itself plus other components including a servo motor, a DC motor and a load of Grove plug-in connectors. The plastic housing inside is strong enough that it will keep all the hardware safe for quite a while.

The hardware

The PCB that is the actual Edu:Bit is large at 16cm x 12cm, but that does make it kid-friendly. Everything is well labelled, as you can see. The micro:bit (which comes with the kit) is a version 2 and slots in the top. Cleverly, there is a cut-out behind the micro:bit giving access to the physical on-board reset button. The supplied cable has a USB plug that goes into your computer on one end and then a microUSB plug for programming the micro:bit and a barrel jack to power the Edu:Bit board and (primarily, I suspect) any motors that you may use. You can see the input sensors and outputs in the picture above. Sensibly, they have replicated the A and B buttons from the micro:bit into two big-capped buttons on the bottom right. This puts everything “together” at the bottom of the Edu:Bit. Of particular note is the sound output board bottom left which has an audio jack output which can be switched to using the INT/EXT switch. This really is an excellently-conceived kit – with all those inputs and outputs, you’ve got everything for a group of students (whether home or school-based) to explore the wonderful world of physical computing.

The bits and pieces are all programmable using the usual MakeCode block interface, so that’s wonderfully familiar if you’ve used a micro:bit before and a great way to start with visual programming.

Just as an aside: the sensors can all be broken off to be used with the Grove cables. I didn’t, because I want to keep it intact, but it’s a great way to allow you to take the pieces and put them inside something else, for instance a 3D printed case.

The additional components

Together with the main Edu:Bit, there is a servo motor, a DC motor, some Grove connector cables and some servo-compatible plastic pieces.

The prize of the package – the printed book!

I know I’m prone to gushing with praise occasionally, but in this instance the book that comes with the Edu:Bit is truly worthy of that praise. First of all, the book is the ideal thickness to be not-overwhelming for kids, but it’s no 10-page pamphlet. As you can see above, this has a proper spine, is about 6mm thick and is 126 pages long! It’s also, thank goodness, full colour which means that the appeal to kids continues inside…

The instructions are clear, with just enough help for a visual programming novice (which, as it turns out, is good because I’m *still* a bit clueless when it comes to visual stuff! 🙂 )

Obviously, it takes you through using all of the components on the Edu:Bit – and there is plenty of learning material here. My particular favourite chapter is the music chapter which gives you enough music theory knowledge to make up simple tunes using the on-board speaker (or audio jack) as an output. I was particularly impressed with the extra pages that challenge the reader to carry out a programming task without giving them much help apart from hints as to the way forward. Very good, because it means you have different challenges for different levels of skills, which is great for the classroom, for example. There’s a bonus chapter on using the radio functionality of the micro:bit to communicate with a second micro:bit that I really liked, too.

Reassuringly, the content has been tested by a 7-year old, as the book proudly proclaims!

As well as the book, you also get some cardboard components which are used throughout:

As you can see, there’s a Twister board and there’s also Snakes and Ladders – all great examples of the gamification of the learning, which is very encouraging and, obviously, aimed at children.

Conclusion

This really is a first-class box of fun for youngsters who want to take the leap into physical computing.

From the retail packaging to what is contained inside, Cytron have just got everything right.

I cannot recommend this kit enough – the amount of learning available is amazing, and it’s so well-produced.

Sorry to be so gushing but… No, I’m not really – good job, folks. Cytron Technologies has a winner.

Buying the Edu:Bit

Please note: some of the retailers do not supply the micro:bit with the Edu:Bit, so just keep an eye out for that.

If you’re in the USA, try RobotShop for the Edu:Bit or DigiKey.

In the UK, you can find the Edu:Bit at the following outlets: The Pi Hut, Kitronik and the UK arm of RobotShop.

If you’re in the Far East, you can find the Edu:Bit on the Cytron Technologies website.

Marty the Robot from Robotical – a review of this lovely educational robot

In 2016, Edinburgh-based Robotical introduced their robotic platform, Marty the Robot. Successfully funded through a Crowdfunding campaign, the robot has now been updated to version 2, via another successful campaign, and is now available to buy from their online shop. Robotical sent me a Marty to have a play with and look more closely at the product and, vitally, the (frankly) dizzying array of resources available on the website.

Retail packaging

First of all, I was blown away by the retail packaging for the product. The box is solid, held closed by a magnet and substantial, not to mention colourful as you can see above. The rear of the box is informative and contains ideas for how you will use Marty to explore robotics.

My Marty review unit (which I need to return, so I’m going to be completely honest as I get no long-term benefit!) came pre-assembled, but it was easy to see the way the interior packaging had been designed to house the kit parts and the completed robot.

As you can see, Marty sits in the packaging on the right hand side with a piece of foam to pack the cavity out. On the left hand side is a pocket for the Quick Start Guide (thank goodness!) – they’ve really thought about the fact that kids, with the excitement of getting Marty, will want to crack on. The box does say that the product is designed for 10+ years with adult supervision, but the educational material (which I will cover later) goes down to 8 years old, allowing for children whose intelligence is slightly ahead-of-the-curve.

Movement cards

Also included in the box (though I think these are available to be purchased separately) are a set of robotic movement cards. These intrigued me – what were they for? Then it occurred to me – they are ideal for “unplugged” action mapping.

The users could use the cards to map out a series of movements without touching the programming side, work out what they want Marty to do, and then program the robot to do their bidding. A very good idea, especially if you’re sharing a Marty in a large group of kids. Some can get straight into the programming, others can use the cards, then they can swap. The cards are in bright, solid colours so if one added a Raspberry Pi to Marty and a camera module, one could do some OpenCV programming and literally “follow the cards”.

I realised, later, that Marty has a colour sensor on his foot – these cards are actually usable as tools without doing any programming. Ingenious! You just need to use the colour sensing blocks in Scratch and then place Marty on them or you can just put Marty in colour-sensing mode by pressing the A button and then he’ll just move according to the cards. How clever is that?! There’s even a worksheet that covers this.

Getting the robot out

Marty comes easily out of the foam packaging and stands freely:

It has very good balance because the feet are big enough! This robot has character. It reminds me a little of Spongebob Squarepants in colour scheme. There are a bunch of stickers to use on Marty, but I didn’t because they need the unit back, but I can see that this would be a great thing for those more artistically, rather than technically, inclined to get involved with the robot.

First steps

I referred to the Quick Start Guide to get going:

The first thing to do was to insert and connect the battery. This was easy – a couple of clips hold the back of the head on and then the top comes off. I was slightly bewildered initially until I realised that the entire battery component, including the plastic case, needed to go into Marty. That’s just me over-thinking things, though, I think!

Next, I turned it on (yay, they pre-charged the battery!) and matched the indicator lights to determine that the battery had enough “juice” to play around with. It did, so next I downloaded the app from the Google Play Store for Android onto my phone. I made sure Bluetooth and Location Services were turned on as implied by the Guide and then started the app. I scanned for Marty robots and… Nothing. Nothing appeared. I tried a few more times at different distances from the robot, but it wouldn’t find it for some reason. I checked the Bluetooth scanning manually through the phone and, sure enough, there was a Marty waiting to be paired. Curious. Then, I remembered the old programmers question:

Have you tried turning it off and on again?

So, I disabled Bluetooth, waited two seconds and turned it back on again. This time, the app scanner picked up my Marty and paired with it. I ended up on the app dashboard. There were a few options here – remote control; calibration; programming with Scratch; update firmware. I thought I’d start with the remote control and, sure enough, pressing on the buttons in the app caused Marty to move about.

I was immediately struck by how good the movement was. They’ve clearly chosen some excellent servos for the job and everything “just works” in a very fluid way.

Calibration enables you to manually manipulate Marty into a “ready” position (arms straight down, legs straight and nothing bent, eyebrows straight across) and then record that position for later use.

The firmware update requires you to plug Marty into a USB socket for power and then wait while the update occurs. I didn’t need to bother – after all, Marty was already working, but I thought I’d see how long it took. The answer was: about 10 minutes for the over-the-air update. Not bad, considering.

Next up was programming in Scratch. I’m always a little apprehensive about Scratch (being from a text-based programming background) but I needn’t have worried. Even with my rudimentary Scratch knowledge, I was able (on my phone, no less!) to program Marty to do a sequence of movements based on the blocks provided.

Everything was very self-explanatory and it was, indeed, possible to do it using my mobile phone. In class, of course, phones tend to be banned, so you’d likely be using a tablet, which I expect would work even better, with a larger screen.

Resources, so many resources!

First of all, be aware that there are two sites for Marty the Robot – version 1 and version 2. I had version 2, so I started here, on the version 2 “Learn” site. I fed back to Robotical that having the multiple sites, and then having a further, separate site for the Knowledge Base, makes the experience feel a bit fragmented. The UI and fonts, for example, change depending on which site you are on. They’ve told me that they’re just about to start the process of unifying the resources and the look-and-feel, so that’s great news.

For educators the Learn site is fantastic. There are individual Lessons and grouped Lesson Packs for using Marty in the classroom. Each resource lists and explains the Curriculum areas it is aimed at:

… so with enough time to look around the Learn site, teachers will be able to find resources to hit specific learning points. It’s all very well-organised and structured for educators on the Learn site – there are the resources themselves, PowerPoint slides, Teacher Guides. I suspect that with a class set of Martys, teachers could fill at least an entire term if they wanted to!

Taking Marty further

This being a Raspberry Pi blog, it would be remiss of me not to mention that you can fit a Raspberry Pi into Marty! The Pi is screwed into the lid of Marty and then a cable used to connect the Pi to the RIC control board. You can take a look at the guide for doing this here. It seems quite a simple procedure.

Once you’ve done this, having prepared the Pi’s SD card beforehand, of course, the Pi is powered by Marty through the RIC board, so you don’t need to worry about a separate power supply. This does reduce the onboard battery’s usage time, though, of course. There are then lessons, beginning here on how to use Python on the Raspberry Pi to program Marty. You will need to make sure you’ve got a Pi 3 or Pi Zero W as the Pi 4 is not supported for some reason.

I ran out of time at this point, and didn’t have a spare Pi to hand, but you can see a demo video of the Marty working with the Raspberry Pi below:

See Marty in action

If you want to see Marty in action some more, take a look at the video below. It was for their Kickstarter (which is now successfully finished) but gives a real feel of the product and the people behind it. It also has a fantastic shot of Marty walking off a table and surviving the fall – it’s a robust little animal is Marty!

 

Free trial

If you are in Education and you would like to try Marty out for a couple of weeks, Robotical can arrange delivery and pick-up and also support you through the trial. All you need is a short call with them to arrange it. Take a look at this page on the website for more details and to book a slot.

Conclusion

A bit of history, first. Way back when, the first model of Raspberry Pi had been around for a little while and there was a Kickstarter campaign for a robot called Rapiro. It was a robot, driven by servos, with a Raspberry Pi in its head connected to an Arduino-alike controller board. It was twitchy, the servos weren’t up to much and calibration was a nightmare.

Marty the Robot gave me similar worries when it was on its way to me. Would it be difficult to use? Would it stand up to punishment? Would calibration be something from which it would never recover?

I’m pleased to say that Marty exceeds expectations as far as all these questions are concerned. Apart from that single Bluetooth connection problem (which you might not even come across – it might have just been my phone!) and the concern about fragmented documentation and resources which they are already addressing, it hits the spot as far as robotics in education is concerned. It is easy to use in the first instance – you can have a play right from the off by using the app on a tablet/phone and just moving the little dude about using remote control. That’s before you even get onto the more complex Scratch-based programming and, eventually, adding a Pi and using Python. It has quick wins all the way along. As evidenced by the video above, and from a short Twitter conversation I had with another trial user, the platform is robust and, if it’s treated with a child’s care, it should stand up to repeated usage. Calibration of the platform is easy, using the app, and it is so different from Rapiro in terms of twitchiness – it just doesn’t twitch and bounce at all. The servos are metal-geared, too, so the animation of the robot is smooth and these motors will last much longer than plastic-geared servos.

Now, let’s talk about price! Marty the Robot v2 is £314 plus VAT. This seems a little on the high side, but of course you’re buying not only the platform but also the resources to go with it. There are class packs, too, which are obviously more as you get more than one Marty. Looking at £314+VAT for a minute, though, just for the single, this is just about in reach of those who would like to buy it. I would like to see it more like £250 including VAT, personally, but then I am not privy to their development and ongoing costs. Is Marty worth that kind of money? A qualified yes. If you have the budget to stretch to buying a Marty, or even a class set of the robots, then it is well worth the investment as it should last you a long time. The resources are excellent, the platform is great.

What more can I say? I want one! 🙂

Raspberry Pi Digest – 10th June 2021 – a different way of blogging!

I’m trying something new out – a sort-of digest of Pi-related things I’ve found this week. Let me know what you think of the idea of these combined posts in the comments! 🙂

Air quality lamp

Guillaume Slizewicz has created a Raspberry Pi Zero W-driven lamp that lets you know about air quality. Called Canari, it turns air pollution data from APIs into light patterns. The two APIs are from smartcitizen.me and sensor.community. You can read more here and see a video on Vimeo or watch it below.

Pico VGA Library

Miroslav Nemecek has been busy developing a VGA library for the Raspberry Pi Pico. Able to output from the Pico to a VGA monitor in either PAL or NTSC, the library has been developed with gaming applications and technical demos in mind. Details of the wiring involved and the way you compile the library (Windows only, sorry) are available here, along with LOTS of lovely documentation. You can see a demo in the video below:

Apple eMate – a portable Raspberry Pi

“Billy the Kid” has taken an old Apple eMate 300 and converted it to house and use a Raspberry Pi 4 8GB model. This rare machine was launched in 1997 by Apple and had a screen and keyboard. This is a great project to make a Pi portable, although the procedure is long, complicated and definitely not something you want to mess up – Billy has estimated the cost at over $400. You can see the build over on YouTube or below (you might want to turn your volume down a bit as I almost jumped out of my chair when it started!):

Bop that Minecraft!

Seth Altobelli decided to make Minecraft just that little bit more difficult to control by using a Raspberry Pi Pico as the control board for a Bop It toy. You steer using an accelerometer that he added and the you hit one of the buttons to move. The other buttons are used for other commands and for jumping. He doesn’t go into the coding too much, but I assume he’s using the Pico to translate between the Bop It’s controls and a HID input. It makes Minecraft much easier incredibly difficult to control, but it’s certainly a cool project! You can see details of the “Technoblade” build and a long demo over on YouTube or watching the video below:

Build a simple physical mute button for video conferencing on Zoom using a Raspberry Pi Pico

Miguel Grinberg has written a really great beginners’ tutorial to the world of USB HID using the Raspberry Pi Pico. For this project, he adds a Pico to a breadboard then hooks up a simple momentary button. Pressing the button sends a keypress to Zoom which mutes and unmutes the software. The software is CircuitPython, which has USB_HID already available and it can easily be expanded to send other commands, like turning your video off, for example. You can read Miguel’s tutorial here.

For a more comprehensive StreamDeck example, take a look here.