Introduction to Arduino
This is the Arduino UNO. It sells for about $22 and occupies a few square inches. It has it's own USB interface and can be programmed in Arduino's version of 'C'. There is an extensive libraries and 'canned' programs available from the company website as well as many other sources. A very nice (free) integrated development environment (IDE) compiles and uploads your program with a single button click.
is also an Arduino. It works very much like the one above but costs about
$1. There are many other single-chip versions of Arduino in 8, 14, 20,
28, and 40 pin packages with up to 128k of program space. They all work
with the Arduino IDE and can be easily programmed
You can also program the ESP-01 and other 8266 units with the Arduino IDE. You can load in a variety of available 'canned' programs including one that acts as a server or one that works directly with Alexa.
All of the software for Arduino is in source file format. You can see it right on your screen and diddle any changes you want. Compiling and uploading to the target device is a single button click. The source file is an ordinay text file, but the IDE highlights functions and other elements in colors.
The Language Reference page on the Arduino site shows a subset of the C Language along with some additional functions. You actually get a very full implementation but they don't exactly show it. You also get: typedef, struct, union, bitfields, and multi-dimensional arrays.
You can do direct port access out, in, and bit direction and directly access all of the ATMega's internal registers by name.
Inline assembler code is also available in single and multi-line formats.