NerD60 - TMK Conversion / It works !!!
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
I could test it, but please add also a reset to bootloader shortcut because I'd hate to open up the board again just to reset itmohitgarg wrote: ↑Yeah, it's working!
I'd like to add support for it to Easy AVR. If you don't mind, will you test it out please, once I have the configuration file ready for it?
I have no experience with Easy AVR, the fact that is a GUI and runs on windows put me of, but I know a lot of people fancy that tool and it would a very nice addition, it would be a shame no to document this experiment all the way
-
- Main mouse: R.A.T 7
- Favorite switch: Blue
- DT Pro Member: -
Easy AVR has the option to map a key to reset to bootloader. In fact when building your firmware or uploading to device, it will throw a warning if it doesn't find a bootloader key on any of the layers.
THe source code for ti has now been made available on GitHub and can be compiled on any OS, you jsut need python installed, no need for AVR toolchain.
THe source code for ti has now been made available on GitHub and can be compiled on any OS, you jsut need python installed, no need for AVR toolchain.
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
Good to know When you have the config ready I will give it a try.
I have found the time to write an article on Wiki here is the link wiki/Converting_NerD60_to_TMK
It's still a work in progress, I have to add one or two things but I wanted to do it now so I don't forget some important things.
A word of warning, do it on your own risk, don't blame me I can try and help you if you have problems but if you brake the board it's your own fault
I have found the time to write an article on Wiki here is the link wiki/Converting_NerD60_to_TMK
It's still a work in progress, I have to add one or two things but I wanted to do it now so I don't forget some important things.
A word of warning, do it on your own risk, don't blame me I can try and help you if you have problems but if you brake the board it's your own fault
- Stabilized
- Location: Edinburgh
- DT Pro Member: -
Thanks so much for the wiki, was keeping track of the thread and for a time I was really put off with your problems with the fuses, etc.
Nice to know it works now though, will definitely try this!
Also cool to know that the LEDs work, is there any modes for them? I have never used TMK so I have no idea what it's support for stuff like this is.
Nice to know it works now though, will definitely try this!
Also cool to know that the LEDs work, is there any modes for them? I have never used TMK so I have no idea what it's support for stuff like this is.
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
Thanks With the wiki I wanted others to have more info than the one I had when I started this project, which was pretty much zero
On the LED's I can't say much, so far what I have figured out is that you can turn them on and off. Fancy things like breathing light or something like that ... I don't have a clue. I have to take a look at the code and see what are the options, I think someone with programming skills could add really cool features, I'm not that good.
On the LED's I can't say much, so far what I have figured out is that you can turn them on and off. Fancy things like breathing light or something like that ... I don't have a clue. I have to take a look at the code and see what are the options, I think someone with programming skills could add really cool features, I'm not that good.
- Stabilized
- Location: Edinburgh
- DT Pro Member: -
Cool, it's not a big deal about the LEDs, on and off is pretty much all I use on a day-to-day basis anyway.
I have gone ahead and ordered a usb avr programmer, really looking forward to trying this and hopefully I will have a working keyboard in mac (at last).
I have gone ahead and ordered a usb avr programmer, really looking forward to trying this and hopefully I will have a working keyboard in mac (at last).
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
From what I can say, the keyboard works way better with TMK so I think also the MAC problem will be solved. I don't have a MAC to test with but under Linux and Windows all the problems are gone.
I have updated the wiki page and now the guide should be complete, I will read it once more tomorrow and see if I have missed something. I hope it will help others and that what I have written is detailed enough.
If you are going to do this too take your time, get to know the tools until you feel comfortable with them, don't improvise, use proper tools and if something doesn't work take a break, leave the project a day or two to rest, you will see things in another perspective, and never lose sleep on a piece of hardware is not worth it
I hope more people will experiment and we can bring new features to this keyboard because it is worth the effort
I have updated the wiki page and now the guide should be complete, I will read it once more tomorrow and see if I have missed something. I hope it will help others and that what I have written is detailed enough.
If you are going to do this too take your time, get to know the tools until you feel comfortable with them, don't improvise, use proper tools and if something doesn't work take a break, leave the project a day or two to rest, you will see things in another perspective, and never lose sleep on a piece of hardware is not worth it
I hope more people will experiment and we can bring new features to this keyboard because it is worth the effort
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
I think the main problem was how to flash a new bootloader and have a working board. Now we are free to use any open firmware. I don't care about LED's, sometimes backlight come is handy, breathing lights and stuff like that are for kids, I'm getting too old for that. That's why a "vanilla" firmware like TMK is perfect for me
But I really encourage people to test and share their results and document I'm happy xauser shared his work, without him we wouldn't have NerD support in TMK.
But I really encourage people to test and share their results and document I'm happy xauser shared his work, without him we wouldn't have NerD support in TMK.
-
- Main mouse: R.A.T 7
- Favorite switch: Blue
- DT Pro Member: -
This. The main problem with the stock setup from GON is that it locks your device to use his firmware until some reverse engineers the protocol or something. With the stock Atmel DFU installed and fuses set to something meaningful, the users can now do whatever they want.DanielT wrote: ↑I think the main problem was how to flash a new bootloader and have a working board.
GON's board are all ATmega32U4, not ATmega32A unlike most other Korean boards and more like the custom boards made in the western world.ramnes wrote: ↑Awesome wiki article DanielT! Thanks a bunch.
Is that manipulation supposed to work with any ATmega32a based PCB?
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
Yep, that was the whole point of this project, to make a great piece of hardware to accept open firmware. The quality of GON PCB's is excellent, with support for most common layouts and now people can make full use of this.
@ramnes: the procedure can be used for any AVR controller, but it must be supported also by the firmware you plan to use and if the MCU is supported but no one has written the firmware code for that keyboard you have to write your own code. That is not that easy, GON has made public the matrix of the PCB and some schematics (not the full monty but at least enough to make the work easier), for other PCB's you will have to reverse engineer the matrix and otjer bits and pieces.
The board I have converted is a v.1.6 I have also a v.2.0 and I have to test also on that one. I will take it easy because that is a board I REALLY don't want to break!
Anyway, now I'm more comfortable about this, I have the tools and some experience and it was fun I think the whole project took around 6 months with a lot of breaks (work, life ...) can't believe I'm typing on this board right now
@ramnes: the procedure can be used for any AVR controller, but it must be supported also by the firmware you plan to use and if the MCU is supported but no one has written the firmware code for that keyboard you have to write your own code. That is not that easy, GON has made public the matrix of the PCB and some schematics (not the full monty but at least enough to make the work easier), for other PCB's you will have to reverse engineer the matrix and otjer bits and pieces.
The board I have converted is a v.1.6 I have also a v.2.0 and I have to test also on that one. I will take it easy because that is a board I REALLY don't want to break!
Anyway, now I'm more comfortable about this, I have the tools and some experience and it was fun I think the whole project took around 6 months with a lot of breaks (work, life ...) can't believe I'm typing on this board right now
- Wodan
- ISO Advocate
- Location: ISO-DE
- Main keyboard: Intense Rotation!!!
- Main mouse: Logitech G903
- Favorite switch: ALL OF THEM
- DT Pro Member: -
Atmega32A is not supported by TMK. Unlike the Atmega32u4, the Atmega32a does not include native USB functionality and needs a library for USB communication.
DanielT: Epic article, that's that makes this community great!
DanielT: Epic article, that's that makes this community great!
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
Thanks I thought it would have been a shame not to share this work. I believe that if you share information more people can contribute to that project without loosing time to discover the things you already know.
I believe now more people can contribute to TMK/QMK/Easy AVR in order to add more features to these boards.
In the TMK code also the NerD80 (TKL) is supported and the same procedure can be used, it's not only NerD60.
I believe now more people can contribute to TMK/QMK/Easy AVR in order to add more features to these boards.
In the TMK code also the NerD80 (TKL) is supported and the same procedure can be used, it's not only NerD60.
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
Just had a look at the TMK code for backlight and there is support for both Switch LED's and PCB(underlight I think) LED's .
So it's just a matter of adding an extra function in the example on Wiki (I don't have that on my keyboard so I can't test) :
On a side note, maybe someone who has a GitHub account can make a push request and make updates to the TMK code with a link to the Wiki and maybe the alternate keymaps , I think this would be useful to people who are not active on DT.
So it's just a matter of adding an extra function in the example on Wiki (I don't have that on my keyboard so I can't test) :
Code: Select all
[2] = ACTION_BACKLIGHT_LEVEL(BACKLIGHT_PCB)
- Stabilized
- Location: Edinburgh
- DT Pro Member: -
This is great advice, and can be applied to a great number of things.DanielT wrote: ↑ If you are going to do this too take your time, get to know the tools until you feel comfortable with them, don't improvise, use proper tools and if something doesn't work take a break, leave the project a day or two to rest, you will see things in another perspective, and never lose sleep on a piece of hardware is not worth it
I hope more people will experiment and we can bring new features to this keyboard because it is worth the effort
That is exactly what I am looking for really, I have ordered some SMD LEDs and are planning to have both PCB LEDs on both the top and bottom.DanielT wrote: ↑Just had a look at the TMK code for backlight and there is support for both Switch LED's and PCB(underlight I think) LED's .
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
Cool, I'm curious to see how it works also with underlight. I will take a look at the code and see if you can play also with the levels/intensity of the LED's.
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
Nice writeup! I'm glad it worked in the end.
One thing that I'd say may work if the programmer is too fast and doesn't have a 'slow clock' jumper (I don't think I've seen any other ISP with a jumper like this other than the official USBASP), is to use '-B 10' or '-B 50' parameter to avrdude. {If you have a chance to try it at some point, I'd like to know one way or the other.}
BTW there are quite a few nicely done AVR ISP programmers, e.g. usbtiny based, by SparkFun, Adafruit, and lots of homebrew ones on tindie.
One thing that I'd say may work if the programmer is too fast and doesn't have a 'slow clock' jumper (I don't think I've seen any other ISP with a jumper like this other than the official USBASP), is to use '-B 10' or '-B 50' parameter to avrdude. {If you have a chance to try it at some point, I'd like to know one way or the other.}
BTW there are quite a few nicely done AVR ISP programmers, e.g. usbtiny based, by SparkFun, Adafruit, and lots of homebrew ones on tindie.
-
- Location: Germany
- Main keyboard: Undefined
- Main mouse: Zowie EC1 White
- DT Pro Member: -
Congratulations DanielT!
Happy to see you've made it. You'll find the latest sources of the tmk nerd sources at this location Repo. hasu's nerd sources are a bit outdated. I worked on some bug reports (missing keys) that were reported by users. Hasu won't accept pull requests that target the nerd subtree. So send your pull requests to my repo, if you have any changes.
Have fun with your *new* board
Happy to see you've made it. You'll find the latest sources of the tmk nerd sources at this location Repo. hasu's nerd sources are a bit outdated. I worked on some bug reports (missing keys) that were reported by users. Hasu won't accept pull requests that target the nerd subtree. So send your pull requests to my repo, if you have any changes.
Have fun with your *new* board
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
@flabbergast: Thanks you helped a lot! I will try that setting when I start working on the other board. I saw that there are tons of ISP programmers out there, but I liked USBasp, don't know why I was atracted by the design.
@xauser: I will have a look at your repo, I'm curious about the changes , thanks for the info I remember when we first talked almost 1 year and a half ago when you asked me what controller has the NerD60 board and you wanted to put TMK on it, back then I thought "why ?!" Now I know why
@xauser: I will have a look at your repo, I'm curious about the changes , thanks for the info I remember when we first talked almost 1 year and a half ago when you asked me what controller has the NerD60 board and you wanted to put TMK on it, back then I thought "why ?!" Now I know why
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
A quick update. Today I was able to test the procedure also on NerD60 PCB v2.1 and it works, I'm typing on it right now Will update also the wiki.
- dorf
- Location: Sweden
- DT Pro Member: -
I was quite disturbed to find this thread. I've just ordered, and hopefully soon it will arrive, a Gon NerD 60 from LeandreN's group buy. From what I've read Gon's work is outstanding and people are very satisfied with his work. His NerDy GUI has been well spoken of. Apparently he's drowned in orders and working his way back so working on programming bugs I would imagine is not his priority at the moment.
From your experience you can see a number of problems with his current firmware, two that I really see as a problem. I do set up a lot of computers and working/updating BIOS is something I do a lot. So a NerD 60 doesn't work in BIOS? What does Gon himself say about this?
Next, issues on mac. At home I have a mac, professionally I work with programs that require windows so at home I like to relax. What's up with this? Any comments from Gon?
You seem to have put a lot of work in to this. And working towards open source is always appreciated, I can only say thank you. After reading this thread it seems like I'm putting TMK on my NerD as well. Already ordered the USBasp.
From your experience you can see a number of problems with his current firmware, two that I really see as a problem. I do set up a lot of computers and working/updating BIOS is something I do a lot. So a NerD 60 doesn't work in BIOS? What does Gon himself say about this?
Next, issues on mac. At home I have a mac, professionally I work with programs that require windows so at home I like to relax. What's up with this? Any comments from Gon?
You seem to have put a lot of work in to this. And working towards open source is always appreciated, I can only say thank you. After reading this thread it seems like I'm putting TMK on my NerD as well. Already ordered the USBasp.
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
@dorf: don't take it so seriously In my opinion NerD60 is the best 60% PCB on the market at this moment, the issues with the firmware are not something that big, most users are not bothered by this otherwise we would see a lot of complains.
Back in the time when GON was more active I have talked with him about some of the issues, some have been addressed some are still there, I guess he just doesn't have the time to take care of it.
The NerDY GUI is very good but has the huge downside that it works only on Windows and needs also .Net , I have tried to make it work on Linux and MAC with no results.
My advice for anyone who owns a GON keyboard is to first give a try to the original firmware, if you are not pleased that you have also other options. I have used my NerD60 boards for almost 2 years with the original firmware, for me it wasn't the best choice so I have decided to make this conversion. Don't do it because you have read it on a forum, do it because you feel it's the best option for you.
I have written the procedure in order to give a well documented option for people who feel they need something else, if you are pleased with the original FW there is no reason to do it (you have to consider that you loose official support, not that there is a lot of this but anyway, also TMK does not support yet pulsating/breathing lights ).
For me this project was a lot of fun and was something I really felt I needed to do and I'm happy with it.
Just for the record ,I own 4 NerD60 boards (different revisions and editions ), and never regretted buying any of them, these are my best keyboards and if someone would ask me which 60% PCB to buy it would be NerD60
Back in the time when GON was more active I have talked with him about some of the issues, some have been addressed some are still there, I guess he just doesn't have the time to take care of it.
The NerDY GUI is very good but has the huge downside that it works only on Windows and needs also .Net , I have tried to make it work on Linux and MAC with no results.
My advice for anyone who owns a GON keyboard is to first give a try to the original firmware, if you are not pleased that you have also other options. I have used my NerD60 boards for almost 2 years with the original firmware, for me it wasn't the best choice so I have decided to make this conversion. Don't do it because you have read it on a forum, do it because you feel it's the best option for you.
I have written the procedure in order to give a well documented option for people who feel they need something else, if you are pleased with the original FW there is no reason to do it (you have to consider that you loose official support, not that there is a lot of this but anyway, also TMK does not support yet pulsating/breathing lights ).
For me this project was a lot of fun and was something I really felt I needed to do and I'm happy with it.
Just for the record ,I own 4 NerD60 boards (different revisions and editions ), and never regretted buying any of them, these are my best keyboards and if someone would ask me which 60% PCB to buy it would be NerD60
Last edited by DanielT on 30 May 2016, 13:37, edited 1 time in total.
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
That's the best way to do it and you know what your options are.dorf wrote: ↑Ok, thanks. I will try it out and if I find that it's not working for me I will convert to TMK.
Anyway you won't be disappointed with the board, it's very nice
- Stabilized
- Location: Edinburgh
- DT Pro Member: -
Just finished with my conversion using your tutorial, now the keyboard works great! None of the lag in Mac like I had before
I did start out the whole process on a Mac and kept getting errors with the verification stage when using avrdude to write the bootloader. This meant that the fuses were all set weird after the installation. This was the output:
If I chose to change the fuses back it would just hang forever. Because of this when you plugged it in through USB the keyboard wouldn't always be in DFU mode. I used the bootloader from Atmel and used CrossPack to install the AVR utilities.
Consequently, I swapped over to Ubuntu and everything worked absolutely fine! Make of that what you will, but being on Mac OS X 10.11 seemed to make the whole process more complicated.
Also, the underglow lights work with the supplied extra function command. Wish there was brightness controls though, as mine are very bright as they are.
I did start out the whole process on a Mac and kept getting errors with the verification stage when using avrdude to write the bootloader. This meant that the fuses were all set weird after the installation. This was the output:
Spoiler:
Consequently, I swapped over to Ubuntu and everything worked absolutely fine! Make of that what you will, but being on Mac OS X 10.11 seemed to make the whole process more complicated.
Also, the underglow lights work with the supplied extra function command. Wish there was brightness controls though, as mine are very bright as they are.
- DanielT
- Un petit village gaulois d'Armorique…
- Location: Bucharest/Romania
- Main keyboard: Various custom 60%'s/HHKB
- Main mouse: MS Optical Mouse 200
- Favorite switch: Topre/Linear MX
- DT Pro Member: -
Cool I don't have underlight, yet , so I wasn't able to test that part. Also it is really great that the whole lag thing on Mac is gone, it was a shame for such a great board and not being able to use it.
Considering that the bootloader thing is a one time job it not such a big deal the fact that it doesn't work as it should on Mac, from what I have read more people were complaining about that.
I will try and play with QMK firmware, they have more features implemented for light controll, and I think it's worth the effort.
Considering that the bootloader thing is a one time job it not such a big deal the fact that it doesn't work as it should on Mac, from what I have read more people were complaining about that.
I will try and play with QMK firmware, they have more features implemented for light controll, and I think it's worth the effort.
- kekstee
- Location: Germany
- Main keyboard: HHKB
- Main mouse: RFM01
- DT Pro Member: -
Hah, I investigated into this topic a little bit last year as well but quickly gave up since I had other boards to play with and avoided actual bugs somehow. Only really missed lock layer modifiers (which seem to work as I'd like with TMK on a GH60) and configuration from Linux so far.
Thank you and flabbergast for digging into this, I will definately switch to TMK :)
Thank you and flabbergast for digging into this, I will definately switch to TMK :)
-
- Main keyboard: RealForce 87U 55g Uniform
- Main mouse: Zowie FK2
- Favorite switch: Topre
- DT Pro Member: -
Did you get underglow working? Could you share your changes to make the controls for it?Stabilized wrote: ↑Just finished with my conversion using your tutorial, now the keyboard works great! None of the lag in Mac like I had before
I did start out the whole process on a Mac and kept getting errors with the verification stage when using avrdude to write the bootloader. This meant that the fuses were all set weird after the installation. This was the output:If I chose to change the fuses back it would just hang forever. Because of this when you plugged it in through USB the keyboard wouldn't always be in DFU mode. I used the bootloader from Atmel and used CrossPack to install the AVR utilities.Spoiler:
Consequently, I swapped over to Ubuntu and everything worked absolutely fine! Make of that what you will, but being on Mac OS X 10.11 seemed to make the whole process more complicated.
Also, the underglow lights work with the supplied extra function command. Wish there was brightness controls though, as mine are very bright as they are.