@teastain2 I'm not new to all this and perfectly know and use also Arduino.
What follows is about Lily and not you of course.
But when MicroPython is claimed to be supported, it needs more than a vague link.
A fair comparison will be announcing support for Arduino but only provide a link to Arduino website.
I have a fair amount of boards with support for MicroPython or CircuitPython and I have at least a proper firmware for the board.
Drivers exists for LoRa and screen, I was successful in the past with a previous T-Watch.
Once more a company launch a product and do not provide proper documentation.
Maybe it's time to start shaming those companies as it is now a trend to push hardware to the market without anything on software side.
@bugsthewonder Ummm...Often the Unit Test factory test sketch is just that, a test sketch and has no real value to the user. They are often the most difficult to compile and upload successfully, because the tech at LilyGO does not realize that his Arduino IDE setup environment is jam packed with exotics goodies.
Often the boards are tested with PlatfomIO, ESP-IDF or even the test program is already compiled to a binary and directly loaded into the unit!!!
So, I took a look at your program and it would be difficult to edit out the references to VAD.
I depends on what you want from your purchase.
I like to create my own programs, using the examples as examples to figure out how it works.
I finally had some success. I bought another esp32s3 that more resembles the devkit with all pins from the chip accessible and not being used for other purposes.
All USB devices are software driven; some more than others. The esp32s3 is designed to implement a USB device. By default it implements a composite device of both a serial device and a JTAG interface.
The devkit version of the chip I purchased had a second console interface. By default it is independent and has nothing to do with uploading software to the chip or the JTAG. The virtual console can be configured to use either the real serial to usb chip or the virtual usb one. The are some situations where the virtual serial port can stop working so it can be good to use a dedicated serial to usb chip.
There are also some "efuses" that you can trip to permanently configure the chip to use alternative pins on the esp32s3 for jtag. But on the t-display-s3 those appear to be used by the display. So for the t-display-s3 you have the virtual serial port and jtag devices. Those are referred to as "builtin".
The builtin software device is a composite device that has two interfaces. More or less two devices in one. On Windows 10... can't speak for any other version... both devices are installed with the "usbser" (USB Serial) device driver. I have no idea why. You use the "Zadig" utility to more easily tell Windows to switch to using the WinUSB driver that you installed with tools. But you only do that with "interface 2". Leave "interface 0" set to the default "usbser". Once you have used Zadig and only on interface 2 be sure to disconnect and reconnect the usb cable. If you did it right the JTAG device will no longer be listed in the device manager under "ports" but rather will be listed under "universal serial bus devices". Hopefully you will now be able to connect with: openocd -f board/esp32s3-builtin.cfg