The NeoKey 1x4 QT I2C breakout is super simple to use but has a lot going on! This page covers all of the pins on and features of the board. Time for a tour!
There are four Cherry MX or compatible key switch sockets, distributed evenly across the board. Simply press any compatible key switch into the socket from the top of the board. You can add a dab of glue to keep the switch in place; hot glue or a dot of epoxy will work.
Along the edge of the board, below the key sockets, are four NeoPixel LEDs. These LEDs are reverse mount, meaning they're mounted on the back of the board to shine through to the top. This allows for the key switches to sit flat while still providing rainbow goodness!
The NeoPixels are controlled over I2C using the seesaw library. They are connected to Seesaw pin 3.
Along both long edges, in the middle of the board, are a set of through-hole headers. Solder the provided header pins to both sets of through-holes for stability in a breadboard/perfboard setup.
When viewed from the top of the board they are:
- VIN - This is the power pin. Since the chip uses 3 VDC, we have included a voltage regulator on board that will take 3-5VDC and safely convert it down. To power the board, give it the same power as the logic level of your microcontroller - e.g. for a 5V microcontroller like Arduino, use 5V.
- 3 - This is the 3.3V output from the voltage regulator. You can grab up to 100mA from this if you like.
- - - This is the ground pin. It is the common ground for power and logic.
- C - This is the I2C clock pin. Connect to your microcontroller I2C clock line. This pin is level shifted so you can use 3-5V logic, and there's a 10K pullup on this pin.
- D - This is the I2C data pin. Connect to your microcontroller I2C data line. This pin is level shifted so you can use 3-5V logic, and there's a 10K pullup on this pin.
- INT - This is the interrupt pin. The Seesaw allows for setting GPIO interrupts. This pin will go low when a button is pressed.
On the back of the board are four address jumpers. These jumpers allow you to chain up to 16 of these boards on the same pair of I2C clock and data pins. To do so, you solder the jumpers "closed" by connecting the two pads.
The default I2C address is 0x30. The other address options can be calculated by “adding” the A0/A1/A2/A3 to the base of 0x30.
A0 sets the lowest bit with a value of 1, A1 sets the next bit with a value of 2, A2 sets the next bit with a value of 4, and A3 sets the high bit with a value of 8. The final address is 0x30 + A3 + A2 + A1 + A0 which would be 0x3F.
So for example if A2 is soldered closed and A0 is soldered closed, the address is 0x30 + 4 + 1 = 0x35.
If only A0 is soldered closed, the address is 0x30 + 1 = 0x31
If only A1 is soldered closed, the address is 0x30 + 2 = 0x32
If only A2 is soldered closed, the address is 0x30 + 4 = 0x34
If only A3 is soldered closed, the address is 0x30 + 8 = 0x38
The table below shows all possible addresses, and whether the pin(s) should be high (closed) or low (open).
In the top-right corner of the board, when viewed from the back, is a green on LED that is lit up when the board is powered.