@@boots7859 Sadly Visual Studio performs abominable under wine, if you manage to get it going at all. Perhaps it can work as a plug-in for MonoDevelop (aka Xamarin Studio aka Visual Studio for macOS, but then the Linux build) but that would also need some work from the plugin developer(s) or community.
You can use VS Code add-on Arduino, that way you can use on any OS. Good thing is that you can open any existing Arduino project with VS Code and whenever you want you can open that project with Arduino IDE again not like PlatformIO that create specific files for the project.
Disappointed with single platform tools getting coverage (especially windows), it's 2021. suggest this is better tool -> /www.arduino.cc/pro/arduino-pro-ide
20 years ago i worked for a company where we build JTAG Debuggers (for the Pentium CPU). The reason why you are limited to 4 breakpoints is that these breakpoint get serially shifted into 4 special registers inside the CPU. They are simple address comparators that finally can halt the cpu. There are just 4 of those registers, that's the reason why you can have just 4 breakpoints .. but that should be enough for most scenarios.
Thank you for clarification. It seems logic and another viewer mentioned the same fact. I did not know it. But I have to confess that I fast get 4 breakpoints because I keep a few "strategic" ones. But I learned to deactivate some of them if I do not need them anymore. Like that the stay where they are...
@@AndreasSpiess Even today, I can only set a few breakpoints on my ARM devkit at work before it complains 'no more resources'. Thanks Texas Instruments.
I was a Visual Studio developer when I started Arduino in 2010 and was happy to be able to use my preferred development environment with Visual Micro. I lost track of it when I started with ESP8266. Thank you Andreas for bringing it back to my mind.
I give them credit for the work they put in on Arduino IDE but going up against Visual Studio with vMicro extension is an uphill battle to say the least.
Danke Andreas, it's great to have you do these overviews and comparisons across different working methods and environments, a big help in pointing in the right direction for different kinds, and levels, of projects!
Thank you Andreas for your information video. I have been using Visual Studio for many years and used with its C++ debugging. I will start to test Visual Micro as an IDE for my Arduino projects.
@@AndreasSpiess did you get enough of a look at it to form an opinion that is worth a video? in my opinion it having auto complete already makes it a thousand times more useful than the current arduino ide
@@TheScarvig from what im seeing...the 2.0 beta is built on the same VScode core as this ...so its prity much the same.....just doesnt have all the window features..that IMO are unnecessary ive also noticed M$ is pushing the VSCode everywhere lately... Windows, Linux, RPI, and now MCUs
I tried to use it but for example autofill did not work after deleting a letter and stuff like that. Nothing for a fair review for the moment. It compiled a complex ESP32 sketch with many libraries. This part seems to work. They also will not create an ESP32 debugger interface and hope, somebody else will do it. I will have a look at it from time to time.
4 breakpoints is not a limitation of gdb, when running a program from flash you are dependent on breakpoint support from the jtag hardware inside the chip. As the debugger is not an emulator, it cannot stop program execution by it self. It actually writes the address of the breakpoint to a register in the chip. Ask the chip to continue running. And then waits for the chip to report back that a breakpoint was reached and has halted. It is different if program is executing from ram. Here, when you set a breakpoint, the debugger will replace the instruction at that location with a break instruction (storing the real instruction in its own memory), and using some clever replacement make this invisible to you. Thus not being dependent in a number of break regusters in a jtag unit, you have close to unlimited breakpoints when running in ram.
I have used Visual Micro for over 11 years now, and have not found anything that I couldn't do. To understand the environment it is equally complex and has a long learning curve to really know all the features. So, it is the devil you know, vs the devil you don't know. I like having compatibility with Arduino IDE, having this feature defeats the ability to control libraries versions the 'easy' way. Having Arduino IDE compatibility means you can hand off source to a newbie so they can make changes easily. Excellent video as usual.
Thank you for sharing your experience. I found the learning curve less steep as with PlatformIO (to get something working). But it has less possibilities for large projects where I would prefer PIO.
@@AndreasSpiess I have had no problems with large projects with Visual Micro + Visual Studio. I agree, getting VM + VS to work is a lower learning curve. However, you can get into trouble with either tool equally. :-> Both are good solutions.
BTW, Visual Micro also works in Microchip (Atmel) Studio. It is an excellent product, which has matured over many years. Very reasonable licensing and pricing too. 👍🏼
Thank you Andreas for this. Using hardware instead of serial looks really cool. I can't tell you many times I've forgotten the Serial window was open and watched my upload to the board fail.
Looks like this IDE might be the sweet spot between ease of use and capability I have been looking for. I am installing now. I gave your channel a mention when I signed up for their forums. Thanks Andreas!
Hi Andreas, I have used both Visual Micro and PlatformIO extensively and for large projects. I'd like to add a few things to your comparison. 1. The serial port in VM is much more stable than PIO. You can plug the device in and out of the USB ports, and the serial monitor just keeps working. Not so with PIO. 2. On a multi-monitor setup, Visual Studio works much better than Visual Studio Code. The latter does not allow 1 instance to have several windows, whereas Visual Studio allows you to arrange the windows any way you want it, even over multiple monitors. 3. In Visual Studio you can test (HW independent) library code by compiling it for windows. All the powerful debugging features are available. You can use the built in unit testing framework to thoroughly test your libraries. 4. I use multiple projects in one solution a lot! It is the perfect way to write smaller test-programs to test-drive your library components. This way your main program, your libraries and your test code stays together. (a simple example : when you develop an arduino library, the library itself and the example projects are all separate projects in one solution). Of course it is a personal matter, to some extent, but I've found myself always more productive on VM than on PIO. Thank you for your inspiring video's and I hope to meet you once in real life somewhere, someday where we can talk about our projects. Pascal
Thank you for sharing your experience! I never used testing feature. It is still on my list. But I do mostly projects and not libraries, so the testing is often done with "the real thing"...
After your video, i started using Visual Micro; i spend hours converting arduino sketches, and i wasn't sattisfied; because of the errors and the lots of work. switching was a great option; thanks for your video, it saved me a lot of time!
I'm using Visual Micro for 3 years now and for people accustomed to Visual Studio this is simply the best. Platformio has barely a GUI. Everything is done via dozens of console commands and there isn't even a shortkey chart available for people with a non-US keyboard. I prefer comfortable software.
@@AndreasSpiess I just wanted to give VM a second voice in the comment section since it was foreseeable that Platformio fans would run wild in the comments like when Heise.de mentioned Visual Micro. Over time I had a lot of conversations with the author about problems I had and he really tries to help.
VERY NICE - $12/yr - sold! *Thank you for sharing your knowledge and skills with us.* I needed this break from my FLCCC health study. Please take care of you and yours.
The best approach i found is to use the best of both worlds: 1. Open Arduino IDE (Advantages: easy to use, libraries available, default IDE and therefore many tutorials online in case of errors, all possible boards supports, ...), go into the settings and enable external IDE. 2. Open CLion (Advantage: High Level C++/C/Python IDE with autocompletion, ClangTidy, ... support) on the project from above and program here. 3. Compile in the Arduino IDE and use the Serial monitor from it.
Many Thanks for all your sharing. I paste the answer of Simon from vm for a post related to development under linux. "Visual Micro is only compatible with the full Visual Studio 2019/2022 editions published for Windows at present to our knowledge."
I have used Visual Micro when I was a Windows user. It was simple setup and worked flawlessly. When I went to a linux desktop I initally used the Arduino IDE but now I use PIO. You can spend many hours installing, configuring and troubleshooting IDE's when they don't work. I think the arduino IDE is fine for most beginner to intermediate users.
Thanks Andreas. I've finally had enough of the Arduino 2.X IDE - and was wishing it was more like Visual Studio. It looks like Visual Micro might be the answer!
Andreas, again thx for the excellent videos you create ... first thing I watch Sunday's after my breakfast :) I've been using the Arduino IDE for 4-5 years and gave PlatformIO a try last year, mainly because I had to deal with specific Library-versions & different hardware. It did work, but as a hobbyist I found it too complex for me. Visual Micro seemed an ideal solution and I gave it a try; I've created a Solution with one Project inside as you showed in your video. I used the 'Clone for project when using libraries' with the 'Library versions',, this is exact what I need and it works fine. Gave the (serial) debugging a try and again excellent. But there is one thing I cannot find how to do, probably because I am not used to work with VS 2019 / Visual Micro : in the Arduino IDE, I regularly use the 'Save as ...' with a postfix version (-v1, -v2, ....) to have a copy of my versions while developing. But I cannot find how to do this with VS 2019/Visual Micro - if we keep the one solution/one project structure, I need to clone or copy the solution and rename (all solution/project files)? Although having multiple versions of a project in a solution could also work for me ? But there does not seem to be easy method for that - using a full-fledged version-mgt system will again make this too complex ? Do you or anyone else have some recommendations how to handle this ?
Maybe you have a look at the github implementation of Visual Micro. It would give you the possibility to create new "commits" instead of versions. I also use Visual Micro for the moment because it is backward compatible with the Arduino IDE.
@@AndreasSpiess I will give the github implementation a look. But currently I am looking into the one Solution containing multiple project versions; In Solution Sketch, I start with proj sketchv1; then a create a new project sketchv2 and copy my ino & .h files into the new directory. For the libs I use the 'Clone for solution when using libraries'. Not as easy as the 'Save as ...' in the Arduino IDE but workable. I'll see how this progresses ...
Another great video ... good to have your input. I bought Visual Micro a long time ago. I had it installed on Atmel Studio (which was an option.) As you point out, it works without additional hardware purchases, (a selling point for me at the time.) But, while serial debugging seemed like a really cool idea, it has some serious limitations. Also, I found that with Visual Micro, every time there was an update to the Arduino ide, Atmel Studio, or Visual Micro ... things would break. At times, it could be really frustrating. Finally, I bought an Atmel ICE programmer/debugger (and Visual Micro became redundant.) The Atmel ICE costs ... but it just works!, and Atmel Studio is a wonderful piece of software. Of course Atmel Studio only handles Atmel products, so .... I know that a lot of people love the idea of having an 'all in one' solution. Intuitively however, software which tries to do everything, is bound to have some issues, which the creators will struggle to keep up with. For me; I'm happy to use Atmel Studio (with ICE) for Atmel products, STM32 CubeIDE (with STM link) for STM products, PlatformIO (with ESP-PROG) for ESP32, and even Arduino (with Serial.write() ) when I just need to throw something together quickly ... since each of these environments works 'really' well for the supported hardware. I applaud the guys who make Visual Micro. It sounds like they have improved it considerably since I last used it, and perhaps it's for some people, but probably I won't be switching.
Thank you for sharing your experience! For my use case (only Arduino compatible projects), mostly on the ESP32) it fits my purpose because of the debugger and the backward compatibility that I can use the Arduino IDE to show my projects on my channel.
I never used Arduino IDE for Arduino, even 7 years ago. I (almost) always use Eclipse for almost everything, like C/C++/Java/JS/HTML/PHP/Perl. Today I use Eclipse for Arduino boards and for ESP32 boards. It's very similar to Visual Micro
@@AndersJackson Usually I go to Help -> Eclipse Marketplace and search for suitable plugin. There are instructions for ESP32: github.com/espressif/idf-eclipse-plugin
You folks have some sort of "early access to the videos" arrangement in place? I wonder how these 2 comments on this video were posted "1 day ago" when the video itself appears posted only "53 minutes ago"
I use PlattformIO and CLion. The latter is expensive if you buy the commercial version, but there are free licenses available for educational or open source projects
Thanks for getting this in my pc :) I am an ex light developer (C, Java etc) and use the very robust Eclipse IDE with the Sloeber plugin but this looks pretty nifty as well for VS
As always, you have provided an excellent single point of reference for me when I have decided to try something out and postponed (procrastinated ?) the learning, knowing that I will always find the answers if I search your videos. Thank you, Andreas! I have been using VS Micro since the early days and VS itself even longer. In fact I did not start using Arduinos till VSMicro brought intellisense and a mature GUI to the platform. After being utterly spoiled by using PIC micros with their superb dev platform that included step/trace debugging, emulators (you could test most code without hooking up the micro) I was disappointed with the 'Duino. In studying JTAG debugging with the ESP32, I noticed that the IO Pins used are also the ones used for accessing the 4-wide SD-MMC bus - I wanted to mention that this is one more exception where it may not be possible to attach the debugger.
I agree with the pins. This is why I created an Excel sheet where you can select all sorts of criteria to find the pins you (still) can use. The JTAG pins are one category which must not be used if you want to debug.
I was an Arduino IDE user when that was the only feasible option for a beginner to compile and upload sketches. With arduino-cli I can now do the same but in any editor, it still takes a bit of work to have autocomplete working right but it's miles better than relying on the compile button to check errors. My main issue with these complex or user friendly IDEs is that they often hide some of the details of how the code is compiled and it often makes it difficult to have a project that can be cloned and then built by anyone, this why I'm sticking to vscode because it requires that I add the necessary scripts and configuration to the project.
I Like the Arduino-cli too and If you switch between different devices it helps much for holding things transparent, but it could bei a good Idea to Share Arduino-cli Scripts or templates.
Why not use Atmel Studio? It is a version of visual studio specificsllg for atmel mcus. And they added in arduino functionality a long while ago making visual micro obsolete. Only thing I dont know is that if there is debug capability without a programmer, in that case visual micro still has its place. But they have a visual micro plugin for atmel studio as well.
Hi Andreas, thanks for yet another well made video. Being non-free and based on the arcane Visual Studio makes it non appealing for my open source projects (as opposed to Visual Studio Code + platformio).
I know Visual Micro from Ben Heck, looks cool and easy to use. In my job we use VSC + Platformio, everything we make is ESP32 based, we love those little bastards (tons of flash, OTA, WiFi, dual core, cheap as chips). We config the projects as Arduino framework so we can use the libraries for Arduino IDE and mix some FreeRTOS goodness. Tabnine is a extension for VSC that autocompletes code based on AI, it's pretty funky, sometimes reads your mind and write the whole thing itself.
@3:49 in your video - for my large ESP32 project this "deep library search" was very very slow - about 1 minute - I found you can turn it off though (option is in the Visual menus) - and through the menus manually select the libraries you are using. Compiles then in seconds. For larger projects, with .c or cpp as well as a .ino file - only extra step you need to do, that's not documented, is as well as selecting in the menus - you need to include all .h files you need throughout all the project in the .ino file - even if they are not required in that ino file but required by some other .c file in the project - only if they are selected in the menus and referenced in the .ino file are they passed to the linker. Apart from that small thing that tripped me up - Its a really great IDE overall, much better than all the alternatives I've tried.
Good to know. Maybe I did not have problems because I always include all libraries as well as .h files at the top of my .ino file (as I do with the Arduino IDE). Compiling took about the same time as with an Arduino IDE and the compiler sometimes printed "using a precompiled version" or so.
. If this was handy before,I would've stayed with MicroControllers, but now I've moved on to SBCs like RaspPi. I'll remember this when I decide to go back to them. Thanks Andreas! 😊 .
I bought a perpetual license too when it first came out years ago, but after switching a couple of computers and a couple of hard drive failures and reinstallations the author won't reset the license anymore and told me to buy it again. Not too impressed. I switched to compiling and uploading within my Sublime Editor instead. (Arduino's editor is terrible!) I miss the days when you buy a program and you didn't have to activate it every time Windows did a major update, or something in your computer changes.
I used Visual Micro at first when I started my journey back into Microcontrollers a few years back. I understood it was free software, only to be surprised one day it was demanding money to open my projects.. So I switched quickly back to Arduino IDE and, grit my teeth and got on with it. Now don't get me wrong, I probably would not mind paying if (A) it was clear upfront before wasting time on it, and (B) The software was really good. But actually I found the how interface a little disappointing and clunky, I can see those guys have put thier hearts into it, but I guess my expectations may have been to high given historical experience with large projects in visual studio. I have started using the PlatformIO and so far really like it. It would be interesting if you did a real hard feature comparison between PlatformIO, Visual Micro and The next generation Arduino IDE. Seems these things have been out in the wild long enough for a fair comparison to be made. You could also introduce the free IDE's as available from the makers of the STM,32 ATMEL and ESP chips. I took a look a couple of them, they are not bad with the one for ATMEL very strong, but for me the better answer is to leverage the common platform for all my microcontrollers as the benifits far outweigh the compromises in nearly all cases.
For the moment, PIO or Visual micro are for bigger projects with a clear tendency towards PIO because it is free. And for the small projects it still is Arduino IDE.
@@AndreasSpiess IFor me, I will only use Arduino IDE for legacy things and testing something as a known good. I managed to get all of my 8 types of microcontrollers working in PIO, making a test project for each. I don't think I would ever open Arduino IDE again to make a program, even for small stuff, fiddling around with the microcontroller setup each time is just to painful.
@@AndreasSpiess No, I haven't tried it yet, partly because of the beta status, partly due to lack of time/need. I lost interest in Arduino a bit after working with manufacturer software to create faster code (at the price of a bit more effort), but I am looking forward to trying the new Arduino IDE on my next project, even if only for a day and switching back. The old IDE was sub-par IMO, I expect the new IDE (once the bugs are ironed out) to be a blessing for makers. Thank you for the quality videos BTW, they have been a reference for me, and I'm sure many others. Kudos to you.
Very good video for me. I had no idea about this tool. Options are nice to have. I love platformio but the lack of backward compatibility is a drag if you want to share your projects with people who don’t want the learning curve.
It's not about bills. It's about flawed business model or deep pockets. Either way, we just became beta testers for them. What if Arduino IDE became paid?
Thanks for Video I'm C# developer working with VS from 2000 Arduino just my hobby doing small projects in free time great what now can use VS instead of Arduino IDE I like Arduino IDE but VS way too superior with debug and code features before compile . I doubt Arduino IDE can catch VS as Microsoft already ve put ton money in VS and will continu its their core product line. Again special thanks to you Andreas Your videos saving ton of my time and you doing that with A++ Quality.
Finally. You’re doing some useful stuff here. It will help people get to a new level. Please stick with these sort of videos. No more begging Chinese companies for free crap. No more ridiculously complicated radio BS that you clearly don’t understand (it’s obvious to radio people). Stick with things that RU-vid viewers can handle. Maybe I will be able to use your work with my students again.
Electron-based applications *really* took over!!! 😬😬 Chromium instances are really heavy, my personal preference is still stick over old C/C++/C#/Java based applications for almost everything. Any thoughts over such trend, Mr. Spiess? Thank you for the always brilliant content!!!
I get the feeling, but just imagine how much fewer pieces of good enough software would exist without something like electron? Particularly when it comes to easily implementable and highly customizable software that actually looks good, that takes way more experienced dev hours to do natively and thats before you talk about being cross platform. Sometimes it's good to accept that tech allows us to be inefficient efficiently. A text editor no longer needs to be super efficient. It can be just ok, because 2ms vs 50 is barely noticeable for loading a text file.
@@AndreasSpiess maybe I am just thinking a bit beyond, but as applications get heavier for the host PCs... you will eventually have to have even more powerful machines in order to program your microcontrollers. And considering that Raspberry Pis are already considered kind of a host machine, running a heavy application on Raspbian will take its toll eventually. That is what I thought behind my first rationale!
Hello. I have a question: I have a project folder in Arduino IDE which consists of several .ino files (in their folders) and the whole folder is in git (and on github) What would be the right steps to create Visual Micro Arduino project from this? So that I could work with it in Visual Studio using all VS IDE benefits OR sometimes in Arduino IDE as needed flawlessly? Is it possible at all?
I just started playing with ESPs and Arduino Boards and I quickly was annoyed by the awful compile times in the Arduino IDE. Even small programs took ages to compile. Some days ago I switched to PlatformIO, which is a really cool free IDE that integrates into VS Codium or Visual Studio Code under Linux and Windows (I guess Mac is probably supported, too). The compile time went down to 1 or 2 seconds, even with some bigger libraries. Serial monitoring, library and board/sensors support is very similar to the Arduino IDE, you can easily install needed packages for your hardware.
VS has better visualization when working with hundred #DEFs. Deactivate defs stay in light glow. VS also record more than 2MB of serial print when terminal is open.
I used Visual Micro for a year. It's very good, but if you're looking to program other micros as well, using their native frameworks (ie. ESP32 with ESP32 IDF, STM32 with HAL, CMSIS) with the advantages of Visual Studio, then take a look at VisualGDB Embedded. It's not free, but worth it IMHO, it pretty well takes care of everything for you without all the tinkering.
I use VisualGDB for native STM32 development. But we are talking about Arduino and last time I checked there was no usable arduino integration in VisualGDB. I'm not sure if Visual Micro and VisualGDB can coexist. I installed them on separate VMs to avoid the risk.
I decided to stick with the Arduino IDE for this channel because otherwise I would have to have a lot of different frameworks, example projects, and libraries. This is different for professionals, of course.
@@MetalheadAndNerd Yes, there is. Besides standard Arduino boards, I've done ESP8266, ESP32, and STM32 blue pill using the Arduino framework in VisualGDB. Select your board and VisualGDB will download/install what's necessary. It's an excellent turnkey solution IMHO.
@@AndreasSpiess Sorry, I don't know, I paid the $99us for the Embedded version, it's half for academics(?). For me, the $ is worth the hassle free setup. I'm mostly using STM32/HAL/st-link these days and it works very well. They do have a 30 day free trial. The support also appears to be very good. OT, but it also now supports the Pico.
Great video...I find Platform IO really great but remembering all the stuff for it is a pain...I will give this new one a go....I think it looks a lot better on your report :)
Just another IDE. It does not work for me. I threw a project to it and it does not build! It does on ArduinoIDE and VSCode. I will play around for a short time, maybe some settings in preferences somewhere. At some point, I decided to do all my programming in VSCode and that works in 99% of the cases.
I did a quite big project with many libraries and it compiled. It was more difficult to understand to debug a multi-core ESP32 project where I had my fair share of problems... But VSC is also a good thing...
I have a question about Visual Micro and Platformio : Is there a debug software feature as with Microchip MPLAB IDE ? I mean a simulator ONLY feature without any board connected to just check the program with variable watches and breakpoints. (same way to debug a windows or linux program)
Sorry this time I cant follow Your great suggestions. No Linux version of this and Platform IO not backward compatible and not yet mainstream .... Will stay walking barefoot 😉
Because I use the Arduino IDE for the channel I want to open the same file with either Arduino IDE or my development platform. I found this works better with visual micro than with PlatformIO.
It’s always funny to see how people can discover standard IDE features when coming from limited/starter platforms .. that’s just like JS user discovering types ,)
For me it was not a discovery. I used a debugger in the 1980s and missed it when I started with Arduino... But of course you can only miss things you know.
I've used most versions of visual studio IDE (was called VSC) since version 1 on windows 3.1 But in 2012 went to full time linux boy. That was so very hard saying good by to it. best IDE ever! So glad they now do Visual Studio Code for all platforms. Just wish they had not given it the same name as the original. Very confusing. They are very different. Looks like visual micro is a SQU of visual studio IDE.
I've used VS Micro but I prefer PIO. Especially the dependency management of PIO is great. You said you don't want/need to work with different versions, but I doubt that. I usually want my 2 years old code to still compile if I go back to it. Arduino and VS Micro cannot do that because once you updated a library, all old code uses the new library and probably breaks. PIO prevents that by keeping the dependencies stable per project.
AFAIK you can "add" libraries to your project. Like that they are part of it and stay as they are. A slightly different approach than PIO but the same goal. So far I only had problems with the ArduinoJSON library from version 5 to 6 where I had to update code.
@@AndreasSpiess yeah okay, you can do that by copying the library code manually into a project subfolder. You could also do that with arduino IDE I guess. But in PIO it is just one line in the ini-file. You have all benefits of a library manager, including easy update and rollback of each library version. I had countless projects fail on me in the past in Arduino IDE because of a library / framework update...
I trie a Lot of Things VisualGdb, Visual Micro, PlattformIO on Atom or VisualStudio Code, Atmel Studio. The original arduini IDE has one really huge benefit: IT works Out of the Box For None-programmers. AS i am using Visual Studio a loti also bought Visual Micro. And was disappointed in so man's ways. Mostly whrn it comes top using a third Party library and Debugging. I Ended up using VS Code with PlattformIo. But For a None. Programmer or Starter i would say: arduino IDE. Less trouble
Question: I got an ESP32-Prog and it shows up on Windows 10 Device Manager as two serial ports.... so am I correct to assume that I do not need to use Zagid as shown in your earlier video?
I assume you found out that the debugger does not work with serial devices.... I keep one as a serial device which can be connected to a board without Serial to USB chip.
How easy is it to add own boards instead of the predefined boards? This is the only thing keeping me from fully switching from Atmel/Microchip Studio to PlatformIO for the AVR-chips (I am not using the Arduino-framework for those...)
Have been using VM now for a couple of weeks and like it quite a lot. One thing is that I have not been able to write a littleFS file system for an esp32. I carefully followed the skimpy directions on the VM website and always get a can't find a tool error. A work around is to set up the littleFS tools in the Arduino IDE (per another good online video) and write the files and file system with this environment. Once the file system is in place files can be read and written from inside a VM C++ program with the appropriate libraries. Another issue I came across is that the serial interface stops working for output if all the pins are setup as Digital IO (required for the board I am designing). Not sure yet which pins are the problem.
+1 for slobber. Now it's my favorite one for hobby projects. Was found it after struggling from arduino ide. Only recommendation to install it as a readymade bundle from eclipse.baeyens.it/installAdvice.shtml Then it works smooth. As plugin I was failed on windows and linux.
Just a hw debugger is not available with slower just out of the box. But it's possible, I even tried it before with esp32. But I remember it was annoyingly slow somewhy.
3 года назад
Just as a note, because I guess many viewers are confused Visual Studio != Visual Studio Code Visual Studio is the "high end" IDE from Microsoft. It's very powerful. You can imagine it like the Eclipse IDE. Visual Studio Code is a very slim IDE, it's good enough for most things.
Simple: PlatformIO is better for bigger projects and programmers. Visual Micro is easier to learn but still has auto completion and a debugger. And Visual Micro is Windows only.
@@AndreasSpiess How about saying what platforms the IDE's run on???? Kind of important. It appears that Visual Micro is a Windows only product, where as many others run on all three of the important platforms.
@@DavidProffer Its obvious? Visual Studio is windows only, visual micro is a VS extension, are there really programmers who dont know what visual studio is?
@sualazzo: Did you use the 2.0? I tried it and for example auto completion did not work after I deleted a letter. Maybe I had bad luck. And looking at the forum there is a lot of work ahead. A complex ESP32 sketch compiled ok. So this side seems to be ok. And we will not get an ESP32 debugger from Arduino. They encourage the community to write one.
Does it support compiler directives like #ifdef, #else, etc?. I was unable to get platformio to do this. I like the idea of separating the serial output window from the main ide. Again I was unable to figure out how to do this on platformio.
Good that comes alternatives for Aduino IDE, it creates competition and AIDE have to wake up from sleeping beauty sleep. I use AIDE, and not planning to swicth so waiting for AIDE 2.0
That's interesting, but I prefer VSC. The only thing is that doesn't comes with a debugger. And works good in linux (debian 10) with a proper installation of Arduino IDE
Great video! I have had so much trouble debugging eps-IDF and ADF and was hoping this would be the answer. After installing it seems visual micro wont let me select my programmed. when I hit the drop down and select esp-prop it goes back to no programmer. Another issue, when i load my project folder and try to build it only shows "run code analysis" not build or build all. Any help would be greatly appreciated, have spent days on this so far with not much progress. I have tried VS code and eclipse with plugins.
Thanks fot the sunday-gem! I always wonder: is there a possibility to completely virtualize the esp32/arduino, to refine the code, before even uploading? This would make things so much faster!
I cannot imagine to virtualize my MCU because it usually interacts with the environment (often in real-time). So I would use a lot of time to simulate this too. Hardware debugging seems to be a good compromise to learn how your code behaves.
Awesome. Love your review/comparison videos. I know you use many microcontrollers, but have you tried STM32CudeMX with STMCubeIDE or using Visual studio Code(free community edition). You can even use espressif or arduino in VS Code
It sounds like most of those features (the code completion, smart rename, etc) are also available in platform IO. Other than the backwards compatibility, and less steep learning curve, does Visual Micro have anything that Platform IO doesn't have? (I'm annoyed with the Arduino IDE and want to use something else. I use VSCode and Visual Studio for work, my preference is VSCode. I'm trying to weigh up if it's worth skipping Visual Micro and using Platform IO)
If you are a programmer, PlatformIO is a good choice. Visual Micro is easier to use for a non programmer and, because I will continue to use the Arduino I DE on the channel, I will use visual micro because of its backward compatibility
Thanks for bringing this to our attention! Even as makers with a strong DIY instinct, sometimes it's better to pay the professionals who know what they're doing. The only pitfall here seems to be the dependency on Visual Studio, which won't do much for Mac or Linux users.
looks great and exactly what I'd be looking for. If only there was a Mac version :(. Dont want to set up a windows partition just for a proper mcu ide. I guess I need to give platformio another go.
ive been using the Arduino 2.0 beta ....it kicks ass over the old IDE... its been working great with ESP32 stuff...picks up all the libs from the old version, just need to reinstall the cores... i tried platform.io and others...but the damn setup is a PITA and stuff didnt work so i gave up... the 2.0 beta just makes it all simple and lets you get to coding instead of having to configure crap every mcu change...
Did autocomplete work properly? Here it sometimes worked, sometimes not, and sometimes very slow. Have to try debugging which is important for me. The compilation of a quite complex ESP32 worked ok.
Espressif has very good support for ESP-IDF in Eclipse. There is also an Eclipse plugin for Arduino from Jan Baeyens. Excellent tool, with some small exceptions. I might be mistaken, but free visual studio favours like a cheese. Perhaps there is a trap somewhere nearby.
I tried Eclipse a few years ago but the learning curve was too steep for me compared with potential rewards. The Arduino IDE pro seems to use it. So maybe I give it a try when it is out of beta...
This looks good! Since I worked with Rowley, Keil or CubeIDE the last few years I feel lost without these features. So do you install Visual Studio first then this extension? It looks a bit like VisualGDB. It’s very nice that Arduino has the board support and examples but anything beyond that it’s very lacking and confusing too. For example I just got an Adafruit Feather, I opened the Arduino Blinky example for it which toggles a pin LED_BUILTIN. So I right clicked to find where it’s defined, nothing. Hover over it to see it’s value, nothing. The .ino file doesn’t even include any .h files (not visibly anyway) but it must be being brought in from somewhere. It just doesn’t make sense and everything is obfuscated, I don’t see how that makes it any easier for beginners than simply showing the pin definitions included in a pins.h file. I for one am glad to see this trend towards proper debugging and useful IDE features, it will only lead to more stable code and a better understanding of what’s really happening :)
One of the big advantages (innovations?) Arduino brought to the user community is to hide a lot of the definitions. But you have to install and select the right board to get those definitions in the background. I do not use Feathers, so I do not know how to do it for that board. But Adafruit usually has good tutorials on their homepage.
@@AndreasSpiess The feathers are just like any other board really. You add the JSON URL, download the BSP and you're good to go! And yes Adafruit has nice guides on their site :) Anyway, seems like this is all going to change soon with many people commenting about Arduino V2!
@@AndreasSpiess OK, I think that IDF is better documented and its also the official API. When looking into FreeRtos there are a lot of documentation to Espressivs version of FreeRtos.
I used freeRTOS in one of my projects with the Arduino IDE (and will show it in a video). I did not have problems, but I only used some basic functions. It seems they use the same calls as the IDF. But if you want to program Espressif only then the IDF is a must. BTW: I could close my channel if I would start to use the IDF and all the other proprietary IDEs to program AVR, STM32, and potentially Nordic :-(
I'm kind of under the impression that Arduino IDE was made to be simple. If you would like breakpoints and variable explorers, use Atmel Studio with the Arduino.h libraries.
I never used Atmel studio and I do not read a lot about it in the Maker community. It seems to be used in the professional world. But maybe I am wrong.
I am using visual micro already for 4 years for my hobbystuff, it works very well. Yes you have to pay for it, but coding in vs on a esp32 and arduino is worth it.😊
Why not just use Atmel studio? On avrfreaks they said visual micro was only useful until atmel studio implemented arduino. Atmel studio is a version of visual studio specifically for all Atmel MCUS. What I cant answer right now is if atmel studio has debug capability without a programmer, which would be the only reason to use visual micro. But there is also a visual micro extension for atmel studio.