Tag Archives: I2C

Troubleshooting I2C for Arduino and nRF51822


bitknitting.wordpress.com documented his efforts to transmit data over the I2C interface and analyze traffic using a USB login analyzer.

The goal of this post is to transmit data over the I2C interface. Confirmation that the data was transferred will be output of the SDA/SCL lines when my Saleae Logic Analyzer is inserted between the I2C slave (I will be using Adafruit’s ADS1015 BoB…it could be any I2C chip at this point, I just needed a destination to transmit data to).

Troubleshooting I2C for Arduino and nRF51822 – [Link]

Dual USB Serial and I2C Converter


Jesus Echavarria has posted a new project, a dual USB – Serial and I2C converter to communicate with serial and I2C devices.

Hi all! After a couple of months with a lot of work, I come here again with the last board I develop before Christmas. It’s a dual USB serial and I2C converter based on two MCP2221 Microchip 2.0 USB-Serial bridges. I develop it as a need on my work with the last project I’m involved. I need to monitor a serial communication between two devices. With only one converter, I must choose between RX and TX lines to monitoring the traffic.

Dual USB Serial and I2C Converter – [Link]

Unipolar Stepper Motor Driver Circuit

This unipolar stepper motor driver circuit is used to drive a 12V unipolar stepper motor with a current rating of 1.25A. It uses PCA9537 IC, which is a 10-pin CMOS device that provides 4 bits of General Purpose I/O (GPIO) expansion with interrupt and reset for I2C-bus/SMBus applications. It consists of a 4-bit configuration register (input or output selection), 4-bit input port register, 4-bit output port register and a 4-bit polarity inversion register (active HIGH or active LOW operation). In addition, the device uses PCA9665 IC that serves as an interface between most standard parallel-bus microcontrollers/microprocessors and the serial I2C-bus allowing the parallel bus system to communicate bidirectionally with the I2C-bus.

The PCA9537 totem pole GPIO used in this circuit has a fixed I2C-bus slave address, 92H. The host controller’s firmware generates the I2C byte sequences needed to toggle the outputs and provide the waveforms at the gate inputs G1 to G4. The type of waveform will be one corresponding to wave, two-phase or half-step drive that is chosen by the user. The duration of the pulses is controlled by time delay implemented in the host controller firmware. It is shown as a reference for the various waveforms. The maximum I2C-bus speed supported by PCA9537 is 400kHz.

Motor drivers have various applications that are used when accurate positioning is required. Such applications are for use in holding or positioning, like packaging machinery, and positioning of valve pilot stages for fluid control systems. The device enhances the performance of machines and other simple devices that may significantly support industries, and other commercial entities to make the work easier.

Unipolar Stepper Motor Driver Circuit – [Link]

INA219 current sensor DIY Breakout board


Juan Ignacio has designed a INA219 current sensor DIY Breakout board:

Another small board, this time for a INA219. The INA219 is a high-side current shunt and power monitor with an I2C interface.
For testing I used Rei VILO library with a MSP430G2553 and Energia, and I measured the power consumption for this simple circuit.

INA219 current sensor DIY Breakout board – [Link]

DIY I2C LCD Display


sspence @ instructables.com shows how to interface a character LCD using I2C and only two IO pins.

The typical parallel LCD used with an Arduino (16×2 or 20×4) has 16 pins. Only 6 I/O pins are required on the Arduino, but what if you could get that down to two I/O pins, and still have those pins available for other devices?

The I2C interface is on pins A4 and A5 of the Arduino. These are addressable, and are therefore shareable with other I2C devices that have different addresses.

DIY I2C LCD Display – [Link]

3D Print the Ultimate Helping Hands for a PCB Workstation


by Giuseppe Finizia @ makezine.com:

I am the Senior Analyst of the Electronic Forensics Unit of the Carabinieri (Italian Military Police) and I deal with technical investigations on seized electronic devices. I spend most of my day in a well-equipped electronic laboratory, but I was lacking a tool for performing technical assessments on printed circuit boards (PCBs). I needed a way to secure small boards on my workbench and place multiple probes across the board for acquiring data from a circuit memory, analyzing an I2C or SPI communication bus using a logic state analyzer, and much more.

3D Print the Ultimate Helping Hands for a PCB Workstation – [Link]

Get rid of unpleasant odors easily and effectively


USM-MEMS-VOC module evaluates rate of air pollution by contaminants such as cigarette smoke and cooking odors and allows control of air ventilation system on demand.

Modul USM-MEMS-VOC is based on the innovative and highly stable TGS 8100 MEMS semiconductor sensor TGS8100 from Figaro. In the presence of detectable gas, sensor resistance decreases depending on gas concentration in the air. New technology allows very rapid response to gas concentration change. The USM-MEMS-VOC reacts within 8 seconds.

The module evaluates ratio of sensor resistance in clean air (base level) to sensor resistance in polluted air and calculates air quality in range 0 to 100%. It communicates through UART interface. Besides that it provides PWM signal (185Hz) with pulse width proportional to air quality and three binary outputs which turns on when air quality reach 25%, 50% and 75%.

