board with a builtin analog-to-digital converter?

Hey, Beags. I’m looking for an SBC with a built-in ADC? It needs to be at least 2-channel with at least a 12-bit resolution, but preferably 24 tbh. I have seen an extensive related project like the one I’ve linked to below, but I’m hoping this is fairly overkill for my needs. I just need to ingest 2 analog audio channels and convert them to digital, nothing more. My timelines are limited as well. I have about a month to test a prototype; in other words I don’t have time to build a commercial quality board with something like an ADS1115 where I do all the programming. At least I don’t think I have that time, haha. Anyway if anyone has any good suggestions I’d surely appreciate it! Also the solution needs to scale to potentially thousands of devices. In other words it can’t be from a maker so small they’re either not in business anymore or simply not capable of doing some heftier manufacturing. Thanks again!

Have you looked for SPI ADC modules ? Can use them on anything with SPI which is most SBC boards.

Something like this https://www.amazon.co.uk/Analog-Digital-Converters-Module-Consumption/dp/B0BZZ7553S

The BeagleV-Fire has an 8 port, 16 bit ADC on the SPI port.

Right @lranders which is precisely why I posted in this forum. So my use case is capturing humans talking into fast food drive thrus. The output from this system is single-ended analog so the beagle would need to be performant enough to capture single-ended analog output from the drive thru system. Our current audio “hardware” is using 24-bit resolution with 44.1KHz sampling and this seems to be okay. Do you have any thoughts about the beagle only being able to offer 16-bit?

No I have not @benedict.hewson, but I really appreciate the call out. So a couple thoughts immediately come to mind. The first is that I do indeed have a need for scaled production. So I could potentially be looking to start for at least several thousand units. Secondly, I may be under somewhat tight deadlines? I’m not totally sure yet, I’ll need to confirm with my stakeholders, but that being the case then thirdly: I was sort of hoping for something off the shelf? So I suppose the spi chip above could work it would mean I’d have to design my own sbc or breakout board I think and a) that would be a first for me and b) I’m not sure I have time? Finally – this is for capturing single-ended analog output of humans talking. So it doesn’t need to be super duper high quality audio, but it should be at least a sample rate of 44.1KHz and the chip needs to well…be able to capture humans talking via analog signals.

If you are only interested in human speech you do not need to sample anywhere near 44kHz
Your average female voice is no higher than approximately 255Hz according to Google. A sampling of 8kHz would probably be overkill.
As for bits, probably 16bits would be fine assuming you have a decent input signal and the SBC is not too noisy.

@benedict.hewson I hear you on the sampling range – those are my findings as well; I am naive to this subject though so I’m operating with fairly clunky assumptions, but yeah 44KHz: overkill – roger. As for the fidelity achieved from the relationship between 16-bit resolution and input signal/sbc noise – mm – that is a very fair question. These are fast food systems that are outputting the single-ended analog signal so I don’t conceive of them as high quality; then again it could be fine, I genuinely don’t know. I suppose we have to test it!

Are you aware of any adc chips that support at least 24-bit resolution and more than 2 channels? This is the real rock of our hard place. We have found nothing. We have looked at the da7212, the wm8960 and some others. So for example something like this:

https://www.hifiberry.com/docs/data-sheets/datasheet-dac-adc/

This would be incredible, but (and yeah I realize this is PI related) except it’s only 2-channel and we have a need for at least 4.

Hi Jonas!

When your aim is to present a prototyp in a month, you cannot order/purchase hardware and test it.

Here’re two scientific papers on using the TSC-SS (internal BBB ADC, 12 bit 7 channel):

Your target seems doable when using the right tools.

I think both @benedict.hewson and @DTJF have put it pretty accurate.

I just had to think “Telephone”. Your requirements seems way way overkill.

You really shouldn’t need HiFi specs for dealing with Voice processing.
Even the BBB should be able to pull off something descent in this application.

@lranders @DTJF From the first paper, though granted it is 10 years old:

“The Beaglebone Black being a prime example - the PRUs which make the device so powerful and useful are not supported at all by the manufacturer. The ADC which has the capability of sampling at 200 kSPS is throttled back to a measly 8 kSPS by the manufacturer.”

The paper is 10 years, but I would think this could present a problem.

Will this still be the case? Is there anyway to mitigate this through either a kernel, driver or other software-based intervention? Any insight here would be profoundly appreciated.

merged your two posts… to keep it in the thread…

Yeap, that paper is so old… We’ve gone from un-supported, to fully supported, to ‘legacy’ and no-longer supported (aka it just works in mainline… maybe…)…

PRU & ADC example from ti: Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - pru-software-support-package/pru-software-support-package.git/blob - examples/am335x/PRU_ADC_onChip/README.txt

You can fine tune the ADC via: src/arm/overlays/BB-ADC-00A0.dts · v5.10.x-ti-unified · BeagleBoard.org / BeagleBoard-DeviceTrees · GitLab

Regards,

Done: ADC 8 Click | Mikroe
and driver: ti,ads1015.yaml « adc « iio « bindings « devicetree « Documentation - kernel/git/torvalds/linux.git - Linux kernel source tree

Regards,

The text is missleading. Comparisons were done with libpruio support. libpruio never had that limitation. It offers a proven API since ten years, all configuration in source.

@RobertCNelson @DTJF My team discussed this and came up with the following potential pitfalls:

  1. The starting bitrate is 16bit and the hypothesis is that’s ok b/c it’s just voice audio. Decimation will lower the final bitrate below 16bit. Decimation is downsampling that’s part of ADC to improve the signal to noise ratio. The audio is already poor from the source systems and we will be sampling it in lowfi.
  2. Ensure the bitrate and sampling rate is per channel and won’t drop when multiple channels are used.

Audio… Next time start with that. The built-in ADC was designed to be used with Touch Screen’s…

For Audio, you really need a configurable audio codec…

I don’t play in the audio world… Audio CODECs | TI.com

Regards,