Simchair MKIII I2C master controller is the main “brain” of the set: it detects connected devices automatically and then loads device-specific configuration. Unlike the previous analog version, it uses an Arduino Leonardo board. There are several cool things about it:
- we can use device-specific configuration
- we can use external I2C ADCs
- we can use filtering when needed without slowing the master controller down
- we can extend our controller more than we’ll ever need
- unified interface for everything, buttons or axes
- Leo board allows us to use an epic Joystick library by MHeironymus, which simplifies things like ten times; no more pain with USB descriptors
I don’t think there’s any point in using an old analog version anymore, as there are now controllers with buttons (an old UNO – based analog controller only supported six axes as it had to do some massive filtering because of a noisy 10 bit built-in ADC)
1 * Arduino Leonardo
4 * M3x50 screws
4 * M3x12 screws
6 * M3 nuts
To assemble the controller, print its parts, fix the Leo board in the enclosure, use some glue (hot glue or superglue will do nicely) to attach TJ8-8P8 non-shielded ethernet sockets to the cover part. If you only have shielded, strip the shield off of them for better adhesion. Solder 4 wires to each of the sockets. Let’s use this connection scheme for all of our devices:
SOCKET PIN 1 – VCC
SOCKET PIN 2 – GND
SOCKET PIN 3 – SCL
SOCKET PIN 4 – SDA
Before we begin to solder, we have to determine where PIN 1 is. It is crucial as it can save us a lot of time 😉 Let’s take an ordinary ethernet cable and plug it into our socket.
PIN 1 is on the side where the orange-white wire is. Depending on the socket model, pin positions may differ, but most likely PIN 2 is in the other row, check it with a multimeter. Now, when we know where all of our pins are, we need to solder all the wires, and then twist them together (PIN1 wires from all sockets, PIN2 from all sockets, etc.). After that, the only thing left will be to solder these joints to headers according to the connection scheme above. You can solder wires directly to the Leo board or use header pins, and pieces cut off of a breakout board to make things cleaner. Either way, we need 5V, GND, SCL and SDA joints to be connected to the corresponding pins of the Leo board.
Then, it’s finally time to flash it with its software and test it by connecting something to it!
Simchair MKIII I2C latest software on GitHub