Track My Order
Frequently Asked Questions
International Shipping Info
Mon-Fri, 9am to 12pm and
1pm to 5pm U.S. Mountain Time:
Chat With Us
May 31, 2008
about 5 years ago
The "shift" I mention is just something you have to do when you "assemble" the control byte for I2C commands. What was confusing to me is that for this display all the examples were done using the Arduino "wire" library and show commands like this:
which is easy to use but if you are trying to understand what's really going on it's not very helpful.
The control byte is part of the I2C spec and if you are interested in learning more about I2C communication here is a link to a page that does a pretty good job of providing details on how I2C works. It is definitely more challenging than SPI but many MCUs these days have built in peripherals to handle both.
Finally figured it out. I dragged out my Arduino board and used their sample code and then hooked up my Saleae logic analyzer (worth it's weight in gold, btw) to see what they were actually sending. The control byte does use 0x71 as the device address but it gets shifted one bit to the left and then the R/W bit (set low) is added in. So you end up sending 0xE2 for the control byte. So for example if you want to display the numbers 5,6,7 and 8 on the display you would send this sequence: Start - 0xE2 - 0x05 - 0x06 - 0x07 - 0x08 - Stop. If they had just shown something like this in the documentation it would have been really really helpful. I also discovered that apparently the display unit has pullup resistors for the SCL and SDA lines so you don't have to add those yourself. I don't know what the max clock rate is for the display but I was using 100Khz.
I was afraid of that - but on the bright side, at least I don't feel like an idiot any more. It shouldn't be this hard. Hey Sparkfun - has ANYONE out there been able to get this display to work using I2C with something other than an Arduino??? If so please let us in on the secret.
Thanks Mark - I am anxious to hear what you find when you receive this version of the display. I tried sending exactly what you mention and never got the display to acknowledge the control byte (0x71 plus the R/W bit). I also had pullup resistors on both SCL and SDA. I tried numerous variations on the control byte and never got it to do anything. On the bright side, when I gave up and switched to using the SPI port it worked the first time.
At least for the I2C mode, this is the worst documentation I have ever seen. There is no mention anywhere of max clock speed, if pull-up resistors are needed or even a sample command using I2C. Has anyone got this to work and can at least explain how the device address byte with the standard R/W bit is sent to the display?
News - Sprinter Van Contest Take…
about 6 years ago
Ok I don't know if you are going to win the van but you made me laugh out loud several times - good job!
News - February Caption Contest
about 7 years ago
Lucky prepares to leave a present for the next unlucky person to walk under the ladder.
News - Greetings from Customer S…
about 7 years ago
A big thanks to all of you...I'm not worthy! I'm not worthy!
about 8 years ago
What range did you guys get with your demo shown in the new product video?
about 8 years ago
Just got this thing and it is great! I 'ocasionally' make errors when soldering parts onto boards and removing them with a soldering iron and solder wick is a pain and if its an IC its usually not even worth attempting. I just powered this baby up and removed about 10 parts in 2 minutes including a 48 pin LQFP which I never would have even attempted before. Oh - btw, it also melts desk protectors nicely. :)
No public wish lists :(
Forgot your password?
No account? Register one!