Open lurch opened 10 years ago
Where in the HAT specification does it dictate that HATs are not stackable. I see a some vague indication it might be the case, but nothing concrete, which therefore implies they could be stackable.
I guess it's not explicitly stated anywhere in the specs (so perhaps it should be) but I'm fairly sure I read an official statement to that effect on the forums a long time ago, when HATs were first being discussed.. Also, the HAT spec requires a functioning EEPROM at a fixed I2C address, therefore only one EEPROM chip can be read, and therefore only one HAT board can be installed. And in practical terms, any HAT board is free to drive any GPIO pins to whatever state it feels like, so obviously if you stacked two HAT boards you could easily end up with each HAT driving the same GPIO pin to a different state, causing a short-circuit.
There are stackable add-on boards for the RPi (e.g. https://www.abelectronics.co.uk/ ) but these don't meet the HAT specs, and therefore they're not allowed to be called HATs.
(Disclaimer: I'm not an RPF employee, this is all IMHO)
Aha. https://www.raspberrypi.org/blog/introducing-raspberry-pi-hats/#comment-974283 'jdb' is an RPF employee (IIRC he's @P33M on github)
when looking at the enviro pHAT it states about using other hats with this. Iwas personally thinking the scroll or unicorn pHATs. Wouldn't these all run into the eeprom interference issues?
As the name implies, pHATs are not HATs. https://pinout.xyz/boards can be used to see which boards use which pins. Although it claims that the SenseHAT doesn't use the EEPROM pins, which is wrong. Ping @Gadgetoid !
https://github.com/raspberrypi/hats/blob/master/eeprom-format.md#vendor-info-atom-data-type0x0001 says "It protects against the case where a user accidentally stacks 2 identical HATs on top of each other - this error case is only detectable if the EEPROM data in each is different." and it seems that this has caused some confusion - http://www.raspberrypi.org/forums/viewtopic.php?f=100&t=85786
Now that HATs are specifically defined to be non-stackable, maybe this sentence should be revised?