ESP32 SPI Clock - Page 1
Forum section: electronics / beginners

author: twincommander
author_rank: Newbie
timestamp: December 01, 2023, 05:21:14 am
content: Hello, I'm trying to get 2x ESP32's to communicate over SPI Master Slave.. I wanted to verify the master is sending out data and I was surprised to see the clock and data at such low voltage levels. I only see ~336mV. I can only assume this is normal? Looking for confirmation?Also if anyone has experience with siglent decode... I tried to get SPI decode to work but I'm not having any success. Siglent support was suggesting I was having trigger issues but it's very stable. BTW: Support is very slow and sometimes non-responsive.I set the bit (8 bits), protocol, signal MOSI etc... no joy.Thank you

author: JustMeHere
author_rank: Frequent Contributor
timestamp: December 01, 2023, 06:14:53 am
content: Got to see your schematic. That ringing means you have a problem somewhere.

author: eleguy
author_rank: Regular Contributor
timestamp: December 01, 2023, 06:39:48 am
content: Quote from: twincommander on December 01, 2023, 05:21:14 amNope. Normal it is not. How could the system determine if the state is 0 or 1 at this low levels? I would maybe start from the basics and first check if the probe attenuation (1x/10x) is correct.

author: Chalcogenide
author_rank: Regular Contributor
timestamp: December 01, 2023, 07:08:48 am
content: First things first: are you sure you are not using a 10x probe? The screenshots indicate that the scope is setup for a 1x probe.

author: twincommander
author_rank: Newbie
timestamp: December 01, 2023, 06:28:05 pm
content: So awesome to have access to this forum.. Thank you! eleguy and Chalcogenide for spotting the voltage problem right away.. That was a newbie mistake! probe on 10x and set to scope 1xJustMeHere, still have that ringing/bounce on the clock and data. Not sure if that is typical for ESP32.. super simple circuit

author: eleguy
author_rank: Regular Contributor
timestamp: December 01, 2023, 07:24:33 pm
content: Quote from: twincommander on December 01, 2023, 06:28:05 pmWe could start a long jargon in a signal and power integrity. From the picture one can easily spot that your breadboard setup together with long "air connection wires" is not "optimum". Ringing (wave reflects back and forth) happens due the rapid impedance mismatches. Anyhow, again in short... Good luck is that the ESP cannot create super fast rise time pulses so you could now first just try to shorten those cables as short you can which makes transmission line shorter. At the same time add as short GND - GND cable between boards as possible. This way we get way shorter path for so far "unplanned" return currents. In addition you can add some series resistance (signal lines only) in order to have slightly better matching that will result dampened ringing. This all might sound complicated but don't worry we all have been there.

author: Manul
author_rank: Super Contributor
timestamp: December 01, 2023, 09:13:52 pm
content: Quote from: twincommander on December 01, 2023, 06:28:05 pmAs far as I can see, you haven't connected grounds of your two ESP. Your attached image of virtual breadboard also does not show GND connection. Whoever made that image probably assumed that both ESP will be powered from breadboard power rail and GND will join that way, which is still not optimal, but fair enough. In your setup grounds probably join only through the shared point of whatever is on the other end of your USB cables. So the ground path is extremely long, that's why it's ringing like hell.Short answer: join GND and GND of both modules with a short wire.

author: twincommander
author_rank: Newbie
timestamp: December 02, 2023, 02:15:32 am
content: Thanks eleguy and Manul, I will work on grounding the @#$%@#$ out of the circuit and try shorter leads.

author: tooki
author_rank: Super Contributor
timestamp: December 03, 2023, 04:50:23 pm
content: Quote from: twincommander on December 02, 2023, 02:15:32 amYou don’t need to go overboard, just add a ground wire from the first ESP32 to the second one, of the same length or shorter than your data lines. That alone should get you a huge improvement.