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 9 years ago: duwe added keyword "hardware" to this project.
  • over 9 years ago: duwe added keyword "mips" to this project.
  • over 9 years ago: duwe added keyword "kernel" to this project.
  • over 9 years ago: cyberiad liked this project.
  • over 9 years ago: duwe liked this project.
  • over 9 years ago: duwe added keyword "alsa" to this project.
  • over 9 years ago: duwe added keyword "arm" to this project.
  • over 9 years ago: duwe added keyword "arduino" to this project.
  • over 9 years ago: duwe started this project.
  • over 9 years ago: duwe originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    USB security key running embedded Linux by dmdiss

    Project Description

    Implement a proof-of-...


    Create a DRM driver for VGA video cards by tdz

    Yes, those [VGA video cards](https://en.wikiped...


    Improve Qualcomm SOC msm8994/msm8992 kernel mainline support by pvorel

    Project Description

    Due previous hackweek...


    Modular kernel packaging by mwilck

    Project Description

    Create a PoC for a mo...


    Linux on Cavium CN23XX cards by tsbogend

    Before Cavium switched to ARM64 CPUs they devel...


    early stage kdump support by mbrugger

    [comment]: # (Please use the project descriptio...


    Linux on Cavium CN23XX cards by tsbogend

    Before Cavium switched to ARM64 CPUs they devel...


    Unrealtone Cable by emiler

    Project Description

    Device for connecting...