SENT Protocol Demonstration using Arduino Uno and Picoscope
Since posting a series of videos on SENT (SAE J2716) protocol used by "smart sensors" in newer cars:
I have received quite a few requests, mostly from European automotive instructors and trainers, for Arduino Uno code that generates the corresponding signals so that they can demonstrate various SENT messages to their students.
While I have a library for transmitting and receiving SENT messages that supports various microcontrollers, that code is heavily optimized for speed, proper timing, etc., and is unreadable by a typical Arduino Uno user.
So, I took a different path and created a web page that generates easy-to-read code for Arduino Uno that outputs the desired SENT message in a loop. A Picoscope connected to Pin 3 of the board will capture the waveform and decode it (if the appropriate settings are used -- the clock tick must be set to a custom value of 30us!).
Any feedback, suggestions, tips (and, if you so desire, DNT tips -- they will go back to techs that help my research by completing bounties) are welcome!
LINK to the web page: ….com/software/SENTD…
Thanks for sharing, It works! I had to set my clock in Pico scope to 30 micro seconds to get to decode, if testing on vehicle 3 microseconds would get a reading?
Brian, thank you for test-driving the code! 3 microseconds is a popular clock tick value for real sensors, but it’s easy to calculate the clock tick for any SENT waveform from the sync pulse length — just divide it by 56.
This is an update: I am preparing code to output SENT messages on Raspberry Pi Pico using Programmable Input/Output (PIO) in MicroPython (yes, it is not even C/C++!). This time it will be using 3us clock ticks, just like for the real sensors. Take a look at the attached pictures.