Show HN: Sonatino – small audio dev board based on ESP32-S3

Hi!

My name is Ben, and I recently updated my audio dev board "Sonatino" after receiving a lot of good feedback from the initial launch a year ago.

I began working on this after building a few projects that required audio capabilities. I was getting tired of wiring up external DACs and amplifiers to ESP32 boards, so I decided to look for a more compact, integrated solution. The available options either had larger footprints, non-standard connectors, or features that I didn't typically need for my projects. That's when I started working on a custom PCB that could be a sort of "audio swiss army knife". The result was Sonatino.

Some have criticized the use of a DAC and ADC that support HD sample rates and bit depths, especially when other factors will limit the usefulness of anything over 44.1kHz/16-bit audio. I actually agree - HD audio in this context is mostly overkill, but most modern audio chips support it and it's entirely optional. My primary goal was for the ADC and DAC to be easy to use - no I2C configuration required (like many of the CODECs available). It needed to be easy to use from an Arduino programming environment. The chips I selected (from Cirrus Logic) were a good fit; they just also happened to support higher sample rates / bit depths.

The latest revision drops the built-in antenna in favor of an external one. It also has a better speaker amp (3.2 W), an RGB LED, and improved power circuity. It's been a fun little board to work with!

https://sonatino.com/

Check it out and let me know if you have feedback. Price is currently higher than I'd like, but that's a result of it being manufactured at low volumes.

35 points | by sonatino 6 days ago

