Please Help I don't know where to start to program my Corne

Hello everyone,
Let me introduce myself. My name is Mikel, and I am new to the world of mechanical keyboards. I bought a Corne v3 with an RP2040 chip that supports VIAL, and I want to program it to perform several functions.

  1. RGB underglow to indicate layers.
  2. RGB lights on the thumb clusters to indicate modifiers.
  3. The RGB underglow “twinkles” as I type.
  4. I want to modify the information displayed by the OLEDs so that the left screen shows the current layer, the pressed key, and whether CAPS, SHIFT, or a special key is being used. I also want to display the Bongo Cat on the right screen.
  5. Program accents for the letters á, é, í, ó, ú, and ñ.
  6. tap dance support.
  7. combo support.

In a post, Drashna mentioned using QK DFU. I don’t know if that would be beneficial for my keyboard.

I have reviewed the QMK documentation, but I still don’t understand it. I have watched several YouTube videos and still do not understand what to do. I created a “firmware,” but I don’t know if it’s correct. Whenever I ask for help, I’m sent to the QMK documentation, which, in my opinion, is inadequate.

I have basic Java programming knowledge, but it seems that much more advanced knowledge is needed. Is there anyone who can help me? Could someone please explain to me in simple terms how to program my keyboard? I also understand that several files are needed to compile the firmware. Is there someone who can review the code I’ve already written?

— Please excuse my English, isn’t my main language and I make mistakes ----

I will be very grateful for your help.

I’ve never actually heard that you can even use VIAL and QMK with the RP2040 based boards, but I’m seeing some conversations on the web suggesting it’s possible. The only way I’ve ever updated boards with that MCU is getting it into “bootloader” mode and dropping in my customized UF2 file.

But I am not an expert here, so it’s probably worth downloading and running VIAL to see if it recognizes the keyboard? If it does, you can do a lot of the keymapping through that without much fuss. That includes being able to setup controls for the RGB effects.

The screen stuff is a lot more complex. The few times I’ve even attempted to run something different there I’ve taken someone else’s example, added that to the firmware, then re-flashed the board.

Thanks for replying. As I mentioned, my keyboard is configured with VIAL and an RP2040 chip. VIAL recognizes it without any problem, but I can only control the RGB effects at a very basic level.

Regarding what you said about using other people’s examples, I did the same. However, I don’t want to risk flashing the wrong files and breaking my keyboard because I don’t know which files I need. That’s why I need help. I need someone to tell me if what I’ve done is okay or if I need to correct something.

Afaik what you are asking is to modify existing board firmware to do what you want.
This looks possible but you will need to be able/learn to compile QMK VIAL firmware from VIAL Git repository.
All QMK firmware programing is done using C language, for standard use you have now almost no C code to type to make a keyboard firmware, but if you do something a bit custom you’ll have to make the effort to learn how to do this.

You are absolutely right, and although I have a basic knowledge of Java, C is different. However, without knowing how to declare the variables I want to change or the structure of the necessary files, knowing how to program in C would not help me much.

1 Like

I’d suggest to dive in the QMK documentation then.
Here is the link: https://docs.qmk.fm/

Thank you very much, but that is precisely the problem. The QMK documentation is very poor. It is not helpful for people who don’t understand, like me. It doesn’t work well for me, and I’m left exactly where I started.

1 Like

That’s a long learning curve indeed…
At some point you have to look at what other did, look into qmk source code, and chime information on the net.

Just to chip in here, I documented briefly how I set up my first Corne using QMK/VIA.

but I can only control the RGB effects at a very basic level.

The tl;dr is that you will have to enable RGB_MATRIX_ENABLE = yes and disable RGBLIGHT_ENABLE = no, at least for the QMK/VIA firmware.

I never tried VIAL, however.

1 Like

Hi mrus,

Thanks for the reply. It was interesting to read about your Corne journey. It’s too bad you had to go through all that.

By the way, your Corne Choc is very nice. I want those caps, but they’re too expensive to ship to my country, so I left it alone. I found the part where you mention how you built the firmware useful, and I’m sure I can use it to modify mine. What I didn’t understand was the command you used for the RP2040.

Would it be too much trouble to ask if you could review the code I’ve written?

Best regards!

Thank you!

The configuration and command were referring to the crkbd/rev1 subdirectory of the QMK firmware. If you adjust the rules.mk file as mentioned before (and as mentioned in the readme.md of the linked folder) it should allow you to set more complex RGB lighting settings.

For the OLED modification you would need to modify the oled_render_logo function (and a few others), but frankly I would start by flashing the base image before trying to fiddle around with the code yourself. This way you can see if your Corne works as intended to begin with.

You can find more info on the RP2040 here. You need to get access to the embedded mass storage UF2 boot-loader, so that when you plug the RP2040 into USB on your computer, it appears as a USB drive, allowing you to simply drag and drop the .UF2 firmware file onto it. Press and hold the BOOTSEL button while plugging the device in via USB and you should see it showing up in your system.

Hope this info helps!

Note: I’m linking QMK and not VIAL. As previously mentioned, I haven’t tried VIAL so far.