Hi, I am trying to design a PCB board with a microcontroller and different sensors, But one of the sensors (TMP100) needs to be placed far away from the MCU PCB board.
So I am trying to design a small PCB board exclusively for that sensor. Since the sensor communicates via I2C with the MCU. How do I go about designing this circuit?
Distance between the MCU and sensor is around 25-30 cm long.
In KiCad, it’s usually one PCB for one project, and it’s the easies to just make another project for this PCB. I would just have the sensor, a connector and some extra stuff such a decoupling capacitor and mounting holes.
In the “big” project, you can either use a connector as a schematic symbol for this sensor, or you keep the sensor symbol, but just assign a connector footprint to it instead.
I like the tmp101 (which has an extra address pin if you don’t need the tmp100’s alert pin). I used a lot on high-altitude balloons – a hobby that used to be cool but has fallen out of favor of late.
If you want to standardize on a connector for I2C, there are two de-facto standards: Grove and QWIIC.
Sadly, neither seeed nor sparkfun interleaved power and ground with the signal lines, which would have been trivial to do when they defined the standard. This is a simple way to keep signals cleaner and minimize crosstalk on any ribbon-cable design.
For long-ish runs of i2c, I would modify grove cables by peeling the cables apart and twisting one signal line with ground and the other with vdd.
I think your biggest challenge will be a cable length of 30cm – that is kinda-long for an open-drain i2c bus going over a cable off-board. Cable capacitance will lengthen rise-times. You can use small-ish pull-ups and I would run at 100kHz and not faster.
Edit: my foggy early-morning brain had me read 300cm Your 30cm should not be a problem.