Trouble installing Qbox ODMR firmware

Hi,

I bought a Qbox, and I’m having trouble installing the firmware.

The first time, I installed the firmware from https://youseetoo.github.io/ for the ESP32-C3 ODMR Server, and everything seemed fine. However, when I tried the ODMR experiment, I noticed that the serial port could not connect to some I2C devices, such as the photodiode. Also, the RF sweep was not happening: the plot stayed constant at zero.

After that, I tried to reinstall the firmware, but it did not work.

I checked the board with the Arduino IDE, and I was able to upload small test scripts. This confirmed that the ESP32 is not dead, that it is actually an ESP32-C3 rather than an ESP32-S3, and that the baud rate is 115200.

Then I moved to the new OpenUC2 flashing tool.

I tried reinstalling the ODMR firmware, but it failed. I also tried erasing the flash, both full erase and NVS erase, and then reinstalling, but it keeps failing.

Each time I try, I get a message saying that the installation was successful. Then I press “Next”, and a new window appears asking whether I want to install the firmware or check the logs. After resetting the ESP32, it does not stop beeping, as if it is trying to connect. In the serial monitor, I see this message:

[12:59:41 p.m.] 0xffffffff
[12:59:41 p.m.] invalid header: 0xffffffff

The only way to stop the beeping is to press the BOOT button on the board while reconnecting the USB cable to the computer.

I don’t know where the problem is. Could you please help me understand what might be going wrong?

Thanks.

I solved with the use of Codex!

The ESP32 it is booting correctly, and the I2C photodiode is now detected.

Key lines from the serial output:

boot:0x8 (SPI_FAST_FLASH_BOOT)
openUC2 ODMR Server v1.0.0
SSID: openUC2_ODMR_619628
AP IP address: 192.168.4.1
I2C device found at address 0x29 !
TSL2591 initialized
ADF4351 init

What happened: the openUC2 C3 firmware image from the web flasher starts with empty flash data at 0x0, while the valid ESP32-C3 bootloader is inside the image at 0x1000. That matches the error exactly: invalid header: 0xffffffff. Codex erased the flash, wrote the ODMR C3 image, then patched the valid C3 bootloader into 0x0.

Hey @lionel thanks for reaching out to us! Seems like you solved the issue already on your own. Great! Would you mind which flashing tool you used? the newer version here UC2 ESP32 Firmware Flashing Tool or the older version here https://youseetoo.github.io/ ?

I made a walk-through of the steps that hopefully work for your setup too.

I guess in case the light detection is not working, check the wiring and restart it. The sensor is only recognized during the boot phase of the esp32. I flashed the s3 version, but in your case it’s probably the c3 version. Can you confirm the issue persists?

Actually, you would not need to flash the firmware at all - hopefully. so I’m curious what went wrong with the hardware.

Looking forward to seeing your resonance curves! :slight_smile:

Mein Film 10

Hi Benedict. I tried both flashers, the old and the newer ones. Looking forward start measuring!