====== Adaptateur USB vers ESP-01 ======
{{ :electronique:esp:pasted:20201207-233302.png?75x75|Adapteur USB vers ESP-01}}

===== Généralités =====

Cet [[https://amzn.to/3oHZ1Eo|adaptateur USB vers ESP-01 avec puce CH340]] permet d'accéder facilement au circuit ESP-01 via le port USB d'un ordinateur. L'adaptateur dispose également d'un régulateur 3,3 V.

Cela permet de recevoir des informations de l'ESP-01 ou d'[[electronique:esp:esp8266-commandes-at|envoyer des commandes AT]].

> Acheter un [[https://amzn.to/3oHZ1Eo|adaptateur USB vers ESP-01 avec puce CH340]]

===== Activer le mode PROGRAMMATION =====


Il faut basculer l'**ESP-01** du **mode UART** en **mode FLASH** ou mode PROGRAMMATION , ce qui permet de programmer l'ESP8266. Cette bascule n'est pas réalisée logiciellement. Il faut réaliser la bascule en **mode PROGRAMMATION** électriquement.


{{ :electronique:esp:pasted:20201212-191417.png |Erreur lors du téléversement vers ESP-01}}

Sans cette bascule, l'IDE Arduino affiche des erreurs graves.

<code>
Executable segment sizes:
IROM   : 234612          - code in flash         (default or ICACHE_FLASH_ATTR) 
IRAM   : 26888   / 32768 - code in IRAM          (ICACHE_RAM_ATTR, ISRs...) 
DATA   : 1252  )         - initialized variables (global, static) in RAM/HEAP 
RODATA : 1376  ) / 81920 - constants             (global, static) in RAM/HEAP 
BSS    : 25112 )         - zeroed variables      (global, static) in RAM/HEAP 
Le croquis utilise 264128 octets (25%) de l'espace de stockage de programmes. Le maximum est de 1044464 octets.
Les variables globales utilisent 27740 octets (33%) de mémoire dynamique, ce qui laisse 54180 octets pour les variables locales. Le maximum est de 81920 octets.
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
  File "/home/cedric24c/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/upload.py", line 65, in <module>
    esptool.main(cmdline)
  File "/home/cedric24c/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool/esptool.py", line 2890, in main
    esp.connect(args.before)
  File "/home/cedric24c/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool/esptool.py", line 483, in connect
    raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
</code>



Certains [[https://amzn.to/3oHZ1Eo|adaptateurs USB vers ESP-01]] ne sont pas équipés de cette bascule. Voici quelques modifications matérielles a effectuer pour rendre programmable l'ESP8266. Cette modification est à effectuer sur l'adaptateur. Il est nécessaire d'avoir de l'**étain** et un **fer à souder**. J'ai utiliser **deux fils** et **une broche de connexion** avec un **jumper**.


{{ :electronique:esp:pasted:20201212-134043.png?150 |Broches de l'ESP-01 }}

Il faut relier les broches **GPIO0** et **GND**. 

{{ :electronique:esp:pasted:20201212-173952.png |Adaptateur USB vers ESP-01 hacké}}

J'ajoute un peu de colle blanche, avec un pistolet à colle afin de rigidifier l'ensemble et de ne pas tirer sur les soudures.

{{ :electronique:esp:pasted:20201213-084414.png |Finition du hack sur l'adaptateur USB vers ESP-01}}

A partir de maintenant, vous pouvez téléverser votre programme.

{{ :electronique:esp:pasted:20201213-083952.png }}

Le programme téléversé écrasera le code déjà chargé et notamment celui avec les commandes AT ([[electronique:esp:esp8266-commandes-at|commandes Hayes]]).

<WRAP clear/>
