One of the great features of the Arduino community is the availability of thousands of pre-written libraries that add hardware and other functionality to your projects without needing to write your own code. There are usually quite a few to pick from and your code will often depend on libraries, so the quality of the library you use can be critical to how your code performs. How do you write good libraries or how would you evaluate the quality of the latest library you downloaded?
Despite the advent of source level debuggers for Arduino code, one of the most accessible ways to debug Arduino projects is still the Serial.print() statement. It is how most beginners will start when trying to debug their code.
But what do you do with all the print() statements sprinkled through the code once your application is working?
I frequently see see novice programmers asking “how to change variable from hex to binary” or similar questions. Leaving aside the simple number base conversion, these questions are, frustratingly, usually about not understanding fundamental computing concepts.
As am experienced programmer I am often asked for advice by novices (or maybe I just give it?) on coding topics, or how to approach problems, especially related to Arduino topics. Herewith a collection of these pearls of wisdom …