Introduction


This guide contains all the information you will need to run the OSA Electronics DACBerry 400 Series Boards.

***IMPORTANT***: Now working on latest kernel 5.15.xx and 32/64bits.

Summary

  1. What we need
  2. Assembly
  3. Board Layout
  4. Quick install for Raspbian / Raspberry Pi OS
  5. Recording Audio files

What we need


Assembly


For a proper assembly of the DACBerry 400 Series Boards together with the Raspberry Pi 400, follow the next steps to avoid any board damage:

  • Make sure to connect it correctly. Audio jacks should point the Pi 400 right corner, and not obstruct the micro SD slot.
  • Make sure all the 40 pins are aligned. Missalignement could cause a board / Pi malfunction or damage it.

Connect it as shown in the image below:

 

Board Layout


DACBerry 400 S and DACBerry 400 M are almost the same, however the board layout is a littlbe bit different, in terms of connections. Please, take a look to the following images for your reference.

DACBerry 400 S layout:

DACBerry 400 M layout:

DACBerry 400 GPIO use:

Quick Install for Raspbian / Raspberry Pi OS


There is an easy way to install support for DACBerry 400 Series Boards on an existing Raspbian/Raspberry Pi OS installation.

Open the Terminal, located on the top left corner:

Then, run the following code from your Raspberry Pi with Internet connectivity:

curl https://www.osaelectronics.com/get/dacberry400.sh | bash

 

Follow the steps on the screen until the installation process has completed succesfully. You may need to reboot once. After rebooting, everything should work!

 

Recording Audio files


We can use Audacity free software to record and edit audio files on Pi 400. To install it, use “Add/Remove software” and search for “Audacity”. Select the packages and install them. That’s it already. You should now be able to start Audacity from the menu under “Sound and Video”:

 

Audacity already opens a new project and you only have to click on the record button – that’s it. Hit the stop button when you’re done.

 

You can zoom in and have a look at the waveform. Yes, a sine wave doesn’t look very interesting, but we’re using this always as the standard signal to verify everything is working fine.

 

 

Now comes the fun. Get creative! Have a look at the Audacity documentation. The possibilities are endless. You can even add plugins to Audacity to have even more effects available.

