MPLAB-X IDE replacement for PIC32 development

PlatformIO looks very nice and potentially a replacement for my MPLAB IDE for development of our custom PCBs (NOT stadnard dev kits/boards)…

  1. Is it possible?
  2. How easy (or not) is it to replace the ENTIRE MPLAB IDE with PlatformIO?
  3. How easy (or not) is it to set it up specifically for the PIC32 family
  4. is there anything that MPLAB does that PlatformIO does not?
  5. do I have to manually setup and configure the Microchip PIC32 libraries and the XC32 compiler or are they already pre-setup (perhaps through an automatic install option)?

Thank you :slight_smile:

1 Like

Any feedback anybody? :slight_smile:

I would really like to use this but don’t want to if the installation is too risky or time consuming or if the features are much more limited than MPLAB itself.

Thank you :slight_smile:

Depends on what you mean by “is it possible”. To completely replace it? Sure, but there might be some features that MPLAB has that VSCode + PlatformIO doesn’t offer. I’ve never used MPLAB, so no idea. All the basics regarding code compilation and debugging should be there though.

PlatformIO has general support for PIC32, as stated in the documentation with example projects available. After doing the basic installation you can just start off from the pre-prepared examples or create a new project for your target MCU in the project wizard.

If your target MCU is not listed, you would need to create your own board definition file.

PlatformIO has neither built-in support for “the PIC32 libraries” if you mean the vendor libraries by it nor does it use XC32. PlatformIO uses the free and open-source GCC-based toolchain with pic32-gcc (GitHub - chipKIT32/chipKIT-cxx: PIC32 compiler for chipKIT), which is based on GCC 4.8.2.

All compilers and packages are installed automatically when PlatformIO detects you use them (e.g., framework = arduino in the platformio.ini), you never have to download a compiler of framework yourself.

The available framework choices in PlatformIO are either Arduino (supplied by GitHub - chipKIT32/chipKIT-core: Downloadable chipKIT core for use with Arduino 1.6 - 1.8+ IDE, PlatformIO, and UECIDE) or “none” (baremetal), where you supply all sources and linker scripts etc. yourself.

If the PIC32 peripheral library is compilabe by pic32-gcc, one can setup a baremetal project with the libraries and needed compiler options in it to create a project that can make use of those librarires.