Daisy Seed Rev 7 PlugData: How to Set Input Gain

Hi, I have got Rev7 and want to use it for Guitar signals. So I would like to increase sensivity a bit. The datasheet says that there is a register to set ADC digital attenuation.
Is “digital attentuation” a real variable gain amplifier?
How can I set it using PlugData?
(I do know about high impedance of Guitar signals.)
Thank you!

Hmm, I’ve never heard of this setting. This is not something that the Pd->Daisy integration takes into account at all.

Is there a reference in libDaisy you can point to related to this?

Which datasheet - ElectroSmith-Daisy or STM or ? If you provide a link to it and a page number we might be able to answer your question.

1 Like

You can perform bitshift operation in hardware, but that just discards some data (which is typically noise for lowest bits). But in first place, why would you want to run guitar signal through ADC instead of audio codec? Do you realize that it has much lower resolution and is not intended to process audio? Or that it won’t run on audio sample rate?

Hi, thank you very much for your answers!
Yes, I too have not found any hints in the documents, but I am new to daisy seed. There are so many files…

Of course I want to use the Acd of Pcm3060.

I was speaking of registers 70 and 71, page 36.

There must be some setup routine for pcm3060, where I could learn how to write the registers and where I could add something?

By ADC most people here would mean MCU peripheral, rather than codec input. You certainly can customize libdaisy code used to access registers and initialize registers.

I’m pretty sure those registers are not available on Daisy. They are accessible via SPI or I2C, but on Daisy, pcm3060 serial pins aren’t connected to the MCU.

Only ‘pretty sure’ because there isn’t a schematic for rev7 Seed.

1 Like

Thank you! This is a very good starting point!

Hm, now I tried to modify dev/codec_pcm3060.cpp but this is not even compiled. I introduced a syntax error, but no reaction of the tool chain. It looks as if the codec init routine is never used?

1st Question:
I am using plugdata. This should use the source in: …Documents\plugdata\Toolchain\usr\lib\libdaisy\src\dev

2nd Question:
When does the toolchain check for the version of Daisy Seed to link in the correct codec code???

Thank you very much! Christof

  1. yes

  2. what do you mean with “the version of Daisy Seed” ?

I think what @cebersp is referring to is the different hardware versions of the seed which have different CODECs. And I believe this gets handled at a fairly low level inside the driver and transparently to higher levels.

Here’s a summary of the changes in CODEC from June 2023:

Yes, exactly, I meant the different revisions with different codec chips.

The toolchain doesn’t check for Seed board revision, that’s done at runtime.

So you believe, that there is no way to set the registers?

Without schematic, I am not 100% certain, but it looks to me like there is no way to set the registers in pcm3060.