Programmer ESPRUINO sur un ESP32

Introduction

Voici comment programmer le firmware ESPRUINO (https://www.espruino.com) sur un ESP32 (https://www.espressif.com/en/products/hardware/esp-wroom-32/overview). Ce firmware permet de coder en Javascript pour controller le module.

La solution est très complète et facile a utilisée.

Ce tutoriel est fait avec Windows 7

Matériel

  • Un ESP32 ( ESP32-WROOM-32 )
  • Python 3
  • esptool.py
  • Les firmwares
  • ESPRUINOWEB IDE
  • Putty

Étape 1 – Installer Python 3

Accéder à ce lien : https://www.python.org/downloads/

Suivez les instructions pour installer Python

Étape 2 – Installer esptool

ouvrir un Shell puis lancez la commande:

pip install esptool
$  esptool.py
esptool.py v2.8
usage: esptool [-h] [--chip {auto,esp8266,esp32}] [--port PORT] [--baud BAUD]
               [--before {default_reset,no_reset,no_reset_no_sync}]
               [--after {hard_reset,soft_reset,no_reset}] [--no-stub]
               [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]]
               {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,version}
               ...

esptool.py v2.8 - ESP8266 ROM Bootloader Utility

Étape 3 – Télécharger les firmwares

Accéder à ce lien : http://www.espruino.com/Download

Choisir ESP32 puis cliquer sur la dernière version suivit du (Directory)

Télécharger les 3 fichiers

  • bootloader.bin
  • espruino_esp32.bin
  • partitions_espruino.bin

Étape 4 – Installer le driver pour le ESP32

Accéder à ce lien : https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

Puis suivez les instructions pour installer le driver

Étape 5 – Booter le Module ESP32 pour le flasher

Brancher le Module avec le port USB et s’assurer qu’il est détecté dans les périphériques,

Device manager ESP32 – CP210x

J’ai du tenir le bouton ‘BOOT’ et en même temps cliquer une seule fois sur le bouton ‘EN’ puis après 1-3 secondes on peut relâcher le bouton ‘BOOT’ pour que le programme esptool.py soit en mesure de détecter la chip.

Donc, voici comment effacer la flash pour la reprogrammer.

  1. Lancer esptool.py (Remplacer le COMx par le votre)
esptool.py --chip esp32 --port COM6 erase_flash

2. Appuyer sur BOOT et garder enfoncer, puis EN et relâcher BOOT

Voici un example du output obtenu:

esptool.py v2.8
Serial port COM6
Connecting........_____....._
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 00:00:00:00:00:00
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.3s
Hard resetting via RTS pin...

3. Programmer ESPRUINO

Assurez vous d’être dans le bon répertoire,

esptool.py    \
        --chip esp32                                \
        --port COM6                        \
        --baud 921600                               \
        --after hard_reset write_flash              \
        -z                                          \
        --flash_mode dio                            \
        --flash_freq 40m                            \
        --flash_size detect                         \
        0x1000 bootloader.bin                       \
        0x8000 partitions_espruino.bin              \
        0x10000 espruino_esp32.bin

Le output obtenu:

esptool.py v2.8
Serial port COM6
Connecting........_
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 00:00:00:00:00:00
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 15392 bytes to 10130...
Wrote 15392 bytes (10130 compressed) at 0x00001000 in 0.1 seconds (effective 892.2 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 166...
Wrote 3072 bytes (166 compressed) at 0x00008000 in 0.0 seconds (effective 877.7 kbit/s)...
Hash of data verified.
Compressed 1366240 bytes to 883347...
Wrote 1366240 bytes (883347 compressed) at 0x00010000 in 12.9 seconds (effective 844.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Ensuite vous pouvez utiliser Putty pour confirmer que le tout a fonctionné:

ESP32 – ESPRUINO

Étape 6 – Installer ESPRUINO IDE

Accéder à ce lien : https://chrome.google.com/webstore/detail/espruino-web-ide/bleoifhkdalbjfbobjackfdifdneehpo

Puis suivez les instructions pour installer le IDE

** Pour utiliser le IDE, vous devez fermer la fenêtre Putty,

Voici un example:

  • baudrate: 115200
ESPRUINO WEB IDE – ESP32

Vous pouvez à présent programmer en javascript sur votre module ESP32.

Laisser un commentaire