PlatformIO Do or Do not. That's the question.

Go To Last Post
32 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

I'm thinking about giving platformio a try, but first some background:

 

I've always been using makefiles for my AVR projects, and after 20 years I still have no love for make. I mainly stick to it because of it's flexibility. The possibility to switch between Windows / Linux and multiple IDE's eases the pain of make itself quite a bit.

 

Lately I find I'm broadening my horizons a bit. Dabbling into STM32 and ESP8266 and some other platforms.

Today I bumped (again) into "platformio" and the possibilities are ... overwhelming.
Support for a selection of 14 IDE's, from VIM to Eclipse.
Support for 18 platforms, among which AVR, ESP8266, STM32.
Claims to works on Linux, open drafty windowze and even on rotten fruit.
Using "ini" like config files & Python for configuring the build environment looks ... interesting.

I am however also horrified by all the "modern" "cloud" stuff. It's not more than mist to me.
The idea of uploading source and getting a binary blob back to put in some uC is absolutely horrifing to me. Not only because of the depency of internet connections, but when playing with stuff like the ESP8266 which needs WiFi Passwords etc. it is just plain unacceptable. And this is of course also true for lots of companies who have spend uncountable man-years on development of source code.

I love to share, also my source code, but only on the conditions / times I want.
At the moment I'm not sure if platformio is free from the web after installation or it's more mbed like and does almost anything on some remote untrusted server unless you tell it explicitly not to.
Reading info from their site does not help much. I see things such as:

How does it work?

Without going too deep into PlatformIO implementation details, work cycle of the project developed using PlatformIO is as follows:

    Users choose board(s) interested in Project Configuration File platformio.ini
    Based on this list of boards, PlatformIO downloads required toolchains and installs them automatically.
    Users develop code and PlatformIO makes sure that it is compiled, prepared and uploaded to all the boards of interest.

http://docs.platformio.org/en/la...

 

My hope is that "downloading & installing" means installing the actual compiler needed together with the python scripts & configuration files for the selected uC board.

Is this correct?

 

Overall I'm quite apprehensive at this moment of even installing platformio and I'm curious to your opinions.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Plaform.io is based on the Atom ide. Yes, it downloads everything.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
stuff like the ESP8266 which needs WiFi Passwords etc

Surely, you don't actually put the passwords in your source code ?!

 

surprise

 

Users choose board(s) interested (sic?) in Project Configuration File platformio.ini

Pardon?

 

Based on this list of boards

So you're limited to a list of known boards?

 

 

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
Paulvdh wrote: stuff like the ESP8266 which needs WiFi Passwords etc Surely, you don't actually put the passwords in your source code ?!  

Where else do you put them? You have a chicken or the egg situation when you load the code - if the code expects to connect to a access point, you need a password. If you're smarter, you make the unit start as an access point, browse to it, set the required info then reboot. Nevertheless, the password is usually plain text in the flash.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've been looking at platformio leasurely, and I can't make heads or tails as to what "they" are. If you select "Contact us" on the website and then select About Us you are directed to LinkedIn. It seems you can only mail them if you have "premium support". They sell commercial licenses for real money.

 

But nowhere can you find an actual (snail) mail address or anything else indicating where this company is seated, who is behind it etc.

 

They really look legit, but that source of camouflage always makes me suspicious.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Kartman wrote:
Where else do you put them? 

You supply them via some sort of commissioning process 

 

You have to do that anyhow - you can't know the customers passwords at compile time!

 

Yes, starting as an AP is one way to do it

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Andy, you've clearly missed out on the wonderful opportunity the demo code gives you! 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:

But nowhere can you find an actual (snail) mail address or anything else indicating where this company is seated, who is behind it etc.

 

They really look legit, but that source of camouflage always makes me suspicious.

 

That seems to be par for the course. There is a glossy professional looking website, but would you send them money if you knew platformio was a 3 person start up based in Ukraine? Basically Ivan Kravets is platformio http://www.ikravets.com/. Quite possibly they don't even have an office, it could quite easily be run from home.

 

I do wonder about longevity of companies like platformio, especially with a dual licensing (I assume they have a company, maybe not), as we know, tech start ups tend to have a very short lifespan. Often they just fizzle out with no money coming in, I guess the Holy Grail is to get snapped up by a bigger company who then "monetize" the platform.

