So, here I am loving my Spark but I have to admit I am more hardware than software. Thus my love of what is being done here with the Spark Core… but I am running into some issues - specifically with I2C at the moment.
- A spark core on a breadboard, +5 going to VIN and also the breadboard rail on that side
- Ground is connected to the +5 side GND
- My I2C is connected to D0 and D1 as per the docs, with D1 as the clock, and D0 as the data
- I2C device (LCD backpack) +5in and GND are hitting the “high power” rail on the breadboard
- LCD backlight color select going to GND as well on the power rail - my backlight is now blue
The LCD and backpack have been tested on an Uno, and work correctly. However, using the ported LCD library from this post chain by @gtg662w I cannot get it to fire up. I was hopeful that the LiquidCrystal library port @BDub put up would have done it - but that looks like it is not using the I2C interface.
My code, such as it is at the moment, is here in this gist.
I am unsure if the issue is the code, or the hardware. I SUSPECT it is a logic level issue and that I need to use “pull up resistors” or something else to drive the I2C at +5V? If I am reading things right, my backpack is probably not seeing the +3.3v as high enough.
If so… can someone point me at the right information on how to use the pull up (how to wire it). I have a few of “4-channel I2C-safe Bi-directional Logic Level Converter” on the way, but if I can use a resistor I would be happy to try that as well.
While we are at it - if anyone has some good info on the library code - that would rock.