Tag Archives: I2C

Extending I2C communication distance with the DS28E17

App note from Maxim integrated about alternative method to extend I2C bus.

Systems are increasingly requiring greater distances for I2C buses. This article explains how the DS28E17 can be used to extend the distance of I2C devices while decreasing cost.

Extending I2C communication distance with the DS28E17 – [Link]

I2C – Everything you need to know

I2C – Everything you need to know article from www.mikroe.com

There is no need for a wordy introduction to I2C protocol. We all know it’s main parts – 2 wires, multiple slaves, sometimes multiple masters, up to 5MHz of speed. Often so have we all implemented an I2C connection. Still, every now and then, there’s that module that just won’t work. This time, we will do an in-depth research about the I2C protocol, and try to cover as much ground as possible.

I2C – Everything you need to know – [Link]

I2C Encoder V2 – Connect multiple rotary encoders on the I2C bus

I2C Encoder V2 is a tiny smart board for connecting multiple rotary encoders on the I2C bus and it’s live on kickstarter.

The I2C Encoder V2 supports various type of rotary encoder with one footprint:

  • Standard mechanical encoder
  • Illuminated RGB encoder
  • Clickable rotary encoder
  • With and without dent

There are also 3 configurable GPIOs that are organized with the same footprint of  RGB LED. You can use them as PWM, I/O or ADC.

Last but not least, it has also 256bytes of EEPROM.

I2C Encoder V2 – Connect multiple rotary encoders on the I2C bus – [Link]

my-ssd1306 an HTML interface to SSD1306 OLED display

My-SSD1306 allows you to connect any device equipped with RS232 to the I2C SSD1306 displays.

My-ssd1306 board should be put between the RS232 source and the I2C SSD1306 target. Two series of connection pins are provided both have VCC, GND, SDA and SCL but one serie has the VCC and GND swapped to allows a direct connection via a connector because some commercial displays have these two pins inverted.

my-ssd1306 an HTML interface to SSD1306 OLED display – [Link]

Tiny Graphics Library for ATtiny85 and SH1106 OLED Display

David Johnson-Davies published another great tutorial on how to use the Tiny Graphics Library to plot the outside temperature over 24 hours on a 128×64 OLED display using an ATtiny85.

This small graphics library provides point, line, and character plotting commands for use with an I2C 128×64 OLED display on an ATtiny85.

It supports processors with limited RAM by avoiding the need for a display buffer, and works with I2C OLED displays based on the SH1106 driver chip. These are available for a few dollars from a number of Chinese suppliers.

To demonstrate the graphics library I’ve written a simple application to measure the temperature every 15 minutes over a 24-hour period and display it as a live chart.

Tiny Graphics Library for ATtiny85 – [Link]

RELATED POSTS

Isolated Power Supply for RS485, RS422, RS232, SPI, I2C and Power LAN

Mini Isolated Power Supply is designed for CAN, RS-485, RS-422, RS-232, SPI, I2C, Low-Power LAN applications. The power supply provides +/- 5.50 V DC symmetrical outputs with load current 500mA from 5V DC input. The project is built using SN6505A IC from Texas instruments. The SN6505A is a low-noise, low-EMI push-pull transformer driver, specifically designed for small form factor, isolated power supplies. It drives low profile, center-tapped transformers 5 V DC power supply. Ultra-low noise and EMI are achieved by slew rate control of the output switch voltage and through Spread Spectrum Clocking (SSC). The SN6505 consists of an oscillator followed by a gate drive circuit that provides the complementary output signals to drive ground referenced N-channel power switches. The device includes two 1-A Power-MOSFET switches to ensure start-up under heavy loads. The internal protection features include a 1.7A current limiting, under-voltage lockout, thermal shutdown, and break-before-make circuitry. SN6505 includes a soft-start feature that prevents high inrush current during power up with large load capacitors.

Isolated Power Supply for RS485, RS422, RS232, SPI, I2C and Power LAN – [Link]

IDT Announces High Performance MEMS Relative Humidity & Temperature Sensor

California based company, Integrated Device Technology (IDT) has recently announced their new HS300x family of MEMS high-performance relative humidity (RH) and temperature sensors of dimension 3.0 × 2.41 × 0.8 mm DFN-style 6-pin LGA. Currently, there are four devices in this family—the HS3001, HS3002, HS3003, and HS3004. They are all the same from the view of functionality but differ slightly in terms of the accuracy of their relative humidity and temperature measurements.

Development board for ITD MEMs sensors

The highlighted feature of this new lineup is that they do not require any user calibration. HS300x family of ICs has calibration and compensation logic integrated into the devices. These ICs output their fully corrected data using standard I2C protocols making the measured data from the sensors is rather easy.

As a side note, Relative humidity (RH) is the ratio of the partial pressure of water vapor to the equilibrium vapor pressure of water at a given temperature. As the entire output consists of only four bytes of data, calculating the corresponding relative humidity in percent and temperature in degrees Celsius is very easy.

Although the HS300x sensors operate as slave devices on the I2C bus (supporting clock frequencies from 100 kHz to 400 kHz), only one HS300x IC can be connected directly to a single I2C bus. To connect multiple sensors to a single I2C bus, an I2C multiplexer/switch has to be used. It would have been easier if IDT had dedicated the unused pin as an optional I2C address input bit, which would allow two HS300x devices to be connected to a single I2C bus.

If you’re interested in testing these ICs prior to incorporating them into a design, SDAH01 or SDAH02 evaluation kit can come handy. Although both kits utilize the HS3001 sensor, the SDAH01 kit outputs the measured data to a PC while the SDAH02 displays the data on an LCD screen.

DAC Shield For Arduino Nano using MCP4725

This project features an easy to use Digital to Analog converter (DAC) shield for Arduino Nano. The project is built using MC4725 12Bit DAC IC over I2C communication. The shield directly seats on Arduino Nano and also can be used as stand-alone DAC converter that can be connected to other micro-controller board with help of 5 pin header connector. Output is 0-5V. PCB jumper J1 provided to select the address in case of using multiple modules on the same I2C .

Shield also provided with high current driver circuit, which converters voltage to current and can be used to drive Laser diode or LED. Maximum possible load 500mA.

DAC Shield For Arduino Nano using MCP4725 – [Link]

TSL2540 Ambient Light Sensor matches eye-response

TSL2540: Other Product Document (English)

ams (Graz, Austria) has posted details of the TSL2540, a very-high sensitivity light-to-digital converter. Evaluation kit is available:

The TSL2540 is a very-high sensitivity light-to-digital converter that approximates the human eye response to light intensity under varying lighting conditions and transforms this light intensity to a digital signal output capable through a 1.8V I²C interface. The ALS sensor features 2 output channels, a visible channel and an IR channel. The visible channel has a photodiode with a photopic Interferometric UV and IR blocking filter and the IR channel has a photodiode with an IR pass filter.

TSL2540 Ambient Light Sensor matches eye-response – [Link]

Real Time Clock On 20×4 I2C LCD Display with Arduino

Sometimes it may be necessary to use a display while making a hardware project, but the size and the type of the display may vary according to the application. In a previous project, we used a 0.96″ I2C OLED display, and in this project we will have an I2C 20×4 character display.

This tutorial will describe how to use 20 x 4 LCD display with Arduino to print a real-time clock and date.

Real Time Clock On 20×4 I2C LCD Display with Arduino – [Link]