Why did I completely stop using PlatformIO

Alright… so about 1-2 months ago I was looking for a better arduino IDE and after some googling have found PlatformIO. I got very excited as it looked like a very promising alternative. And dont misunderstand me, it still does. But on the other hand PIO has many issues and an absolute lack of support, so I believe if you guys dont change this in the forseeable future then the rest of the users will turn away to other - also promising - alternatives.

Based on my experiences even the simplest questions could take days to be answered if they get an answer at all.

Lack of community well taken care of is almost a perfect recepie for such a project to die. And while I understand that the developers focus on paid customers, it will be hard to gain enough paid customers without a rather big “free” community.

I can give you only my examples: currently I can’t make neither the blink example nor the serial monitor working under PIO. I bet everybody agrees that these are issues. Is it my fault? Sure it can be!!! But… I couldn’t get help from the devs and there is no self sustaining community so I have just downloaded Sublime + Stino, which also has a great editor and everything seems working right out of the box.

Well, enough of my little cryout. I wish PIO all the best, I really hope that by time it will be the ultimate arduino development IDE. But until that all I can do is to use sublime or maybe Eclipse and check the status of PIO from time to time to see if it gets better support.

Best wishes,
ib

7 Likes

And how much did you donate to this project?

1 Like
5 Likes

Ironically, the same could be said about yours.

Here is the difference.

If you had paid 2k$ for an IAR development license, there should be a rep available to answer your questions. Even then, you would likely have to pay extra for support.

This is community driven software…everyone has another life and likely another job. If you want someone to drop everything they are doing to help you…expect to pay for that attention. It is unrealistic to expect otherwise.

I have had some issues that were resolved by the good folks here. It took time, but it got done. I didn’t cry.

4 Likes

Absolutely not true. There are TONS of projects on the internet which you can use for free and still getting support by devs and the community. I participated in some of them as a volunteering developer / forum enthusiastic myself.

If PIO is a community driven software then it has a major problem: it has no community. Platformio is being developed for years but the forum is plain empty, almost no questions asked and almost no answers provided. You can’t expect the community to grow without support provided. And this is exactly what I tried to explain in my original post in a rather friendly and certainly non offensing manner.

I really didnt want to start the flame (and certainly didnt want to keep this topic on top of the forum), just wanted to give a direct heads up from somebody who is in the programming world for about gosh… decades.

6 Likes

Well, You are certainly free to use whatever IDE you choose to use. I am a very happy and satisfied user.
I did receive support and responses for any query I have asked. I ll admit, sometimes it took a while before I got any response, but that is acceptable. It is only human :-). I dont expect the devs will spend their weekend time responding to issues on the forum, and I am certain the principal devs have a day job to attend to.
I also appreciate the effort it takes to consolidate different embedded hardwares into a single unified platform for development. There are bound to be bugs. Not to mention the different host scenarios they have to accomodate and account for. Given the limitations, they have done a wonderful job.

@istvanb Please do not misunderstand me. I am not snubbing you. I am merely expressing my experience and my understanding of the situation.

5 Likes

I can understand @istvanb’s criticism and why he is unhappy. Maybe he got the wrong impression that PIO is community based or community driven. Anyway, I had this impression. Moreover, I read his post so that he did not expect replies within few hours or two days but in one or two weeks. Community driven or not, if you want to make your project a success story and involve community you should nominate community manager–voluntary or paid does not matter. It’s pretty bad to have a deserted community. And if it’s true that PIO didn’t grow for years than, well, bad forecast.

Honestly, I don’t understand @mrred128’s reply. Why do you have the impression PIO is “community driven software”? IMHO if this is true, @istvanb’s criticism is not only valid but important that somebody raise this issue.
I’m new to PIO myself and struggle with some unexpected behavior–or maybe bugs. I don’t blame anyone for that, it’s a big software. Sure, it is difficult to compare community projects, e.g. STM32duino, with PIO. And this may be unfair because you don’t know about the people behind it. Some have families, some are senior citizens etc. But take my first issue. I did not get the registration mail because the PIO mail server is on the spamcop.net black list. Even if one considers this blacklist inappropriate, running a business means: reduce or clear as much obstacles as possible for new customers.

Don’t know about all of you but I’m just a hobbyist playing around with some microchips. Hence, paying 2000 bucks is not appropriate. Despite that people spend their spare time to find and report (possible) bugs. This should be appreciated by the business model of PIO because this is something you usually pay developers for, right?
Lastly, one may consider this: if a hobbyist finds a bug, it likely will hinder one of your paying customers sooner or later.

Best

4 Likes

