Where I attempt to direct all of the questions, pertaining to Developing in C for the Arduino Uno.
How do I find my Serial port?#
A: There is more than one way!
CLI methods
# identify using device
ls /dev/tty* | grep -E 'ACM|USB'
# identify using tio
tio -l
# if you have multiple devices, using tio will provide more information
GUI methods
- Open the Arduino IDE and go to Tools -> Port and write down the port which has (Arduino Uno) after it. If you aren’t using an Uno, it might not identify itself. Which means you might have to guess, or unplug your board and see which one goes away.
- Open CoolTerm, it will provide a drop-down of devices which can be connected to by, CoolTerm.
Why is learning C important for the Arduino Uno?#
A: C is the ideal combination of a common language and a language which is “close” to the hardware. For example, the AVR assembly language allows writing directly to the hardware (the best example of “close”), except it is not commonly known or easily understood. On the other hand, Python is widely known and easily understood, however, due to it’s requirement to be compiled on-board, it is too large to fit into the memory of the ATmega328P (the microcontroller used by the Arduino Uno). The Arduino approach is to use C++, however, C++ is a little more abstract and requires more memory than C. It’s a good compromise for teaching, however, it is not the best language for embedded development.