Skip to main content

Posts

Showing posts with the label DAC

24-bit Stereo Audio DAC for Raspberry Pi

This project is about 24-bit stereo DAC, which we build for Raspberry Pi boards. This R-2R ladder DAC is developing around Intel / Altera EPM240T100C5N CPLD. We developed this module after review the PT8211 DAC, which we tested a few months ago. Compare with PT8211 DAC, this module is capable to provide high-quality audio output with Raspbian OS . A finished prototype of the R-2R DAC. At the testing stages, we drive this DAC with the I 2 S bus of the Raspberry Pi 3 Model B board . The provided device tree overlay is developed and tested on the new Raspbian Buster OS. The audio quality of this DAC is impressive. In most of the circumstances, we test this unit using mpg123 player and got excellent results. The MCP602 opamp of this module is capable to drive a headphone, and for the testing, we use Audio Technica ATH-PRO500MK2BK headphones directly with this module. Also, we pair this module with several AF power amplifiers and obtained superior results. The most n...

Verification module for PT8211 DAC

This quick post is about the verification script which I did to test the PT8211 DAC functionality. This script is designed to work with Arduino boards and, I tested with Arduino Due and Arduino Mega 2560 boards. The script is self-explanatory, and it emulates the I2S interface and communicates with the PT8211 DAC. The output waveform of PT8211 on Arduino Due board. With this script, PT8211 generate sine wave in both channels. The frequency of the waveform is dependent on the clock frequency of the Arduino board. In Due board, PT8211 generates 0.052kHz sine wave on both channels. Connections between PT8211 and Arduino. The test setup is quite straightforward. I2S and power pins of PT8211 need to connect to the Arduino board in the following order: Serial clock ( BCK ) - Pin 22 Channel selector ( WS ) - Pin 23 Data ( DIN ) - Pin 24 VCC - 5V (Mega 2560 board) 3.3V (Due board) GND - GND Left and right channels of the DAC is connected to oscilloscope or frequenc...

Generate DTMF tones only using Arduino

Dual-tone multi-frequency ( DTMF ) is a common signaling system used in telephone networks and other communication devices. It uses a mixture of two sine waves to generate tones which represent ten digits, the letters A to D , and the symbols # and * . While I’m examining other Arduino based DTMF generators I noticed most of the designs are based on Holtek HT9200 DTMF generator IC. After a couple of experiments, I figure out that Arduino itself is capable enough to generate DTMF tones without using any external IC or generator. Prototype assembly of the ladder circuit. The design which I explained in this article is based on R-2R ladder DAC. I did this design using Arduino Uno board and still this library support only for this board. But it can easily extend to other AVR MCU based Arduino boards. Schematic of the DTMF generator. The R-2R ladder is attached to the PORTD of the MCU which is Digital out 0 to 7 in Arduino Uno board. In this design, I used 100 Ω and ...