PlatformIO is truly an effort to be applauded. After Arduino IDE V0.22, 0.23, 1.0, 1.01, 1.52, 1.68 etc, etc. Eclipse V x,X, XX. Visual Studio for Arduino, Codeblocks, Codeblocks for Arduino, Keil, and a few others, I have come to realise that this is a hugely moving target. Arduino IDE is now very stable but still limited by it objective to be simple. Eclipse, in its many forms is extremely complex and breaks quite often. MBED online IDE is really good, but often lacks support from STM. PlatformIO has come a long way, looks and feels good to work with, and tries to achieve far too much. It will stabilise, find its strengths and make many developers very happy. (Me included). I still use all of the abovementioned IDEs depending on which processor and which application. Give it time.

2 Likes

I too have begun looking around.
as in any wide spread project, there will be the initial developers and once the project attracts the community, those folks who figured out how to do a thing will contribute.
the ARDUINO forums is a testament to that.

I have two issues with PIO #1) the sheer wall one hits in trying to learn how to blink an LED.
it took me days to figure it out.
#2 the file handling. I have over 100 projects with various groups of parts.
an OLED with a BME280, a LCD with same, running on a NANO, or a Node MCU or a Wemos, soon to add an ESP32
running two the BME on one I2C, running two I2C channels…
none of this is rocket surgery, but I cannot figure out any files because there are no unique file names.
I have multiple folders unger the main folder and then multiple folders under each one of those.

here is a silly work-around.
I go to a sub folder, find my work
move the folder to the main folder
do whatever I need
move it back.

see, I cannot name my files
and PIO cannot see any files in anything buy the main folder.

My next project will take me on a roof of a large building. no chance of internet connection.
I will need to figure if I can run PIO without any external connections.

At work we say that you can have it fast, have it cheap or have quality.
pick 2.

the lack of decent file handling is my big sticking point. that is the one I pick.

in my eyes, PIO is beta.
I do wish the best as I know those working on it are pouring their hearts out.

the concept is great. and if this does get past the bugs of a beta version, and develop a community, I expect that this will be the software that others compare to.

Heck, I would wager that those over at Arduino would gladly give up trying to offer an IDE if there was one that worked and was easy for beginners.

I too will be checking back from time to time.

1 Like

Just create platformio.ini in project folder and override src_dir.
See example platform-atmelavr/examples/arduino-own-src_dir at develop · platformio/platform-atmelavr · GitHub

you can even use this platformio.ini

[platformio]
src_dir = .

[env:myenv]
platform = ...

In this case, you can keep source code in the same folder where platformio.ini. Then just open this folder with PIO IDE. Also, you can use it with Arduino IDE.

2 Likes

Excuse me, but is this your entire contribution to the topic? Addressing a whatever technical problem instead of addressing the main concerns?

istvanb : when one person decides to speak up, often there are many more with the same issue.
this project is a monumental task, and although some of us see the problems we cannot figure out, the vast majority of the work is really good.

Also, as a project grows, you can make one small change in one place and the effects can ripple out of control.
so, yes, this is not for everyone, IMHO much too hard for a beginner that should start with the Arduino IDE.

I have great hopes that one day the whole file handling system will be re-vamped and made more like what you get in an OS. I can move my WORD files to any place at any time and then open them and all the formatting is there…

so, if MY desire was to be fulfilled, it may not work for others. in the end, no matter our individual desires, I hope what is done is something that makes it easy for the masses.

1 Like

Fortunately, your problem may be solved using src_dir, see @ivankravets post.
I accidentally stumbled upon this solution some time ago. However, I wonder why I and you failed to find it using a search engine and the PIO documentation.

1 Like

PLATFORM IO IS WORTHLESS… BASICS things do not work KEEP AS FAR AWAY AS POSSIBLE AGREE 100% with original caller not WORTH YOUR TIME

1 Like

Fortunately, now a couple of years later, seems that this is changing, now that the PIO plus plans are gone, functionality included into PIO Core and everything is open source, it seems to me that the community is growing way faster.
This is indeed exciting to me, because I understand the feel of lack of community respond (not saying that PIO community was, since I just joined)
Hope this change allows you to have a better experience with PIO if you decide to use it again.

1 Like

I suggest you to post your problems, maybe someone could help you get everything up and running.
I want to say that reading past posts and past bugs or problems with the platform in comparison with what I’ve been able to do and build with it in the past week, it has been an improvement.
I would say, platformIO let me build in linuxm programs for STM32 without using CubeMX (which also have a tool for linux and you can import a cubemx project code into platformIO), let me build programs for TIVAC without using windows and keil, or without building a ton of configurations in eclipse, pulling my hair out with outdated repos, tutorials or even books on this (Which please don’t take me wrong, I understand that eclipse is a great tool, but also need to be complex to support all what it does, and that keeping everything up to date is a huge work).
Also, I used Truestudio, which is a good big tool, which also were paid, had only support for paid users, not too much examples, separated white papers, then ST bought it and made it freely available (now it has been replaced by the STM32CubeIDE), but still at this point I struggled more with it to build a blinking LED than what I struggled installing and configuring the Platformio IDE, build the program and debug it.
The best of platformio is that I can build for different targets with the same environment.
For me the definitive example, is the blinking led for STM32 with CMSIS, it includes all the subfamilies so you can adapt it to your board to test it right away

