Error "Platform 'keyboardio:gd32' not found" when trying to compile firmware

It’s only once in a blue moon that I update firmware for my keyboards, and I can never quite remember how.

I am somewhat sure I do this via the command line rather than with the Chrysalis app or the Arduino IDE. I don’t think I have that IDE installed (at least, I can’t find it).

I find that I don’t really trust the commandline docs that I can find – many mention only the Model 01 so they’re clearly not up to date, others mention the Atreus, I can’t find anything specifically for the Model 100.

I’m not sure if I got myself into a mess. I’m trying to roughly follow the instructions at GitHub - keyboardio/Kaleidoscope: Firmware for Keyboardio keyboards and other keyboards with AVR or ARM MCUs. and so this is what I’ve done so far:

  • I found the Kaleidoscope git repository clone on my system.

  • I did a fetch and checked out the latest tag.

  • I updated its submodules.

  • I ran make setup in its directory.

  • I found my Model100 sketch (which is elsewhere in my directory tree; in ~/Arduino/Model100).

  • I ran make compile.

  • It complained about a missing FQBN; I googled around and found that the sketch.json now needs to be a sketch.yaml, and so I updated that. It’s now default_fqbn: keyboardio:gd32:keyboardio_model_100.

  • I ran make compile again.

  • It no longer says “Missing FQBN”, but it does say the following:

    Error during build: Platform 'keyboardio:gd32' not found: platform not installed
    Platform keyboardio:gd32 is not found in any known index
    Maybe you need to add a 3rd party URL?

    It then goes on to say it couldn’t figure out what kind of device the sketch is for, which it would usually find in sketch.yaml. I’m guessing I can ignore this and the above error is the one I need to focus on.

  • I googled for answers and found this message where @Tepmnthar had the same error, and tried to fix it with arduino-cli core install keyboardio:gd32.

  • I found the arduino-cli binary and ran that command and got a similar response to what they got: Platform keyboardio:gd32@2023.3.13200033 already installed.

If it’s already installed, why can’t it be found during compilation? I wonder if I’m missing an important environment variable or something. I did try adding KALEIDOSCOPE_DIR; this didn’t help.

@jesse, are you able to help me?

The two things I’d try first:

make update rather than make setup

And do a fresh clone of Kaleidoscope into a temp directory, cd into it, ‘make setup’, and then cd into examples/Devices/Keyboardio/Model100 and see if that builds cleanly.

make update wanted to changed to a gd32 directory which didn’t exist. I imagine this was the crux of the problem. But then as suggested I started fresh, and had no problems. All good now; thank you.