Best IDE to start with?

I currently have a LPC1768 and a STM32F401RE nucleo board. Ive dabbled a bit with the LPC1768 using the LPCXpresso. 

However, I realised that the skills I learnt with the LPCXpresso is not totally transferable to the STM32F401RE when I am trying to use the mbed platform.

I was just wondering, if I want to learn embedded programming as just a hobby to do things like simple I2C/ SPI interfacing with various sensors/ screens, hobby robots etc what would be the best general IDE to learn? (I've seen mbed and Keil mainly)

Ideally I really want a platform/ IDE that would be compatible with many different types of boards (eg 1 IDE for NXP, ST ARM chips etc). I would also prefer if the IDE has good support for high level functions to make programming easier, but also allow me to directly interface with the registers and even do some assembly level programming. Extra++ if the IDE comes with easy documentation and reference support along with a number of online tutorials for learnability.

I may be asking for too much but I hope something like this exists out there haha. I dont have much time left in university and I cant really afford to take many embedded programming courses due to time constraints and because the industry I am going to probably wouldnt involve too much embedded programming. 

  • The IDE is not really as important as learning the core concepts.  With that said  Segger Embedded Studio is nice and covers lots of processors.  Keil is good too and owned by ARM. For ST processors Atollic is OK. 

    Personally I use Eclipse and have for years, it takes a bit more work to setup projects (compiler, linker, debugger) but it is good to learn how this really works.  I am thinking about moving to VScode and maybe platformIO, but have not taken the time to learn yet as Eclipse works well for me, but harder to 'share' code. 

    Again if it was up to me I would require that people learn without an IDE before using one. That is program in simple editor, create make files and learn how to do everything without an IDE before moving to an IDE such that they understand how things work under the cover of the IDE. 


More questions in this forum