Welcome to the blog post I wish I had read two days ago.
From now on I will make it a rule to get one peripheral working at a time. Why? Because it turns out if you don’t; they might interfere with each other in a bad way.
This particular one saved us a PCB spin. If I did not get the devkit, this is one of the things I could not foresee. That’s why my new rule is to test one peripheral at the time, then together!
Maybe it is getting a screen working, reading from an SD card or simply getting I2C working. Get them working one at a time, then together. Oh, and did I say I2C is simple? Let me take you on my ~20 hour journey getting it to work in my setup!