Or the cubemx blinking led, includes all information from building and debugging, to even write unit tests:

STM32Cube HAL and Nucleo-F401RE: debugging and unit testing — PlatformIO latest documentation

So in conclusion, in my experience building firmware for ARM Cortex M in Linux is not a simple path for beginners, platformio is allowing it to be more clear, so if you’re struggling, please post your problems.

3 Likes

You’re welcome to your opinion, but I disagree. PlatformIO is by no means perfect. But it is the best free multi-platform multi-architecture development environment I have come across to date. And 95% of the time, it does what I want it to do, with 3-4% of the time it doesn’t work being my fault.

However, if it doesn’t work for you, there is nothing to stop you moving on. Or you can persevere, work with the community to try and fix whatever issues you have and PROVIDE INFORMATION WHEN REQUESTED! :open_mouth: Do I really need to point out you suddenly posted no less than seven posts, mostly all negative towards PIO, and still haven’t provided information requested nearly four weeks ago in a troubleshooting thread yout started?

Some basic understanding is also sometimes needed. Such as the fact that PlatformIO is NOT the code editor. It does not do file management. VSCode is what a lot of people use, and that provides the graphical code editor, file management, and even provides the code squiggles (IntelliSense). So when things go wrong there, it is usually a fault in Microsoft’s VSCode, not PlatformIO. For example, a simple one… did you know that if you add/move a folder in Windows Explorer, that the VSCode file browser doesn’t auto-magically refresh… that you need to press the refresh button! But, hey, it’s PlatformIOs fault (NOT!). All I’m saying is know where the apportion the blame when things don’t work!

2 Likes

Discovered PIO one month ago. I am a retired, hobbyist, but also an electronic engineer since…last century as you can imagine.

Having developed a lot of small projects using various IDEs (Microchip,ATMEL,… ) and played around with some frameworks/RTOS, I was just literally amazed when I discovered PIO.

Using Arduino for a few years, interested by its simplicity, but hitting the wall quite soon when coming closer to bare metal and want to use symbolic debugging with a serious probe like J-Link. or Black Magic.

Nothing to download, configure, no endless navigation with annoying tools (you know, the small windows you must catch and hit some checkbox to make it happen… ), PIO is for me by far the best platform I ever seen.

Of course I don’t wait for instant Amazon like support, and I try to learn, practice and read as much as I can before hitting support or forum with my little bit bang problems.

Congrats to the PIO team, you deserve a big applause for this really valuable tool!

BTW using VSCODE Insiders, I see explorer automagically updated when I add some file/folder in the project, and adding PDF extension allow me to group everything, including datasheets in the same environment, really useful to have side by side info while coding…

2 Likes

Could you provide more details? Debugging should work without any issues.

P.S: Thank you so much for the kind words!

@ivankravets I read that as @audryhome had hit a wall when wanting to do more bare metal programming and debugging before encountering PIO, rather than there being an issue with PIO debugging.

@audryhome Welcome to the forum!

That sounds pretty much like my story with PlatformIO. I remember first encountering PIO somewhere between version 1 and 2, and was a Arduino IDE user also. I also wanted to have the option of debugging, but on the AVR (and now Espressif and STM32) platform, and was after something more, so revisited PlatformIO, which had now evolved to the third major version, and recommended VSCode. Once I started using that combination, I was hooked. One IDE to do AVR / Espressif (8266/32) / STM32 programming, which worked on Windows/Linux and ARM(64)… I just couldn’t believe it.

Sure, there’s rough edges, and bugs are found here and there (some caused by Microsoft), but like you say, the platform is by far the best I’ve encountered thus far, and continues to get better and better all the time… i.e. the new features introduced in 4.0 and 4.1 that make it so you have a lot more flexibility with the various board configurations, configure most of the project settings visually rather than through a text file, and do some pretty extensive analysis and error checking of your code.

And whilst the community is small, there are some really knowledgeable people around here, who are more than willing to help out, making it so there’s no reason for anyone to not give PlatformIO a try, and if they do have problems or issues, work past them. Plus the developers are readily approachable and always respond to feature requests and bug reports in a prompt manner (baring delays at times due to other commitments). Even when I do post the odd nit-pick issue! :laughing:

Looks like we get to look forward to the file browser auto-updating in the next VSCode release… thanks for the heads up! I also find having both Markdown and PDF viewer extensions handy.

1 Like