Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
driver-examples
Rust example programs for many of my hardware device drivers running on STM32F3 Discovery, STM32F103 "Blue Pill", RaspberryPi and micro:bit boards
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Using PWM to play audio is flawed (but usable for many applications), other approaches such a sigma-delta will lead to much better results, but with a lot more effort. https://github.com/tierneytim/Pico-USB-audio seems like a reasonable implementation at first glance.
Agreed.
While ΔΣ modulation, also known as pulse-density modulation, is not supported in "hardware" on Pi Pico, it is possible to do it in "software" with programmable IO, like in tierneytim's Pico-USB-audio project you're linking to.
Also, PDM input could be done in similar fashion: https://github.com/mkvenkit/mico
It was actually quite simple and a lot of fun to write (and hear!).
Video: [1]
Source code: [2]
[1]: https://blog.eldruin.com/ad983x-waveform-generator-dds-drive...
[2]: https://github.com/eldruin/driver-examples/blob/master/stm32...
Yep, it's a Google project. We've also got a GitHub mirror: https://github.com/google/pigweed