/ examples / miniesptool_esp32argon.py
miniesptool_esp32argon.py
  1  import time
  2  import board
  3  import busio
  4  
  5  from digitalio import DigitalInOut, Direction  # pylint: disable=unused-import
  6  import adafruit_miniesptool
  7  
  8  print("ESP32 mini prog")
  9  
 10  
 11  # With a Metro or Feather M4
 12  # uart = busio.UART(TX, RX, baudrate=115200, timeout=1)
 13  # resetpin = DigitalInOut(board.D5)
 14  # gpio0pin = DigitalInOut(board.D6)
 15  
 16  # With a Particle Argon, we need to also turn off flow control
 17  uart = busio.UART(board.ESP_RX, board.ESP_TX, baudrate=115200, timeout=1)
 18  resetpin = DigitalInOut(board.ESP_WIFI_EN)
 19  gpio0pin = DigitalInOut(board.ESP_BOOT_MODE)
 20  esp_cts = DigitalInOut(board.ESP_CTS)
 21  esp_cts.direction = Direction.OUTPUT
 22  esp_cts.value = False
 23  
 24  esptool = adafruit_miniesptool.miniesptool(
 25      uart, gpio0pin, resetpin, flashsize=4 * 1024 * 1024
 26  )
 27  esptool.debug = False
 28  
 29  esptool.sync()
 30  print("Synced")
 31  print("Found:", esptool.chip_name)
 32  if esptool.chip_name != "ESP32":
 33      raise RuntimeError("This example is for ESP32 only")
 34  esptool.baudrate = 912600
 35  print("MAC ADDR: ", [hex(i) for i in esptool.mac_addr])
 36  
 37  # 0x10000 ota_data_initial.bin
 38  esptool.flash_file(
 39      "esp32/ota_data_initial.bin", 0x10000, "84d04c9d6cc8ef35bf825d51a5277699"
 40  )
 41  
 42  # 0x1000 bootloader/bootloader.bin
 43  esptool.flash_file(
 44      "esp32/bootloader/bootloader.bin", 0x1000, "195dae16eda6ab703a45928182baa863"
 45  )
 46  # 0x20000 at_customize.bin
 47  esptool.flash_file(
 48      "esp32/at_customize.bin", 0x20000, "9853055e077ba0c90cd70691b9d8c3d5"
 49  )
 50  
 51  # 0x24000 customized_partitions/server_cert.bin
 52  esptool.flash_file(
 53      "esp32/customized_partitions/server_cert.bin",
 54      0x24000,
 55      "766fa1e87aabb9ab78ff4023f6feb4d3",
 56  )
 57  
 58  # 0x26000 customized_partitions/server_key.bin
 59  esptool.flash_file(
 60      "esp32/customized_partitions/server_key.bin",
 61      0x26000,
 62      "05da7907776c3d5160f26bf870592459",
 63  )
 64  
 65  # 0x28000 customized_partitions/server_ca.bin
 66  esptool.flash_file(
 67      "esp32/customized_partitions/server_ca.bin",
 68      0x28000,
 69      "e0169f36f9cb09c6705343792d353c0a",
 70  )
 71  
 72  # 0x2a000 customized_partitions/client_cert.bin
 73  esptool.flash_file(
 74      "esp32/customized_partitions/client_cert.bin",
 75      0x2A000,
 76      "428ed3bae5d58b721b8254cbeb8004ff",
 77  )
 78  
 79  # 0x2c000 customized_partitions/client_key.bin
 80  esptool.flash_file(
 81      "esp32/customized_partitions/client_key.bin",
 82      0x2C000,
 83      "136f563811930a5d3bf04c946f430ced",
 84  )
 85  
 86  # 0x2e000 customized_partitions/client_ca.bin
 87  esptool.flash_file(
 88      "esp32/customized_partitions/client_ca.bin",
 89      0x2E000,
 90      "25ab638695819daae67bcd8a4bfc5626",
 91  )
 92  
 93  #  0xf000 phy_init_data.bin
 94  esptool.flash_file(
 95      "esp32/phy_init_data.bin", 0xF000, "bc9854aa3687ca73e25d213d20113b23"
 96  )
 97  
 98  # 0x100000 esp-at.bin
 99  esptool.flash_file("esp32/esp-at.bin", 0x100000, "ae256e4ab546354cd8dfa241e1056996")
100  
101  # 0x8000 partitions_at.bin
102  esptool.flash_file(
103      "esp32/partitions_at.bin", 0x8000, "d3d1508993d61aedf17280140fc22a6b"
104  )
105  
106  esptool.reset()
107  time.sleep(0.5)