geekhack Projects > Making Stuff Together!
Need help, uneven backlight on a QMK converted chinese keyboard
andresteare:
Hi guys!
I got into this which is reviving a dead mech I got for $8 with a Teensy and converting it to QMK. The keys are working flawlessly and it's completely usable but I can't make the backlight to work properly.
To use the dead PCB to my favor, I desoldered the MCU, took the ends of the rows and the columns wiring them to the Teensy
But when it came the time for lighting, nothing is working properly, the backlight is uneven and flickers with keypresses, and the LED lock indicators are on when, for example, Caps Lock is off
The keyboard have a color for each row (it's not RGB), so I solder a wire to the side of the row-lighting resistor that have continuity with one of the MCU pins, and solder the other side of the wire to the Teensy
I don't know what I did wrong, I double checked the pinout and the config.h, here's my config by the way.
--- Code: ---/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
#define MANUFACTURER teclado
#define PRODUCT teclado
/* key matrix size */
#define MATRIX_ROWS 6
#define MATRIX_COLS 21
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { C0, B4, F3, F4, F5, F6 }
#define MATRIX_COL_PINS { C2, C1, E0, D4, D5, A4, A0, B2, B0, E7, E6, D6, B1, B3, D3, D2, B6, F7, F0, F1, F2 }
/*Row 0, resistor R132, Pin A1
*Row 1, R131, Pin B5
*Row 2, R130, Pin E4
*Row 3, R129, Pin A2
*Row 4, R128, Pin E5
*Row 5, R127, Pin A7*/
#define DIODE_DIRECTION ROW2COL
#define LED_CAPS_LOCK_PIN C7
#define LED_SCROLL_LOCK_PIN A3
#define LED_NUM_LOCK_PIN C6
#define BACKLIGHT_PINS { B5, E5, E4, A7, A1, A2 }
#define BACKLIGHT_LEVELS 1
--- End code ---
And my pinout:
nevin:
... not enough current available from teensy ++2.0?
usually most led circuits have a mosfet or a mosfet array to support the current needed for the LEDs
even if it's segmented into rows, that's still a good bit per pin.
what voltages are you getting on the 1st led closest to the teensy?
then what's the voltage across the last led in the string?
andresteare:
--- Quote from: nevin on Wed, 20 January 2021, 15:32:43 ---what voltages are you getting on the 1st led closest to the teensy?
then what's the voltage across the last led in the string?
--- End quote ---
Do I measure that from the positive side of the LED to ground?
nevin:
yes. across the led
andresteare:
--- Quote from: nevin on Wed, 20 January 2021, 17:23:08 ---yes. across the led
--- End quote ---
Ok took voltages from positive to negative side of the LED and here are the minimum and maximun voltages in a given row:
R0 (green): 2.14 - 2.53V
R1 (blue): 2.2 - 2.6V
R2 (off): 0,5-1V
R3 (pink):2,2-2,6
R4 (orange): 2,2-2,6V
R5 (red):2 in all of them
Navigation
[0] Message Index
[#] Next page
Go to full version