Heya!
I was wondering if anyone had similar experiences to some that I am having and could weigh in on the cause.
I got my I-9PSL and decided to build a few DIY Basic v4s to add some additional data.
However, when running these long term, I noticed the display would freeze and stop updating.
Some technical details:
I am using the D1 Mini v4 and the OLED shield listed in the build components.
I did some troubleshooting. This involved adding a counter to the firmware that displays on the screen so I can clearly tell that the display is frozen.
For the sensors, I tried using a SPG-30 and an SPG-41. For temp sensors I am using a SHT-4X with the two pull up resistors removed.
The issue persisted when I removed all sensors and just tried to run the D1 and Oled so I suspect sensors are not directly related.
I also added a I2C scan and print function and left that running for a few hours. As expected, the OLED still displayed as being found however it stopped updating.
I have found that no matter what when using the shield as intended, it would eventually freeze.
This behavior was more or less consistent across 4 units and 6 screens. I didn’t have the time to do super detailed testing on all the possible combinations.
Now the interesting part:
I removed the OLED shield and replaced it with a .98 oled with 4 pins in the slot I was using for the SGP sensor. No freezing.
This got me curious, so I took the shield and wired it to the same header slot that I was using for the SGP sensor and so far, (12 hours in) no freezing.
When looking at these displays online, it appears similar behavior pops up from these shields.
If the issue goes away from directly wiring the screen, I have a way forward with these units.
However, I am wondering if anyone specifically knows why this issue is happening.
I have so far concluded that it has to do with directly connecting the shield to the D1 mini.
The solder joints look fine, so I am left to conclude that there is some i2c weirdness happening.
I ordered some different D1 mini board as well to test. I realized that the D1 mini v4 units that I bought were not the recommended ones.
Additionally, maybe the display shields are bad?
This does seem like something that should be resolved with the DIY instructions since all of the parts that I ordered are from the guide and I followed all of the steps accordingly.
EDIT: This is using the Release 3.1.7 which I uploaded via VSCode and PlatformIO.
I confirmed that the D1 Mini unit itself was not freezing as it was still sending updated sensor values to the dashboard and outputting serial logs that I was monitoring.
EDIT2: Or maybe the contacts are just bad when connecting as a shield? I haven’t had a chance to yet but maybe I might try to soldering the OLED shield directly onto the D1 mini to see if the issue keeps occurring.