geekhack
geekhack Marketplace => Vendor Forums => techkeys.us => Topic started by: ArchieTect on Tue, 14 June 2016, 18:19:54
-
Anyone know if anybody is working on this? If it's easy to do, or easy to port, can someone chime in. Of course assuming we are still on an AVR chipset.
I love my 6KB, thanks for making it happen.
-
What's it say on the chip? If it's listed in the EasyAVR thread it will be easy to add, just needs someone with one preferably with a multimeter or good eyes to see what's connected to what on the PCB.
-
Looks like an ATmega16U2.
(http://cdn.shopify.com/s/files/1/0218/4886/products/PCB_1024x1024.jpg)
-
Hello. im just got my 6keyboard today and i would really like to be able to reprogram it using the Easy AVR tool. i took my multimeter out and just finished measring. all the keys have one common pin that is connected to gorund and the other pin is conneted to the microcontroller (ATmega16U2) as follow.
Key1 PC7
key2 PB7
key3 PB5
key4 PD6
key5 PD1
Key6 PD4
Should i contact someone or make a formal request or how shall i proceed.
Finkey.
-
I will submit the request - thanks for digging up that info.
-
Thanks for the reply. i decided to give it a shot and modified the threekeyboard file and got the all the keys to work.
Here is the modified file. http://pastebin.com/dLGmJ5b1 the led on the back is not configured corretly.
-
I made a config for this in the EasyAVR thread but no-one confirmed it worked (or not) and I don't have a board to test.
I had the LEDs as all being on separate pins - does this work?
led_definition = [
('1', 'Unassigned'),
('2', 'Unassigned'),
('3', 'Unassigned'),
('4', 'Unassigned'),
('5', 'Unassigned'),
('6', 'Unassigned'),
('Underglow?', 'Unassigned')
]
led_hardware = [
# Port Pin Direction
( REF_PORTC, 6, LED_DRIVER_PULLDOWN ),
( REF_PORTB, 6, LED_DRIVER_PULLDOWN ),
( REF_PORTB, 4, LED_DRIVER_PULLDOWN ),
( REF_PORTD, 5, LED_DRIVER_PULLDOWN ),
( REF_PORTD, 2, LED_DRIVER_PULLDOWN ),
( REF_PORTD, 3, LED_DRIVER_PULLDOWN ),
( REF_PORTC, 4, LED_DRIVER_PULLDOWN )
]
backlighting = True
bl_modes = [
( 0, 0, 0, 0, 0, 0 ),
( 1, 1, 1, 1, 1, 1 ),
( 0, 1, 0, 1, 1, 1 )
]
-
wow, i wish i used the seach function more before i started measuring and screwing arrownd.
My board dosen't have the LEDs yet, i will solder some and test it during the weekend.
-
i just soldered some leds to my board and was unable to make them work. i did some measuring and all the leds have a common anode that is connected to the power line and each anode is connected to its own pin on the microcontroller with a 470ohm resistor. the assigned pins on the config file seems to be correct.
-
Well they default to off so you might want to change the top line to 1,1,1 etc, unless you assigned a key to switch them on?
-
I changed the top line to 1, 1, 1, and also tried assigning a bl mode and a bl enable key. I also tried some random settings on the led configuration menu and got the led 1 to light up if i set it as "usb ok" but if i set it as backlight it stays dark.
Here is the current code i'm using for testing.
# Easy AVR USB Keyboard Firmware Keymapper
# Copyright (C) 2013-2016 David Howland
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
"""Keyboard definition for the Techkeys ThreeKeyBoard."""
import easykeymap.templates.ATmega16U2_16MHz_CARD as firmware
from easykeymap.ioports import *
description = "6KEY"
unique_id = "SIXKEY_001"
cfg_name = "SIXKEY"
teensy = False
hw_boot_key = True
display_height = int(3*4)
display_width = int(3*4)
num_rows = 1
num_cols = 6
strobe_cols = False
strobe_low = True
matrix_hardware = [
# Port mask Dir mask
( 0b10100000 , 0b00000000 ), # REF_PORTB
( 0b10000000 , 0b00000000 ), # REF_PORTC
( 0b01010010 , 0b00000000 ) # REF_PORTD
]
matrix_strobe = [
# REF_PORTB REF_PORTC REF_PORTD
( 0b00000000 , 0b00000000 , 0b00000000 )
]
matrix_sense = [
# Port Pin mask
( REF_PORTC , 0b10000000 ),
( REF_PORTB , 0b10000000 ),
( REF_PORTB , 0b00100000 ),
( REF_PORTD , 0b01000000 ),
( REF_PORTD , 0b00000010 ),
( REF_PORTD , 0b00010000 )
]
num_leds = 7
num_ind = 0
num_bl_enab = 2
led_definition = [
('1', 'Backlight'),
('2', 'Backlight'),
('3', 'Backlight'),
('4', 'Backlight'),
('5', 'Backlight'),
('6', 'Backlight'),
('Underglow?', 'Unassigned')
]
led_hardware = [
# Port Pin Direction
( REF_PORTC, 6, LED_DRIVER_PULLDOWN ),
( REF_PORTB, 6, LED_DRIVER_PULLDOWN ),
( REF_PORTB, 4, LED_DRIVER_PULLDOWN ),
( REF_PORTD, 5, LED_DRIVER_PULLDOWN ),
( REF_PORTD, 2, LED_DRIVER_PULLDOWN ),
( REF_PORTD, 3, LED_DRIVER_PULLDOWN ),
( REF_PORTC, 4, LED_DRIVER_PULLDOWN )
]
backlighting = True
bl_modes = [
( 1, 1, 1, 1, 1, 1 ),
( 1, 1, 0, 1, 0, 1 )
]
KMAC_key = None
keyboard_definition = [
[((4, 4), (0, 0), 'HID_KEYBOARD_SC_A'),
((4, 4), (0, 1), 'HID_KEYBOARD_SC_S'),
((4, 4), (0, 2), 'HID_KEYBOARD_SC_D')],
[((4, 4), (0, 3), 'HID_KEYBOARD_SC_F'),
((4, 4), (0, 4), 'HID_KEYBOARD_SC_G'),
((4, 4), (0, 5), 'HID_KEYBOARD_SC_H')],
]
alt_layouts = {}
-
I guess we may have exceeded one of the random undocumented limits in the firmware - change the template from 'CARD' in the first import, you want the one that's for 60%s (not JUMBO or COSTAR - you'll have to check the exact name in the builds folder)
-
i checked the builds folder and the only file for the ATmega16u2_16MHz is the "card" one.