PlatformIO Community

Adding new Arduino-based boards

How do you add boards that are available for Arduino IDE but not available yet in PlatformIO?

What is a name of the board? Take a look at http://docs.platformio.org/en/latest/platforms/creating_board.html

Oh cool, I guess you’ve updated the documentation since I last looked. I’d like to use PlatformIO for the Udoo Neo.

We had it in documentation but this info about custom board and platform was located in Docs > Instruments > Platforms & Boards > Custom Board & Platform.

How do you program this board with Arduino IDE?

They have an Arduino board package available: https://github.com/UDOOboard/arduino-board-package

We an issue for that https://github.com/platformio/platformio/issues/439.

Looks like this board uses the same M4 chip that is used in Arduino Due. Please take a look at PlatformIO 3.0 atmelsam development platform

i have the same noob Q

i use this link to add a custom board to arduino ide, but i want to use platform.io as i use it for a re-arm
https://raw.githubusercontent.com/ThamesValleyReprapUserGroup/Beta-TVRRUG-Mendel90/master/Added-Documents/OMC/package_omc_index.json

how would i add that as an PR ?
its a 644p based board

by looking at the boards.txt from the zip in the json link i just posted i came up wiht this json

i simply took the sanguino_atmega644.json file and edited it with what i think is correct

{
“build”: {
“core”: “arduino”,
“extra_flags”: “-DARDUINO_AVR_SANGUINO”,
“f_cpu”: “20000000L”,
“mcu”: “atmega644”,
“variant”: “sanguino”
},
“frameworks”: [
“arduino”
],
“name”: “OMC with Atmega644 at 20Mhz”,
“upload”: {
“maximum_ram_size”: 4096,
“maximum_size”: 63488,
“protocol”: “stk500v2”,
“require_upload_port”: true,
“speed”: 115200
},
“url”: “”,
“vendor”: “”
}

does it look somewhat correct? and what about pin connections?

The board .json looks ok… and I’d also add the URL and vendor info… and then do a PR to https://github.com/platformio/platform-atmelavr as it should be able to go in the boards folder there. :wink:

The pin connections should be fine, unless they’ve changed them from the sanguino pins_arduino.h layout. At a quick glance they havn’t, but the variants file included with PlatformIO is an older version of https://github.com/Lauszus/Sanguino/blob/master/variants/sanguino/pins_arduino.h, so that needs updating anyway…

btw, IIRC, you can create a boards subfolder in your .platformio home directory, and put the json file there… like this… https://docs.platformio.org/en/latest/platforms/creating_board.html#installation

There is none hence i left it out, its a board made by a group that used to gather people and then do group builds back in 2013 and a few years after and before, until china started to flood the market with cheap 3d printers

i will try and put the json file in a subfolder first and test it out

but how do i update the pins_arduino.h and test that locally ?

Fair enough. For the URL, you could probably use the github repo : https://github.com/ThamesValleyReprapUserGroup/Beta-TVRRUG-Mendel90

For the pins_arduino.h, you’d want to update your $HOME/.platformio/packages/framework-arduinoavr/variants/sanguino/pins_arduino.h file… replacing $HOME with %USERPROFILE% if you’re on Windows.