NOTE: UART1's default pins can be used only when SPI Flash is DIO thanks @ladyada
many possible problems fixed in preparation for thread-safe