[OpenTRV-dev] I2C expansion connector round 3

Mon Sep 8 16:18:09 BST 2014

Well, that don’t last long!

  In response to comment from production engineers I am making nIRC/nSC support optional for now, depending on the main board.

2014/09/08: Revision 3, Note that the nIRQ and nSC lines can be left unconnected on some board variants.
2014/09/04: Revision 2, 14-pin connector, added nINT and nSC2 after dev mailing list suggestions
2014/09/03: Revision 1, 12-pin connector


Trying to develop a simple I/O extension/shield system for OpenTRV to add more sensors (etc) easily.

Also this should allow an easy bridge to other systems such as RPi / BB / etc.

This must be simple and small and cheap enough to use in hobby / dev / prod environments and allow (in priority order):

1) I2C expansion.
2) In-Circuit Programming of AVR.
3) One-Wire expansion.
4) Serial off-take, eg for CLI interaction.

The connection should ideally be keyable or at least not cause instant destruction if reversed for example.


14-way (2x6) pin stackable (pins or socket on board, suggestions please, RPi is pins).

0.1" pitch to be easy for DIY shields, eg with Veroboard as I just did for my RPi.

Following pin pattern:

MISO * .. * 3V3 (Vcc)
 SCK * .. * MOSI
nRST * .. * GND
nIRQ * .. * nSC
 SCL * .. * SDA
  RX * .. * TX
 N/C * .. * DQ

a) N/C means No Contact and can be used to key the connector.
b) RX and TX are protected by 10k series resistors from AVR.
c) nRST (input to main board) is active low and is pulled up to 3V3/Vcc with 10K series resistor at AVR.
d) SCL and SDA are pulled up at AVR with 4K7 resistors to 3V3/Vcc.
e) 3V3 can be anywhere from 1V8 to 3V6 absolute; 2V to 3V6 operating.
f) nIRQ (input to main board) is active low and is pulled up to 3V3/Vcc with a 10K--47K nominal resistor and a 1K series resistor: this should be driven with open collector/drain driver only.
g) nSC (output from main board) is the active low select for an SPI device on the bus, 
h) The nIRQ and nSC lines can be left unconnected unless the main board variant explicitly supports them.


1) Top 6 pins can be used directly with 6-pin AVR programmer.
2) Rest of pins carry I2C (SDA, SCL), OneWire (DQ) and serial (RX, TX, protected by 10k series resistors)
3) If entire connector rotated boards unlikely to be destroyed instantly.

Bit more on (3): RX and TX are safe to short to GND or 3V3 or anything else, nRST safe to short to either rail, DQ/SCA/SCL safe to short to GND.

Note: see alternatives such as http://www.tag-connect.com/ for SPI/ICP part.


More information about the OpenTRV-dev mailing list