Add Python Programmable GPIO Pins to Any Computer
Python programmable GPIO pins can be added to any computer with USBgpio, a physical device with 12 header pins (10 GPIO, 3.3V, GND) that hooks up to any modern computer via a USB port. There is also an accompanying Python library that controls the GPIO pins with simple commands.
Overview
USBgpio is a quick and easy way to do some prototyping without getting out your development boards, setting them up, connecting to a network, remotely accessing them, etc. It is pretty fast at ~54 microseconds to change a pin state, so it will work for many use cases. However, an Arduino UNO, for example, is about 16 times faster, so for high-speed applications, USBgpio would not be appropriate. That is not the intended use case for this device, however — USBgpio is meant for convenience, not squeezing out every last ounce of performance.
The USBgpio device
How It Works
USBgpio is a physical device with 12 header pins (10 GPIO, 3.3V, GND) that hooks up to any modern computer via a USB port. There is also an accompanying Python library that controls the GPIO pins with simple commands.
Blinking an LED with USBgpio
Media
The back of the unit:
The back of the unit
The wires that run from the header to the Arduino:
The wires that run from the header to the Arduino
The Arduino with a header designed to fit in the case:
The Arduino with a header designed to fit in the case
Testing the device:
Testing the device
Bill of Materials
- 1 x Arduino Nano 33 IoT
- 1 x USB-A to micro USB-B cable
- 1 x 3D-printed case
- 12 x Header pins, wires, DuPont connectors
USBgpio is a quick and easy way to do some prototyping without getting out your development boards, setting them up, connecting to a network, remotely accessing them, etc.