Best IDE For Complex Projects

I'm working on automating a machine with an Arduino, and looking for a better IDE. I don't like visual coding. (block to block) I've used Visual Studio a lot, and was wondering how well something like Visual Micro works.

I welcome all constructive opinions and suggestions.

Why do you think the Arduino IDE will not work in a complex project? What is a complex project?

Maybe you are really taking about the text editor. If so, use something like 'Notepad++'.


@LarryD, I've used the default IDE for many projects, but I'm starting to get frustrated with it. Not being able to see multiple tabs at once, no code suggestions(IntelSence), no debugging, lack of color-coding, no just-in-time syntax checking, etc.

My definition of a complex project is more than 1000 lines of code, more than one tab, many libraries, and so on.

I use the Geany editor and I have developed a short Python program that can call the Arduino IDE from Geany to compile and upload programs.

I also use Geany for Python, Javascript HTML etc


I've run software teams of > 20 on projects lasting 18 months or more.. ( not on arduinos)

That's a different ballgame.

What do YOU mean by complex?


VisualMicro, combined with VS2015, works very well. The just-in-time syntax checking and intellisense can remove common typing errors and code misunderstandings as they happen, rather than leading to posts in the Programming Questions forum. Even for small projects.

During comping, it often gives more accurate error messages than the Arduino IDE, and the correct line number where the error lies.

It's a big install but you'll only need the C++ language part of VS2015.


jadonmiller: My definition of a complex project is more than 1000 lines of code, more than one tab, many libraries, and so on.

But worked on by only one person at a time?

I define a complex project as one which requires a team of programmers.

I've found IAR stuff quite good...



@allenhurst, yes it's a one person team only. (me!) :)

I’m personally a big fan of the Arduino plugin for Eclipse.

I just use Notepad++ and tell Arduino I am using an external Editor.

I'm currently working on a project for a MEGA, Ethernet, SD, EEPROMs, SPI Rams, SPI Flash + sensors.

My code currently compiles to 100,000 bytes (exactly). It has 3,953 bytes of .ino, 215,482 bytes of .cpp files, and 10,100 bytes of .h files. (not counting all of the Arduino libraries, Wire, Ethernet, SPI, SdFat, RTClib). It looks like about 11k lines of code.

I am currently implementing Server Side Includes for my Arduino Webserver. It is slow, ~1500 bytes second uploads to EEPROM, 3,200 bytes/sec for SDcard. downloads are ~50,000bytes/sec.

The goal is to replicate SparkFun's Data service. On a small Scale :)

This 'server' will do environmental sampling and support remote monitoring(ethernet). The main loop dispatches ethernetClient's and the sampling sequences. The plan is to make it a general purpose 'server' such that the sampling foreground tasks store into the local file system. (I build my own fat file system that uses I2C(24LCxx), SPI(W25Qxx),SPI(23LCxx) chips. I include access to SDFat.h devices transparently. It allows the 'server' to function without a SDcard if necessary. (I can mount/dismount devices in real time allowing me to swap cards without loosing data.)

Also by using the 'soldered on' chips, I can have configuration files available without needing to preload a 'blank' SDcard.

Maybe a more inclusive environment would make me more productive, but, in my experience. The comprehensive environments tend to restrict(channel) solutions to fit their molds.


Have you tried the ATMEL Studio 7? It is free.

If I upgrade my PC, I could but Studio comes recommended by a friend of mine who went pro and got sick of the Arduino IDE being ‘funny’.

Another alternate at least years ago is Code Blocks Arduino.

I reckon the management of any single-person project is down to careful organization of the code and can easily be done while using a simple editor such as Geany (I believe Notepad+ is similar). It is just as easy to get into a mess with something like Eclipse.

The things that I found really irritating when using the Arduino IDE to compile programs are its insistence on having the .ino file in a folder of the same name and its inability to to use relative path names for subsidiary filed. I solved those problems by using a Python program to manage the compile process by resolving path names and putting everything into a shape that satisfies the IDE.


Have a look at PlatformIO

It is a very versatile IDE and has a library manager and many extensions.

I’m not real happy with how the Arduino compiler handles classes and source files. NI$HANT informed that Studio has no such issues. When he went pro, he needed the ability to use C++ fully. He went and got the bicycle without the training wheels.

Until I upgrade my PC, I can’t run Studio. But most of what I do is for public domain anyway, it uses PD libraries or I put a comment in or I post it here. I don’t know how well Studio source would fly on an Arduino forum… oh… wait… there is a section for that, isn’t there?

My favourite IDE is Eclipse with Arduino plugin. It saves me a lot of time to debug the sketch. But for small DIY project, I think we just need to use Arduino IDE which gives us the convenience and quickly.

chucktodd: I just use Notepad++ and tell Arduino I am using an external Editor.

Great Idea! I didn't realize I could just code in whatever I like, ty!

Hey guys,

Not sure if this is the right place, if not refer me to the right thread.

I just wanted to share my miserable experience. I bought the Elegoo Uno Project Super Starter Kit from amazon. When I finally got it it would not work, I contacted amazon who urged me to try contact the manufactuer They were so unhelpful, they gave me a huge survey to fill out and asked me who referred me to the product, I went back and found out I read a review on Its a pretty **** review, I was just ready to purchase.

Anyway I am on the hunt again, can anyone recommend any other amps or even review sites? I heard CNet is pretty good? ' Thanks,