I finally figured out what was going on with the new Room Board.
The bad news: there are three errors on the board when using it with a 1-wire temp sensor and the EPIR motion detector board.
The good news: each problem is easy to work around.
Problem #1: the 1-wire DS18B20 outline is reversed:
So much for taking an EAGLE library component from the web and not checking it…
Problem #2: the 1-wire sensor really needs a 4.7 kΩ resistor pull-up:
The solution for both problems is to solder the sensor on the other way, and to add a resistor between two of the pins, as shown above.
Problem #3: a pull-up resistor is missing (again!) – it turns out to be essential to get the EPIR in the proper serial mode on power-up:
This can’t be done by enabling a pull-up in the ATmega as I originally thought, because that’s too late. The EPIR really checks for this on power-up. The solution is (again!) to manually add a 100 kΩ resistor between pins 2 and 4 of the EPIR connector.
Phew. So now all configurations work. Sort of… :)
I’ve added the Room Board to the shop, but as PCB only because there are several configurations possible and because some of these sensors and boards are relatively expensive (also for me to keep in stock).
With the caveat that I only have a handful available right now, and that these are “imperfect” prototype boards. With SHT11/SHT15 sensors and simple 3-pin PIRs, these prototypes will work fine. But for 1-wire and/or EPIR use, you’ll need to patch things as described above.
I’m going to create a new revision with all these issues fixed, of course. But it will take a few weeks to have new boards made.
The “Rooms” sketch for these boards has been updated to work with all configurations. It needs the NewSoftSerial library if the EPIR is used, and the OneWire library if the DS18B20 is used.