Drive the Zumo with a MicroPython Pyboard
The Zumo Robot is a great tool to discover robotic and programming with Arduino. However, learning C may be fastidious... So let's do it with Python!
The MicroPython Pyboard is a wonderful board capable to execute Python code on bare metal. It can drive I/O pins, analog pins, PWM, I2C/SPI buses like Arduino do but with Python. We do have a wiki with lot of information about MicroPython (in french) and the Net do also have a lot in English. For french speaking customer, we do have an excellent book on "MicroPython and Pyboard".
The Pyboard-Zumo board (this product) is an adapter board would allow you to control the Zumo motors from the your Pyboard and you can also benefits from the Zumo's sensors:
- The infrared line follower
- The accelerometer
- The magnetometer
- The inertial sensor (IMU, minimal portage)
- The buzzer
- The Zumo user LED
- The Zumo user button
The adapter do also offers additional features to support your Pyboard + Zumo project with expansion and sensors.
So we do have:
- A replicat of the Pyboard user button.
- A Reset button for the Pyboard and Zumo board.
- 2 signal pins to control servo motors
- 2 additional signal pins for servo motors if the Line Follower sensor is not used.
- An UEXT connector to plug UEXT's based expansion. The UEXT gather several signals on an unique and rock solid connector connector: power and ground, an I2C bus, a SPI bus and a UART (serial port). The best is the 2.54mm standard spacing.
- The Schottky diode do avoids the USB Powered Pyboard (connected to a computer) to flow the current to the Zumo motors.
- A 5V 500mA voltage regulator (Pololu S7V7F5) injecting 5V on the Arduino's 5V pins.
- The Pyboard pins are replicated on the adapter board to offers prototyping possibilities.
- 4 Mounting holes to add additional propotyping area on the top of the adapter board.
This product requires a MicroPython Pyboard and a Zumo Robot for Arduino to wotk.
The servo-motor ports are powered with 7.45V (and signal @ 3.3V logic)! So you cannot power a standard servo motor with this voltage (rated at 6V max!).
What's UEXT ?
UEXT is a connector carrying I2C bus + SPI bus + Serial + 3.3v power. It use a very standard 10 Pin IDC connector. It is quite easy to add sensors and extension board with UEXT connector... just plug it or wire it with IDC ribbon! Great.
Our favorite is the carrying of I2C bus allowing to easily add several sensors and expansion board. On the other side, SPI would be welcome for fast data transmission like remote screen. The serial connexion could be made compatible with RS-232, RS-422, RS-485, DMX512, MIDI by using appropriate level-shifting circuitery.
This connector is usually available on almost Olimex's product including nano computers. It is a great way to add extension boards on products like ESP8266 WiFi microcontroler or microcontroler board. UEXT is suited for prototyping, school learning (no need for iron) and industrial solution (Olimex produces Industrial Grade boards).
See our UEXT expansion or all products exposing UEXT connector on the shop, the Olimex's UEXT collection, Wikipedia to learn more about UEXT.
Python code for the mass
Be reassured we will not send you the board with a "Good luck" to make it working.
The MCHobby GitHub offers a complete documentation on using the Zumo with MicroPython. The required libraries are available in the repository as well as example codes. All made available in French and English.
The Pololu examples code have been ported to MicroPython. They are also linked in the repository documentation.
For each order, you will receive the Zumo adapter board assembled. The Robot Zumo and the MicroPython Pyboard are not included but you can find them on our webshop.