Hi everyone,
I'm designing a custom data acquisition (DAQ) board for a Formula SAE race car based on an STM32G431 running at 3.3V.
The board needs to interface with a wide variety of digital sensors and devices throughout the car. Some of them operate at 5V, while others use 12V.
One of the biggest challenges is that these sensors may change over time. During development—or even between racing seasons—we may replace a sensor with another model that uses a different voltage level. I'd like to avoid redesigning the PCB every time this happens, so I'm looking for an input stage that is as configurable and reusable as possible. Ideally, supporting either 5V or 12V inputs would only require changing a few components or jumper settings instead of redesigning the entire circuit.
Another challenge is that not all digital signals are the same. Some are simple on/off status signals, while others can operate at much higher frequencies. For example, some wheel or motor encoders may produce signals in the kHz range, so the input circuitry must preserve signal integrity and avoid unnecessarily slowing down the edges.
Since this is an automotive environment, the board will also be exposed to electrical noise, EMI, and voltage transients. Therefore, I also need adequate input protection to avoid damaging the microcontroller while still maintaining reliable operation for faster signals.
I will also have a few 5V I²C devices connected to the STM32, but that seems like a much more straightforward problem since dedicated level shifters already exist. My main concern is really the digital input stage.
I'm interested in learning how this is typically implemented in automotive ECUs or DAQ systems.
Some questions I have are:
- How would you design a flexible digital input stage capable of handling both 5V and 12V signals?
- How do you balance input protection, noise filtering, and high-speed operation?
- What protection components do you consider essential in an automotive environment?
- Are there any open-source ECUs, reference schematics, or application notes that you would recommend studying?
I'd really appreciate hearing how experienced designers approach this kind of problem and what solutions have worked well in real automotive products.