Hello, I have STM32L476RC Generic MCU and i want to use PlatformIO, but in create new project menu only available L476 series is ST Nucleo L476RG. So now question arsises is there any possibility to use Nucleo L476RG as a base for my generic MCU? The only difference between RG and RC is memory size…Thanks for any help
If that is truely the only difference, and no other difference in peripherals etcs., then you can use as documented a
platformio.ini instruction to modify this base paremeter.
; limit flash to 256kB board_upload.maximum_size = 262144
(implies an otherwise normal
board = nucleo_l476rg)
If using Arduino, you can additional tell the Arduino core that you’re not using the Nucleo variant but the
ARDUINO_NUCLEO_L476RC variant, there are macros for that, see here.
; deselect old Nucleo macro build_unflags = -DARDUINO_NUCLEO_L476RG ; inject correct one build_flags = -DARDUINO_GENERIC_L476RCTX
When you look at the
variant_NUCLEO_L476RG.cpp the referenced link, you’ll see that the clock is MSI+PLL, so it should all work without a crystal. .
You can also create a new board definition per docs based on the existing one and modifying the crucial values, this would be usually called
genericSTM32L476RC.json. That would give you a cleaner way of saying
board = genericSTM32L476RC without all these other modifications, because now they’re all applied in the board manifest directly.