I/O Expander for LED Arcade Buttons
I/O Expander for LED Arcade Buttonsby PaulStoffregen.
layer board of
Shared on May 24th, 2017 18:22.
Dimming of the LEDs was required. Initially I considered using this Adafruit 16 Channel PWM board. But the LEDs in these buttons have integrated resistors which require 12 volts, so 16 transistor circuits and another board for reading the switches would have also been needed.
Instead I designed this board with everything required on a single small size board.
It uses the same PCA9685 chip for 12 bit PWM control on every LED, with mosfet drivers to handle 12V outputs, and also a MCP23017 chip to read the buttons. Every button has a discrete 1K pullup resistor (rather than using the higher impedance on-chip pullups) to help with use in the same cable bundles cross coupling to 12V PWM signals.
Bill Of Materials
1 MCP23017 16 bit GPIO MCP23017-E/SS-ND 1 PCA9685 16 channel PWM 568-11925-1-ND 1 LP2950-5V LDO Voltage Regulator 296-20933-1-ND 1 CAT811T Reset Chip CAT811TTBI-GT3OSTR-ND 16 FDV303N N-Ch Mosfet FDV303NCT-ND 4 Header, 16x1 609-3256-ND 1 Header, 3x2 67996-206HLF 2 Connector, Molex 3 pin WM4201-ND 1 Connector, Terminal Block 2 pin 277-1150-ND 2 Capacitor, 0.1uF, 805 478-1395-1-ND 1 Capacitor, 4.7uF, 805 490-6479-1-ND 1 Capacitor, 100uF (10-47uF is ok) 399-6648-1-ND 16 Resistor, 1K, 603 311-1.00KHRCT-ND 3 Resistor, 10K, 603 311-10.0KHRCT-ND
16 Housing, 4 position 952-2229-ND 64 Crimp contact 952-2158-ND 1 Terminal Block, 2 position 277-1011-ND 2 Housing, Molex 3 position WM2001-ND 6 Cript contact WM1114-ND