circuitpython: ESP32-S3 write() crashes when busio.UART called with tx pin as IO15 (and others)

CircuitPython version

Adafruit CircuitPython 9.0.0-beta.0 on 2024-01-27; ESP32-S3-DevKitC-1-N8R8 with ESP32S3

Code/REPL

# Crashes:
import board, busio
serial = busio.UART(board.IO15, board.IO18, baudrate=115200)
serial.write(b'1234567890')

# Works:
import board, busio
serial = busio.UART(board.IO15, board.IO18, baudrate=115200)
serial.write(b'1234567890')

Behavior

>>> import board, busio
>>> serial = busio.UART(board.IO15, board.IO18, baudrate=115200)
>>> serial.write(b'1234567890')
**(System crashes)**
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
>>> import board, busio
>>> serial = busio.UART(board.IO16, board.IO18, baudrate=115200)
>>> serial.write(b'1234567890')
10
>>>

Description

I need to use IO15 as the TX line for a UART but after instantiating the uart with the call to busio.UART(…) the call to write(…) causes a reboot.

Entering the following via the REPL (as well as within a program) demonstrates the issue.

import board, busio serial = busio.UART(board.IO15, board.IO18, baudrate=115200) serial.write(b’1234567890’) (System crashes) Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.

If the tx pin is IO16, it works fine.

import board, busio serial = busio.UART(board.IO16, board.IO18, baudrate=115200) serial.write(b’1234567890’) 10

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 5 months ago
  • Comments: 16 (4 by maintainers)

Most upvoted comments

Confirmed - ESP32-S3 on board was damaged.