Building on top of <a href="http://rdimitrov.twistedsanity.net/blog/show.php?entry=Microcontroller%20Class%20D%20Amplifier,%20Rev2">Rouslan Dimitrov's Microcontroller Class D Amplifier</a>, I developed the idea to feed the power amplifier with PCM data directly. Rouslan does some dithering and noise shaping, but I'm convinced that proper interpolation would sound better. The ATtiny is too slow to do even cubic interpolation so I'll move that into the host.

The result should be an ALSA driver, that does <a href="http://en.wikipedia.org/wiki/Upsampling">upsampling</a> of 44.1 or 48 kHz to about 240 kHz (the Class-D <a href="http://en.wikipedia.org/wiki/Pulse-width_modulation">PWM frequency</a>) and sends it over preferably, but not limited to, <a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus">SPI</a> towards the AVR, which will drive the power FETs with its PWM outputs. This can give any (embedded) linux system the right audio "punch" with a fairly short <a href="http://en.wikipedia.org/wiki/Bill_of_materials">BOM</a>.

Looking for hackers with the skills:

alsa arm arduino kernel mips hardware

This project is part of:

Hack Week 10

Activity

  • over 6 years ago: duwe added keyword "hardware" to ALSA Pure Digital Power Amplifier
  • over 6 years ago: duwe added keyword "mips" to ALSA Pure Digital Power Amplifier
  • over 6 years ago: duwe added keyword "kernel" to ALSA Pure Digital Power Amplifier
  • over 6 years ago: cyberiad liked ALSA Pure Digital Power Amplifier
  • almost 7 years ago: duwe liked ALSA Pure Digital Power Amplifier
  • almost 7 years ago: duwe added keyword "alsa" to ALSA Pure Digital Power Amplifier
  • almost 7 years ago: duwe added keyword "arm" to ALSA Pure Digital Power Amplifier
  • almost 7 years ago: duwe added keyword "arduino" to ALSA Pure Digital Power Amplifier
  • almost 7 years ago: duwe started ALSA Pure Digital Power Amplifier
  • almost 7 years ago: duwe originated ALSA Pure Digital Power Amplifier

  • Comments

    Be the first to comment!

    Similar Projects

    work on sunxi a64 cpufreq driver (for teres-1, pine64) by mbrugger

    With the teres-1 [1] laptop we have a first arm...


    openSUSE/SLE/Mainline U-boot for some not-yet-supported ARM64 boards by ldevulder

    The Khadas VIM (http://khadas.com/vim/) is an a...


    Port MicroOS to the Gameshell from Clockwork Pi by aplanas

    The [Gameshell](https://www.clockworkpi.com/gam...


    Mainline Sunplus Plus1 SP7021 kernel for Banana Pi F2S by a_faerber

    The recent Banana Pi BPI-F2S board features a n...


    fun hardware peripherials by michals

    There are many fun peripherials that you can co...


    openSUSE/SLE/Mainline U-boot for some not-yet-supported ARM64 boards by ldevulder

    The Khadas VIM (http://khadas.com/vim/) is an a...


    Upstreaming of mediatek helios board by mbrugger

    The only Mediatek "hacker" board available is f...


    Mainline Sunplus Plus1 SP7021 kernel for Banana Pi F2S by a_faerber

    The recent Banana Pi BPI-F2S board features a n...


    netlink interface for ethtool by mkubecek

    There seems to be an overall consensus that the...


    Help with mainline support for the Mediatek chromebook (MT8173 based) by mbrugger

    Lately the necessary patches to get rudimentary...


    work on sunxi a64 cpufreq driver (for teres-1, pine64) by mbrugger

    With the teres-1 [1] laptop we have a first arm...


    "Physical" notifications with Raspberry Pi and addressable LEDs by dannysauer

    I'd like a way to have a device on my desk whic...