14 comments

  • jfkw 3 days ago
    Can the developer or any Rust users comment on using Sonatino with the Rust ESP32-S3 toolchain?

    Is there an SVD file defining the Sonatino's specialized peripherals so one can use rust2svd to create a Peripheral Access Crate (PAC) specific to the Sonatino? I'm interested in the other ergonomic Rust HAL representations as well.

    https://github.com/esp-rs/esp-pacs/tree/main/esp32s3

    https://github.com/rust-embedded/svd2rust

    https://github.com/rust-embedded/awesome-embedded-rust?tab=r...

  • alexliu518 3 days ago
    Ben’s update on the Sonatino audio dev board is compelling, reflecting thoughtful improvements based on user feedback. Initially created to integrate audio capabilities more seamlessly into projects, Sonatino now features a better speaker amp, RGB LED, and external antenna. While some critique the HD audio support as overkill, Ben emphasizes ease of use with Cirrus Logic chips, making it Arduino-friendly. The product remains a niche, low-volume item, affecting its price, but its compact, versatile design makes it a must-see for audio developers.
  • emmanueloga_ 3 days ago
    The thing I have bookmarked for when I get to try some audio projects is this "Daisy" board [1].

    Other than the MCU difference (ARM Cortex-M7 vs ESP32), I wonder if you are familiar with it and can talk more about the differences. From afar, it seems like the Daisy has a bit more muscle while being cheaper ... but raw processing power is not always the whole story!

    Thanks!

    --

    1: https://electro-smith.com/products/daisy-seed?variant=452342...

    • sonatino 3 days ago
      I've seen Daisy before but never tested it personally. Looks like a nice board, and if it covers what you need, go for the more economical option!

      For me, it comes down to convenience and connectivity. Sonatino has WiFi, BLE, a built-in 3.5mm jack, integrated amplifier (for a small external speaker), and battery charging. I was building some toys and interactive audio/art projects (example: https://hackaday.io/project/191186-sax-a-boom-clone ), and Sonatino made it really quick to get up and running.

  • tofof 4 days ago
    How does this stack up against a Teensy? The rev 4 is ~$24, and the audio shield is ~14, so that clocks in at about 75% the price of the sonatino. Looks like the sonatino picks up more flash, wifi (at the cost of an antenna, though), ble. AFAICT the teensy is limited to 44.1/16 but can do up to 16 channels, but doesn't 'officially' support the adc for audio in. Looks like teensy ends up with another addon board for a PT8211 dac...

    At this price point an arduino due seems like maybe a better comparison. The Due has 16 analog inputs, 2 DACs, bluetooth, but no wifi, no sd card, and no amplifier. And of course it's a much larger form factor.

    Hm. It's a narrow niche - compact, battery, speaker amp, audio in/out, wireless - and you need to want at least half of those for this to really justify the price - but might be a good board when a pi is overkill. Even so, I just yesterday finished an esp8266 / max98357 build; yeah, wiring up the six pins on the max is not as convenient, but then again a d1 mini and the max are both less than $3 apiece, and $6 is a far cry from $50. (Note the max98357 is the same amplifier present on the sonatino).

    • ostenning 3 days ago
      Teensy 4.1 uses an imxrt MCU - a crossover chip that is considerably fast. The ESP32 is slow in comparison, more aligned with IoT applications than realtime processing.
  • grahamophone 4 days ago
    Looks cool. How is the input/output latency on this? For example if you were to use it as an effects processor (which would use both input and output), or a MIDI keyboard controlled synth/sample player (output only)? I had a Mod Duo which I stopped using due to the quality of the sounds/effects not making the latency it had worth it.

    For reference, I currently use a Motu M2 which gets roughly 3ms in, 3ms out at 128 bit buffer size and 6ms in 6ms out at 256 bits. The 3ms out is fine, but when I get to 6ms out I start to notice the lag when playing virtual instruments from a MIDI keyboard.

  • rowe_morehouse 5 days ago
    That sounds cool, right on.

    But I don't really agree with those people who insist that 44.1/16bit is all you need.

    I do all my audio work at 48k/32-bit float. There is a reason for this: it's to avoid clipping when you are doing destructive effects. With 32-bit you can spike above zero-db but still preserve the curve of the waveform, and bring that spike back down under zero-db before you render.

    Not sure how this impacts your board or your use-case, but I wanted to point this out. It's probably overkill in your context.

    I convert everything to 48k/32-bit, even when I am ripping from AAC video, converting mp3s, whatever.

    • 05 3 days ago
      I don’t see how your 32bit float argument applies to codec specs, since you can only get a 24bit signed int from/to a codec. You’ll need a limiter to convert floats to ints either way, 24bit or not.
    • sonatino 5 days ago
      Thanks for your comment! Yes, there is a place for higher sample rates and bit depths - especially for authoring content and playback on high-end systems. As you mention, real-time effects can also benefit.

      I could have worded what I said better; I don't think people are arguing it's never needed, just that on a small board like this (with limited space for more filtering, isolation, balanced inputs/outputs, etc), other factors can somewhat limit the usefulness of higher sample rates and bit depths. That said, the audio quality has been great for the things I've done with the board.

    • anigbrowl 3 days ago
      Same. You can render out to 44.1/16 really well but it's not a good format to work in.
  • johnboiles 3 days ago
    Purchased! I've recently been poking around with two audio-related esp32 things I might use this for: Home Assistant Assist via ESPHome, and audio streaming with esp-adf (Espressif's official audio development framework). Excited to try out your board! With the high quality DAC I'll probably end up making this into an audio streamer board for our office.
  • beshrkayali 3 days ago
    This looks very useful to get started prototyping a few project ideas I have! Seems like Amazon link is US only though? Are you planning on selling in EU anytime soon?
    • sonatino 3 days ago
      It kind of depends on demand. So far I've been doing fairly small production runs to test the waters (and I'm still new to selling physical products; I'm a software engineer by day). If sales pick up, I'd love to start selling it in Europe.
  • nick__m 4 days ago
    That hardware look much better than the feature-full but buggy (the board not the chip) ESP32-A1S board that I have used to build a toy synthesizer (monophonic 2 "flute" voices , multitap delay and fuzz, controlled by MIDI-BLE).
  • spdustin 4 days ago
    Looks great! Have buyers used it to create a Wyoming Satellite? A write-up of such a project would help gain a lot of traction, as Home Assistant users are using S3Box and M5Stack boards now and feeling like they're not getting good quality result.
  • jauntywundrkind 4 days ago
    The most common DSP used for Sound OpenFirmware (SOF) is based around a Tensilica DSP. I've beenn curious if the Tensilica esp32 chips might be a natural port for this code... https://thesofproject.github.io/latest/introduction/index.ht...

    Annoyingly if you do have a real DSP you seemingly need Cadence's proprietary XCC compiler to use the Xtensa HiFi SIMD instructions. But given that these probably aren't available on these host cpus anyways the gcc build is probably just fine!

    Would be cool to have some of the tip top DSP software actually usable. Alas SOF kind of gets to the last quarter mile then drops dead, isn't generally usable, it feels like. But something like this might perhaps make a somewhat interesting way of getting close-ish.

  • gigel82 3 days ago
    Interesting, but at this price range we're overlapping something like Raspberry Pi 4 which has significantly more compute power.

    I'd like a very cheap WiFi 2-way audio device that one could use like an "Alexa / Echo" sort of thing against a self hosted (LAN) powerful server that can do all the STT, TTS, audio streaming, etc. locally. Does that exist already?

  • MrBuddyCasino 3 days ago
    This looks great, would have loved this back when I was doing audio stuff on the ESP32. There were no good compact options. It is a bit on the expensive side tho!
    • tgv 3 days ago
      It is expensive. Perhaps if demand is high enough, the production becomes cheaper?
  • andrewstuart 4 days ago
    If it used a TRRS jack instead of a TRS jack and an esp32 (not the S3, which does not have a DAC) then it could also output video from these projects:

    https://github.com/rossumur/espflix

    https://github.com/rossumur/esp_8_bit

    https://github.com/bitluni/ESP32CompositeVideo