DI2C -The Differential Version of I2C

In serial interface world, there are differential and non-differential protocols. The most famous one of differential interfaces is USB besides HDMI and others, while I2C is a non-differential one.
Joshua Vasquez from Hackaday decided to use DI2C (differential version of I2C) to communicate with a string of BNO055 sensor boards (a smart 9-DOF sensor with I2C interface).

If you’re not familiar with differential communication, the method behind it is straightforward; the line has two channels (positive and negative), where each line has the same signal but with an opposite voltage. The receiver then will calculate the difference between them. Mathematically:

Vb = -Va, So:
Vout = Va – Vb = Va – (-Va)

Image Source: Hackaday

Now, what if there was a noise?. The noise will affect almost identically on both signals with the same voltage level. As a result the receiver can omit the noise in the output.

Image Source: Hackaday

Back to I2C; Joshua used PCA9615 chip from NXP which is a bridge between the normal 2-wire I2C-bus and the 4-wire DI2C-bus.

PCA9615 Block Diagram.
PCA9615 Block Diagram. DSCLP and DSCLM are the clock plus/minus input/output respectively. While DSDAP and DSDAM are the datat plus/minus input/output.

As an use case; Joshua used DI2C to build an IMU Noodle for modeling a piece of foam twisting and turning in a 3D space simulator using data comes from a string of cards contain the BNO055 sensor and PCA9615 bridge.

PCA9615 was used in each Joshua’s card to bridge the normal I2C signals to DI2C ones. By bridging I2C to DI2C, PCA9615 makes the capability of using longer cables and I2C more rugged in noisy environments.

(a) PCA9615 Application Diagram (b) Ribbon-cable Connectors. (c) BNO055 with PCA9615 Module.

The PCB design files (KiCAD) and firmware can be downloaded from Joshua’s repository on Github. Moreover, Joshua mentioned important tips to setup DI2C in your next design. You can see these tips in his blog post on Hackaday.

IMU Noodle in Action

Helios4 – The World’s 1st Open Source NAS

Build your own PrivateCloud: Store music & movies, share photo albums with friends, protect your files and never fear losing data again.

Helios4 is a Network Attached Storage or NAS – a smart box with up to 4 hard drives designed to store Family Photos, Music playlists, and Movie collections by connecting to your Home network.

Data-rich 3.5mm jack vies with USB-C for headsets

Horst Gether @ edn.com writes about how the simple and well established 3.5mm jack can be used for data-rich communication between headset and mobile device.

The 3.5mm phone jack is a well-established standard in the audio industry and continues to get strong support from users in the market. Originally invented in the 19th century for telephone switch boards, it made its way into mobile phones, tablets, and personal computers to connect audio and communication headsets for phone calls or simply for listening to music. While the phone jack has a rather long evolutionary history, the functionality that the 3.5mm four-pole accessory device provides to its end customers is rather limited.

Data-rich 3.5mm jack vies with USB-C for headsets – [Link]

6V Lead Acid Battery Charger using BQ24450

6V Lead acid (SLA) battery charger project is based on BQ24450 IC from Texas instruments. This charger project takes all the guesswork out of charging and maintaining your battery, no matter what season it is. Whether you have a Bike, Robot,  RC Car,  Truck, Boat,  RV, Emergency Light, or any other vehicle with a 6v battery, simply hook this charger maintainer up to the battery. The bq24450 contains all the necessary circuitry to optimally control the charging of lead-acid batteries. The IC controls the charging current as well as the charging voltage to safely and efficiently charge the battery, maximizing battery capacity and life. The IC is configured as a simple constant-voltage float charge controller. The built-in precision voltage reference is especially temperature-compensated to track the characteristics of lead-acid cells, and maintains optimum charging voltage over an extended temperature range without using any external components. The low current consumption of the IC allows for accurate temperature monitoring by minimizing self-heating effects.  In addition to the voltage- and current-regulating amplifiers, the IC features comparators that monitor the charging voltage and current. These comparators feed into an internal state machine that sequences the charge cycle.

6V Lead Acid Battery Charger using BQ24450 – [Link]

Arduino Primo With Bluetooth, NFC, Wi-Fi, and Infrared

Thanks to a partnership with Nordic Semiconductor – the world’s most successful open-source ecosystem for education, Maker, and Internet of Things (IoT) markets -, Arduino announced its new board, Arduino Primo, including native Bluetooth Low Energy wireless connectivity and NFC touch-to-pair using Nordic nRF52832 SoCs.

The Arduino Primo combines the processing power from the Nordic nRF52 processor, an Espressif ESP8266 for WiFi, as well as several on-board sensors and a battery charger.  The nRF52 includes NFC (Near Field Communication) and Bluetooth Smart.  The sensors include an on-board button, LED and infrared receiver and transmitter.

There are three onboard microcontrollers:

  • nRF52832, the main Arduino microcontroller with integrated BLE and NFC
  • STM32f103, a service microcontroller used for advanced debugging and programming of the other microcontrollers
  • ESP8266, for Wi-Fi and related internet connectivity functions.

The board has:

  • 14 digital input/output pins (of which 12 can be used as PWM outputs)
  • 6 analog inputs
  • 64 MHz ceramic resonator
  • micro-USB connector
  • ICSP header
  • battery charger
  • Infrared receiver and transmitter
  • NFC antenna
  • BLE interface
  • Buzzer
  • two service buttons
  • LEDs
  • reset buttons (to reset the various microcontrollers).