Bob.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have used the platform.io command line tools briefly, and they worked quite well. There are also plugins for various editors, but the Atom IDE I found absolutely terrible (not a fault of platform.io), though I expect some people will love it. I've yet to try the plugins for Eclipse or other editors.

 

Most vendors have some proprietary method of adding packages to their IDE, platformio seems to be unique in that it is genuinely vendor agnostic. Whether there is money in that I'm not sure, but I know at least one Open Source project finding it useful.

Bob.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Can we please keep this thread clean?

Don't diverge (too much) to password mangement and such but stick to the aspects of PlatformIO itself.

I'm having the same sort of suspicons as Johan.

Kartmans post that it "downloads everything" is comforting, espacially if it does not "upload" anything.

On my linux box I trust all software wich comes from "official" repositories, but I (almost) never install software which coes from "random" sites on the 'net.

Back when I was young I was happy with random cracked software, but those days have long past.

Nowadays I'm more worried that if a compiler comes from an "untrusted' source, my own compiled source does more than I bargained for.

I'm going to lok at ikravets now, be back soon.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:
who is behind it
The creator of PlatformIO is Ivan Kravets.

https://github.com/orgs/platformio/people

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:

JohanEkdahl wrote:

But nowhere can you find an actual (snail) mail address or anything else indicating where this company is seated, who is behind it etc.

 

They really look legit, but that source of camouflage always makes me suspicious.

 

There is a glossy professional looking website,

Where? I mean, glossy it is, for sure.

 

donotdespisethesnake wrote:

but would you send them money if you knew platformio was a 3 person start up based in Ukraine?

...which is most probably exactly the reason why they won't boast about it; even if their intentions were the most sincere and they worked hard day and night towards their "customers'" (or users if you wish)  satisfaction...

 

I don't follow it, but it appears that that project had received quite a lot of work for quite a long time. Whatever that means.

 

I am not advocating that approach, just explaining it. Honestly, try to take their point of view, just for a moment.

 

donotdespisethesnake wrote:

I do wonder about longevity of companies like platformio,

And that's why you want to stick to massive corporations based in solid democratic economies, like Atmel Microchip.

 

JW

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm just an old guy, but I thought .ORG was not-for-profit organizations.

 

Anyway, GoDaddy tells me:

WHOIS search results

Domain Name: PLATFORMIO.ORG
Registry Domain ID: D174916235-LROR
Registrar WHOIS Server:
Registrar URL: http://www.enom.com
Updated Date: 2017-01-05T07:32:41Z
Creation Date: 2014-12-30T11:28:00Z
Registry Expiry Date: 2017-12-30T11:28:00Z
Registrar Registration Expiration Date:
Registrar: eNom, Inc.
Registrar IANA ID: 48
Registrar Abuse Contact Email:
Registrar Abuse Contact Phone:
Reseller:
Domain Status: clientTransferProhibited https://icann.org/epp#clientTran...
Registry Registrant ID: C187621658-LROR
Registrant Name: Ivan Kravets
Registrant Organization:
Registrant Street: Molodizhna, 13
Registrant City: Zhyznomyr
Registrant State/Province: Zhyznomyr
Registrant Postal Code: 48432
Registrant Country: UA
Registrant Phone: +380.501234567
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email: me@ikravets.com
Registry Admin ID: C187621658-LROR
Admin Name: Ivan Kravets
Admin Organization:
Admin Street: Molodizhna, 13
Admin City: Zhyznomyr
Admin State/Province: Zhyznomyr
Admin Postal Code: 48432
Admin Country: UA
Admin Phone: +380.501234567
Admin Phone Ext:
Admin Fax:
Admin Fax Ext:
Admin Email: me@ikravets.com
Registry Tech ID: C187621658-LROR
Tech Name: Ivan Kravets
Tech Organization:
Tech Street: Molodizhna, 13
Tech City: Zhyznomyr
Tech State/Province: Zhyznomyr
Tech Postal Code: 48432
Tech Country: UA
Tech Phone: +380.501234567
Tech Phone Ext:
Tech Fax:
Tech Fax Ext:
Tech Email: me@ikravets.com
Name Server: DNS1.REGISTRAR-SERVERS.COM
Name Server: DNS2.REGISTRAR-SERVERS.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of WHOIS database: 2017-08-25T20:23:28Z <<<

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

donotdespisethesnake wrote:
would you send them money if you knew platformio was a 3 person start up based in Ukraine?

 

