DIY Tube amplifier controlled by ARDUINO.

Hello

I’ve just finish my new OTL tube headphone amplifier and as a beginner of Arduino I would like to implement it to my new project. I would like to control it by the rotating encoder and IR also.

Looking for some audio (logarytmic) digital potentiometer project. What do you think about DS1808, MCP42010 ? Do you know some Arduino project to control that?

There was other idea - to not include any silicon at the audio path - just connect servo with alps potentiometer. I’ll be not able to reach 100% of it’s range because servo has 180degree range vs ~270degree of Alps - but it’s not a problem.

I would like control also ON/OFF function and it will count down tube heating time before High Voltage activation. Also there is an idea to implement VU meter to this project - everything based on the 2 x 16 red display. But it’s still open point - I’m not sure if I will handle everything as a beginner. So as a VU meter could be that I will use 2 tubes - EM84

I've had very good results from dedicated volume control IC's like the PGA2310 / PGA2311.

Very good audio quality, and easy to control with an Arduino.

Ian.

Congratulations on your headphone amplifier, it looks very nice and professional. Did you build it a kit?

If you're thinking about using a digital volume control (eg DS1808) then any electronic interface would work - why the Arduino specifically? What do you intend to do with the Arduino?

Regarding using a servo with a pot, some servos rotate a full 360 degrees (they are sold in a specially modified format) so your worry about not reaching the full 270 degrees is unfounded!

VU meters are simple to create with or without an Arduino - so once again why are you considering using an Arduino other than just for the fun of it (which is a great reason, believe me!). I'm sure the 'magic eye' EM84 could be interfaced too but I've no experience of this valve.

Perhaps you need to elaborate on your plans a bit and experiment too, to see what is possible and/or feasible. If you get stuck then people on this forum will assist, as always.

Why Arduino? Because it will bring me new lessons on that. I'm begginer. Doing exercises without any final machine enjoy untill 10th time... then it will be nice to use it in real device.

I'm creating DIY devices for pleasure. Last time I fall in love in tubes. If you would like take a look on my other hand made toys you can find some of the bottom of :

LINK

regarding PGA2310 / PGA2311 - I'm not able to find on local (Poland) market :confused:

ian332isport:
I've had very good results from dedicated volume control IC's like the PGA2310 / PGA2311.

Very good audio quality, and easy to control with an Arduino.

I've also ordered a couple of PGA2310's and I'm looking into the software part. There's some example code from 5+ years ago, but that doesn't utilize the SPI library at all.

Do you by any chance have some working SPI based code for me?

MrHaroldA:
Do you by any chance have some working SPI based code for me?

It really is quite simple.

void sendVolume(byte left, byte right) 
{
  digitalWrite(CS_PIN, LOW);
  SPI.transfer(left);
  SPI.transfer(right);
  digitalWrite(CS_PIN, HIGH);
}

I wrote this function, which you just pass the left and right volume level in the range 0-255. 192 equals 0dB. Anything above that, and you'll get some gain from the chip.

sendVolume(192,192);

You'll obviously need to include the SPI library, define the CS pin, and set it as an output, but that's all there is to it.

You don't strictly speaking need to send the left and right levels separately. You could just send a single volume level, and send the same value twice.

Ian.