Enrique Calacuayo
projects/ pulse-simulator
U2REV B
2025-01-06

Configurable Pulse Generator & Counter Instrument (STM32)

Two-board STM32 instrument that generates and counts configurable pulse trains (including NAMUR-style signals) from a CSV-defined sequence, with opto-isolated I/O, relay outputs, OLED + rotary-encoder UI, and a DIN-rail enclosure.

HardwareFirmwareSTM32PCBInstrumentationSHIPPED
# ELECTRICAL CHARACTERISTICS
MCU:STM32 (ARM Cortex-M)
Signal types:Square wave · NAMUR
I/O:5–12V opto-isolated
Outputs:2× relay
UI:OLED + rotary encoder
Storage:microSD (CSV sequence)
Enclosure:DIN-rail mount
# HARDWARE PHOTOS
Configurable Pulse Generator & Counter Instrument (STM32)
Configurable Pulse Generator & Counter Instrument (STM32)
Configurable Pulse Generator & Counter Instrument (STM32)
# WHAT I DID
project-log.txt
Designed a two-board STM32 system — UI board (OLED, encoder, buttons, microSD) and main board (MCU, power regulation, opto-isolated I/O) — connected board-to-board to fit a narrow DIN-rail enclosure.
Implemented opto-isolated digital I/O to interface 5–12V field-level signals with the 3.3V MCU domain, plus two relay outputs.
Developed firmware that reads a CSV pulse sequence from microSD, generates configurable square-wave and NAMUR pulse trains, counts incoming pulses, and triggers relay outputs on a configurable delay.
Built an on-device menu (rotary encoder + OLED) for live configuration and pulse/count readout.
Packaged in a DIN-rail-mountable enclosure with terminal-block connectors.
# TEST RESULTS
[ OK ]Fully assembled two-board instrument validated against required waveforms and delivered for field use.
[ OK ]Iterated to a second hardware revision based on field-validation feedback.
[ OK ]Interconnect and operating documentation delivered alongside the hardware.
← $ cd ../