The "AmpDuino" project

Since I finally realised that even I could probably benefit from incorporating a little bit of software in my otherwise purely hardware-based projects, I have been toying with the idea of building a more generic controller that could be used for many different audio projects. Obviously this is very much inspired by the LCDuino, The HiFiDuino and other similar projects, but I have tried to give it my own flavour anyway 🙂

The AmpDuino is a dedicated shield for an Arduino Nano v3 board. It incorporates most of the connections that would be necessary for audio-based projects while hopefully being expandable enough to be used for other things as well. The standard "breakouts" available are:

- Two I2C connections (for display and one spare)
- Dedicated port for rotary encoder w/ push button.
- Two "trigger" outputs designed to be isolated via a PC827 optocoupler (which is of course optional)
- Three "general purpose" digital inputs/outputs (for IR receiver, IR transmitter or similar)
- Dedicated ports for interfacing with a motor driver for volume pots and sensing the position of the pot (shamelessly copied from the LCDuino…)
- SPI port for controlling DACs or PGA23xx type devices
- Power LED (if there is no Arduino mounted to indicate power)
- Reset terminal broken out to connector (although the Nano onboard RST can be used as well)
- 5VDC input with a another smaller connector that can be used for output.

The board measures 1.95"x2.3" and is two layers.

I wanted this to be as compact as possible, but I have also deliberately based this on the Arduino nano instead of just the microcontroller on its own. The Nano boards are very cheap and having a "complete" Arduino available should make tinkering and tweaking much easier than having to mess with in-circuit programming etc. (ok, this may just be my irrational fears at play here 😉)

I have deliberately moved away from the LCDuino form factor, because a "normal" board can be positioned in many different enclosures. Using I2C for the display driver gives more options than just a standard 16x2 LCD. The I2C display connection also makes it possible to get rid of the port expander and still have enough digital pins for most applications (I think).

Discarded ideas:
- Onboard PSU (not really enough space, probably easier to add an external regulator depending what voltages are available already and how much current is needed)
- Dedicated port for IR sensor (could be done, but he current D1-D3 ports are more usable and will allow other usages as well (real-time clock etc.))
- Onboard components for the IR receiver. Could be done, but would mean the sensor would have to be mounted closer to the board, so probably easier done with an expansion module which has the sensor and the external components on the same board.
- Onboard SSR for power connections: Could be done (with something like a Sharp S202), but again it is more versatile if kept offboard.
- Onboard motor driver for volume pots: Not really enough space and would not always be needed. Instead, I have retained the basic connections and I am working on a dedicated board that can be soldered straight to the terminals of the motor on Alps pots (or at least that's the plan)
- Real time clock: This is obviously a very nifty feature in the LCDuino, but I can't see myself using it in many applications.
- Input selection: This is a tricky one, but initially I'll keep it offboard. Anyway, for relay-based selection you can always "cheat" and send pulses to a 4017 instead. (hmm, probably should make a breakout board for this one…)

Any comments/suggestions? Is this a lousy idea? 😀
 

Attachments

  • Schematic v5.png
    Schematic v5.png
    27.6 KB · Views: 1,010
  • Board v5.png
    Board v5.png
    82.4 KB · Views: 980
  • Ampduino-5.GTO.png
    Ampduino-5.GTO.png
    39.2 KB · Views: 962
I'm currently working on a similar project - a preamp controller controlled by an Arduino Uno R3. I started a thread about it in the digital line level forum. So far I have set up a 16x2 LCD and some tactile buttons to control volume, change input, allow use to change input names, and can save some program variables to/from EEPROM. Mostly I have made the LCD GUI. So far this has used up about half of the 32k of available sketch memory. I still have to implement an IR remote control, a rotary encoder, and the actual control of the preamp hardware. All of this can be accommodated by the existing I/O connectivity of the Uno. I am hopeful that there is room enough for the remaining code...

So far it has been a lot of fun doing the programming and the plethora of open-source sketches and other resources that are available on the web make life a lot easier.
 
Last edited:
Hi Nick,

The current status is more or less what you see above. The PCB basically works, but I scrapped the project that it was intended to go in so I didn't finish the software and I don' know if I will (at least not in that form). Right now I am prioritising a series of smaller controllers based on ATtiny-chips instead of the "full" Arduino.

/U.
 
Hi Nick,

The current status is more or less what you see above. The PCB basically works, but I scrapped the project that it was intended to go in so I didn't finish the software and I don' know if I will (at least not in that form). Right now I am prioritising a series of smaller controllers based on ATtiny-chips instead of the "full" Arduino.

/U.
Hey Nick, ist there a link to those ATtiny smaller controller?