Will ESP32-C6 show up as a windows drive if put in bootloader mode?

Just bought 5 Xiao ESP32-C6 and integrated into a product. Out of the box I can upload Arduino code to it. Now I want to try it with microPython (but as far as I know there is no port for it yet) and CircuitPython (planning to use this bin: ESP32-C6-DevKitC-1-N4 Download ). On different boards than this one (e.g Pi Pico and generic ESP32-S2), the procedure to upload new firmware is to press the BOOT button while connecting it to the computer USB, or sometimes press and hold BOOT then press RESET; a drive will then show in Windows for me to drag the bin file. Trying either with my Xiao ESP32-C6 won’t show any Windows driver, is it normal?

Will ESP32-C6 show up as a windows drive if put in bootloader mode?

Hi there,
No the Xiao C6 won’t do that without being programed to do so.
It will if in BootLoader mode put out a Line on the Serial port it’s connected to.
for example: here is one plugged in with boot loop code, just keeps scrolling,
If I hit the reset and hold down the boot buttons I get the last line pops out and it’s ready for good code, provided I have some :face_with_peeking_eye: :smiley:

408192d0: 0xb33fffff 0x00000000 0xffffffff 0x00000000 0x00000000 0x00000000 0x00000000 0x4081938c
408192f0: 0x00000000 0x00000000 0xffffffff 0x00000000 0x00000000 0x00000000 0x00000000 0x408193f0
40819310: 0x00000000 0x00000000 0xbaad5678 0x00000060 0xabba1234 0x00000054 0x00000000 0x40819328
40819330: 0x00000000 0x00000000 0x00000000 0x40819340 0xffffffff 0x40819340 0x40819340 0x00000000



ELF file SHA256: 9608d0dbb2114c79

Rebooting...
ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0xc (SW_CPU),boot:0x7f (SPI_FAST_FLASH_BOOT)
Saved PC:0x4001975a
SPIWP:0xee
mode:DIO, clock div:2
load:0x4086c410,len:0xbc4
load:0x4086e610,len:0x2708
load:0x40875728,len:0x594
entry 0x4086c410/// This is the last line of the boot loop code it just repeats when it is looping.

//This line here pops out when I hold the **boot down** and **Tap the reset** 
ESP-ROM:esp32c6-20220919

Hope that helps, typically I plug in the usb , see which port it’s on then go select board type.
HTH
GL :slight_smile: PJ
:v:

1 Like

I guess my question was more how to update the bootloader in order to use circuitpython on these boards.

Hi there,
Ok, so looks like it’s up on the dev board so,

CircuitPython 9.1.0

This is the latest stable release of CircuitPython that will work with the ESP32-C6-DevKitC-1-N4.

I would look at Adafruits web site see if they have it for there Arduino nano Esp32 bootloader

Not exactly but it may get you closer.
HTH
GL :slight_smile: PJ
:v:

1 Like

So, I was not completely understood in the answers above. What I want to know is how to flash the Circuitpython bootloader on the Xiao ESP32-C6?

Hi there,
Try this
Non-UF2 Installation | Welcome to CircuitPython! | Adafruit Learning System
On an Nrf52840 it’s a drag and drop with UF2 file, Espressif doesn’t have that.
HTH
GL :slight_smile: PJ
:v:

Thank you for the answer. Also found this Overview | CircuitPython on ESP32 Quick Start | Adafruit Learning System , will try later.

Got it working, was able to flash the CircuitPython bin to Xiao ESP32-C6, by using the Espressif “Flash download tool” bootloader - Xiao ESP32-C6 in CircuitPython - Arduino Stack Exchange . Tested with the blink sketch in Thonny IDE

# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries
# SPDX-License-Identifier: MIT
"""CircuitPython CPU temperature example in Celsius"""
import time
import microcontroller
import board
import digitalio

led = digitalio.DigitalInOut(board.IO18)
led.direction = digitalio.Direction.OUTPUT

while True:
    print(microcontroller.cpu.temperature)
    print("On!")
    led.value = True
    time.sleep(0.5)
  
    print("Off!")
    led.value = False
    time.sleep(0.5) 

I document my experience here: Using the ESP32-C6 with CircuitPython - flashing the bin file - FritzenLab electronics

2 Likes