This article is part of CAN Bus Embedded Development, my growing online book about practical CAN Bus hardware, software, and embedded system development.
View the complete Table of Contents →
I will not go into detail here about installing and using IDEs or configuring compilers. Those topics will be covered in separate posts. For now, I want to explain the role of the programming environment, how it relates to your hardware, and why I will use the Arduino IDE throughout my online book, CAN Bus Embedded Development.
An IDE—Integrated Development Environment—combines the tools needed to write, build, and, depending on the hardware, debug your application. The editor is where you write the source code. The compiler translates that code into instructions for the target processor. Other tools handle uploading the program and investigating its behavior.
Many microcontroller manufacturers provide an IDE tailored to their own devices. However, an IDE is not inherently restricted to one manufacturer or processor architecture. Its hardware support depends on the available compilers, device packages, libraries, and debugging tools.




