I think the main functinality most people use is to interrogate the chips -e.g. using chip_id, or flashing firmware ```victorhooi@Victors-MacBook-Pro-3 ~/c/g/firmware (main) [2]> esptool.py -p /dev/tty.usbserial-TG1001d00 write_flash 0x0 ~/Downloads/WLED_0.15.0-b2_ESP01.bin esptool.py v4.7.0 Serial port /dev/tty.usbserial-TG1001d00 Connecting... Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 48:e7:29:49:1b:19 Stub is already running. No upload is necessary. Configuring flash size... Flash will be erased from 0x00000000 to 0x000d8fff... Compressed 887168 bytes to 638884... Wrote 887168 bytes (638884 compressed) at 0x00000000 in 56.7 seconds (effective 125.3 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...``` and ```victorhooi@Victors-MacBook-Pro-3 ~/c/g/firmware (main) [2]> esptool.py -p /dev/tty.usbserial-TG1001d00 flash_id esptool.py v4.7.0 Serial port /dev/tty.usbserial-TG1001d00 Connecting.... Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 48:e7:29:49:1b:19 Uploading stub... Running stub... Stub running... Manufacturer: ef Device: 4014 Detected flash size: 1MB Hard resetting via RTS pin...```