NEW PRODUCT – Adafruit Trellis Monochrome Driver PCB for 4×4 Keypad & 3mm LEDs – Trellis is an open source backlight keypad driver system. It is easy to use, works with any 3mm LEDs and eight tiles can be tiled together on a shared I2C bus.
This PCB is specially made to match the Adafruit 4×4 elastomer keypad. Each Trellis PCB has 4×4 pads and 4×4 matching spots for 3mm LEDs. The circuitry on-board handles the background key-presses and LED lighting for the 4×4 tile. However, it does not have any microcontroller or other ‘brains’ – an Arduino (or similar microcontroller) is required to control the Trellis to read the keypress data and let it know when to light up LEDs as desired.
Each tile has an I2C-controlled LED sequencer and keypad reader already on it. The chip can control all 16 LEDs individually, turning them on or off. It cannot do grayscale or dimming. The same chip also reads any keypresses made with the rubber keypad. The connections are ‘diode multiplexed’ so you do not have to worry about “ghosting” when pressing multiple keys, each key is uniquely addressed.
The tiles have 3 address jumpers. You can tile up to 8 PCBs together (for a total of 4×32 or 16×8=128 buttons/leds) on a single I2C bus, as long as each one has a unique address. All the tiles connect by the edges with solder, and share the same power, ground, interrupt, and i2c clock/data pins. So, you can easily set up to 128 LEDs and read up to 128 buttons using only 2 I2C wires! The tiles can be arranged in any configuration they want as long as each tile is connected to another with the 5 edge-fingers.
Each LED is multiplexed with a constant-current driver, so you can mix and match any colors you like. You don’t need it to be all blue, all red, etc. Mix it up! Any 3mm LED can be used, although we find that diffused LEDs with 250mcd+ brightness look best.
This item is just for the Trellis driver PCB assembly: LEDs and buttons not included. You’ll probably want to pick up a matching button pad (see below) and also some 3mm diffused LEDs (we suggest red, blue or white which look best). Some soldering is required to put the LEDs into the PCB, and then attach wires that go from each Trellis to an Arduino microcontroller (or whatever microcontroller you prefer).
We have an Arduino library & example code on github.
We have a great tutorial with wiring diagrams, installation instructions and example code here.
NEW PRODUCT – Silicone Elastomer 4×4 Button Keypad – for 3mm LEDs – So squishy! These silicone elastomer keypads are just waiting for your fingers to press them. Go ahead, squish all you like! (They’re durable and easy to clean, just wipe with mild soap and water) These are just like the light up rubber buttons you find on stuff like appliances and tools, but these are open source and easy to integrate into your next project.
Each button is 10mm x 10mm square and 10mm tall. There is 5mm of grid spacing between the buttons. You can ’tile’ the button pads edge-to-edge and they’ll grid up correctly. You can also cut the pads down if you like, the silicone is very soft. The way they’re molded, they give about 3mm of travel when pressed for a very satisfying feel. They are completely quiet, however.
On the bottom of each button is a conductive pad ring which can close a properly design contact underneath. We have an EagleCad library which has objects for the buttons and optional LEDs so you can use them in your next PCB design.
Each button is 10mm tall and can fit a 3mm LED inside quite easily. 5mm LEDs are too big, so stick with 3mm here. The LED is optional, having it or not does not affect the ‘action’. but it’s nice to backlight buttons. Diffused LEDs are best, so check out our offerings: the blue, white and red look best, if you’re sourcing your own LEDs go for something with 300mcd or greater brightness. Diffused looks better than not.
Chances are you don’t want to make your own PCB, so pick up an Adafruit Trellis, our tile-able driver which can control 16 LEDs + these 16 buttons over I2C (see above)
Check out our github repository for 3D CAD files and an Eagle library with ready-to-go objects