GEX website at
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.9 KiB

<?php $curpage = basename(__FILE__); require '_header.php'; ?>
The project started as a STM32 alternative to BusPirate, offering access to the many
hardware peripherals of STM32 microcontrollers. The firmware is modular, composed of
functional blocks (“units”) that may be activated and configured by the user through
INI configuration files. Those files are stored inside the module and edited
programmatically, or with a text editor on a virtual FAT16 USB disk.
GEX is used as a GPIO header for the PC, except besides GPIO it also supports a range
of hardware buses, and several analog features. The device is configured for a particular
hardware setup, but the control script runs on the host PC. This lets you build graphical
applications above the low level control code with PyQt or other toolkits, process
data with NumPy or SciPy, and more. When needed, the Python library may be called from
within MATLAB, too.
GEX can be connected through USB (CDC/ACM - virtual COM port), by a hardware UART, or
wirelessly, using a nRF24L01+ transceiver module.
<h2>Hardware Functions</h2>
The firmware version 1.0 for STM32F072 contains the following key features:
<li>Direct GPIO pin access
<li>SPI master
<li>I²C master
<li>1-Wire master (including the search algorithm)
<li>PWM output
<li>Frequency and duty cycle measurement
<li>ADC with oscilloscope-like features
<li>DAC (analog output) with waveform generation based on DDS
Some features (specifically the analog ones) are experimental and exhibit various
limitations. These will be addressed in a later firmware version, possibly as a full
<?php require '_footer.php'; ?>