ESP-01 -> USB-TTL
===================
3v3, EN -> 3V
TX -> RX
RX -> TX
GND,IO0 -> GND
IO0 -> GND -- programming mode
IO0 -> 3.3V -- normal boot mode
RST - via button - GND - when you press button it resets
It draws around 60-80ma @ 3.3V. Can check the USB to TTL 3.3V regulator on the back for max power. Mine is AMS1117.
sudo apt install esptool
Read chip info:
esptool.py --port /dev/ttyUSB0 flash_id
Output:
Detecting chip type... ESP8266
Chip is ESP8266EX
Detected flash size: 1MB
Chip datasheet:
https://documentation.espressif.com/0a-esp8266ex_datasheet_en.pdf
nothing interesting except that it supports external FLASH via SPI up to 16MB
Dowload firmware:
https://www.espressif.com/en/support/download/all?keys=8266 pick ESP8266 NONOS SDK
Direct link: https://codeload.github.com/espressif/ESP8266_NONOS_SDK/zip/refs/tags/v3.0.6
extract and go into /bin
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash \
--flash_mode dout --flash_size 1MB \
0x00000 boot_v1.7.bin \
0x01000 at/512+512/user1.1024.new.2.bin \
0xFC000 esp_init_data_default_v08.bin \
0x7e000 blank.bin
0xfe000 blank.bin
Make a backup:
esptool.py --port /dev/ttyUSB0 read_flash 0x00000 0x100000 esp8266_at_backup.bin
Restore backup:
esptool.py --port /dev/ttyUSB0 write_flash 0x00000 esp8266_at_backup.bin
Connect to ttyUSB0 you can use CuteCom. Use speed 115200 and at INPUT select CR/LF.
Commands:
https://docs.espressif.com/projects/esp-at/en/release-v2.2.0.0_esp8266/AT_Command_Set/index.html
AT
Ouput: OK
AT+GMR
Output:
AT version:1.7.6.0(Jan 24 2022 08:56:02)␍␊
SDK version:3.0.6-dev(072755c)␍␊
compile time:Jun 17 2024 07:38:00␍␊
Bin version(Wroom 02):1.7.6␍␊
AT+CWMODE?
→ shows current Wi-Fi mode:
-
1= Station -
2= SoftAP -
3= Both
Connect: AT+CWJAP="YourSSID","YourPassword"
AT+CIPMUX=0
Compile and configure ESP3D as a Serial UART to WIFI Bridge
Optional if you want better speed
ESP3D/esp3d/src/core/esp3d_settings.cpp
#define DEFAULT_BAUD_RATE "230400"
#define DEFAULT_SERIAL_BRIDGE_BAUD_RATE "230400"
Compile
====
python3 -m venv platformio
source platformio/bin/activate
pip install platformio
cd ESP3D
platformio run -e esp01_1m_bridge --target clean
(optional if you change settings and want to do a new compile and be sure all the new settings get compiled)
platformio run -e esp01_1m_bridge
Upload firmaware
====== dont forget to have IO0 to GND and reset before uploading
esptool.py --port /dev/ttyUSB0 flash_id
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 write_flash 0x00000 .pioenvs/esp01_1m_bridge/firmware.bin
If you want more speed use a ESP32
ESP32
[env:esp32dev_bridge]
platform = espressif32@6.4.0
board = esp32dev
framework = arduino
board_build.flash_mode = dio
board_build.f_cpu = 240000000L
build_flags =
-D ESP3D_BRIDGE
-DNDEBUG
-DVTABLES_IN_FLASH
monitor_speed = 115200
upload_speed = 921600
platformio run -e esp32dev_bridge