The pico microprocessor is simple and inexpensive. A good example of using it for TinyML is Raspberry Pi Pico Has Number Recognition TinyML Powers
Yea, I am pretty excited about the Pico. It costs very little and if we can just get the right sensors onto it, it would be an awesome platform.
One thing that would be great is if the edX exercises we have could be ported over to these new platforms, so that people aren’t stuck with the Arduino only option that we put together; we just had to start some place. But from a learning standpoint it would be great to have solutions for multiple boards but same general pedagogy.
I’m excited by them too - when I saw that Pete had added support for tensorflow on them I picked up a Pico to be able to play around with (but haven’t yet done so).
A common set of sensors or an integrated board goes a long way to help in course/learning situations though - hence the choice of the nano sense 3 for the edX course is good because they are all integrated (bar the camera)… but there is a large cost difference! While waiting for part 3 to start I have been trying to get a modified version of the keyword spotting example working on an ESP32 - most of the problems I’ve had though were with the integration of the microphone as it is operates differently than the example case.
It would be awesome if you could post your repo solution when you have it working.
That said, I do believe that KWS should be already running on the ESP32 by default through the keyword spotting benchmark that’s provided as part of TFLite Micro. Is that not right?
You are correct - after reading your reply I realised I hadn’t actually tested it with the micro_speech example without my modifications. Building it and flashing it with the esp tools… and changing the microphone to the expected pin it did indeed work without any modification with some success (it seemed a little slow responding initially)
So I suspect I was either hitting issues with my writing of the code or it might also be related to the build tool as well (I was using platformio and I was getting warnings because of the C, rather than C++ which I didn’t really investigate)
We’ve found there to be a lot of warnings that have no impact on performance so I wouldn’t necessarily worry too much about them. Pete and team and working to get rid of them in future code releases!
Among the frustrating parts of working with embedded systems is in establishing a stable workflow that you can re-use easily to bring up a new project. I like the vscode platformio extension way better than the arduino IDE and have been using it for a couple of years now in deploying on the esp8266.
I too, am enamored with the esp32. Espressif seems to really push on using ESP-IDF instead of Arduino as the development platform. Have you gotten ESP-IDF working under platformio? Do you use the vscode platformio extension? What kind of computer are you using?
I have an Esp-Eye and a Rover or 2 and have gotten the toolchain to work using the vscode espidf extension on a windows machine running WSL2 & ubuntu 20.04 (not in a remote vscode window). More work to do. So far, mainly in keeping myself unconfused over the multiple forks I have made in my quest for a stable workflow.
Maybe we should run a subtopic on this stuff?
This looks exciting.
picoML
I moved my response over to the programming Q&A forum: