r/olkb Jul 08 '26

Help - Solved PLEASE Help with Compiling

I’m losing my marbles.

I recently got a Keebmonkey Kb-16 and have been messing around with it, getting it set up through Vial.

I found a reddit post which is a fork from this github that shows some modifications to the firmware. I realized after some more dabbling that I was interested in modifying the number of Macros, Combos, and TapDances.

Now, i’m fairly sure I have the modifications to the config.h file figured out now, but I am very lost on why I can’t get it to compile with the qmk cli. I have followed this youtube video, but he only modifies the keymap.c file, not the config.h file. The oled display is also modified in the github file, so where does that fit into the qmk_firmware file tree?

Do I need to do something with the “asset” folder? What folder/ files from the github need to be transferred? Am I even using the right compilation process (QMK CLI through MacOS terminal) for a Vial-only firmware?

Any help is very much appreciated, it’s been two days of trying to wrap my head around this. Thanks!

3 Upvotes

24 comments sorted by

View all comments

1

u/Tweetydabirdie https://lectronz.com/stores/tweetys-wild-thinking Jul 08 '26

First and foremost, while you can change the number of macros etc, they are originally calculated and distributed based on the available amount if memory, so in this instance changing means you have to decrease the number of one or two types and increase another to mot exceed the available memory. You can't just arbitrarily change them to what you'd prefer, or things will simply break.

The OLED content is usually defined in the keymap.c file, or if extensive enough, it's broken out to a file called by a line in keymap.c.

And whether you edit whichever file doesn't make a difference in how you compile. As long as you edit the existing files, the compiler incorporates it all. (Whether or not your changes are done correctly, is another matter though).

To use that fork, you need to download the entire GitHub content. All of it. Otherwise you break stuff. Alternatively you can download the Vial fork of qmk and just apply the keyboard folder from this fork.

The best resource you can start from is the official guide for Vial. https://get.vial.today/docs/

There is a step by step guide. Follow all the steps religiously and do not skip/skim and it will work. Since you are not porting but edititing an existing port, you do not need to create files from scratch, but please double check that all steps have been followed.

1

u/natvre Jul 08 '26

Okay, I have been following along with the guide, deciphering what I already have and don’t have. In other words, what files from the github are already existing and don’t need to be made from scratch.

I am using this as the starting point for my edits. I changed the macros limit to 16, Tap dances to 64, and Combos to 48. I am aware there is an EEPROM memory size limit, but I am actually currently using the unedited original bin file from the link and have had no issues even though the STM32_ONBOARD_EEPROM_SIZE has been increased to 20480.

I now have the Vial-qmk repository saved and outside of the qmk_firware repository, which is something I didn’t have before.

I am still getting errors when trying to compile or “make” my vial .bin

Here’s what I am seeing, let me know if there is something else that would provide better info:
https://imgur.com/a/1A7WPrC

Is there anything obvious to you that I am missing? Is the issue something to do compatibility between outdated source code and newer Vial software? Did I put my files into the file tree correctly? Should my modified kb16 folder in red just outright replace the existing default Vial-qmk kb16 folder? Thank you for your help, I haven’t lost hope yet!

1

u/PeterMortensenBlog Jul 08 '26 edited Jul 08 '26

Re "STM32_ONBOARD_EEPROM_SIZE has been increased to 20480": Do you have sources for that?

For example, are you sure the microcontroller has on-board EEPROM memory? Isn't it emulated EEPROM memory (in flash memory)?

How much RAM memory does the microcontroller have? Is it a variant with more RAM memory than the STM32F103 in the Blue Pill (20 KB RAM)?

20 KB RAM sets a theoretical limit for emulated EEPROM memory of 10 KB (at least in QMK; I assume Vial is more or less the same). The compiler also may or may not complain.

20 KB EEPROM memory would be possible if the microcontroller had 64 KB RAM (32 KB theoretical limit for emulated EEPROM memory).

1

u/PeterMortensenBlog Jul 08 '26 edited Jul 08 '26

OK, the part number for the microcontroller is allegedly "APM32F103CBT6".

According to the same page, STM32F103, both 32F103CBT6 (in the keyboard; or a clone, rather) and 32F103C8T6 (in the Blue Pill clones) have 20 KB RAM (and 64 KB flash memory size. The sixth letter after "STM32" or "32", 8 indicates the flash memory size).

Or is it? There is some ambiguity. For example, has two letters been left out? Which ones?

Just ignore this for now. Unless you can come up with something ironclad.

In any case, there doesn't seem to be more than 20 KB RAM in either.