I have been spending a lot more time than I’d like debugging a problem with Heltec ESP8266 boards and the Arduino IDE.
I may be zeroing in on the problem, but mucking about in the deeper configuration of the Arduino IDE has given me new respect for the people who collectively maintain it. For most users, it will just work, and it make embedded program seem, and actually be, easy.
I remember earlier days when embedded was a black art practiced by a few twisted people in back rooms with secret documentation earned the really hard way. Unless you were a big customer, you couldn’t expect too much help with this or that SBC. The tricks to make things work were hungrily accumulated after trial and error. Complicated header files and arcane compiler invocations were painstakingly crafted and carefully preserved. It wasn’t something you could do casually.
But, with the Arduino bootloader and IDE, it was suddenly possible to do some pretty amazing stuff while concentrating mostly on the code. All of that other stuff… is still there, but the user doesn’t even know it exists. They don’t have to. It all happens like magic.
Until it doesn’t, and then, untangling can be a long, dark slog into the internal configurations that weren’t meant for ordinary humans to see.
So the ugly truth about the Arduino IDE is that behind the scenes, it can be very ugly—but the other truth is, you don’t even have to know about that if you just want to make your things work. Just avoid badly supported hardware, stick to the mainstream stuff, keep your IDE and OS updated properly, and make backups of working configurations before changing them.
There is ugliness, but the pretty curtains hide it and you don’t have to open them.
I may be zeroing in on the problem, but mucking about in the deeper configuration of the Arduino IDE has given me new respect for the people who collectively maintain it. For most users, it will just work, and it make embedded program seem, and actually be, easy.
I remember earlier days when embedded was a black art practiced by a few twisted people in back rooms with secret documentation earned the really hard way. Unless you were a big customer, you couldn’t expect too much help with this or that SBC. The tricks to make things work were hungrily accumulated after trial and error. Complicated header files and arcane compiler invocations were painstakingly crafted and carefully preserved. It wasn’t something you could do casually.
But, with the Arduino bootloader and IDE, it was suddenly possible to do some pretty amazing stuff while concentrating mostly on the code. All of that other stuff… is still there, but the user doesn’t even know it exists. They don’t have to. It all happens like magic.
Until it doesn’t, and then, untangling can be a long, dark slog into the internal configurations that weren’t meant for ordinary humans to see.
So the ugly truth about the Arduino IDE is that behind the scenes, it can be very ugly—but the other truth is, you don’t even have to know about that if you just want to make your things work. Just avoid badly supported hardware, stick to the mainstream stuff, keep your IDE and OS updated properly, and make backups of working configurations before changing them.
There is ugliness, but the pretty curtains hide it and you don’t have to open them.