Author Topic: The Ultimate AMJ60 60% Keyboard PCB (Modified Satan GH60 Clone) Flashing Guide  (Read 6144 times)

0 Members and 1 Guest are viewing this topic.

Offline _haru

  • Formerly linuxfanatic
  • Thread Starter
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
1. Preface:

As some of you have probably seen, there is a cool-looking but not very well documented 60% keyboard PCB floating around (http://www.ebay.com.au/itm/AMJ60-pre-soldered-DIY-GH60-Keyboard-PCB-Backlit-LED-60-cherry-MX/172674814122) called the AMJ60. In this guide, I will show you how to flash it with a layout of your choosing.

2. Disclaimer:

I am not responsible at all if your computer catches fire, phone runs away or if your car explodes after following this guide. Make of that what you will and proceed at your own risk.

3. Thanks:

Thank you very much to eBay seller xxobx0107 (http://www.ebay.com.au/usr/xxobx0107?_trksid=p2047675.l2559) for selling me this PCB and for showing me exactly how to flash it. All credit goes to him for supplying me the tools and guides.

4. What you need

    -AMJ60 PCB
    -Modified TKG Toolkit (https://drive.google.com/file/d/0B3JDr-XLLRASeEdiTE5COFlOZ0U/view?usp=sharing)
    -Modified TMK Keymap Generator (http://tkg.hanchen.me/#)
    -A MS Windows computer
    -A switch or small piece of wire to check if the PCB works

5. Steps

    1. Gather the equipment.
    2. Unzip the TKG Toolkit ZIP file.
    3. Navigate to /windows/tool and open Zadig.
    4.Connect the PCB and hold down the reset button for two seconds. Then release the button.
    5. Click 'Options' then 'List all'. Select the 'ATm32U4DFU' device in the drop-down menu and click on 'Reinstall Driver'.
    6. Once Zadig is finished with reinstalling the driver, close it.
    7. Navigate to /windows and open 'setup.bat'.
    8. Enter '4' for the AMJ60.
    9. Proceed with the other steps, no values need to be changed.
    10. Once the setup script is done, close it.
    11. Open up the TMK Keymap Generator (has to be the dodgy version, unfortunately).
    12. Enter your layout and configure your Fn keys. Make sure that the 'Keyboard' section is set to the AMJ60, as is it electronically different from the GH60 and such.
    13. Download the .eep file.
    14. Copy the .eep file to /windows.
    15. Drag the .eep file onto 'reflash.bat' and follow the instructions there.
    16. After that process is finished, close the window. Unplug and re-plug the keyboard to check if it works.
    17. Result!

Leave a comment if it worked for you! If it didn't, don't hesitate to leave a message here or send me a PM.
« Last Edit: Tue, 13 June 2017, 04:28:40 by linuxfanatic »
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline tk

  • Posts: 16
I picked up the same board last week from xxobx0107 (fantastic alternative to the sexy Zeal PCB), and would have saved so much headache had i seen this two days ago, linuxfanatic!

After trying to flash a custom .hex to the board only to break everything, and much trial and error, I was able to get a custom firmware based on the QMK repository working, compiled and flashed from OSX. Unfortunately, after failing to make qmk.sized.io work, i had to edit the firmware files by hand.

Here's the simplified version of how i did it:
  • Download or fork the QMK repository
  • Unzip and navigate to /keyboards/AMJ60/Keymaps. There are two folders in here, which are fairly self explanatory. Look through the keymap.c files to see if either are the layout you want, or close enough to edit.
  • If not, copy and rename one of the folders (I modified the maximized file)
  • If you're creating a new layout, look in the base AMJ60 folder for file "amj60.h". This file contains various predefined key layouts — for my final firmware, I used the KEYMAP_HHKB as my base layout.
  • Pour through the QMK documentation to figure out what keycodes you need, and start editing your new "keymap.c" file.
  • Follow the QMK docs to compile the new keymap.c into a .hex file.
  • Download and install QMK.Firmware.Flasher-0.5.0.dmg
  • With the flasher open, plug in your PCB. "Flash Keyboard" should be red. Drag and drop your new .hex file to the flasher, hit the reset button on the AMJ60 and hit the green button. The flasher will do it's thing and hopefully you're left with a working board.
  • Test. Every. Key. — I had lots of funky things occur while trying to figure out how to make it work, so test test test before you build.


One thing to note, keymaps from the GH60 Satan folder did not work as i'd hoped assumed they would, which is what led me to writing my keymap.c by hand.

If interested, here's my keymap.c, the .hex file and the coordinating Keyboard Layout Editor. Reply or shoot me a PM with questions.

Offline _haru

  • Formerly linuxfanatic
  • Thread Starter
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
I picked up the same board last week from xxobx0107 (fantastic alternative to the sexy Zeal PCB), and would have saved so much headache had i seen this two days ago, linuxfanatic!

After trying to flash a custom .hex to the board only to break everything, and much trial and error, I was able to get a custom firmware based on the QMK repository working, compiled and flashed from OSX. Unfortunately, after failing to make qmk.sized.io work, i had to edit the firmware files by hand.

Here's the simplified version of how i did it:
  • Download or fork the QMK repository
  • Unzip and navigate to /keyboards/AMJ60/Keymaps. There are two folders in here, which are fairly self explanatory. Look through the keymap.c files to see if either are the layout you want, or close enough to edit.
  • If not, copy and rename one of the folders (I modified the maximized file)
  • If you're creating a new layout, look in the base AMJ60 folder for file "amj60.h". This file contains various predefined key layouts — for my final firmware, I used the KEYMAP_HHKB as my base layout.
  • Pour through the QMK documentation to figure out what keycodes you need, and start editing your new "keymap.c" file.
  • Follow the QMK docs to compile the new keymap.c into a .hex file.
  • Download and install QMK.Firmware.Flasher-0.5.0.dmg
  • With the flasher open, plug in your PCB. "Flash Keyboard" should be red. Drag and drop your new .hex file to the flasher, hit the reset button on the AMJ60 and hit the green button. The flasher will do it's thing and hopefully you're left with a working board.
  • Test. Every. Key. — I had lots of funky things occur while trying to figure out how to make it work, so test test test before you build.


One thing to note, keymaps from the GH60 Satan folder did not work as i'd hoped assumed they would, which is what led me to writing my keymap.c by hand.

If interested, here's my keymap.c, the .hex file and the coordinating Keyboard Layout Editor. Reply or shoot me a PM with questions.

Oh wow. I thought about doing it with QMK, but the GH60 Satan keymaps don't work (it's electrically different to the AMJ60) and I was far too much of a noob to edit them myself :P

In any case, it's good that we know there are multiple ways to flash this PCB :D

And yeah, the colouring is striking indeed...
« Last Edit: Tue, 23 May 2017, 19:01:48 by linuxfanatic »
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline Sifo

  • Alter
  • * Exquisite Elder
  • Posts: 7489
  • Location: #GOLDSPRINGS, #LEGITBALLIN
  • Illustrious
holy **** thanks I have one of these and was way too lazy to figure out how to program it. Does QMK have function for controlling the leds and crap?
I love Elzy

Offline _haru

  • Formerly linuxfanatic
  • Thread Starter
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
holy **** thanks I have one of these and was way too lazy to figure out how to program it. Does QMK have function for controlling the leds and crap?

Probably, but TMK should have it too.
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline tk

  • Posts: 16
Sifo, it is possible with QMK — scroll down to "Other shortcut firmware keycodes" on this page. If you're attached an RGB LED strip, there are codes for those as well.

Offline _haru

  • Formerly linuxfanatic
  • Thread Starter
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
I can confirm that LEDs work with TMK on this keyboard.
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline Murdari0

  • Posts: 33
  • Location: Aus
Thanks for the guide, would you know of any other sources for the toolkit? As the dropbox link in the op is down.

Offline _haru

  • Formerly linuxfanatic
  • Thread Starter
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
Thanks for the guide, would you know of any other sources for the toolkit? As the dropbox link in the op is down.

Hi, I have it on my computer at home. I'll make a mirror of it when I get home.
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline _haru

  • Formerly linuxfanatic
  • Thread Starter
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline Murdari0

  • Posts: 33
  • Location: Aus
Sweet thanks for the upload. I'll try it out tonight.

Edit: Got everything working, just need to finalise a layout. Once again, thanks for the help linuxfanatic.
« Last Edit: Sat, 17 June 2017, 03:45:00 by Murdari0 »

Offline _haru

  • Formerly linuxfanatic
  • Thread Starter
  • Posts: 390
  • Location: Perth, Western Australia
  • Back from the dead
No problem. Happy to have helped :)
AMJ60 - 45g MX White | GH60 Rev. C - Ghost Gateron Blacks | DFK101 - Alps SKCM Cream | Filco Majestouch 2 TKL - 62g Vintage MX Ergo Clear

Offline thebeae

  • Posts: 18
Anyone know if theres a way to reprogram the AMJ96s layout? Its not predefined in the editor linked above and for some reason the stock amj96 firmware is not proper stock one thats on their github.