I wanted to upgrade a few of the things I use in my daily life. I decided that my 10 year old full size corded Apple Mac keyboard and my 15 year old corded Logitech G3 gaming mouse needed to be retired. While they have performed greatly in their years of faithful service I think it is time to move on.
I started looking around. I wanted a keyboard with RGB LEDs, that was one of my requirements and what I landed on was mechanical keyboards. There are a ton of mechanical keyboards out there. I’ve been reading on them for a few days now and I still know nothing about them. It is a huge rabbit hole of tech. There are a ton of brands and manufacturers as well as DIY kits so you can build your own from scratch. I don’t know much so I decided to go with a premade keyboard versus building my own. Out of all the brands out there I landed with Keychron, and for one major reason alone – they are the only RGB mechanical keyboard that I could find that was Mac friendly. As far as I can tell Corsair and Logitech are the only two brands with software for their mice and keyboards that support Apple Macs. That is quite limiting for one using said machines, like me. The common answer I found regarding Macs and keyboards was “plug it into a PC to change the settings then move it back”…yeah a big fuck no to that. The Keychron keyboards not only have Mac keys installed out of the box they also do not have any software. While this means I don’t get to map the RGBs and keys and make fancy color combos, which kinda sucks, I do get a mechanical keyboard that supports my OS and has RGB modes. Thats good enough for me.
Let me start off by saying by no means am I an expert with Klipper, or 3D printing. I don’t really know wtf I am doing half the time, I just manage to get it working – hah! I few days ago I decided to take the plunge into Klipper with my printer, a Monoprice Maker Select v2.1 with an SKR 1.3. I had been running Marlin 2.x on my printer and it was all setup and configured and working perfectly. I decided apparently that “working perfectly” wasn’t good enough, and I needed to break it. Enter Klipper. From what I gather now that that I have a 32 bit board I wont really gain much in the way of performance with Klipper vs if I still had the 8 bit Melzi. What you do gain is a much easier way to configure the firmware over compiling and flashing the board after every change. You just save a file and reboot.
Now I wanted to document the process for others in case it helps, and I figured this would be a quick build process and a quick write up. Heheh, I was wrong. I has now been a solid week of tweaking and configuring Klipper as well as a few days of writing this post and attempting to get it finished. Every time I do something else comes along that I feel I need to add to the process. Well, I finally got it all done – I think. Now what started off as a nice clean post turned into a ton of sections that didn’t jive. I’ve done my best to make it all flow and make sense, if I missed something let me know.
If you’ve been here before then you know I use Node-Red, if not and you don’t know what Node-Red is, you should check it out. To get a frontend UI out of Node-Red there has always been the Dashboard node for us to use and a set of Dashboard nodes to go with it. I have never been a huge fan of the Dashboard, but it was what we had and it did the job. The Dashboard nodes allowed you place UI nodes and connect them to your data and it would do the rest, no HTML code required on your behalf. But that was one of the limitations, was that you did not have control over the code. Enter UIBuilder.
The UIBuilder Wiki and the Github for the author have a ton of information and examples of how to get a few basic things done. Just expect most of them to be done with VueJS. It appears (at least to me, I could be wrong) that UIBuilder was originally VueJS heavy/dependent and as it matures it is more open to other frameworks. As of v3.1.3 it no longer installs Bootstrap-Vue and VueJS by default, as it had done it all prior versions. So just be aware that you can use any framework you want, but all of the examples (so far) are all written in VueJS. There is also the Node-Red forums if you get stuck, the author also happens to frequent the group.