You don't need to run `make all` before running `make flash`, `make flash` will automatically rebuild anything which needs it.
+# Viewing Serial Output
+
+The `make monitor` target will use the already-installed [miniterm](http://pyserial.readthedocs.io/en/latest/tools.html#module-serial.tools.miniterm) (a part of pyserial) to display serial output from the ESP32 on the terminal console.
+
+Exit miniterm by typing Ctrl-].
+
+To flash and monitor output in one pass, you can run:
+
+`make flash monitor`
+
# Compiling & Flashing Just the App
After the initial flash, you may just want to build and flash just your app, not the bootloader and partition table:
default "hard_reset" if ESPTOOLPY_AFTER_RESET
default "no_reset" if ESPTOOLPY_AFTER_NORESET
+choice MONITOR_BAUD
+ prompt "'make monitor' baud rate"
+ default MONITOR_BAUD_115200B
+ help
+ Baud rate to use when running 'make monitor' to view serial output
+ from a running chip.
+
+ Can override by setting the MONITORBAUD environment variable.
+
+config MONITOR_BAUD_9600B
+ bool "9600 bps"
+config MONITOR_BAUD_57600B
+ bool "57600 bps"
+config MONITOR_BAUD_115200B
+ bool "115200 bps"
+config MONITOR_BAUD_230400B
+ bool "230400 bps"
+config MONITOR_BAUD_921600B
+ bool "921600 bps"
+config MONITOR_BAUD_2MB
+ bool "2 Mbps"
+config MONITOR_BAUD_OTHER
+ bool "Custom baud rate"
+
+endchoice
+
+config MONITOR_BAUD_OTHER_VAL
+ int "Custom baud rate value" if MONITOR_BAUD_OTHER
+ default 115200
+
+config MONITOR_BAUD
+ int
+ default 9600 if MONITOR_BAUD_9600B
+ default 57600 if MONITOR_BAUD_57600B
+ default 115200 if MONITOR_BAUD_115200B
+ default 230400 if MONITOR_BAUD_230400B
+ default 921600 if MONITOR_BAUD_921600B
+ default 2000000 if MONITOR_BAUD_2MB
+ default MONITOR_BAUD_OTHER_VAL if MONITOR_BAUD_OTHER
+
endmenu
@echo "Erasing entire flash..."
$(ESPTOOLPY_SERIAL) erase_flash
+MONITORBAUD ?= $(CONFIG_MONITOR_BAUD)
+
+# note: if you want to run miniterm from command line, can simply run
+# miniterm.py on the console. The '$(PYTHON) -m serial.tools.miniterm'
+# is to allow for the $(PYTHON) variable overriding the python path.
+monitor: $(call prereq_if_explicit,%flash)
+ $(PYTHON) -m serial.tools.miniterm --rts 0 --dtr 0 --raw $(ESPPORT) $(MONITORBAUD)
+
.PHONY: erase_flash
@echo "make clean - Remove all build output"
@echo "make size - Display the memory footprint of the app"
@echo "make erase_flash - Erase entire flash contents"
+ @echo "make monitor - Display serial output on terminal console"
@echo ""
@echo "make app - Build just the app"
@echo "make app-flash - Flash just the app"