#no CIRCUITPY on Windows
1 messages · Page 1 of 1 (latest)
ok. I am here
No there is no disk unit on Windows Device Manager
Only COM4
pure serial
do you have any other ESP32-S3 boards?
and they work fine on the same computer?
but do you have another ESP32-S3 board that does have a build available at circuitpython.org?
No
does that show up with CIRCUITPY?
Yes
Thonny uses the REPL invisibly to read and write files
have you forked the circuitpython repo? Could you push your additions for Xiao ESP32-S3 to your fork in a branch?
Yes
so I can look at the code?
here:https://github.com/djairjr/circuitpython/tree/main/ports/espressif/boards/seeed_xiao_esp32_s3_sense
I've made two things: clone this repo and also clone adafruit repo and copy just the board folder.
With my Repo, the compiled version is 7.0.0
I don't understand why
it is good to make changes like this on a branch instead of on main. Keep your main synchronized with upstream, and use a branch for changes. Then it's easy to submit a PR
but anyway, let me take a look
Sorry Danh, I'm not very good with Github. I usually save my experiences there, but I still don't really understand how to contribute. I'm working on this Seeed board because I really like their hardware and I can buy it here in Brazil at a good price.
I am also installed Circuitpython in another Xiao ESP32 S3. Same problem.
np - see https://learn.adafruit.com/contribute-to-circuitpython-with-git-and-github for an overview
Ok. Now I got it. clone original repo, create a new branch, start to make mess
As soon as we understand what is happening, i will clear and start again
you could just delete your fork and start over. Or do a hard reset of main to match the adafruit repo
how can I make the hard reset?
git reset --hard to a certain commit. But that's complicated. If you don't have other stuff in your fork, just deleting and starting over is easier
Do you know if there's a schematic for this board? I have not found one. Seeed either doesn't have them or buries the link.
No. I have it.
do you mean you have a link? Could you paste it?
The pinout is in this excel file.
Seeed even announces that the board supports Circuitpython, but the person who made the version only uses a generic version of ESP32 S3. It does not comply with seeed compliance, pin nomenclature and does not support the camera and flash memory. That's why I decided to make it from scratch.
have you loaded a generic ESP32-S3 build? Does it present CIRCUITPY on Windows?
Yes. I will make it again now
do you mean load it or rebuild it?
You should just be able to use one from circuitpython.org
Try this one, which is 8MBflash/8MB PSRAM: https://circuitpython.org/board/espressif_esp32s3_devkitc_1_n8r8/
This image opens Circuitpython drive
I've already tested before (and now too)
Do you think there is something wrong with flash config on my files?
it is the same as the generic one above. it's not clear to me how the seeed board is configured
but if that one works, since it matches yours, then maybe it is a build problem. I can do a build locally with your board definition and you can try it.
are you using the UF2 or the .bin version of the generic, and how about for your own build?
and you've erased flash before loading it?
Yes
did you just try the 9.1.1 espressif_esp32s3_devkitc_1_n8 version, or the 9.2.0-alpha.2350 version?
there are two downloads in the right column 9.1.1 and 9.2.0-alpha.2350, which one did you use?
9.1.1
I will build a 9.1.1 but with your board files. back in a few minutes
these were built on 9.1.1 with your board files
i have some other ideas about clearing out USB stuff on Windows if this does not work.
Same problem here. But when I download or install that firmware on Circuitpython site, the CIRCUITPY drive appears.
@snow rune I think that this problem is related to USB_PID / USB_VID. Seeed does not have a number on this list. https://github.com/espressif/usb-pids
I simply copy the same number of Espressif board to see if it works
are you saying the builds I uploaded above are not working for you?
the builds I made are working or are not workign?
not work
same error
I've compiled again, changing the beggining of mpconfigboard.mk
I've copyied the USB_VID and USB_PID from Espressif board.
The registered USB VID/PID is not known by anyone except Espressif. Windows doesn't know it. HOWEVER, Windows can decide that certain devices are not working, and remember that. You can get Windows to forget it. Use Uwe Sieber's USB Cleanup tool, as described here: https://learn.adafruit.com/welcome-to-circuitpython/troubleshooting#device-errors-or-problems-on-windows-3094694. Unplug all the boards, run the tool, and delete all the unconnected devices. Then plug the board in again
I've made it
since you may have had problems with early builds of the board, Windows might be remembering the VID/PID
When you sugested before
Now it works.
Just changed the beggining of file USB_VID and USB_PID values.
ok, so try the cleanup tool I mentioned, and then try with my build again, with the original USB_PID value you gave.
this we hope will make windows forget "hey, this VID/PID is a bad device"
Those USB_PID and USB_VID numbers are not from Seeed Studio. They didn't fill out that list and this is a long-standing request from the Adafruit people to them. I don't remember where I got those values ​​from before. I had started working with this board and then I got involved with another project and only got back to it now. I'm going to keep the Espressif numbers, which are the ones that worked here, and I'm re-addressing this problem with the people at Seeed Studio. I'll try again with your version as soon as I restart the machine.
We will need to to get a number from Seeed for the actual port. But the number you chose is not in itself the problem. Windows doesn't know or care what the number is, except noticing problems, as I mentioned.
Ok.
@snow rune I actually tried several times to delete the USB drivers as per the instructions in that link, but it still didn't work. However, the versions I generated by changing the USB_VID and USB_PID values ​​work. Both 9.1.1 and 9.2.0
https://github.com/djairjr/Seeed_Xiao_ESPS3_Sense_Circuitpython
Thank you!
Were you able to greatly shorten the list of USB devices in the Cleanup tool? If so, there may be some further registry hacking necessary, but I don't know exactly what it would be.
Were you able to greatly shorten the list of USB devices in the Cleanup tool?
Yes.
But for now, I need to understand camera support and other stuff. I've already told to Seeed people about it. I have two versions working.
This may be of some interest: https://www.tenforums.com/drivers-hardware/117460-how-make-windows-forget-usb-device-if-i-had-never-plugged.html. It's not clear to me if the "DevNodeClean" tool does the same thing as the USB Cleanup tool or not.
Still working on this, ok? There is a lot of wrong pins. I will test if camera works.
An then I will be back to Windows USB issues
Ok. I got a working version, with the camera working and displaying images on the GC9A01 display (Xiao Round Display). But I couldn't run the audiobusio example with the microphone input.
I receive the message: NotImplementedError: PDMIn
https://github.com/djairjr/circuitpython/tree/seeed_xiao_esp32s3/ports/espressif/boards/seeed_xiao_esp32_s3_sense
CIRCUITPY_AUDIOBUSIO = 1 // Mic Support?. Don't put a comment on the same line as a value in the .mk file. First of all that's a C style comment. Second of all the entire line is taken, as the definition from the = following
audiobusio is I2S, not PDMIn.
hold on for more...
ok
Sorry, audiobusio does include PDMIn, but there is no espressif implementation. CIRCUITPY_AUDIOBUSIO_PDMIN has to be set and it isn't, because there's no impl.
Ok.
There is basically no audio in on Espressif. You might be able to use an analog microphone and use analogbufio, but I don't think it would be satisfactory for streaming audio
Could I add something like that:
#include "shared-module/audiobusio/init.h"
in pins.c?
Not sure what you mean. there is no shared-module/audiobusio. The PDMIn is port-specific on the ports that provide it.
Ok Danh. The PDM mic is that one: https://www.denovocn.com/sites/default/files/MSM261D3526H1CPM.pdf
I will dig into it.
In schematics, this Mic is directly connected to pins GPIO42 (CLK) and GPIO41(DATA).
There is no I2S hardware
I think we would do I2SIn before or instead of PDMIn, since there is a peripheral.
I forget, what is your use case for a microphone?
I just to fully support the board. Xiao ESP32_S3 has this accessory with OV2640 camera and microphone. I've allready got the camera working
But not the microphone.
Is that the mic that is on the accessory?
ok, yes, the I2S peripheral could also do PDMIn, but we don't have an implementation :/
I will try to add this: CIRCUITPY_ANALOGBUFIO = 1
that needs an analog mic
Ok.
So I believe that, barring this implementation, I already have a working firmware for the card and the expansion. I had already removed that comment that was on github from my compiled version. I did tests using the camera and the display. Now I'm going to get my test files for the other modules and I believe that when Seeed does its part, we will have functional support for this board.
Thank you very much, Danh. For your patience.