Does it matter were they are based?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
... and I'm curious to your opinions.
Limitations of PlatformIO for AVR :

  • Limited targets (some megaAVR, several tinyAVR, no XMEGA AVR)
  • No effective debugging other than ARM Cortex-M and Texas Instruments MSP430.

Work-arounds :

  • Custom board
  • AVR GDB recently restored; build AVaRICE from repository (limited targets)

 


http://docs.platformio.org/en/latest/plus/debugging.html#platforms

http://docs.platformio.org/en/latest/platforms/custom_platform_and_board.html

Add GDB to build environment

https://github.com/platformio/platform-atmelavr/commit/b593f9e33cbab9337d9e1c6d31594422e70b03fd

http://avarice.sourceforge.net/

Add support for AVR XMEGA #21

ivankravets opened this Issue on Nov 27, 2016

https://github.com/platformio/platform-atmelavr/issues/21

Debug probe support for atmel-ice / dragon and atmega328p processor #53

warrenwoolseyiii opened this Issue on Jun 19, 2017

https://github.com/platformio/platform-atmelavr/issues/53

 

Edit : XMEGA and AVaRICE issues

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Sat. Sep 9, 2017 - 07:28 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
... I thought .ORG was not-for-profit organizations.
The non-community URL is http://pioplus.com

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In it's core PlatformIO seems to be extremely symplistic, but in an ingenious way.

It looks like when you "install" PlatformIO you just get some Python scripts.

Then you configure it for some IDE / Platform/ libraries (an "ini" like file and some json based configuration).

And then when you start to compile and someting is missing ( library, or even the compiler itself) it gets pulled from the internet or elsewhere.

Using SCons instead of make to build a project could also be a bonus. Nice portable Python, no Vendor or IDE lock in.

 

the Python scripts apparently handle automatic updates of used libraries (from a choice of 1800).

And even when the company folds you still have all the tools you need on your PC.

