bperrybap:
The photo on the aliexpress site shows a PCF8574 chip on the backpack and the backpack supports a configurable address.
I've never seen a PCF8574 that used address 0x37.
Perhaps you meant decimal 37 which is 0x25 ?
0x25 is in the address range for the PCF8474s I've seen.
Now that I look again, you are right... BUT.. the actual address is 0x3F! I'm not sure that makes sense either but because I believe the lowest bit is considered the R/(not)W bit. Since its a write only device, I'd think it should be ox3E if anything, but that's the address needed, so I guess the LCD library I'm using overrides the low bit. And now that you mention it, I see that the board does have places for jumpers (or zero hom SMD parts) to further configure the address. It means I can now drive multiple displays (up to 8) if I even needed to.
bperrybap:
The i2c spec is controlled by NXP: Specification - I2C Bus
There is a set of allocated addresses for specific devices.
Very interesting Thanks! So the likelihood of two devices with completely different purposes using the same addess range is fairly low, and like my DS1882 audio pot chips, they will usually allow the user to configure 3 bits within the lower nibble of the address.
bperrybap:
For an i2c based clock/RTC module would use a DS3231 instead of a DS1307. The price is about the same and it is much more accurate. DS3231 modules on ebay (starting at just under $1.50 USD shipped) are cheaper than the price shown on that link you provided to the DS1307.
You do need to be careful with most of these low cost RTC modules in the they have a little charging circuit on them for using with a LIR2032. If you use a 2032 instead, you should cut a trace on the module to disable the charging circuit.
"charging circuit" is generous as it is only a resistor and a diode but a single trace cut disables it.
More good inf.... thanks Bill!
Well that one I linked seems very convenient, and I probably wouldn't need even 1/10th of it current functions. But I'll investigate the S3231 too! For my projects, I just need a way to re-set the time if power has been lost for a while. Currently I detect eminent power fail, save the current time in EEprom, and retrieve it on power up. This is just to survive very typical power losses that only last minutes, without resetting to a stupid time like 12:00AM like most household devices do. But I'll never need millisecond accuracy for any current projects.
And yes... I've been meaning to check out those nifty esp8266 modules too, for other projects. I was wondering though (even though its another subject), can they be used without coding them, just using external commands? I'm thinking of the major hassles and expense getting any kind of FCC approval, should I ever use such a module in a product. From my research, if a module has already passed FCC muster with its existing code, and you don't alter its code, you may have a slightly cheaper path to approval.