So this is QMK?

This is QMK

Intro

Fucking mechanical keyboards. Damn it, how the hell did I end up down this cash burning rabbit hole? Mid-life crisis I guess? Most guys buy a hotrod and I end up with mechanical keyboards. My first foray into mech keyboards was when I bought the Keychron K8 TKL board which I posted about last year. I kept that board for about six months before I gave it to my son. It was a good board don’t get me wrong, I liked it and there is nothing wrong with it but I also had no idea what I wanted in a mechanical keyboard at the time either. The biggest reason I replaced the Keychron was because it was not programmable with QMK or VIA/VIAL.

After getting into and reading about boards this turns out to be a must have for me. So I got a drop CTRL TKL board. This was pretty pricey I will have to admit. More than it should be considering what it is and what other keyboards out-there offer and go for in the custom keyboard world. From what I can tell the Drop CTRL is looked down upon not necessarily because it is a bad board but because it is a mass produced board and ready to buy at any time – in stock. It also has a RGB ring around the edges and after being in the community for a month or so you find out real quick that RGB is pretty hated in the group. Only newcomers in the group like RGB or gamers. Real mechanical keyboard enthusiasts don’t rock RGB and real high end boards don’t rock RGB either. I will have to admit that after a few months of using Crystal pudding keycaps with RGB on 24/7 I don’t really need it anymore. I got my fill of RGB. I also now know the difference and the reasoning behind north vs south facing RGB lights as well.

Note: For the majority of this post I will be referring to the Drop CTRL keyboard

 

QMK, what is it?

QMK is a keyboard firmware based on the qmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more. Doesn’t say much does it?

QMK is pretty much “The Holy Grail of keyboard customization as someone else said. QMK usually offers tons of features like layers, custom keymaps, and the ability to edit your LEDs RGB patterns. It typically runs on Atmel controllers (Arduinos) which are used to power most custom keyboards it seems. QMK can be a pain to work with cause of editing keymap files and complex RGB patterns. It can be complicated and I think it has a steep learning curve that would drive away most users. This is where VIA/VIAL come in. VIA is a feature in QMK that lets you change your keymap on your keyboard without needing to reflash firmware, on the fly. QMK usually involves editing text and config files while VIA and VIAL are programs that run to allow you to edit the board. The changes you make using VIA/VIAL remain persistent on the keyboard, so even when you unplug and replug your keyboard back in, the keymap settings still remain. Some keyboards even allow you to use VIA/VIAL to edit the RGB color maps and patterns, although this feature seems to be few and far between. All QMK boards allow custom keymaps and multiple layers. The amount of layers you can have depends on the memory available on the board your keyboard is utilizing. From what I understand most QMK boards will ship with the amount of layers they support but sometimes you can add more.

View Post

I can finally flash again

I finally did it! I was able to flash my ESP8266s again. It only took months and a bunch of scratching my head – then banging it against a wall. I cannot even really remember where I left off with my programs, but I do recall I stopped because I wasn’t able to flash my chips anymore.

USB FTDI
USB FTDI
ProMini
ProMini
WiFi Module ESP8266-01
ESP8266-01

That was a big problem obviously, and I do not know why it started as all was well in the beginning. I originally had ordered a few ESP8266-01s and some Arduino Mini Pros. I figured they would work well together. To go with the Mini Pros and ESPs I nabbed a USB FTDI programmer and it worked fine when I initially got it. I was able to send AT commands to the ESPs and program my Mini Pros no problem. Then I started playing with flashing new firmware on the ESPs to try NodeMCU, and I think thats where everything started to go downhill. The FTDI and ESPs would stop communicating half way through flashing. Eventually I couldn’t flash or upload anything anymore. It just wouldn’t go. Fast forward a months later and I ran into a few posts that mentioned the FTDI chips are unstable with the ESPs and won’t work. Hmmm. They all recommended using a USB TTL adapter instead.

So thats what I finally did, purchased a USB TTL adapter off Amazon for $6. I got the Armorview PL203HX adapter. USB plug on one end and four breadboard connectors on the other for PW, GND, RX and TX. Simple. As soon as I got it I plugged it in and… nothing. A ls /dev/tty.*  yielded nothing. WTF. I probably need a driver. Yup, the PL2303 driver was needed in my case. Installed that and plugged the adapter back in and now I see it tty.usbserial . Nice and generic. First thing I tried was flashing the AT firmware to an ESP. And it worked!!

I can now flash firmware to the ESPs again, and the Arduinos if I wanted to but the FTDI still works fine with those. For those that want to know; I use a breadboard power supply for powering the ESPs and Arduinos. I only use the USB adapters for communication. You can and I have done it without it, but it is just way more stable to use the extra power supply. The adapters don’t have the juice, especially for the ESPs. Now I can get back to tinkering again.

See this post for how I got the ESP to send MQTT data

See this one for how I got send and receive to work with MQTT