Skip to content
/ diablo Public

The library containing the Diablo library and several short examples.

Notifications You must be signed in to change notification settings


Repository files navigation

PiBorg's Diablo

The Diablo is a dual channel motor controller for use with the Raspberry Pi, Arduino and other I2C capable SBCs.

It can be used with motors or steppers from 7V to 36V and is current limited to 55A per channel. Speed control is via PWM via I2C and the board has overheat protection, under voltage lockout and short circuit protection.

Shop: Diablo

Quick Start Guide

Our complete Quick Start Guide will show you how to use the and a one motor setup with a Raspberry Pi and Diablo.

Install this Library

git clone
cd diablo

This will install the Diablo library, the PiBorg Motor GUI and all dependencies needed to run the set of examples contained here.

Diablo Library contains the Diablo library with lots of functions describing how to use the Diablo. For a full breakdown of the API available please see the Diablo API.


There are several examples in this repository to give you an idea of how to use the library with hardware.

Control a motor using Diablo and a GUI with a slider bar. The setup for this example is explained in our Quick Start Guide.

Control a motor using Diablo, a PS4 controller and Pygame.

Driving two motors at a sequence of speeds using a Diablo. Full tutorial is available on our website.

Driving a 4 wire stepper motor using a Diablo. Follow the full tutorial on our site.

Driving a 4 wire stepper motor using a sequnce of movements via a Diablo. Follow the full tutorial on our site.


For troubleshooting with the Diablo please refer to our troubleshooting pages and for further help please post questions on our forum.

Reporting Issues

If you find a bug with the Diablo code, please feel free to report it as an issue. When reporting issues with this library please fill in the issue report with as much information as you can to help us help you.

Please supply as much information as you can so we can replicate the bug locally. :)