Blog #3

I2C/Qwiic device tests

Motivation: Ready-made I2C modules are available in various online shops. Especially the Qwiic series from SparkFun I find it appealing, which is why I created some prototypes.

Motivation

With so many inexpensive I2C devices available, I felt motivated to develop small, custom-built controls for my layouts, just for the fun of it.

Whether it’s just a display or a combination of different I2C devices, the logic sits on the PC and enables interaction within and between these controls. RTB automatically detects the devices, tags them with a UID and creates an object representation in the central database. You don’t have to worry about I2C bus programming – it’s all hidden by the RTB abstraction layer. Therefore, developing a new custom control only takes a few minutes.

Input Devices

SparkFun Qwiic RGB Rotary Encoder

This device works very well and can be used as a universal incremental switch. In addition, it has a push button function when pressing down the rotating axis. The axis is illuminated with an RGB LED and enables status information to be displayed in color.

 I find this module very useful.

SparkFun Qwiic Joystick

This device is certainly useful for controlling a model train. However, the resolution of the joystick position could be better, as only about 50% of the handle deflection is monitored and almost half of the physical deflection remains undetected.

 I find this module useful but not perfect.

SparkFun Qwiic Button

This device is simply a push button that can be illuminated with a single color. Either red or green. It would have been much nicer with a multicolor LED. But it is not. So there will be plenty of space needed for just a small push button. Otherwise it works.

 I find this module somewhat useful.

SparkFun Qwiic Keypad

The module allows train IDs to be entered by the operator but only has numbers. This could be a limitation if letters are also required. It would be better to have a keyboard allowing characters, as was the case with old cell phones.

Problem: One behavior of this device is annoying. It *must not* be queried too often, otherwise it will hang. Worse, it cannot participate on an I2C bus that has a lot of traffic to other devices. It will also hang. Therefore it should (must?) be on its own dedicated I2C bus. What a waste!

 This module needs improvements.

SparkFun RFID Qwiic

I did not have time to test this device … but could be a way to authenticate operators.

Output Devices

SparkFun Qwiic LED Stick - APA102C

This device is a 10 RGB LED strip and works well. I’m not entirely sure what use case this module has, but I imagine there could be.

 This module could be useful.

SparkFun 16x2 - RGB Text

This device is a 16×2 alphanumeric LCD display and looks really great with its RBG backlight. The device works well.

 I find this module very useful.

SparkFun 20x4 - RGB Backlight

Similar to the display above, this one has 4 lines and is 20 characters wide. Visually, I like the illuminated characters better than the illuminated background with black characters. But that’s personal taste.

 I find this module very useful.

SparkFun Qwiic OLED Display (128x32)

This is the typical 128×32 OLED that is sold in many places on the Internet. The color is “blue”. I’m not sure if SparkFun has other colors.

 I find this display too small to read for many use cases. Otherwise it works.