#i2s — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #i2s, aggregated by home.social.
-
Нестандартное решение для стандартных задач: пробуем вычислительный модуль Luckfox
Привет, Хабр! Глядя на то, как из-за кризиса производства оперативной памяти цены на одноплатные компьютеры улетают в космос, чувствуешь острую необходимость искать для своих проектов более бюджетные и порой нестандартные решения. Одним из таких решений, которое случайно попалось мне на глаза, стал вычислительный модуль Luckfox Core 1106. В данной статье мы посмотрим его характеристики, соберем операционную систему и запустим I2S-интерфейс для передачи цифрового аудио. Если стало интересно, то добро пожаловать под кат!
https://habr.com/ru/companies/timeweb/articles/1030976/
#linux #diy #diy_или_сделай_сам #timeweb_статьи #электроника #Luckfox #i2s #аудио
-
Нестандартное решение для стандартных задач: пробуем вычислительный модуль Luckfox
Привет, Хабр! Глядя на то, как из-за кризиса производства оперативной памяти цены на одноплатные компьютеры улетают в космос, чувствуешь острую необходимость искать для своих проектов более бюджетные и порой нестандартные решения. Одним из таких решений, которое случайно попалось мне на глаза, стал вычислительный модуль Luckfox Core 1106. В данной статье мы посмотрим его характеристики, соберем операционную систему и запустим I2S-интерфейс для передачи цифрового аудио. Если стало интересно, то добро пожаловать под кат!
https://habr.com/ru/companies/timeweb/articles/1030976/
#linux #diy #diy_или_сделай_сам #timeweb_статьи #электроника #Luckfox #i2s #аудио
-
Нестандартное решение для стандартных задач: пробуем вычислительный модуль Luckfox
Привет, Хабр! Глядя на то, как из-за кризиса производства оперативной памяти цены на одноплатные компьютеры улетают в космос, чувствуешь острую необходимость искать для своих проектов более бюджетные и порой нестандартные решения. Одним из таких решений, которое случайно попалось мне на глаза, стал вычислительный модуль Luckfox Core 1106. В данной статье мы посмотрим его характеристики, соберем операционную систему и запустим I2S-интерфейс для передачи цифрового аудио. Если стало интересно, то добро пожаловать под кат!
https://habr.com/ru/companies/timeweb/articles/1030976/
#linux #diy #diy_или_сделай_сам #timeweb_статьи #электроника #Luckfox #i2s #аудио
-
Нестандартное решение для стандартных задач: пробуем вычислительный модуль Luckfox
Привет, Хабр! Глядя на то, как из-за кризиса производства оперативной памяти цены на одноплатные компьютеры улетают в космос, чувствуешь острую необходимость искать для своих проектов более бюджетные и порой нестандартные решения. Одним из таких решений, которое случайно попалось мне на глаза, стал вычислительный модуль Luckfox Core 1106. В данной статье мы посмотрим его характеристики, соберем операционную систему и запустим I2S-интерфейс для передачи цифрового аудио. Если стало интересно, то добро пожаловать под кат!
https://habr.com/ru/companies/timeweb/articles/1030976/
#linux #diy #diy_или_сделай_сам #timeweb_статьи #электроника #Luckfox #i2s #аудио
-
[Перевод] Вайб‑кодинг для ПЛИС: как я собрал I2S FIFO‑реклокер без знания Verilog
Вайб‑кодинг выглядит безобидно, пока речь идет о скриптах, лендингах и небольших сервисах. Но что будет, если попробовать с его помощью собрать проект для ПЛИС: с I2S, FIFO‑буфером, DSD, S/PDIF, UART, PSRAM и отладкой на реальном железе? Я проверил это на практике и почти без знания Verilog прошел путь от мигающего светодиода до рабочего FIFO‑реклокера для цифрового аудио. Получилась история о том, где ИИ действительно помогает инженеру, где уверенно ведет в тупик и почему в какой‑то момент все равно приходится доставать логический анализатор. Читать кейс
https://habr.com/ru/companies/otus/articles/1032870/
#ПЛИС #FPGA #Verilog #вайбкодинг #ИИ #I2S #FIFO #реклокинг #цифровое_аудио #отладка
-
Arduino Audio and MIDI Frameworks
I’ve been collecting bookmarks for interesting Arduino audio projects for a while now, and having now played with the XIAO SAMD21 I started looking back over my list for other things to try. One thing that occurred to me is that there are a now a number of more powerful audio frameworks available for a range of microcontrollers, so in this post I’m doing an introductory “look see” at some of them, largely as “notes to self” to come back to them for some more detailed projects in the future.
Note: Many of these require a 32-bit processor, which is one of the reasons I’ve not looked at them so far.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to microcontrollers, see the Getting Started pages.
Mozzi
I’ve spent quite a bit of time with Mozzi of course, the synthesis library for Arduino that supports a large range of microcontrollers, including the “original” 8-bit Arduino ATmega328P, so I won’t go over that again here.
For a starting point with Mozzi, see: Arduino PWM MIDI Synthesis with Mozzi. For using Mozzi on a 32-bit SAMD processor, there is more here and here.
But Mozzi isn’t the only game in town, especially if we’re expanding out to 32-bit microcontrollers.
The Arduino Sound Library
https://www.arduino.cc/reference/en/libraries/arduinosound/
This is an official Arduino library that supports SAMD21 based microcontrollers using an I2S digital to analog converter. It is designed for the MKR series of official Arduino boards.
Interestingly it appears to only support I2S audio devices for sound input and output. That seems like a little bit of a missed opportunity to me in that the SAMD21 has a built-in DAC, but I guess analogWrite() deals with access to the DAC relatively easily.
It is designed for official Arduino SAMD architecture boards – so those in the MKR series. It might work on other SAMD architecture boards, I haven’t looked into it in detail.
Phil Schatzmann’s Arduino Audio Tools
https://github.com/pschatzmann/arduino-audio-tools
This is a suite of open source code for audio stream processing, providing a range of audio sources (e.g. microphones, Internet streams, files, sensors, and so on) and sinks (e.g. DACs, PWM audio, MP3, codecs, audio modules, etc).
It can be used to build audio players, processors, effects, file processors, audio visualisers, networked audio tools, and so on.
I believe it supports the following microcontroller architectures:
- ESP32 (S and C variants)
- ESP8266
- RP2040 (MBED and non-MBED)
- AVR
- STM32
- SAMD
It supports several audio output boards too, including: ESP32-A1S based boards (ES8388 or AC101 codecs); VS1053 modules; and WM8960 modules.
I believe this is a library for audio processing, not necessarily audio synthesis.
Marcel Licence’s ML Synth Tools
https://github.com/marcel-licence/ML_SynthTools
This is a comprehensive synth library for producing synthesizers, organs and effects. Most of the code is open source, but there are certain key elements that are provided only in pre-built library form.
It provides libraries for the following microcontrollers:
- ESP32
- ESP8266
- XIAO SAMD21
- Teensy 4.1
- Daisy Seed
- Raspberry Pi Pico RP2040
- STM32F407
As well as the synthesizer core oscillators there are modules for arpeggiators, effects, meters, scopes, and MIDI file playing. Here are some example builds using the library:
- ML Organ (all platforms): https://github.com/marcel-licence/ml_synth_organ_example
- SAMD21 Synth: https://github.com/marcel-licence/samd21_mini_synth
- ML Synth (all platforms): https://github.com/marcel-licence/ml_synth_basic_example
- ESP32 FM synth: https://github.com/marcel-licence/esp32_fm_synth
- ESP32/RP2040 e-piano: https://github.com/marcel-licence/ml_epiano_example
Although it isn’t fully open source, this non-the-less looks like it would be worth taking a more detailed look. The provided videos of Marcel playing are particularly excellent.
MIDI Controller Libraries
There are a number of Arduino libraries for building MIDI controllers. Here are a selection of some that I’ve found so far.
OpenDesk MIDI Platform – https://github.com/shanteacontrols/OpenDeck
This is a set of firmware and two official PCB designs for MIDI controllers. In addition to the official boards, it also supports many microcontrollers, including:
- Arduino Mega 2560
- Arduino Nano 33 BLE
- Raspberry Pi Pico
- XIAO RP2040
- Teensy++ 2.0
And many others. It includes a web-based configuration utility for defining the MIDI commands for the controls. Official boards are available on Tindie and you can read more about them here: https://shanteacontrols.com/.
It supports a range of buttons, encoders, potentiometers, force sensitive resistors, certain touchscreens and can provided feedback using LEDs and displays.
Control Surface – https://github.com/tttapa/Control-Surface
This is a general purpose library for building MIDI input and output control devices. It supports a wide range of microcontrollers, including:
- AVR (Uno, Mega, Leonardo).
- Arduino Nano Every and 33.
- Teensy.
- ESP8266
- ESP32
- Raspberry Pi Pico
It supports a range of MIDI transports, including serial, USB, “direct serial” (using Hairless MIDI) and MIDI BLE. It also supports a range of buttons, potentiometers, rotary encoders, switches, keyboard matrices, and so on and can provide visual feedback using a range of LEDS and displays. It has built-in support for multiplexers, shift registers and LED drivers.
It includes a huge number of example projects to browse.
MIDIPal – https://github.com/pichenettes/midipal
This is a “MIDI Swiss Army Knife” that, with the additional of a display and rotary encoder, can provide a wide range of MIDI processing functions. It includes an editor application for programming MIDI filters.
This is a “native” AVR application, not for the Arduino environment.
Notes and Volts MIDI Controller – https://www.notesandvolts.com/2016/04/arduino-midi-controller-buttons.html
This is provided for completeness as it is a fairly common codebase for people to find and use with an Arduino. It supports a range of potentiometers and buttons and makes the task of configuring them as a MIDI control device relatively straight forward.
Closing Thoughts
As I say, this post is really almost a bit of a “to-do list” of things that look interesting and that I might try to take a more detailed look at, at some point.
If you have experience of any of these frameworks or libraries; or have suggestions of others that might be worth a look, do let me know in the comments!
Kevin
#ArduinoAudioTools #ControlSurface #dac #esp32 #fmSynthesis #i2s #midi #midiController #MIDIPal #MLSynthTools #mozzi #OpenDesk #pwm #rp2040 #samd21 #synthesis #xiao -
[Перевод] Вайб‑кодинг для ПЛИС: как я собрал I2S FIFO‑реклокер без знания Verilog
Вайб‑кодинг выглядит безобидно, пока речь идет о скриптах, лендингах и небольших сервисах. Но что будет, если попробовать с его помощью собрать проект для ПЛИС: с I2S, FIFO‑буфером, DSD, S/PDIF, UART, PSRAM и отладкой на реальном железе? Я проверил это на практике и почти без знания Verilog прошел путь от мигающего светодиода до рабочего FIFO‑реклокера для цифрового аудио. Получилась история о том, где ИИ действительно помогает инженеру, где уверенно ведет в тупик и почему в какой‑то момент все равно приходится доставать логический анализатор. Читать кейс
https://habr.com/ru/companies/otus/articles/1032870/
#ПЛИС #FPGA #Verilog #вайбкодинг #ИИ #I2S #FIFO #реклокинг #цифровое_аудио #отладка
-
[Перевод] Вайб‑кодинг для ПЛИС: как я собрал I2S FIFO‑реклокер без знания Verilog
Вайб‑кодинг выглядит безобидно, пока речь идет о скриптах, лендингах и небольших сервисах. Но что будет, если попробовать с его помощью собрать проект для ПЛИС: с I2S, FIFO‑буфером, DSD, S/PDIF, UART, PSRAM и отладкой на реальном железе? Я проверил это на практике и почти без знания Verilog прошел путь от мигающего светодиода до рабочего FIFO‑реклокера для цифрового аудио. Получилась история о том, где ИИ действительно помогает инженеру, где уверенно ведет в тупик и почему в какой‑то момент все равно приходится доставать логический анализатор. Читать кейс
https://habr.com/ru/companies/otus/articles/1032870/
#ПЛИС #FPGA #Verilog #вайбкодинг #ИИ #I2S #FIFO #реклокинг #цифровое_аудио #отладка
-
[Перевод] Вайб‑кодинг для ПЛИС: как я собрал I2S FIFO‑реклокер без знания Verilog
Вайб‑кодинг выглядит безобидно, пока речь идет о скриптах, лендингах и небольших сервисах. Но что будет, если попробовать с его помощью собрать проект для ПЛИС: с I2S, FIFO‑буфером, DSD, S/PDIF, UART, PSRAM и отладкой на реальном железе? Я проверил это на практике и почти без знания Verilog прошел путь от мигающего светодиода до рабочего FIFO‑реклокера для цифрового аудио. Получилась история о том, где ИИ действительно помогает инженеру, где уверенно ведет в тупик и почему в какой‑то момент все равно приходится доставать логический анализатор. Читать кейс
https://habr.com/ru/companies/otus/articles/1032870/
#ПЛИС #FPGA #Verilog #вайбкодинг #ИИ #I2S #FIFO #реклокинг #цифровое_аудио #отладка
-
I adapted the #I2S Pinout for the #DECtalk Mini from the #MAX98357A Board to my NanoPi Nanohat #PCM5102A
Sounds much louder as the PWM-Version :)
The Board is a #Waveshare RP2040 Zero -
Looking at schematics and #firmware of #Teufel #MYND waterproof portable speaker.
Very cool to check out their #OpenHardware design, though not much to see.
Everything of note runs through the WB-2835P #Bluetooth / Audio Module. It even acts as USB-Soundcard and digitizes Line-In, then outputs #I2S to the amplifier chips.
-
Someone asked how play multiple simultaneous CD-quality WAVs from an SD card to I2S DAC on ESP32 in CircuitPython. Turns out: possible! Can get a bit glitchy if doing USB stuff tho https://www.youtube.com/watch?v=97OA6L9PLCg
code: https://github.com/todbot/circuitpython-tricks/blob/main/larger-tricks/wavmix_s2mini_i2s_sd.py
#CircuitPython #i2s #esp32 -
STM32 Tutorial #57 - Music Player part 2 - Reading and Parsing WAV files
Second video in the Music Player series. In this video we will implement the file handling, WAV file parsing and sending the WAV PCM data to the audio DAC.
#STM32 #GettingStarted #Tutorial #STM32CubeIDE #STM32CubeMX #I2S #DMA #WAV #SDIO #STM32World
-
STM32 Tutorial #56 - Music Player part 1 - Audio out to I2S
In this video we start building our "Music Player" introduced in the previous video. This video will focus on the I2S audio out to the DAC as well as adjusting sample rates. Part 2 which will deal with reading WAV files from SD card will follow soon.
#STM32 #GettingStarted #Tutorial #STM32CubeIDE #STM32CubeMX #I2S #DMA #STM32World
-
STM32World Short #3 - CREATING a Music Player
A short introduction video to our planned music player series. -
STM32 Tutorial #55 - I2S w. DMA - Dual Sine
In this Getting Started Tutorial video we are going to dive into generating an audio I2S stream. We will be creating dual SINE waves (Left/Right) at 96 kHz sample rate.
#STM32 #Tutorial #GettingStarted #STM32CubeIDE #STM32CubeMX #I2S #DMA #STM32World
-
Цифровой звук на STM32: подключаем аналоговый микрофон через SAI и NAU88C22
ИИ обложка, потому что модно. Иногда простой проект превращается в увлекательное исследование. Разбираясь с записью звука на STM32L432 через аудиокодек NAU88C22, я не только подключил микрофон и настроил кодек, но и столкнулся с рядом интересных задач. Разбираясь с ними, я узнал много нового о SAI, работе с SD-картой и нюансах цифрового звука — и теперь хочу поделиться этим опытом. Железка, на которой идет разработка, — это не просто плата для экспериментов, а прототип, сделанный как образец для одного проекта. Так что любопытство, конечно, присутствовало, но двигало процесс скорее желание довести до ума конкретное (будущее) устройство.
https://habr.com/ru/companies/selectel/articles/892852/
#selectel #stm32 #cubeide #микроконтроллеры #nau88C22 #i2s #wav
-
Packing Even More Features Into a Classic Radio https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #MusicalHacks #IPSdisplay #NFCreader #ILI9431 #M5Stack #Teensy #I2S #lcd #NFC
-
Packing Even More Features Into a Classic Radio - When it comes to hacking niches, breathing new life into vintage devices is always... - https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #musicalhacks #ipsdisplay #nfcreader #ili9431 #m5stack #teensy #i2s #lcd #nfc
-
Using Audio Hardware To Drive Neopixels Super Fast https://hackaday.com/2025/01/13/using-audio-hardware-to-drive-neopixels-super-fast/ #LEDHacks #ESP32 #I2S #led
-
Using Audio Hardware To Drive Neopixels Super Fast - Here’s the thing about running large strings of Neopixels—also known as WS2812 add... - https://hackaday.com/2025/01/13/using-audio-hardware-to-drive-neopixels-super-fast/ #ledhacks #esp32 #i2s #led
-
Hmm. Ich sollte mal mit meinem digitalen (#I2S) Audio Umschalter fertig werden, JLCPCB wirft gerade mit Gutscheinen um sich 🤣
-
Необычный случай с ремонтом китайского декодера аудио 5.1
Год назад я приобрёл на Авито по символической цене в 300 р. неисправный китайский девайс под названием «ЦАП 5.1 Bluetooth декодер» модели HD920Pro. Это универсальная приставка аудио, выполняющая роль mp3-плеера с USB флешки, плеера через Bluetooth (Bluetooth ресивер), звуковой карты, декодера 5.1 звука с SPDIF (коаксиала или оптики Toslink) и прочее. В данной статье я решил поделиться с читателями, пожалуй, как я считаю, необычным случаем моей ремонтной практики. Хотя, всякое может быть. Может для кого-то, кто занимается ремонтом глубже, этот случай покажется совершенно обычным.
-
Запуск I2S Трансивера на Artery [часть 2] (DMA FSM, Pipeline)
В этом тексте вы узнаете, что общего между I2S трансивером и оладьями . Да... Именно так. А также зачем программисту микроконтроллеров конвейеры и цифровые фильтры . В тексте изложено про то, как источать звук при помощи I2S + DMA.
https://habr.com/ru/articles/834304/
#DMA #i2s #конвейер #fsm #hiload #конечные_автоматы #pipeline #wm8731 #artery #fullduplex
-
Audio On Pi: Here Are Your Options https://hackaday.com/2024/08/12/audio-on-pi-here-are-your-options/ #usbaudiocard #RaspberryPi #raspberrypi #Featured #hardware #usbaudio #how-to #codec #sound #I2S
-
Adding Optical Audio to the Raspberry Pi with One Chip - In the home theater space most people would tell you the age of optical audio, kno... - https://hackaday.com/2021/12/06/adding-optical-audio-to-the-raspberry-pi-with-one-chip/ #homeentertainmenthacks #opticalaudio #raspberrypi #toslink #s/pdif #i2s
-
Запуск I2S трансивера на Artery
В этом тексте я написал про то, как самому написать System Software уровня HAL для ARM Cortex-M4 совместимого микроконтроллера. Как отлаживать такую работу и на что обратить внимание при запуске I2S на Artery MCU.
https://habr.com/ru/articles/830184/
#i2s #звук #Artery #HAL #System_Software #arm #MCAL #AT32F43x #C #cli
-
Нейроконнектор Мысль
После прохождения Atomic Heart у меня всё вертелось в голове, чего бы такого сделать по лору игры, что бы было прикольно и не сложно, а главное более-менее реально реализуемо в реале (например тех же пчёл я крайне сомневаюсь, что можно создать в реале как в игре и что бы они аналогичным образом летали). С выходом DLC 1 для игры мысль что сделать пришла сама собой. :) Гусь ёпт! Точнее эксперимент с гусём и надетым на него нейроконнектором Мысль, эпичные фразы гуся меня и натолкнули на создание схожего девайса (а на носу как раз был Хэллоин на тот момент, что только раззадоривало желание создать хотя бы прототип на коленке). Еб*чие пироги
https://habr.com/ru/articles/773384/
#atomic_heart #stm32f4 #i2s #i2c #Еб*чие_пироги
-
Do YOU have experience designing #usb3 or #usbC circuits? How about implementing I²S audio?
I'd love to chat, and/or work together on an #openSource, budget-friendly, and VERY high quality (24bit/192K) 8 channel #usbAudioInterface.
I'm basing the front-end on the incredible differential instrumentation amplifier #INA217 by #burrBrown. We're talkin' #midas competition #preamps into a BB #adc 😎.
I could really use help with the usb implementation.
-
Зачем программисту микроконтроллеров тригонометрия? (или Обзор Усилителя Звука из Apple AirTag)
На 12м году опыта программирования микроконтроллеров мне наконец-то пригодилась школьная тригонометрия. Это настолько специфический случай, что я решил накропать про это заметку. Когда Вам надо добавить в устройство звук, то можно воспользоваться микросхемой MAX98357A. Это по сути DAC у которого на входе I2S. В этой заметке я расскажу о своем опыте работы с усилителем MAX98357A и о том как его тестировать.
-
Bitluni Brings All the ESP-32 Multimedia Hacks to Supercon - Of all the people I was looking forward to meeting at Supercon, aside from my Hackaday colleagues ... more: https://hackaday.com/2020/02/24/bitluni-brings-all-the-esp-32-multimedia-hacks-to-supercon/ #2019hackadaysuperconference #microcontrollers #modulation #espressif #bitluni #esp-32 #xtensa #cons #dac #dma #i2s #pal #vga
-
Audio On Pi: Here Are Your Options - There are a ton of fun Raspberry Pi and Linux projects that require audio output –... - https://hackaday.com/2024/08/12/audio-on-pi-here-are-your-options/ #usbaudiocard #raspberrypi #featured #hardware #usbaudio #how-to #codec #sound #i2s
-
Practical guide to ESP32 communication protocols
https://www.techrm.com/practical-guide-to-esp32-communication-protocols/
#ADC,#bluetooth,#CAN,#communicationprotocols,#DAC,#digital,#digitalelectronics,#ESP-NOW,#esp32,#I2C,#I2S,#internetofthings,#iot,#library,#NodeMCU,#PWM,#SPI,#tutorial,#UART,#wifi
-
Today's #esp32 project is #audio. Time to wire up an #i2s DAC and really get to know #squeezelite. (And maybe I finally found a good use for my #Trill sensors.)
-
@matt_trentini @dave @fuzzySynths I definitely walked in with a plan to bitbang. Reading about #micropython interrupts disabused me.
I'm not sure what RMT is. I looked at an #I2S device but it kind of sucked. The #ad9833 is #SPI and works beautifully but has predetermined waveforms.
I wondered about storing wfs in an #eeprom but it needs more thought. Still need to output a phase ramp at a high rate. #esp32->DDS ramp->eeprom->DAC?
-
Блондинка из Питера научилась в Силиконовой Долине паять — и вы можете это тоже
Мария закончила Санкт-Петербургский государственный университет аэрокосмического приборостроения, после чего приехала в Силиконовую Долину, где сейчас работает программисткой встроенных систем в крупной электронной компании. И представляете - Мария до прошлого воскресенья не умела паять! Она зашла в клуб хакеров Hacker Dojo, где я как-раз заканчивал Verilog Meetup - и пока я собирал FPGA платы, она забрела в мастерскую в соседней комнате, где один из местных крутых пайщиков научил ее припаять ее первый в жизни пин. Видели бы вы счастье в ее глазах, когда она вбежала в комнату и стала показывать всем пин! А потом напаяла целый хедер пинов, спаяла микрофон INMP441 и I2S аудио-интерфейс, с мостиками припоя, возбужденно показывая, какие красивые и аккуратные получаются контакты, не пузырьками, а правильно обволакивающими пин стекшими конусами припоя! Короче, мы это все продолжим в следующее воскресенье. Причем по заявкам радиослушателей, подключим всех онлайн через зум, по линку https://bit.ly/yuri-panchul-zoom . Я уже описал мероприятие в предыдущей заметке "Паяльник как инструмент опрощения и для атмосферы общения" . В этой заметке я опишу в основном что нужно для участвующих через зум. Им нужно купить паяльник, и еще несколько вещей, а также выучить пять движений в видео ниже:
https://habr.com/ru/articles/834300/
#пайка #припой #силиконовая_долина #митап #ПЛИС #I2S #паяльники #Verilog_Meetup #Verilog #Hacker_Dojo
-
Packing Even More Features Into a Classic Radio https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #MusicalHacks #IPSdisplay #NFCreader #ILI9431 #M5Stack #Teensy #I2S #lcd #NFC
-
Packing Even More Features Into a Classic Radio https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #MusicalHacks #IPSdisplay #NFCreader #ILI9431 #M5Stack #Teensy #I2S #lcd #NFC
-
Packing Even More Features Into a Classic Radio - When it comes to hacking niches, breathing new life into vintage devices is always... - https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #musicalhacks #ipsdisplay #nfcreader #ili9431 #m5stack #teensy #i2s #lcd #nfc
-
Packing Even More Features Into a Classic Radio - When it comes to hacking niches, breathing new life into vintage devices is always... - https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #musicalhacks #ipsdisplay #nfcreader #ili9431 #m5stack #teensy #i2s #lcd #nfc
-
Packing Even More Features Into a Classic Radio - When it comes to hacking niches, breathing new life into vintage devices is always... - https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #musicalhacks #ipsdisplay #nfcreader #ili9431 #m5stack #teensy #i2s #lcd #nfc
-
Packing Even More Features Into a Classic Radio - When it comes to hacking niches, breathing new life into vintage devices is always... - https://hackaday.com/2025/01/17/packing-even-more-features-into-a-classic-radio/ #digitalaudiohacks #musicalhacks #ipsdisplay #nfcreader #ili9431 #m5stack #teensy #i2s #lcd #nfc
-
Inspired by the news that HiFiBerry are releasing an 8-channel DAC board for the Raspberry Pi 5, but slightly disappointed they’ve sold out of their beta-test programme, coupled with the news that Rene has added 4-channel I2S support for circle, and seeing that the HiFiBerry dac8x is essentially four PCM5102A modules and a high quality audio path, I set out attempting to create a similar (albeit low quality) equivalent with four GY-PCM5102 modules.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to single board computers, see the Getting Started pages.
Parts list
- Raspberry Pi 5.
- uSD card, HDMI, mouse, keyboard, etc to boot Raspberry Pi OS.
- 4x GY-PCM5102A modules.
- Breadboard and jumper wires.
The Circuit
The Raspberry Pi GPIO Pins are connected as follows:
Raspberry Pi 5GY-PCM5102A Modules5VVCC – Modules 1-4GNDGND and SCK – Modules 1-4GPIO 18BCK – Modules 1-4GPIO 19LCK – Modules 1-4GPIO 21DIN – Module 1GPIO 23DIN – Module 2GPIO 25DIN – Module 3GPIO 27DIN – Module 4I eventually ended up using a small solderless breadboard to allow me to daisy-chain the power and common signals for the GY-PCM5102 modules.
Important: Recall that for these PCM5102 modules, there are solder jumpers that have to be setup on the back. More details here.
Raspberry Pi OS
Before connecting any of the GY-PCM5102A modules, I downloaded the latest 64-bit Raspberry Pi OS image and booted it up “as is” on my Pi 5 to make sure everything was working.
Then I installed any pending updates and rebooting to ensure everything was once again up and running.
It might be worth checking sound is working by firing up an Internet browser and watching a video or something. By default the sound will go over HDMI, so naturally you need a sound-capable HDMI device to support that.
At this point I shut it down again and connected up the four PCM5102 modules as per the diagram above then booted everything up again. The OS should boot correctly although at this point it will have no knowledge of the added boards.
Quad DAC Configuration
The basic principle is to use a device-tree overlay file to enable I2S audio and the four PCM5102 devices.
But the nice people at HiFiBerry have already done this with support from Raspberry Pi for their dac8x module, so actually all that is required is to edit the file /boot/firmware/config.txt and add the following line:
/boot/firmware/config.txt:
dtoverlay=hifiberry-dac8xThere is talk on the Internet about commenting out the audio=on parameter or enabling i2s=on, but I didn’t have to do either of these.
Then on reboot, there should be a new audio device “snd_rpi_hifiberry_dac8x” which can be selected.
At this point playing a video should output on the first PCM5102 device.
To test all 8 channels requires an application that can output audio on 8 channels. But for a simple test the “speaker-test” command can be used from the terminal:
kevin@pi5:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: sndrpihifiberry [snd_rpi_hifiberry_dac8x], device 0: HifiBerry DAC8x HiFi pcm5102a-hifi-0 [HifiBerry DAC8x HiFi pcm5102a-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
kevin@pi5:~ $ speaker-test -t sine -f 440 -c 8 -D hw:2
speaker-test 1.2.8
Playback device is hw:2
Stream parameters are 48000Hz, S16_LE, 8 channels
Sine wave rate is 440.0000Hz
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 16 to 32768
Period size range from 8 to 256
Using max buffer size 32768
Periods = 4
was set period_size = 256
was set buffer_size = 32768
0 - Front Left
4 - Center
1 - Front Right
7 - Side Right
3 - Rear Right
2 - Rear Left
6 - Side Left
5 - LFE
Time per period = 23.295314
0 - Front Left
^C 4 - Center
1 - Front Right
7 - Side Right
3 - Rear Right
2 - Rear Left
6 - Side Left
5 - LFE
Time per period = 0.406018
kevin@pi5:~ $The “aplay -l” command can be used to list all devices that ALSA knows about. In my case the pseudo hifiberry dac8x device is listed as “card 2”. This means I then need to use the device identifier “hw:2” for the speaker-test command.
The other parameters to speaker-test are as follows:
- -t sine – output a sine wave rather than the default noise output.
- -f 440 – set the sine wave frequency to 440Hz
- -c 8 – use 8-channel sound output.
- -D hw:2 – use the device “hw:2”
If all goes well, then playback on 0,1 (front left/front right) goes to PCM5102 module 1; 2,3 (rear left, rear right) goes to PCM5102 module 2; and so on.
Closing Thoughts
Now that I know the basic principles seem to work, I want to see what it would take to create a 8-channel audio output MiniDexed.
Kevin
https://diyelectromusic.wordpress.com/2024/05/27/rpi-5-quad-stereo-sound-with-pcm5102a/