Looking for any help getting Unexpected Maker S2 and Sparkfun Qwiik MCP9600 to communicate
eric wrote 06/14/2021 at 21:09 • 0 pointsFor this project https://hackaday.io/project/166703-bbq-thermostat/ I changed hardware to the Feather S2 (https://feathers2.io/) with the Qwiic MCP9600 Thermocouple (https://www.sparkfun.com/products/16294). I wanted to be able to switch from Arduino to CircuitPython. At first I was waiting for the latest CircuitPython 6.x release because the ESP32-S2 was so new at the time. But Lada Ada herself said this was not to be considered a blocking issue because the MCP9600 doesn't quite work right (I'm guessing she means with CircuitPython)
What I'm seeing if it's just the FeatherS2 and Thermocouple connected via the STEMMA QT connector is that it won't find the Sparkfun at 0x60 (or any address if I tell it to scan). If I also have the Feather Motor Wing it says: "RuntimeError: SDA or SCL needs a pull up".
If I run the Sparkfun board via STEMMA QT to a QTPy with Circuit Python it works fine. So the board is fine.
And if I run it in Arduino it's able to work just fine.
So I guess in the end I may have to do Arduino afterall, but I was wondering if someone out in the Hackaday world had come across something like this and had an idea of how to fix it.
Thanks!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
A couple of guesses:
Does the Sparkfun board have on-board pullup resistors? If the two tool chains configure the I/O pins differently, that could make a difference. There are internal pull up resistors on the pins that can be enabled (or not) in software.
Have you tried the address 0xC0? It is possible that one tool chain uses the 7 bit addressing convention (0x60) and the other uses the 8 bit convention (0xC0).
Do you have a scope or an I2C bus monitor tool? Seeing what actually is on the SCL/SDA signals is a good way to identifiy problems.
Are you sure? yes | no
Good questions. According to https://learn.sparkfun.com/tutorials/sparkfun-qwiic-thermocouple-hookup-guide?_ga=2.164766015.1005238196.1623885509-314263898.1623704537 it is indeed equipped with a pullup resistor. I will ask on the UM Discord if those are configured differently in Arduino and CircuitPython.
As for the hex. Good guess, but 0xC0 is no more successful than 0x60.
And I do not have a scope or I2C bus monitor.
Are you sure? yes | no
Maker of the Feather S2 got back to me and said it's an issue with Circuit Python and ESP32-S2. So I guess that settles it.
Are you sure? yes | no