QMK OLED Hacks?


#1

I have been playing around with my new Helix that utilizes QMK and OLED screens on each board. I have been doing some searching around and haven’t been able to find much info about programming info into the OLED screens. The right side currently shows the Helix logo and the left shows current layer, key locks, and what OS the keeb is currently set to. I would love to at least set up the right screen with current time, current playing track, or something more useful than the logo. Any help is very much appreciated! Cheers :beer:


#2

The problem with this, is that you’d need to communicate between the halves.

This is certainly possible, but it’s not set up to do so. Namely, the cable between the two does serial. If it did I2C (which the screen does), and both Pro Micros and both Screens had addresses assigned to them, you could do this easily.

As is, you’d have to edit the split files to enable communication between the boards, and basically write some sort of sub-protocol for writing to the other screen.

Both are possible, I think. But this isn’t “simple” by any stretch. Unless you’re an experienced C and embedded hardware programmer.


#3

Thanks for the reply drashna! I kind of figured it was going to be a programming issue way above my head. My knowledge of C goes as far as writing and editing keymap files. I was hoping to better utilize the the attached screens but oh well. At lest the left side does show the current layer and if any key locks are activated.


#4

Well, if you look at /quantum/split_common/, you can see that backlight and rgb are doing this, at least in part. So, it’s possible, but yeah, super complicated.

And if makes you feel any better, that’s where I started. Learning QMK and C has been a journey, and a very fun one!


#5

I want to hear about those easy oled hacks. I have some non split keyboards keyboards I would like to try


#6

Hey danielo,

The way I was able to edit the graphics on my OLED’s is through this link HERE
I found all the OLED configuration info I need HERE
Basically, you just select the font data file stored in helix/common/glcdfont.c, on the first link I mentioned. When you plug in the file, the font editor in the link converts the code into a visual layout. Once you get done editing the file, you’ll click the DOWNLOAD link. After downloading the new file, you will need to edit the LOCAL_GLCDFONT field in rules.mk:

LOCAL_GLCDFONT = yes

Then, rename glcdfont.c to helixfont.h and place it in the same directory as keymap.c.


#7

Hope that helps!


#8

OOHH, forgot to add something VERY important. Do not use the editor in Safari if your on Mac. Use Chrome instead. After a good 2 hours of editing, I clicked the download button in Safari and it errored out! I re-edited it in Chrome and hit the download button and it downloaded no problem.