PlatformIO Community

Help in making custom platform for development kit

Hello everyone,
I am new here, I want to make a custom platform. I am not aware from where should i start doing this. can you please, direct me correctly so i will be able to create a custom platform for some development kit.
Thankyou.

I’m also trying to do the same thing.
Mainly to be able to add custom software packages.
I’m basing my work on

I haven’t been able to do that.
I originally had the idea to create my own platform so I could add custom boards that may or may not have the device supported by platformio, plus the ability to add a custom toolchain also looks interesting.

However, I’m considering really badly to drop that idea, because it looks like a very large endeavor, and it seems that maybe given certain examples (like this one How to create a Custom Platform with a custom linker script), the ability to use a different linker script, a different compiler and add custom code to my project, doesn’t necessarily require a custom platform.

In any case, I’m curious if you managed to actually create your own platform.

I’ve created 3 custom platforms so far, so far platform-gd32 is the biggest one, followed by platform-w60x and a fork of platform-sifive for BL60x chips.

The code for it is not complicated, it’s the massive amount of background knowledge you have to have and the references you have to look at to know what you’re doing.

I might setup a tutorial and have it added to the docs if that helps people.

If you have concrete questions, let me know.

That sounds amazing!
I’m writing up the steps I’m doing that lead to some progress myself, but you have way more path covered than me, so yeah, if you ever put a tutorial I’m super interested in checking it out.

I had a major breakthrough lately, I was ‘able’ to install my semi-modified platform locally, which I didn’t even know how to do.

And I agree, I had that sense of “this requires to know pretty much every single detail in the building process”

In any case, my main goal is to have one environment in which I can add certain toolchain and support certain device, but I’m aware this statement is super ambiguous, so let’s start with a couple of specific questions.

Yes, basically a microcontroller family from one manufacturer. (compare platform-ststm32, platform-atmelavr, platform-timsp430, platform-espressif32, …).

1 Like