I2C counter/1-wire board
The I2C counter and 1-wire board is intended for use with a Raspberry PI, but can be used with any single board computer with an available I2C bus. It provides 8 1-wire bus connections, each able to support multiple 1-wire devices and brought out on to RJ12 sockets. 5v power is also fed to each 1-wire bus so devices needing power are supported as well as those that can use parasitic power. As well as the 1-wire ports, 6 x 16bit counter ports are also provided, each able to count pulses up to 1000pps. Pulse counter inputs are connected via screw terminals and are provided with 2K2 pullups to allow use with open drain (and metallic) inputs. +5V and ground is also brought out on the board, via screw terminals for ease of connection of external circuitry. The counter inputs can be set through software to be standard TTL or schmitt trigger, providing a reliable source from slowly moving input signals. Counter inputs can be individually set through software to be either raw or debounced.
As a further facility a battery backed up real time clock is provided which can be used to provide a real time source for situations where the host computer has no internet connection. Battery life is expected to be greater than 10 years.
Three LEDs indicate I2C activity (blue), pulse activity (orange) and keep-alive (green) but can be accessed through the board registers to be used as user defined indicators.
A python library is available to access the registers of the counters and to read and clear the counters themselves as well as set the input type and the debounce facility. The 1-wire ports are accessible as part of the built-in 1-wire package supplied with the raspbian software build, as is the real time clock facility.
Connection to the PI is via a 6 way cable, connecting to the PIO connector. It is suitable for all versions of the PI. Special programming on the onboard microcontroller handles the I2C clock stretch issues to be found on some versions of the PI. A jumper pair allows shifting of the I2C address for the counter system to any one of 4 different addresses to avoid address clashes. 10cm cable and GPIO splitter are provided as part of the package.
- 8 x 1-wire ports with 5V power, brought out to RJ12 sockets, with ESD protection.
- 6 x 16-bit counter inputs, brought out to screw terminals with ESD protection.
- Real time clock, with battery.
- I2C bus connection
- 3 x LED (green, yellow and blue) accessible through software
- Python library for accessing board registers and characteristics
- Solar power and heat pump monitoring systems
- Home automation
- Data centre monitoring