Powering Arduino directly with 12V motorcycle battery, need help with overvoltage protection circuit

I need help designing a simple over and under voltage protection circuit. I am connecting my 12V lead acid motorcycle battery directly via its terminals to Arduino and ESP32 module, while the bike is operational
Battery voltage varies between 9-16V when running.
Transients can be upto 100V.

This is the circuit I plan to make
12V motorcycle battery → Over-voltage protection → LM2596S SMPS → Arduino Nano → ESP32

Kindly help me design a basic circuit.
I am a beginner in electronics.

Good day @vikram9447,

You may consider using 1738-1293-ND as a prebuilt LM2596S SMPS that you can adjust to drive your Arduino and ESP32 module. (Adjust the voltage before attaching them to the SMPS output).

I’d add a TVS (Transient Voltage Suppressor) 283-6KPE20CAHCT-ND across the +12V and GND of your SMPS to snub those 100v spikes.

Having it all in a weather proof container will help too.

Kind regards,

Hi Brian_German

Thank you for responding.
My maximum current draw would be 2A.
I am definitely using the LM2596S but w.r.t. the TVS diode, it is slightly expensive for my needs as of now. Can I use this instead:

Source video for the schematic: Transient Voltage Input Protection / MOV - YouTube

Hi @Brian_German
Any updates?

That zener clamp with schottky/schmitt trigger would be an effective method of taking the 12V signal and inputting it into a digital input pin of a microcontroller.

What I would be concerned about is those transients getting to your power supply. The LM2596 can take a maximum of 40VDC.

1 Like

That is my concern.
Can you suggest an appropriate solution @Kristof_2649 ?

Technical Article on Transient Voltage Suppression in Automotive from Diodes Inc

What is normally used for transients from an alternator is a zener TVS diode like Brian German suggested.

Another example part number would be F7638CT-ND

1 Like

Thanks @Kristof_2649
That seems helpful. Let me try that