Give Any Computer Raspberry Pi-Style GPIO Pins
Many of us want Raspberry Pi GPIO pins on our "regular" computers and e14 Presents' Clem Mayer made that happen with his GimmeGPIO project.
One of the most useful features of a Raspberry Pi SBC (Single-Board Computer) is the GPIO header, which lets software running on the operating system interface with low-level components like sensors and motor drivers. Many of us wish that our regular desktop PCs and laptops had a similar features and Clem Mayer from element14 Presents made that happen with his GimmeGPIO project.
GimmeGPIO is a module with a Raspberry Pi-style GPIO header. You connect the GimmeGPIO module to your computer via USB and gain control over the GPIO pins, similar to what you get when using a Raspberry Pi.
This does require a custom PCB, which hosts an Espressif ESP32-S2-Mini-1U microcontroller, the header pins, a USB-C port, and a couple of buttons for use when flashing new firmware. Those components, particularly the ESP32, take some tricky SMD soldering to mount, which is the only difficult part of this project. But if GimmeGPIO develops a following, inexpensive pre-assembled boards are sure to come.
Of course, none of that matters if the firmware doesn’t make it easy to use. Mayer wanted to replicate the functionality of a Raspberry Pi’s GPIO header, so he programmed the firmware to accept simple serial commands for control. Users can send those commands manually from a serial terminal or programmatically from software with serial communication.
And to make it even easier, Mayer wrote a small Python library for setting pins or reading pin states. That includes PWM control, analog readings, and all of the other functions you would expect.
If you want to give GimmeGPIO a try, you can find the files you need on GitHub and a thorough walkthrough on Element14.