Arduino Primo can be connected to a computer using a micro-USB cable, or it can be powered using a battery, connected via a 2-pin JST-PH connector. Having both Bluetooth and Wi-Fi connectivity on board makes it easy to get started in the IoT world.

“Our passion at Arduino is to provide the tools to encourage passionate people to build out their ideas and bring them into the world. Adding wireless connectivity from our partnership with Nordic provides even more options,” says Federico Musto, CEO & President of Arduino S.r.L. “Ease-of-use is one of our core strengths, and this makes the Nordic chip a perfect match for the Arduino Primo,” adds Musto.

More details about Arduino are available at the official page at Arduino.org

ULINKplus, A Debug Adapter With Power Measurment

While building an ultra-low power application, sensitive hardware and software validation is required to reach system and long battery life. Testing will need an interaction with the tested parts, like simulating input pins of the target application.

These difficulties could be solved with ARM’s new debug adapter “ULINKplus“. It connects the target system with the PC through USB port using a 10-pin Cortex Debug connector. Its power measurement technology allows developers to program, debug, and analyze their applications and their power consumption.

Main features of ULINKplus are:

  • Integrated power measurement synchronized to event tracing which makes it easy to optimize the overall energy envelope of a system.
  • Isolated JTAG/serial-wire connection to the target hardware is essential for testing applications such as motor control, power converters, or systems with sensitive analog processing.
  • Additional test I/O pins are accessible from the debugger and debug scripts to interact with the target and control automated test stands.

ULINKplus, together with MDK, provides extended on-the-fly debug capabilities for Cortex-M devices. You can control the processor, set breakpoints, and read/write memory contents, all while the processor is running at full speed. High-Speed data trace enables you to analyze detailed program behavior.

In addition to downloading programs to your target hardware, you will be able to examine memory and registers, single-step through programs and insert multiple breakpoints, to run programs in real-time, program Flash memory, and to connect to running targets (hot-plugging).

Live data from power measurement

ULINKplus offers a high speed connections that reach 50 Mbit/s for data and event trace for Cortex-M, 20 MHz JTAG clock speed, and 3 MBytes/s high-speed memory read/write.

ULINKplus technical specifications:

  • Compact case 62 x 44 x 11 mm (dust-protected)
  • JTAG/SWD: 20 MHz JTAG clock, 50 MHz serial-wire trace, 10-pin Cortex debug connector, 1 kV isolation
  • Memory access 3 MB/sec, serial-wire trace up to 50 Mbit/sec
  • Power measurement: 2 x 16-bit A/D, 400 KSamples/sec, 3-pin connector, 1 kV isolation
  • Test I/O: 9 digital in/out, 4 analog in, 1 analog out, 3.3 V switchable output voltage (11-pin connector)
  • Debug connection: USB2.0 (to host PC), CMSIS-DAP protocol

According to ARM, ULINKplus will be available from this month.

PCB Design for manufacture [PDF]

SeeedStudio has published a PCB design manual to help makers and engineers design better PCBs. The guide covers many aspects of PCB design for manufacture summarizing the experience of their PCB service over the last 9 years.

PCB Design for manufacture – [Link]

CP2615 USB-I2S Bridge – A New Solution from Silicon Labs

Apple said goodby to 3.5mm audio jack in Iphone 7 by adding the audio signal to USB plug besides the other functionalities. While Iphone is a pioneer brand, a lot of manufacturers in the near future will drop that analog jack. However, your ear responds to analog signals only. So either you buy headphones with built-in USB audio to analog converter, or you use your old headphones with an adapter. This “new” demand for converting between USB and analog increases the need for ready made solutions.

IPhone 6 and iPhone 7 ports comparison — By Rafael Fernandez (Own work) CC BY-SA 4.0 , via Wikimedia Commons

Silicon Labs has a lot of solutions for USB fixed-function chips. A new IC from Silicon Labs called CP2615 serves as a digital audio bridge transferring digital audio data between the USB and integrated I2S serial bus interfaces with no firmware development needed.
CP2615 is available in 5mm x 5mm QFN-32 package and includes a USB 2.0 full-speed function controller, USB transceiver, on-chip oscillator, I2S audio interface, integrated I2C to communicate with DACs/codecs and embedded flash memory for storing device configurations.

CP2615 has a number of properties that need to be configured like Audio Sample Rates, selecting audio interfaces and others. They can all be configured using “Xpress Configurator” available in Silicon Lab’s IDE (Simplicity Studio).

CP2615 Datasheet
Source: Electropages

Pi Zero Gameboy = GameBoy Zero

moosepr @ hackaday.io writes:

My attempt to get the smallest, simplest GameBoy style device, based on the pi Zero.

Pi Zero Gameboy = GameBoy Zero – [Link]

Programmable LED dimmer

A Programmable LED dimmer from Soldernerd:

Around one and a half years ago I’ve designed and built various LED dimmers for both white and RGB LEDs. Then late last year someone approached me asking if I could make an RGB dimmer for him, too. But my designs were really tailored to their specific applications and built with home-made, i.e. milled PCBs which are time-consuming to make. So I decided to make a more universal version based on a proper, etched board which could be built in a small series and used for all kind of applications, both white and RGB. The result is this versatile, programmable 4-channel dimmer.

Programmable LED dimmer – [Link]

RELATED POSTS