geekhack Marketplace > TMK Keyboard Service

[TMK] USB-USB Converter

<< < (4/7) > >>

hasu:
Fixed the link of VM image in wiki.
https://github.com/tmk/tmk_keyboard/wiki/Build-on-VirtualBox

thanks

ChewChew:
Hey Folks!

It's 2022, I just bought one of these excellent devices from hasu (thanks bro!) and it arrived yesterday. I thought I'd write how an outsider can go from 'no idea what I'm doing', to having my own macro keyboard working. (Hope this hasn't been posted elsewhere before).

Step 1: Plug the converter into both your keyboard and the computer, and type something in notepad.
* If it works then your keyboard is compatible. If you get to the end of this process and nothing works, you know you've done something wrong.
* If nothing is typing, your keyboard isn't compatible. Try another keyboard I guess?

Step 2: Go to hasu's 'TMK Keymap Editor' webpage (google it) and reassign whatever keys you want.

Note, I needed a lot of Ctrl+# or Shift+# shortcuts and initially struggled how to make this work. The trick is to assign the key with the letter, then below the keyboard click on the 'Code Edit' tab. Change the dropdown from ACTION_KEY to ACTION_MODS_KEY, and use the next dropdown to select the Shift or Ctrl key etc, then click the Action Apply button.

Step 3: Under the 'Firmware Hex File Download' part of the webpage, click the 'Download' button. This is the file you will need to load onto the USB converter.

Step 4: Find a copy of Flip by Atmel somewhere on the internet! When you google it, it takes you to a Microchip website and says there's two files available; but only the one that requires Java Runtime Environment is listed. Someone else here on this website had uploaded a copy of Flip 3.4.7 for windows that doesn't need JRE, so I just used that (thank you!).

Step 5: Once Flip is installed, you will need to force the Device Manager to use the Flip driver. Press the little button on the USB converter to enter flash mode. You'll hear the USB disconnect sound. Open the device manager and you'll see under 'Other Devices' that there's an issue with the 'ATmega32U4'. If device manager is only showing 'PCI Encryption Controller' it means you aren't in flash mode!

Once in flash mode, do the following:
* Right click the 'ATmega32U4', and select 'Update Driver'.
* Select 'Browse My Computer for Drivers'
* Select 'Let me pick from a list of available drivers etc'
* Select 'Show All Devices' and click 'Next'
* Select 'Have Disk'
* Browse to the 'Atmel' -> 'Flip' -> 'usb' folder, and select the 'atmel_usb_dfu.inf' file then hit 'OK'
* Select the 'ATmega32U4' driver and select 'next'

Step 6: Disconnect and reconnect the USB converter, and re-enter Flash mode by pressing the little button again.

Step 7: Open Flip and click on the icon that looks like a USB with a cable and select 'USB' and click 'Open'.
* If you get an error saying 'AtLibUsbDfu.dll not found' error then you didn't do step 5 properly.
* If you click 'Open' and you get 'Could not open USB device' error, your USB converter isn't in flash mode. Press the little button.

Step 8: Click on the red book with a down arrow icon (Load HEX file). Navigate to the hex file you downloaded in Step 3. On the main page of the Flip program in the bottom middle you should now see the name of the hex file in blue writing.

Step 9: In the bottom left of the Flip program click the 'Run' button and cross your fingers! It will erase the default hex, load your custom one and verify it.

Step 10: unplug and replug the USB converter, and type away. You should now have a working custom keyboard! Good luck!

Disclaimer: I'm a total newcomer at this and I was maxed out figuring out the above process, so I'm very sorry if you run into dramas. I would have little to no idea how to help.

OwariDa:
Hey!

I am using the converter with a custom 34-key layout I'm developing with QMK for the Kinesis Advantage 2, and it works great! The only issue I'm having is that my firmware is currently just 142 bytes smaller than the maximum for the MCU in question at the moment, and I would like to be able to do a few more customizations. I have already enabled link-time-optimization and disabled everything I can disable in the config, so my question right now is whether it would be possible to buy or possibly build a converter based on an MCU with more flash storage.

I'm sure I'm not the only one with this issue, so maybe it would be a good idea to make an iteration / a version of this awesome converter based on a slightly more powerful (at least a larger flash) MCU?

hasu:
What version of gcc are you using?  I think optimisation for AVR is not supported/developped actively at recent versions, you may want to stick with older version like 6, 7 or even 5.
In general newer GCC tends to produce bigger binary.

AT90USB1286 would be easy straight upgrade without big change of current firmware if you want to try. I don't know if that hardware upgreade deserves in this case(Just 142 bytes excess).

OwariDa:
I'm using GCC 5.4.0, so pretty old. It's the version being included in the avr-gcc package on Ubuntu.

Actually I have 142 bytes left, not 142 bytes in excess :) But the only reason I have those 142 bytes free is because I stopped tweaking my keymap.c now when I have so little space left, but would like to continue. 😅

AT90USB1286 would be perfect. Any chance of ordering a pre-built one based on that MCU? I'd be willing to give it a try to build it / modify my existing one myself, if it's something that can be done with (so far) quite minimal hardware hacking experience.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version