Thunderborg...........................
Les Pounder has been sent from the future to ensure that Skynet can rise to power, and he has found the source of the artificial intelligence’s power…
Les Pounder can’t help but make Skynet gags; you could almost say he’s programmed to do it.
Robots have yet to take over the world, but they have taken over the Raspberry Pi! There are countless robot projects across the community, ranging from simple bots to powerful and intelligent autonomous drones that can navigate on their own. At the forefront of these powerful robots is PiBorg, which has made boards for all models of Pi, and now the company has its most ambitious board yet. Step forward the Thunderborg!
Thunderborg is slightly bigger than a Pi Zero, but maintains the mounting holes so that the Pi Zero, or indeed other models of Pi, can be mounted to it. There’s a connector on the board that connects the first six pins of your Pi to the board, providing a control interface, I2C, and power via the 5V and GND pins. Thunderborg has built-in 5V power regulators, enabling it to safely power your Pi via the GPIO. You’ll need to supply power, between 7V and 35V to Thunderborg via the screw terminals, so an external battery is required.
The Motor 1 and Motor 2 terminals are on either side of the power terminals, which can be connected to small micro gear metal motors, or large 12V high-torque motors. You can even control stepper motors: these are motors that have a high degree of accuracy enabling pinpoint control, albeit slowly.
The board uses two 5206-2G H bridge motor controllers, which can power motors requiring up to 5 Amps of current, 6A peak, rated at up to 40V! That’s a huge amount of power from such a small board. Using Thunderborg we can control two motors, but thanks to a clever expansion system we can connect further Thunderborg boards, to control up to 200 motors from a single Raspberry Pi.
Installation of the software was a breeze, largely thanks to a one-line installation script on the PiBorg website, of course always be careful when installing software using scripts such as these. One gripe that we have with the software is that it installs for Python 2, rather than the more current ( justthe9 years!–Ed) Python 3. Not a deal breaker, but an annoyance for those learning to code using the newer version.
We tested the board using two motors: a micro gear metal motor, and a larger 5V motor from a robot kit. We first used the GUI to control the speed of each motor using a slider. This is handled using PWM (pulse width modulation), which changes the duty cycle to create a gradual increase or decrease in speed.
Creating your own code for motor control is possible using the Python library, which is easy to use. Setting up the Python code to identify the board is a matter of importing the library, creating an object and then initialising the board, all in three lines of code. Then, to set the speed of the motors you have to assign a percentage of speed to each motor.
The speed of each motor can be monitored and reported to the user – handy for providing feedback. The library also controls the built-in neopixel LED, which by default shows power status, with red being low power and green for maximum power. You can check the status of the battery using the library.
Thunderborg is certainly a powerful platform for robotics. It’s easy to use and set up with no major steps that may trip up a user. It would be great if the library installed for Python 3 by default, but don’t let that put you off this great board.