Not everyone can afford to have a myriad of test and measurement tools at their disposal. Oscilloscopes can be expensive, USB logic analyzers have a habit of becoming lost, and pulse generators tend to be the size of toaster ovens. Packing all of them and more into a single room shop can quickly take up valuable space and leave nothing but lint in your pockets. It seems almost unreal that those test and measurement platforms and more could be replaced by a tiny ‘Blue Pill’ STM32F103 development board, which can be had for less than $2.
The secret lies in Mark Rubin’s open source buck50 firmware, which transforms the development board into the ultimate tool that can fit in your pocket. While it’s still in the beta stage, the firmware enables a myriad of features on the STM32F103, including an 8-channel 6+ MHz logic analyzer, which offers a 5K sample buffer depth, a complex triggering via user-defined state machine supporting combinations of sequential and logical-OR conditionals, as well as live logging of digital, analog, USART, SPI, and I2C data. Samples are stored at signal edges for efficient memory usage.
Beyond the logic analyzer, the buck50 includes a dual-channel 1MHz digital oscilloscope with a 5K sample buffer depth (10K @ single channel) and a triple-channel digital pulse train generator with a user-defined frequency with per-channel duty cycle and polarity. It also packs a bidirectional bridge/converter from USART/UART, SPI, or I2C, an 8-bit parallel output counter and host terminal ASCII or binary input data to 8-bit parallel output. The firmware outputs to VCD and other file formats for waveform viewing programs, such as Pulseview, gnuplot, gtkwave, and Saleae Logic.
Rubin's has uploaded a comprehensive manual for the open source buck50 firmware on his GitHub page for those who would like to create a fully functional test and measurement tool using the Blue Pill development board.