It just becomes a bit of a chore to manuallu do the updates of the libraries (multiple sources over the 'net, github, etc) and tools.

All the tools used seem to be open source, so for that basic functonality you are also not dependent on the PlatformIO company.

 

@gchapman

When did you last check about that "limited targets for AVR"

PlatformIO seems to be growing pretty fast.

And besides that. The support is not in PlatformIO, but in the compiler.

"supporting" a "new" avr probably only means changing the -mmcu option to gcc from a similar configuration.

About debugging. I saw it supports "Black Magic Probe" which supposedly supports Atmel/Microchip SAM.

And if it does not work the blame is probably on Atmel's side for not releasing the debug protocols, which is one of the reasons I do not have much love for Atmel in the first place.

I've also never had proper debug support. To much of a nuicasne to setup on my Linux Box. Johan is working on it for Linux, but I don't even have the hardware. For me it's just another reasen to switch to STM32.

 

A tool like PlatformIO can probabl only live in the Open Source world.

What other company is going to write software to support their direct compatitors?

(Maybe altium, but I cant' afford it, probably won't run Linux, and from what I've heard they are stacking layers and layers of complexity over eachoter untill nobody can understahd how it works any more. typical for old companies, but I could be wrong, As I said, haven't used it, I use KiCad).

 

It seems that the concept of PlatformIO is almost the ultimate of making it as simple as possible, but not simpler.

"arduino" is a clear attempt at making stuff simpler than is possible, they are trying to hide everything in an attempt to make it simple to make a blinking led, in which they have succeded.

 

My first impression of PlatformIO is ... Impressive.

I think I like it and it it definately worth looking further into for me.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
@gchapman

When did you last check about that "limited targets for AVR"

A few months ago.

Current (assumption is the web page matches the code)

from : http://platformio.org/boards

platform = Atmel AVR

list :

 

mega8

mega88

 

mega16

mega164P

mega168

mega168P

 

mega32

mega324P

mega328P

mega328PB

mega32U4

 

mega644

mega644P

AT90USB646

 

mega128

mega1280

mega1284P

mega128RFA1

 

mega2560

mega256RFR2

 

tiny13

 

tiny2313

 

tiny44

tiny441

tiny45

tiny461

tiny48

 

tiny84

tiny841

tiny85

tiny861

tiny87

tiny88

 

tiny1634

tiny167

 

Paulvdh wrote:
PlatformIO seems to be growing pretty fast.

And besides that. The support is not in PlatformIO, but in the compiler.

mega328PB is a recent addition to PlatformIO and appears to be a relatively simple change.

Add support for ATmega328PB

https://github.com/platformio/platform-atmelavr/commit/ec08cfe4e3c3c91b13986f22bc6da755da744756

Paulvdh wrote:
About debugging. I saw it supports "Black Magic Probe" which supposedly supports Atmel/Microchip SAM.
IIRC, that's through OpenOCD where SAM flash space seems to be up-to-date; the remaining is per ARM instead of Microchip.

Paulvdh wrote:
I've also never had proper debug support. To much of a nuicasne to setup on my Linux Box.
For SAM, PIO Unified Debugger is multi-OS (Linux, macOS, Windows) for "only" 10USD/mon (currently on sale for 8.49USD/mon)

http://docs.platformio.org/en/latest/plus/debugging.html

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:
The non-community URL is http://pioplus.com

 

JohanEkdahl wrote:
But nowhere can you find an actual (snail) mail address or anything else indicating where this company is seated, who is behind it etc.

WHOIS search results

Domain Name: PIOPLUS.COM
Registry Domain ID: 2055868835_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.enom.com
Registrar URL: www.enom.com
Updated Date: 2017-07-31T05:21:16.00Z
Creation Date: 2016-08-29T15:49:00.00Z
Registrar Registration Expiration Date: 2018-08-29T15:49:07.00Z
Registrar: ENOM, INC.
Registrar IANA ID: 48
Reseller: NAMECHEAP.COM
Domain Status: clientTransferProhibited https://www.icann.org/epp#client...
Registry Registrant ID:
Registrant Name: WHOISGUARD PROTECTED
Registrant Organization: WHOISGUARD, INC.
Registrant Street: P.O. BOX 0823-03411
Registrant City: PANAMA
Registrant State/Province: PANAMA
Registrant Postal Code: 0
Registrant Country: PA
Registrant Phone: +507.8365503
Registrant Phone Ext:
Registrant Fax: +51.17057182
Registrant Fax Ext:
Registrant Email: 8F83ACD1FDFB4096843DADF35E279765...
Registry Admin ID:
Admin Name: WHOISGUARD PROTECTED
Admin Organization: WHOISGUARD, INC.
Admin Street: P.O. BOX 0823-03411
Admin City: PANAMA
Admin State/Province: PANAMA
Admin Postal Code: 0
Admin Country: PA
Admin Phone: +507.8365503
Admin Phone Ext:
Admin Fax: +51.17057182
Admin Fax Ext:
Admin Email: 8F83ACD1FDFB4096843DADF35E279765...
Registry Tech ID:
Tech Name: WHOISGUARD PROTECTED
Tech Organization: WHOISGUARD, INC.
Tech Street: P.O. BOX 0823-03411
Tech City: PANAMA
Tech State/Province: PANAMA
Tech Postal Code: 0
Tech Country: PA
Tech Phone: +507.8365503
Tech Phone Ext:
Tech Fax: +51.17057182
Tech Fax Ext:
Tech Email: 8F83ACD1FDFB4096843DADF35E279765...
Name Server: DNS1.REGISTRAR-SERVERS.COM
Name Server: DNS2.REGISTRAR-SERVERS.COM
DNSSEC: unSigned
Registrar Abuse Contact Email: abuse@enom.com
Registrar Abuse Contact Phone: +1.4252982646
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2017-07-31T05:21:16.00Z <<<

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thank you for the WHOIS, Lee. Any time I need to know about the domain registrar I'll remember to come back here. cheeky

 

Still nothing on the company/organization/whatever that calls itself "PlatformIO", though.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Sat. Aug 26, 2017 - 03:03 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yesterday I installed PlatformIO without diving too deep in the specifics after watching some of the video's.

The main reason for not thinking too hard about it is because I could install it via the package manager on my linux box.

As a rule I trust any software I can install via apt because I trust that others have checked it  before me.

Installation was basically done by the 2 commands:

paul@dualcore ~ $ sudo apt-get install python-pip
paul@dualcore ~ $ sudo pip install platformio

Although after typing this I see I possibly made an error.

"pip" is a package manager for python and I've never gotten around to thinking about who checks those python packages for me.

As you can see I had not used pip before, or I would not have had to install it first.

My assumptions about working with PlatformIO seem correct.

 

PlatformIO itself is "just" some python scripts which act as glue logic between a bunch of Open Source projects.

The structure of PlatformIO really seems like the best I've seen ever in my whole life.

 

It takes all the pain out of setting up a development environment without giving up flexibility.

I set up a development environment for an ESP8266 in a few minutes (command line only this time), no IDE yet.

The Xtensa compiler gets puled of github when needed for the first time, gets installed on my own pc and is used from there later on.

I also think I really like SCons, but I'm still very new to it and need more time to form a decent opinion.

 

But still.

Where is the border between being carefull and being paranoid?

 

When looking at github allmost all contributions are by ivankravitz:

https://github.com/platformio/pl...

 

I also saw a small contribution by PaulStoffregen.

He is a well known guy in the Open Source world and the driving force behind Teensy.

On the Teensy forum I also see a lot of references of different people using Platformio.

https://forum.pjrc.com/search.ph...

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, if you trust the repo of Linux Mint then I suppose the Python repo should also be among the trusted. Remember, Python is one of the most (if not the most) spread scripting languages out there. (Likewise I would probably trust RubyGems and sdkman (for Groovy)).

 

I suppose that for all of these, you can point them to some obscure repo somewhere (just like you can with apt), but my approach (to apt and sdkman) is that as long as any added repos "seems legit" I feel reasonably safe.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Sun. Aug 27, 2017 - 03:32 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ive used both Scons and Cmake. I think I prefer Cmake more but that may just be familiarity. Clearly one of the big bonuses of Scons is that it is Python so unlike Cmake it's not like having to learn a whole new language.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Hi All,

 

 

This is Ivan from http://platformio.org. I would be glad to answer all your questions here:

Paulvdh wrote:
WiFi Passwords etc. it is just plain unacceptable

There a few options how to keep passwords outside project source code.

  1. Using PLATFORMIO_BUILD_FLAGS environment variable
  2. Using Dynamic Build Flags. You can use any scripting language, just need to "print" to STDOUT a list with build flags/macros which contain WiFi Passwords... 
  3. Using Advanced Scripting. So, similar to 2-nd option, but is more flexible. You can load own Python-based script and totally override current build environment: add new flags, remove existing or declare own uploader. Extra script could be located in any place.

 

Paulvdh wrote:
My hope is that "downloading & installing" means installing the actual compiler needed together with the python scripts & configuration files for the selected uC board. Is this correct?

PlatformIO has decentralized architecture and consists of these main components:

  1. PlatformIO Core: multi platform build system based on SCons; platform, package and library managers; different helpers, such as serial monitor, CI integration, etc.
  2. Development Platforms: a set of python scripts (based on PlatformIO Build System API), manifests where vendor declares toolchain dependencies and board configurations.
  3. PlatformIO CDN Storage: a list with pre-compiled packages for the most popular architectures (Windows, macOS, Linux i686/x64, Linux ARMv6+

 

The 1-2 components are 100% open source and licensed under the permissive Apache 2.0 license, so you can use it in both commercial and personal projects with confidence. 3-rd, a lot of packages we maintain personally, others, we just re-use. For example, we use Paul Stoffregen's toolchain for Teeensy 3.0+, etc.

So, how does it work? You need to install PlatformIO Core (Python-based tool) which does not have any dependencies to OS or other software. When you initialize/create a new project, you will explain PIO Core which board do you use. Having this information PIO Core will download "development platform" and install its dependencies (framework source code, toolchains, etc). All files are installed to `~/.platformio` folder by default. You can override this location if need.

Example of development platform: https://github.com/platformio/pl...

Kartman wrote:
Plaform.io is based on the Atom ide.

We are not based on any IDEs. We propose official extensions for the popular text editors/IDEs where you can leverage all power of PIO Core (CLI tool). In other words, our extensions for IDE are wrappers around PIO Core.

Please note, that we recently released an official PlatformIO IDE for Microsoft Visual Studio Code (free, MIT license). It has MUCH BETTER support for PIO Core than Atom. We highly recommend using VSCode in pair with PlatformIO instead of Atom.

JohanEkdahl wrote:
But nowhere can you find an actual (snail) mail address or anything else indicating where this company is seated, who is behind it etc.   They really look legit, but that source of camouflage always makes me suspicious.

We are small startup located in Ukraine. We don't have "fake" office in Silicon Valley and don't shout that attract "the next round of investment with a few ZEROs". Personally, I don't like these soap bubbles with glamour startups, 90% people with VP-labels, and only 10% of them try to realize how to earn money and cover all expenses, not saying to be independent of "investment sharks".

We have Community/Free edition of PlatformIO, 99% our customers are satisfied with it. We work on a few paid features and ask our customers to support us and PlatformIO. We like freedom, we respect our community, they helped us to achieve these results. They trusted in us.
We don't plan to monetize existing Community features, what is more, we will introduce new soon. We have own vision of the further fate of PlatformIO. The only 100% independence and freedom can make PlatformIO more and more successful. 

We respect all vendors, all of them have the same rights within our ecosystem. Neither "shark", nor "vendor", should not decide what developer should use. We have opposite philosophy: we propose maximum options with MCUs, frameworks, IDEs, where our customer decides which stack to use. That is a very complicated model but for us is very important to see our customer happy. Not matter if he paid or not. He should be happy even with free PIO Community edition.

The graph below confirms our Customer Development Model with $0 investments. Stay tuned with us on @Twitter, big changes are coming soon...

Regards,
The PlatformIO Team.

PlatformIO

Last Edited: Wed. Aug 30, 2017 - 03:53 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey Ivan, I quite like what you are doing with PlatformIO, even if I was a little skeptical at first.

 

The question is though, what happens when someone like Mentor Graphics, or Qualcomm, turn up and say "We love your product! We've got a check for $100 million here, we would like to buy your company". Do you turn them down ?

Bob.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

donotdespisethesnake wrote:

Hey Ivan, I quite like what you are doing with PlatformIO, even if I was a little skeptical at first.

 

The question is though, what happens when someone like Mentor Graphics, or Qualcomm, turn up and say "We love your product! We've got a check for $100 million here, we would like to buy your company". Do you turn them down ?

Thanks a lot for your feedback and questions.  PlatformIO was not created as a business project at the beginning. You can read this blog post for confirmation. PlatformIO is a solution for the existing problems with which I stacked 4 years ago.

So, my main aim was to improve something in the embedded world which could be actual for the years, not for the months. That is why PlatformIO is 100% open source and licensed under maximum permissive license.

No matter what will be with me or PlatformIO as a company. A community is defended in any case. They can fork PIO Core anytime when will not trust us or when will not agree with our vision. Me, you, Mentor Graphics or Qualcomm, etc can create any business around PlatformIO if they see a sense in it.

>  Do you turn them down ?

It depends on a type of investment. If that is a "smart" money, I don't see arguments why I should "turn them down". I wish success PlatformIO for the years... A lot of efforts were applied to it.

P.S: Maybe, you have the more particular question? Sorry, if I didn't answer correctly.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ivankravets wrote:
P.S: Maybe, you have the more particular question?
Do you or a team member have the intention to add AVR GDB client and server to PIO Unified Debugger?

Reason : Microchip AVR alternative to Texas Instruments MSP430

 

Would the effort to add Microchip PIC24 and dsPIC to PlatformIO be reasonable?

Reason : more 16-bit MCU

 

Thanks!

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

gchapman wrote:

Do you or a team member have the intention to add AVR GDB client and server to PIO Unified Debugger?

 

Reason : Microchip AVR alternative to Texas Instruments MSP430

We have already contacted with Microchip and will work in this direction. I'll keep you up to date here about further progress.

gchapman wrote:

Would the effort to add Microchip PIC24 and dsPIC to PlatformIO be reasonable?

Reason : more 16-bit MCU

Do we have GCC toolchains for these families?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ivankravets wrote:
Do we have GCC toolchains for these families?
I'm aware of only one recent PIC24/dsPIC FSF GCC :

Kewl.Org

Microchip XC16 compiler

https://wiki.kewl.org/dokuwiki/tools:xc16

This is a C compiler for the dsPIC and PIC24 24-bit address word PICMicros.

Installation is comprised of two steps. The first step installs the commercial compiler and the include files. The second step is used to replace the compiler with the free edition. The support files are needed in step 2 from step 1.

...

tools/xc16.txt · Last modified: 2017/01/18 19:05 by darron

...

via http://www.avrfreaks.net/forum/linux-toolchains-debugging-and-ides#comment-2176216

Hopefully mojo-chan can describe building and operating it.

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

PlatformIO Community

Announcements

PlatformIO Core 3.5.0

by ivankravets

PlatformIO Plus Team

2017-12-28

https://community.platformio.org/t/platformio-core-3-5-0/3150

 

"Dare to be naïve." - Buckminster Fuller