Arduino Uno - data transmission and power supply with JACK 3.5mm

Hey Guys,

I got a little project with an arduino uno v3 board and its working fine so far with the USB device. But I need to get it working with a jack 3.5mm for smartphones and pc's. I already got a software to convert the data into audio signals but i dont know how to connect the jack to the arduino. What I know is that a USB device has 5 lines (2 power, 2 data, 1 high speed data?!) and a jack can have 2 or 3 lines.

So my questions:

  • Is it possible to do the data transmission AND power supply with a jack 3.5mm? Or do I need a battery?
  • How do I connect the jack with the board? (I searched the web for hours - but couldnt find anything)

Thanks for your help and greetings, Wolle

You may not have noticed but the first computer mice were plugged into the computer's serial port. There is no power connection to the mouse. The mouse requires power to operate, so how does it work? It's relying on the fact that to transmit serial data, the serial port is giving out a little bit of power with each data bit. The mouse has a circuit to rectify this AC signal and provide just enough DC power for the mouse to work.

Many of the devices you see plugged into a smartphone audio jack work the same way. They are rectifying the audio signal to turn it into power.

An Uno is not very efficient. It sucks heaps of power to run other things on the board. It might work but I don't know how much power you can get from an audio jack. Even an Arduino Pro Mini has a power LED on the board which must be un-soldered to get lower power consumption. (Hint: unsolder the resistor just under the word "Arduino" instead of trying to attack the LED directly.)

I would start by breadboarding 4 diodes together to make a rectifier and see what voltage you can store on a 1uF capacitor. Then add a resistor to see how much current you can draw. If you can get 3.3v at 10mA you can probably run an Arduino Pro Mini off that. If you get lower current then you need to look at minimizing the Arduno's power consumption - only flash your LEDs for one milisecond, put the processor to sleep between actions etc. If the voltage is lower then you need a boost circuit to get it up to 3.3v and you will need to really keep the power consumption down.

When you get to that point, it may be easier to just use a tiny LiPo battery to power the Arduino.

Thanks for your answer!

Maybe I should have told you that the power consumption will be relatively high. It supplies a LCD display and another external device. So I guess I'll need a battery :/

What about the "how to connect the jack?"? ;)

USB device has 5 lines (2 power, 2 data, 1 high speed data?!) and a jack can have 2 or 3 lines.

5 lines: power, Gnd, Data+, Data-, and ID (typical use is for USB On The Go (OTG) - it's not always connected to anything)

Jack: typically audio left, audio right, Gnd.

So the headphone out jack is short on some things.

You'll want to connect each audio thru a large value electrolytic cap to an Analog pin, with a 100K resistor from +5 to the analog pin, and a 2nd 100K from the pin to Gnd, so the audio will sit at ~ 2.5V and oscillate from ~1.5V to 3.5V (+/- 1V for line level signal).