Author Topic: What to do with a nice keyboard with lousy firmware?  (Read 4340 times)

0 Members and 1 Guest are viewing this topic.

Offline njbair

  • Thread Starter
  • Posts: 2825
  • Location: Cleveland, Ohio
  • I love the Powerglove. It's so bad.
    • nickbair.net
What to do with a nice keyboard with lousy firmware?
« on: Sat, 19 September 2015, 14:14:10 »
I bought a Varmilo VA87M from Massdrop. It's a pretty cool-looking board:


Varmilo VA87MR by Nick Bair, on Flickr

...but it's got a problem. The firmware is garbage. It doesn't support 6KRO mode at all. Instead, it uses a hacked-together USB NKRO mode which emulates multiple keyboard devices (basically the firmware splits the keys into 3-4 groups, with each group appearing in Device Manager as a separate keyboard. This means it doesn't work on Macs, and it also won't work with hasu's USB to USB converter, which I can't use any of my preprogrammed layers or macros.

I'm trying to weigh my options for modding this board into something useful.

1. Firstly, I can totally remove the PCB and hand-wire it. I'm sure I could fit a Teensy in there if I take the PCB out, but this is not ideal because the board will lose some rigidity without the PCB backing.

2. I could try removing the existing controller chip and somehow wiring in my own. This way I could take advantage of the PCB's switch matrix and LED circuits. Only I'm not sure if I could get a Teensy in there if I don't take the PCB out, since the board has such a slim case.

3. Write this thing off and sell it to someone who doesn't care about programmability or Mac compatibility.

Any advice?

Alpine Winter GB | My Personal TMK Firmware Repo
IBM Rubber Band "Floss" Mod | Click Modding Alps 101 | Flame-Polishing Cherry MX Stems
Review: hasu's USB to USB converter
My boards:
More
AEKII 60% | Alps64 HHKB | Ducky Shine 3, MX Blues | IBM Model M #1391401, Nov. 1990 | IBM SSK #1391472, Nov. 1987, screw modded, rubber-band modded | Noppoo EC108-Pro, 45g | Infinity 60% v2 Hacker, Matias Quiet Pros | Infinity 60% v2 Standard, MX Browns | Cherry G80-1800LPCEU-2, MX Blacks | Cherry G80-1813 (Dolch), MX Blues | Unicomp M-122, ANSI-modded | Unicomp M-122 (Unsaver mod in progress) | 2x Unitek K-258, White Alps | Apple boards (IIGS, AEKII) | Varmilo VA87MR, Gateron Blacks | Filco Zero TKL, Fukka White Alps | Planck, Gateron Browns | Monarch, click-modded Cream Alps

Offline keshley

  • Posts: 417
  • Location: Ohio
    • Blog n stuff
Re: What to do with a nice keyboard with lousy firmware?
« Reply #1 on: Sat, 19 September 2015, 14:18:04 »
I haven't taken mine apart yet - do you know what controller its using? Would be super awesome if TMK was already compatible.
  
HHKB Pro 2       Pok3r

Offline njbair

  • Thread Starter
  • Posts: 2825
  • Location: Cleveland, Ohio
  • I love the Powerglove. It's so bad.
    • nickbair.net
Re: What to do with a nice keyboard with lousy firmware?
« Reply #2 on: Sat, 19 September 2015, 14:22:32 »
I haven't taken mine apart yet - do you know what controller its using? Would be super awesome if TMK was already compatible.

It's using a Holtek-branded chip, no idea what architecture though. I looked at it through a loupe, but I should have snapped some photos while I had it open. I don't think it's AVR-compatible, though, because AVR chips don't have the ability to emulate multiple boards.

Maybe I can hire hasu to reverse-engineer it for me!

Alpine Winter GB | My Personal TMK Firmware Repo
IBM Rubber Band "Floss" Mod | Click Modding Alps 101 | Flame-Polishing Cherry MX Stems
Review: hasu's USB to USB converter
My boards:
More
AEKII 60% | Alps64 HHKB | Ducky Shine 3, MX Blues | IBM Model M #1391401, Nov. 1990 | IBM SSK #1391472, Nov. 1987, screw modded, rubber-band modded | Noppoo EC108-Pro, 45g | Infinity 60% v2 Hacker, Matias Quiet Pros | Infinity 60% v2 Standard, MX Browns | Cherry G80-1800LPCEU-2, MX Blacks | Cherry G80-1813 (Dolch), MX Blues | Unicomp M-122, ANSI-modded | Unicomp M-122 (Unsaver mod in progress) | 2x Unitek K-258, White Alps | Apple boards (IIGS, AEKII) | Varmilo VA87MR, Gateron Blacks | Filco Zero TKL, Fukka White Alps | Planck, Gateron Browns | Monarch, click-modded Cream Alps

Offline microsoft windows

  • Blue Troll of Death
  • * Exalted Elder
  • Posts: 3621
  • President of geekhack.org
    • Get Internet Explorer 6
Re: What to do with a nice keyboard with lousy firmware?
« Reply #3 on: Sat, 19 September 2015, 14:57:20 »
IF THE FIRMWARE ON THE KEYBOARD IS NO GOOD, JUST THROW THE KEYBOARD IN THE TRASH AND BUY A NEW ONE. IT'S THE 21ST CENTURY...TIME TO GET WITH THE TIMES AND LIVE THE DISPOSABLE LIFESTYLE.
CLICK HERE!     OFFICIAL PRESIDENT OF GEEKHACK.ORG    MAKE AMERICA GREAT AGAIN MERRY CHRISTMAS

Offline digi

  • elite af tbh
  • * Exquisite Elder
  • Posts: 2789
  • keyboard game on fleek
Re: What to do with a nice keyboard with lousy firmware?
« Reply #4 on: Sat, 19 September 2015, 14:58:56 »
IF THE FIRMWARE ON THE KEYBOARD IS NO GOOD, JUST THROW THE KEYBOARD IN THE TRASH AND BUY A NEW ONE. IT'S THE 21ST CENTURY...TIME TO GET WITH THE TIMES AND LIVE THE DISPOSABLE LIFESTYLE.

YES!! HE'S BACK LADIES AND GENTLEBUTT'S!

Offline hoggy

  • * Ergonomics Moderator
  • Posts: 1500
  • Location: Isle of Man
Re: What to do with a nice keyboard with lousy firmware?
« Reply #5 on: Sun, 20 September 2015, 01:34:40 »
You know, I kinda missed him...
GH Ergonomic Guide (in progress)
http://geekhack.org/index.php?topic=54680.0

Offline Findecanor

  • Posts: 4859
  • Location: Koriko
Re: What to do with a nice keyboard with lousy firmware?
« Reply #6 on: Sun, 20 September 2015, 11:00:13 »
It's using a Holtek-branded chip, no idea what architecture though. I looked at it through a loupe, but I should have snapped some photos while I had it open. I don't think it's AVR-compatible, though, because AVR chips don't have the ability to emulate multiple boards.
There are two ways for a controller to emulate multiple boards. The first is to emulate a hub. The second is to be a "composite device" with multiple logical devices. Keyboards with built-in mice are most often composite devices.
The Noppoo Choc Mini which is known to not work with Mac is a composite device, but the problem is not that it is a composite device but because of a small bug in the keyboard's firmware and MacOS interpreting the protocol strictly.

How do you know that the Varmilo does not work on Macs? What does MacOS say?
Maybe you could persuade Hasu to modify his USB-USB converter to support composite devices.

Modern microcontrollers from Holtek that are used in keyboards are often based on an ARM core.
BTW, AVR does support being a composite device- that is how Hasu's firmware supports ps/2 mouse (or trackpoint) in and mousekeys.
Man must shape his tools lest they shape him
-- Arthur Miller

Offline suicidal_orange

  • * Global Moderator
  • Posts: 4432
  • Location: England
Re: What to do with a nice keyboard with lousy firmware?
« Reply #7 on: Sun, 20 September 2015, 11:10:11 »
Teensy's are pretty damn small and the back of that board is raised so I'm sure you could fit one in.  You can remove the controller chip by circling a mini blowtorch or blue flame lighter around the legs and knocking it off.

Before you do that though you'll need to consider how hard the matrix will be to map out, and having lots of LEDs makes it likely to be quite hard.
120/100g linear Zealio R1  
GMK Hyperfuse
'Split everything' perfection  
MX Clear
SA Hack'd by Geeks     
EasyAVR mod