arduino-esp32 icon indicating copy to clipboard operation
arduino-esp32 copied to clipboard

UART initialisation from cold boot sets crystal clock wrong

Open emilfihlman opened this issue 4 months ago • 14 comments

Board

Sparkfun Thing Plus

Device Description

Just the breakout board without nothing (except oscilloscope probes on 16, 17 and gnd) on it and connected to the computer via usb

Hardware Configuration

Just the breakout board without nothing (except oscilloscope probes on 16, 17 and gnd) on it and connected to the computer via usb

Version

3.0.5

IDE Name

arduino-ide_nightly-20240928_Linux_64bit

Operating System

Debian 12.7 Linux hostname 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 GNU/Linux

Flash frequency

80 MHz

PSRAM enabled

no

Upload speed

921600

Description

When connected to computer from no power, device initially starts with 3u period and then immediately switches to 4.5u

On reset button press (ie warm reboot), device stays at 3u period.

When connected to just a power plug from no power, device also stays at 3u period.

RMT is probably just a red herring here, it allows us to easily see a stable frequency at least.

Sketch

#define PIN 16

void setup()
{
	rmt_data_t rawData[]={{.duration0=1, .level0=0, .duration1=1, .level1=1}};
	pinMode(PIN, OUTPUT);
	rmtInit(PIN, RMT_TX_MODE, RMT_MEM_NUM_BLOCKS_1, 1000000);
	rmtWriteLooping(PIN, rawData, RMT_SYMBOLS_OF(rawData));
}

void loop(){}

Debug Message

No messages

Other Steps to Reproduce

Tried multiple of the same device, unopened.

https://youtu.be/8VOk3C6BlFE video of issue

I have checked existing issues, online documentation and the Troubleshooting Guide

  • [X] I confirm I have checked existing issues, online documentation and Troubleshooting guide.

emilfihlman avatar Sep 29 '24 06:09 emilfihlman