Reading A TRS Mic Input

Hey, I am primarily a programmer and new to the hardware side of things in general. I am looking to read input from a microphone through a TRS port into my Arduino UNO R4. As far as I understand, the Arduino cannot read negative voltages and the input from the TRS port ranges between -2.5v and 2.5v.

From my research I have concluded I will need to use some sort of resistor setup from the 5v and ground pins of the Arduino in order to get a 2.5v output which I can then use to combine with the TRS signal in order to shift its output to be between 0 and 5v.

If that is correct, what component setup would I need? I would assume I would have to have a resistor connected to the 5v pin and a separate resistor connected to the ground pin, but then how would I combine them to get the 2.5v output and after that what would I use to combine the 2.5v with the TRS mic signal to get an output signal ranging from 0v to 5v?

Also, I'm sure I've made some leaps in logic here to say the least, so correct me on anything I got wrong and let me know if you need more info.

Why amplify the mike voltage then reduce it? Why not pick a compatible if available?

The specs for the Arduino Uno R4, either WiFi or Minima, don't mention a TRS port. Neither do the board schematics.

Can you post a link to the specs for or a description of the "TRS port"?

To connect audio output signals to the analog inputs requires DC blocking and a voltage divider to set the required offset voltage, like this for line level input:

Of course! I also mislabeled the port as TRS when it is TRRS, sorry! I've attached a link to the one I bought below.

On this forum, that would probably be called something like "audio jack breakout". It should not be connected directly to an Arduino unless the audio signals have a DC offset.

If you want to digitize mono or stereo signals, you need to build or buy a board with one or two of the DC offset circuits shown above in post #3.

I don't recall seeing anything like that being sold commercially, but it is easy to make one on a breadboard.

A line-level or headphone-level will work (with the bias circuit) but a microphone signal has to amplified (by about 100 depending on loudness and the sensitivity of the microphone).

Also, "computer microphones" are usually electret condenser mics which require power, normally supplied by the soundcard.

A microphone board may be a better solution. They have a microphone, preamp, and a biased output. Or SparkFun publishes schematics so you can copy the circuit.

I have that one, and the sensitivity is a bit weak and there's no gain control.

There are a few different kinds of microphone boards. That one puts-out a biased analog audio signal.

There are other "sound sensor" boards that put-out a varying DC voltage proportional to the loudness.

Or some have a sensitivity adjustment and they put-out a logic 1 when the sound is louder than the threshold and a zero when quieter than the threshold.

Or there are some with I2S digital audio outputs.

And some boards have a combination of different outputs.

Can you please tell us what you want to do with this information when you have read it?

This is because depending on what you want to do will determine what sort of Arduino you will need. I would say that a UNO R4 would not be my first choice of processors to use, but it does have a digital to analogue converter as well as a couple of analogue to digital converters.

By the way have you read any of the "Related topics" at the end of the thread?

Yes, I plan to record the mic input and then transmit that data over a wireless AP back to a separate program running on a desktop computer connected to the same AP.

Also, I read through the related topics, and it seems like they are giving a similar solution to what @jremington brought up where I need to make a DC offset circuit.

Let me know what you think!

The one I posted is for line audio.

For a microphone, you need an amplifier that also adds a DC offset. One example

The circuit in post #3 should work but change R1 to 10K

Could I use the circuit you provided above with the audio input connected to the "Sleeve" pin of the TRRS aux port and then plug the Arduino output into pin A1 since I think that pin on the Arduino R4 Wi-Fi is an opamp? Or would I need a different component/circuit for this to work?

Sorry, I'm very new to hardware, what effect does changing R1 from 1k to 10K have on the circuit?

Describe the audio source.

If you know how to make a microphone preamp with an op-amp, the built-in one should work. If done "correctly" bias is included in the preamp circuit and you don't need a separate bias circuit.

...It would also be a good idea to test the mic preamp by plugging it into your stereo or TV or into powered computer speakers, etc.

Depending on the driving circuit you may not need that resistor at all! If the circuit is unknown it should be included to provide a DC current path.

An op-amp or headphone output will work with a 1K (or higher) impedance load. For line-level audio signals 10K-100K is standard. 1K will also work with speaker outputs (normally 4 or 8 Ohms) but with "high power" amplifiers you'd have to protect against over-voltage.
[/quote]

It will draw less current from the microphone

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.