55 thoughts on “DACBerry 400 Series Quick Start Guide

  1. iñigo says:

    Kaixo Oriol!!!
    Acabo de ver que hace 4 días has actualizado el controlador para el kernel 5.15.32-v8+.
    Te comento…
    desde el enlace de esta página no se llega a instalar y aparece un error 🙁
    en cambio, descargado desde la página de github y ejecutando el script “a mano” funciona perfectamente.
    Zorionak y muchas gracias!!

  2. Julian says:

    Hello Oriol,
    The Dacberry 400 now works on my 64bit Raspberry Pi OS and the sound is really good! However, before and after the sound starts there is a loud crack / pop sound. I can see another user had the same issue in his review. I tried to re-install the script and the issue persists unfortunately. Was a solution found to this issue?
    Thanks!
    Julian

  3. Joe P. says:

    Dear Friends,

    my (yesterday bought) hardware:
    Hardware : BCM2711
    Revision : c03130
    Model : Raspberry Pi 400 Rev 1.0
    DACBerry 400 s

    Just installed :
    Linux rppi400-1 5.15.30-v7l+ #1536 SMP Mon Mar 28 13:51:42 BST 2022 armv7l GNU/Linux

    Diver installation fails :

    Downloading examples and documentation…
    Driver not found..aborting…

    BTW: yesterday I tried it on the latest 64-Bit system , it failed too, message
    was somthg like ‘system not supported’
    Are there any solutions !

    Thx in advance,
    Joe

    • Oriol Sanchez says:

      Hello Joe,

      I just updated the install script again, can you please check if it works now? Thre was some errors on it whn detecting 64bit OS.

      Thanks!
      Oriol.

      • iñigo says:

        Ya estamos más cerca…

        curl https://www.osaelectronics.com/get/dacberry400.sh | bash
        % Total % Received % Xferd Average Speed Time Time Time Current
        Dload Upload Total Spent Left Speed
        0 0 0 0 0 0 0 0 –:–:– 0:00:01 –:–:– 0
        This script will install everything needed to use
        DACBerry 400 Series

        Always be careful when running scripts and commands copied
        from the internet. Ensure they are from a trusted source.

        If you want to see what this script does before running it,
        you should run: ‘curl http://get.osaelectronics.com/dacberry400

        Note: DACBerry 400 Series uses the I2S interface
        The on-board audio chip will be disabled if you proceed! Current audio configuration will be overwritten!

        100 40464 100 40464 0 0 13948 0 0:00:02 0:00:02 –:–:– 13943
        Do you wish to continue? [y/N] y

        Checking environment…
        Updating apt indexes…
        …………………

        Checking hardware requirements…
        \nChecking for dependencies…
        \nDownloading examples and documentation…
        Driver not found..aborting…

        ánimo Oriol

  4. iñigo says:

    Aupa Oriol,
    el script va progresando…
    ahora ya el mensaje no es que el hardware es incompatible, sino que el sistema operativo no está soportado
    😀 😀

    curl https://www.osaelectronics.com/get/dacberry400.sh | bash
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
    This script will install everything needed to use
    DACBerry 400 Series

    Always be careful when running scripts and commands copied
    from the internet. Ensure they are from a trusted source.

    If you want to see what this script does before running it,
    you should run: ‘curl http://get.osaelectronics.com/dacberry400

    100 40455 100 40455 0 0 35960 0 0:00:01 0:00:01 –:–:– 35928
    Your operating system is not supported, sorry!

    ánimo, que estamos más cerca de volver a tenerlo funcionante!

    Si puedo ayudar de alguna forma que no sea simplemente “instalando” no dudes en pedirlo.
    Que tengas un buen día

    • Oriol Sanchez says:

      Hola Iñigo,

      Vaya.. Que mala pata! Pensaba que ya estaria solucionado del todo. Voy a hacer unos cambios y te digo, a ver si por fin lo conseguimos! Parece que el driver compila bien para 64 bits pero el script no detecta bien aun del todo bien el OS instalado.

      Saludos,
      Oriol.

    • Oriol Sanchez says:

      Hola de nuevo,

      He actualizado el script! Puedes probar ahora!? A ver si por fin te funciona.

      Saludos,
      Oriol.

  5. n.sandell says:

    Hi, please help me, at first I had the error n o driver found, I then reloaded Rasp pi OS, I set up the Dacberry before I allowed any updates as you said, I then changed the out put within Raspi config to the headphones, it all worked, then Rasp OS updated, the driver etc has now all gone again, back to square one. how on earth do I get this to run without losing it as at this point I feel I have wasted my money

    • Oriol Sanchez says:

      Hello,

      Please keep calm! Don’t feel this way, here I am to help you. It is just a software issue, until Raspberry Pi Org does not accept our push for the driver, you will need to install it everytime you update the OS.

      So, install the driver again and it will work without any problem.

      Best,
      Oriol.

    • Oriol Sanchez says:

      Hello Yves,

      You can install the shell script without any problem on Volumio, just make sure you do not have enabled any other I2S DAC. Before running the script, make sure Volumio uses onboard audio.

      • Yves says:

        Hello Oriol, Thanks for your advice. I connected to Volumio via SSH and tried to run the script. Unfortunately, I got the following error message:
        Your operating system is not supported, sorry!

        99 40390 99 39963 0 0 37807 0 0:00:01 0:00:01 –:–:– 37772
        curl: (23) Failure writing output to destination

        • Oriol Sanchez says:

          Hello Yves, the script checks what kind of OS are you using and if it is not Pi OS then this happens, but the dirver is compatible. I will take a look to see if I can make a separate script for Volumio, however the best way to go is to ask Michelangelo (Volumio developer) to add support for DACBerry 400. There is a lot of time I do not talk with him, but it is also a good idea to post the driver request on his forum!

  6. iñigo says:

    Hola Oriol,
    Llevo disfrutando de la dacberry400 desde navidades, pero por desgracia desde que he actualizado la raspberry a 64 no consigo volver a instalar, obtengo el mensaje…
    This hardware is not supported, sorry!
    Alguna recomendación???

    • Oriol Sanchez says:

      Hola Iñigo,

      Muchas gracias por tus palabras! Hace poco que hemos actualizado el driver a 64bits y a la última versión de kernel 5.10.13. Por lo que debería funcionar! Que versión de kernel estás utilizando? Vamos a ver si conseguimos que funcione! Voy a investigar de todas formas si el update se ha subido mal a github.

        • Oriol Sanchez says:

          Hola Iñigo, he actualizado el script, parece ser que no se había subido bien al servidor. Puedes probar ahora?

          Saludos.

          • iñigo says:

            Pongo mi resultado de uname -a
            Linux raspberrypi 5.10.103-v8+ #1530 SMP PREEMPT Tue Mar 8 13:06:35 GMT 2022 aarch64 GNU/Linux

            y esto es lo que aparece al hacer
            curl https://www.osaelectronics.com/get/dacberry400.sh | bash

            % Total % Received % Xferd Average Speed Time Time Time Current
            Dload Upload Total Spent Left Speed
            19 40390 19 7963 0 0 8390 0 0:00:04 –:–:– 0:00:04 8382
            This script will install everything needed to use
            DACBerry 400 Series

            Always be careful when running scripts and commands copied
            from the internet. Ensure they are from a trusted source.

            If you want to see what this script does before running it,
            you should run: ‘curl http://get.osaelectronics.com/dacberry400‘

            This hardware is not supported, sorry!
            Config files have been left untouched

            99 40390 99 39963 0 0 35491 0 0:00:01 0:00:01 –:–:– 35491
            curl: (23) Failure writing output to destination

            Suerte, por cierto, te contestaría más rápido pero la página no lo permite 😉

          • Oriol Sanchez says:

            Hola Iñigo,

            Había un problema en el script a la hora de detectar la versión del sistema operativo, te pido disculpas. He actualizado y subido de nuevo el script al servidor, puedes probar d nuevo, por favor? A ver si ahora te funciona!

            Saludos,
            Oriol.

  7. Julian says:

    Hello Oriol. Will support be added for the Raspberry Pi OS 64-bit? I have a Raspberry Pi 400 with the 64-bit OS (kernel 5.10.103-v8+). Thanks!

    • Oriol Sanchez says:

      Hello Julian,

      64bits and 5.10.103 is supported, I updated the install script juat in case, maybe the file is corrupted. Can you please give a try now? Thank you!

      • David says:

        Hello Oriol,
        I tried today and it didn’t work. Used “curl https://www.osaelectronics.com/get/dacberry400.sh | bash” and “curl https://raw.githubusercontent.com/osaelectronics/DACBerry-400/main/dacberry400.sh | bash”. Downloaded the script to /home/pi and executed. Always saying hardware isn’t supported like iñigo said. Unfortunately I don’t understand Spanish. Maybe the script checks for 32/64bit before it checks the kernel?

        Fresh install of RasPiOS arm64 with kernel 5.10.109-v8+.

          • Oriol Sanchez says:

            Hello David,

            There was an issue on the script when ccheking the OS, so sorry for that. Can you please try now? It is supposd to be fixd already! Lt me know!

            Bst,
            Oriol.

        • David says:

          pi@raspberrypi:~ $ curl https://raw.githubusercontent.com/osaelectronics/DACBerry-400/main/dacberry400.sh | bash
          % Total % Received % Xferd Average Speed Time Time Time Current
          Dload Upload Total Spent Left Speed
          100 40455 100 40455 0 0 352k 0 –:–:– –:–:– –:–:– 355k

          This script will install everything needed to use
          DACBerry 400 Series

          Always be careful when running scripts and commands copied
          from the internet. Ensure they are from a trusted source.

          If you want to see what this script does before running it,
          you should run: ‘curl http://get.osaelectronics.com/dacberry400

          Your operating system is not supported, sorry!

          Then I did:
          pi@raspberrypi:~ $ cat /etc/os-release
          PRETTY_NAME=”Debian GNU/Linux 11 (bullseye)”
          NAME=”Debian GNU/Linux”
          VERSION_ID=”11″
          VERSION=”11 (bullseye)”
          VERSION_CODENAME=bullseye
          ID=debian
          HOME_URL=”https://www.debian.org/”
          SUPPORT_URL=”https://www.debian.org/support”
          BUG_REPORT_URL=”https://bugs.debian.org/

          The I changed Line 45 of your script to “osreleases=( “Raspbian” “Debian” ) # list os-releases supported”
          Deleted Debian from the deny-list.

          Then I changed the lines from 240 downwards to:
          “elif cat /etc/os-release | grep -q “Debian”; then
          OS_NAME=”Debian” && IS_RASPBIAN=true”

          Now he accepted the OS and i was able to start the install process until…
          dacberry400.sh: line 1084: git: command not found
          ls: cannot access ‘DACBerry-400/kernel_5_10_103_v8/*’: No such file or directory

          ls: cannot access ‘DACBerry-400/kernel_5_10_103_v8/*’: No such file or directory
          ls: cannot access ‘DACBerry-400/*’: No such file or directory

          Finalising install…
          the he prompted me to reboot and I thought maybe it did work… after restart there is no soundcard in the alsamixer.

          • Oriol Sanchez says:

            Hello David,

            I just updated the install script again, can you please check if it works now?! So sorry for thos problms, many changes on the new kernel..

            Thanks!
            Oriol.

  8. Trav says:

    Hi Oriol,
    this morning i found that the DAC400 driver was gone in my setup. So i’ve tried to reinstall it, but wasn’t able to download the driver. After asking the y/N question in the script, it came up with the following output:
    —————————
    Do you wish to continue? [y/N] y

    Checking environment…
    Updating apt indexes…
    …………………

    Checking hardware requirements…
    \nChecking for dependencies…
    \nDownloading examples and documentation…
    Driver not found..aborting…
    ————————————

  9. Cristian says:

    Hello Oriol, I get this error when I try to install the board’ software. Do you know what could it be?

    pi@raspberrypi:~ $ curl https://www.osaelectronics.com/get/dacberry400.sh | bash
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
    This script will install everything needed to use
    DACBerry 400 Series

    Always be careful when running scripts and commands copied
    from the internet. Ensure they are from a trusted source.

    If you want to see what this script does before running it,
    you should run: ‘curl http://get.osaelectronics.com/dacberry400‘

    This hardware is not supported, sorry!
    Config files have been left untouched

    100 39955 100 39955 0 0 33917 0 0:00:01 0:00:01 –:–:– 33946
    curl: (23) Failure writing output to destination

    • Oriol Sanchez says:

      Hello Christian,

      Looks like you are running an OS or kernel that is not supported. We updated the driver to work with latest 10.92 kernel, can you share more details with me about your setup?

      Thank you!
      Oriol.

      • Cris says:

        Raspberry Pi 400 Rev 1.0

        Revision : c03130
        SoC : BCM2711
        RAM : 4GB
        Storage : MicroSD
        USB ports : 3 (of which 2 USB3)
        Ethernet ports : 1 (1000Mbps max. speed)
        Wi-fi : True
        Bluetooth : True
        Camera ports (CSI) : 0
        Display ports (DSI): 0

        J8:
        3V3 (1) (2) 5V
        GPIO2 (3) (4) 5V
        GPIO3 (5) (6) GND
        GPIO4 (7) (8) GPIO14
        GND (9) (10) GPIO15
        GPIO17 (11) (12) GPIO18
        GPIO27 (13) (14) GND
        GPIO22 (15) (16) GPIO23
        3V3 (17) (18) GPIO24
        GPIO10 (19) (20) GND
        GPIO9 (21) (22) GPIO25
        GPIO11 (23) (24) GPIO8
        GND (25) (26) GPIO7
        GPIO0 (27) (28) GPIO1
        GPIO5 (29) (30) GND
        GPIO6 (31) (32) GPIO12
        GPIO13 (33) (34) GND
        GPIO19 (35) (36) GPIO16
        GPIO26 (37) (38) GPIO20
        GND (39) (40) GPIO21

        PRETTY_NAME=”Debian GNU/Linux 11 (bullseye)”
        NAME=”Debian GNU/Linux”
        VERSION_ID=”11″
        VERSION=”11 (bullseye)”
        VERSION_CODENAME=bullseye
        ID=debian
        HOME_URL=”https://www.debian.org/”
        SUPPORT_URL=”https://www.debian.org/support”
        BUG_REPORT_URL=”https://bugs.debian.org/”

    • Oriol Sanchez says:

      Hello Mark,

      Soon we will release the driver for other OS. But first we need to integrate it to official Pi releases. Please stay tuned!

  10. Geoff says:

    Hi,

    Got a Pi 400 for my daughter this christmas along with a Dacberry400 tried to install etc. through terminal as above and got this error message……

    pi@raspberrypi:~ $ curl https://www.osaelectronics.com/get/dacberry400.sh | bash
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
    This script will install everything needed to use
    DACBerry 400 Series

    Always be careful when running scripts and commands copied
    from the internet. Ensure they are from a trusted source.

    If you want to see what this script does before running it,
    you should run: ‘curl http://get.osaelectronics.com/dacberry400

    100 39955 100 39955 0 0 42370 0 –:–:– –:–:– –:–:– 42370
    Note: DACBerry 400 Series uses the I2S interface
    The on-board audio chip will be disabled if you proceed! Current audio configuration will be overwritten!

    Do you wish to continue? [y/N] y

    Checking environment…
    Updating apt indexes…
    ……………E: Repository ‘http://archive.raspberrypi.org/debian buster InRelease’ changed its ‘Suite’ value from ‘testing’ to ‘oldstable’
    E: Repository ‘http://raspbian.raspberrypi.org/raspbian buster InRelease’ changed its ‘Suite’ value from ‘stable’ to ‘oldstable’
    Apt failed to update indexes!

    We are both new to this system so any help you could give us would be appreciated.

    Many thanks

  11. Mathieu CONAN says:

    Hello,

    Could you please provide dacberry400.ko and snd-soc-tlv320aic3x.ko for my raspberry with kernel 5.10.63-V8+ ?

    regards

    • Oriol Sanchez says:

      Hello Alex,

      We are working to give support to other platforms soon. However, you can compile the driver for Manjaro easily, just need some modifications. Give a try, check the github repository where the driver is located and take a look!

      Best,
      Oriol.

  12. Roland van Helven says:

    brand-new Pi 400, dacberry installed correctly.
    eoor : driver not found

    DACBerry 400 Series

    Always be careful when running scripts and commands copied
    from the internet. Ensure they are from a trusted source.

    If you want to see what this script does before running it,
    you should run: ‘curl http://get.osaelectronics.com/dacberry400‘

    Note: DACBerry 400 Series uses the I2S interface
    The on-board audio chip will be disabled if you proceed! Current audio configuration will be overwritten!

    100 39740 100 39740 0 0 21423 0 0:00:01 0:00:01 –:–:– 21434
    Do you wish to continue? [y/N] y

    Checking environment…
    Updating apt indexes…
    …………………

    Checking hardware requirements…
    \nChecking for dependencies…
    \nDownloading examples and documentation…
    Driver not found..aborting…
    pi@raspberrypi:~ $

    • Oriol Sanchez says:

      Dear Roland,

      This issue is because Raspberry Pi Org is updating the kernel all the time. We will update the driver within this week to make it compatible again. However, if you are doing a fresh install, I recommend to do NOT upgrade/update when asked after installation, and install the driver. It will work without any issues. You can update/upgrade the system after installing the driver without any problem.

  13. Yehudi Levine says:

    I followed your instructions and downloaded your code, but when I ran it I received error messages about an absent driver. Have I done something I shouldn’t have?

    • Oriol Sanchez says:

      Hello,

      I just do a copy paste of my last response:

      This issue is because Raspberry Pi Org is updating the kernel all the time. We will update the driver within this week to make it compatible again. However, if you are doing a fresh install, I recommend to do NOT upgrade/update when asked after installation, and install the driver. It will work without any issues. You can update/upgrade the system after installing the driver without any problem.

  14. Patrick Schlecht says:

    When will there be support for Ubuntu systems, e.g. 21.04? I bought two DACberry 400S for my children’s Rasberry PI 400. These would be perfect for connecting a headset, but unfortunately there is no support for Ubuntu. I don’t want to switch back to Raspberry Pi OS.
    Hopefully there will be support for Ubuntu systems soon!
    Thanks very much.

    Kind regards
    Patrick

    • Oriol Sanchez says:

      Hello Patrick, we will add support for ubuntu very soon, but we are now focusing to integrate the driver to Pi repro. Please stay tunned!

Leave a Reply

Your email address will not be published.