The module allows using of external I2C temperature/humidity sensor for measuring and also to temperature/humidity compensation of TGS8100. USM-MEMS-VOC and TGS8100 can be found in our standard stock offer.

Get rid of unpleasant odors easily and effectively – [Link]

High Speed Ecosystem Support and Calamity Monitoring System

The innovation of equipment for calamity detection and monitoring are quite rampant. It is because of consecutive aggression of storms and earthquakes in different parts of the world. As to observe the different scenarios, these are not merely natural causes, there are some or most of it is manmade. A good example of it is a storm, which is the combination of hot and cold air. These hot and cold airs are natural but the rapid change of air temperature is not natural. Aside from air, water is another major contributor to global warming. Abnormalities that happened to the body of water affect the entire ecosystem, which also affect both living and nonliving things. With such cases, the environment needs care from people. This simple design of ecosystem support and calamity detection will be a great help in protecting the nature and preventing major disasters from occurring. It features two sensing parameters such as pressure and pH level. It has Fast-mode Plus (Fm+) capability on its buses, which can be configured to communicate up to 64 slaves in one serial sequence with no intervention from the CPU. It can communicate remotely and locally where GSM is unavailable.

The design is comprised of SST89E52RC-33-C-PIE legacy microcontroller as the main processor of the device. It is interfaced with the PCA9661 parallel bus to 1 channel Fm+ I2C-bus controller with 74HC237D as the decoder. This interface provides the ports for the sensors, which it communicates at high speed data transfer. The two sensor attached to the I2C-bus controller are SEN-10972 pH sensor and MPL115A1T1 miniature I2C digital barometer. The SEN-10972 pH sensor is used to monitor the pH level of water in which a change of pH level signifies abnormalities or some toxic chemicals that are present in water. The MPL115A1T1 barometer is used to monitor the possibilities of a developing tropical storm or typhoon. The GSM module is for remote data communication with central station or any portable device that is GSM communication capable. In case of a local monitoring and GSM signal dead zone, a built in RF transmitter will trigger to transmit data to any portable device or stations within the range of RF transmission.

The innovation of this device will surely help both the people and environment. It can result to a lesser number of casualties and agricultural damages. It can help the development of municipalities, cities, and/or even nations since it saves a lot of investments and other types of income. This design can be integrated to several developments that can provide more efficient and useful technology instrument for the people and the environment.

High Speed Ecosystem Support and Calamity Monitoring System – [Link]

8V97051 Low Power Wideband Fractional RF Synthesizer

This design features a low power wideband RF synthesizer that is used in GSM receiver cards. It has dual differential and open drain outputs with frequency range of 34.375MHz to 4400MHz(in continuous range). The logic compatibility is 1.8V while the system is running on a single 3.3V supply. It has -143dBc/Hz Phase Noise (PN) performance at 1MHz Offset for every 1.1GHz output. It is also capable of mute function at RF_OUT that is accessible via mute pin or SPI command. It is low power with only 380mW average power consumption while RF_OUTB is not in used.

The design is comprised of 3 major parts. The first part consists of IDT8V97051NLGi wideband RF synthesizer/PLL supports the output frequencies with Voltage Controlled Oscillator (VCO). The temperature compensated crystal oscillator close to the RF input helps in the precision of signal while the other parts are filters that are used in various purposes like minimizing undesired noise. The second part consists of the USB 2.0 high speed to UART/FIFO IC that is used for system interface while the I2C-bus to SPI bridge IC controls the sequences, protocol, and timing of the signal. The last part is power supply management of the system in which it is provided with RC filters in every line to ensure minimal noise are included in the supply.

The design is applicable in multi-carrier, multi-mode Frequency Division Duplexing (FDD) and Time Division Duplexing (TDD) base station radio card. It optimizes multi-service base stations during its service as a local oscillator that generates a large variety of frequencies to mixers while maintaining excellent PN.

8V97051 Low Power Wideband Fractional RF Synthesizer – [Link]



LTC3335 – Nanopower Buck-Boost DC/DC with Integrated Coulomb Counter


The LTC®3335 is a high efficiency, low quiescent current (680nA) buck-boost DC/DC converter with an integrated precision coulomb counter which monitors accumulated battery discharge in long life battery powered applications. The buck-boost can operate down to 1.8V on its input and provides eight pin-selectable output voltages with up to 50mA of output current.

The coulomb counter stores the accumulated battery discharge in an internal register accessible via an I2C interface. The LTC3335 features a programmable discharge alarm threshold. When the threshold is reached, an interrupt is generated at the IRQ pin.

To accommodate a wide range of battery types and sizes, the peak input current can be selected from as low as 5mA to as high as 250mA and the full-scale coulomb counter has a programmable range of 32,768:1.

LTC3335 – Nanopower Buck-Boost DC/DC with Integrated Coulomb Counter – [Link]