View on GitHub

MightyPork's GEX

a GPIO header for your PC


GEX (“GPIO Expander”) is a open-source software and hardware platform built for STM32 microcontrollers that brings the Raspberry Pi-like GPIO header to the PC. The header functions as a set of GPIO pins, but the microcontroller’s peripoheral blocks may also be used for higher-level functions, like digital buses (SPI, I2C, or USART), analog signal acquisition, waveform generation, PWM generation and measurement, frequency measurement, and more.

GEX was developed for MightyPork’s Master’s Thesis (submitted in May, 2018) and remains in active development to support more hardware platforms and improve its functionality.

The hardware modules developed for GEX are not currently available for sale, but I’m working on making it happen at some point. The complete Altium projects, as well as exported gerbers, are free to download and e.g. order from OSHPark.

GEX Zero, re-using the RPi Zero form factor to support pHATs and RPi Zero cases

GEX Wireless Dongle for GEX Zero (with nRF24L01+)


Probably everyone working with embedded electronics had, at some point, enough of writing single-purpose firmwares just to try something out. GEX is not the first and certainly not the last universal tool developed to make this easier. So, what sets it aside?

Here are some key points:

GEX is powerful, but also large and it needs more testing before it can be declared “finished”. It is currently in version 1.0.0 (as of the thesis submission), but it should be still considered beta.

Hardware Platforms

Other platforms may be added in the future. I also want to explore the possibility of implementing GEX on the ESP32, which would certainly be very exciting. As the project is open-source, feel free to try porting it to anything else as well.

GEX Hub, with a full break-out of the available GPIOs

Learn More

Here are some resources:

See for other related repositories.