Home > Computer (HW and SW) > CUBIEBOARD FOR AUDIO?


We’ll explore bit-perfect I2S output in the Cubieboards…

There are two current versions of the boards: Cubieboard2 ($65) and Cubietruck ($95) [link]. Both boards are based on the Allwinner A20 dual core processor.


According to the A20 datasheet (p.20) [link] the chip supports up to 8 channels of I2S output: DO0 to DO3 represent the 4 stereo channels of I2S data.


The A20 User Manual describes the block diagram for I2S: The clocks for I2S are all based on “Audio_PLL” Master Clock.


Audio_PLL is the audio frequency clock derived from the 24MHz system clock. The PLL generates the 24.576 MHz and the 22.5792 MHz clocks. This means that the A20 is capable of bit-perfect playback for both the 44.1KHz and 48KHz family of sample rates.


The specification also lists the supported sample rates (44.1KHz to 192KHz) and the supported Fs


In Summary, the A20 processor has excellent support for I2S. All sample rates from 44.1Khz to 192Khz are supported. The processor generates the required Master Clock frequencies of 24.576 MHz and 22.5792 MHz through standard PLL processing.


According to the schematics [link] we find that the I2S pins are not connected to the expansion headers. PB5, PB6 and PB7 which are the Master Clock, Bit Clock and LR Clock are not connected.

Therefore, there is no support for I2S in the Cubieboard2



According to the schematics [link] we find that the I2S pins ARE connected to the expansion header C9. Notice that some jumper/resistors may need to be installed/removed.


In the lower part of the diagram (left side) shows the I2S signals corresponding to PB5-PB8 above. Shown also are the resistors/jumpers that are to be installed or removed in order to connect to the right side. Those connections corresponds to the CN9 header pins 18, 20, 22 and 24.

Notice that the default connection to pin 18, 20, 22 and 24 of header CN9 is to the TVIN signals (TVIN0 to TVIN3). In order to use the I2S signals, the jumpers need to be removed from the TVIN signals and installed in the I2S signals (I2S-MCLK, BT-PCM-CLK, BT-PCM-SYNC and BT-PCM-OUT)

Thus the I2S signals can be made available as follows:

  • Pin 18 of CN9: Master Clock
  • Pin 20 of CN9: Bit Clock
  • Pin 22 of CN9: LRCK
  • Pin 24 of CN9: Data Out


According to this post [link]. The modification to the resistors/jumpers are as follows:

remove R175 and set R174
remove R177 and set R176
remove R178 and set R179
remove R180 and set R181

(Only need to modify these for stereo I2S)
remove R183 and set R182
remove R185 and set R184
remove R187 and set R186
remove R189 and set R188

R175 to R181 are for the left side of CN9. Those connectors are for multichannel I2S. So for Stereo I2S only modding R182 to R189 are required.

You can see the surface mount resistors that need to be modified in the following photo and diagram.  Seem pretty easy to mod.

Another option is just to connect a wire to the appropriated resistor pad and leave the resistors in their original position.

cubieTruck2 CTRs

One more observation: Cubieboards are developed by a team of young engineers…



The A20 processor has excellent support for bit-perfect I2S digital audio. However, only the CubieTruck board allows access to the I2S pins.


Audio discussion on Cubie Forum: [link]

  1. Con
    March 7, 2014 at 21:25

    Very nice you found all these informations. God job! Mach appreciated!

  2. David Quayle
    March 8, 2014 at 06:09

    I double that, thanks

  3. David Quayle
    March 8, 2014 at 10:46

    “40KHz family of sample rates.” I assume you mean 48KHz ? 🙂

    • Anonymous
      March 8, 2014 at 12:40

      Yes 🙂

  4. Anonymous
    March 8, 2014 at 23:40

    Do not forget the A20 OlinuXino Micro. All PB5-11 are available. (PB9 could be taken back if you manually control USB-OTG or wire it to another GPIO).

    • Con
      March 9, 2014 at 09:00

      The already installed Android on this board does not help very much. One may install linux based software to use it in audio field. Android is not very useful for audio reasons. It can not handle more than 16bit/48Khz… no matter the hardware capabilities.
      As I can see in DIYaudio thread, there it may not be very easy to get a BBB to work for us either…
      I just heave a feeling that Cubie can a little bit more…while I have already ordered a BBB…

      • BlgGear
        March 10, 2014 at 02:44

        The two external clock solution that Russ and company are working on is the “best” solution for audio. It is worth the wait :-).
        None of the boards are specifically designed for audiophiles. We just lucked out that the BBB can take external clocks and the internal clock can be disabled in s/w

  5. Anonymous
    March 10, 2014 at 03:03

    The CB has no advantage over the Rpi in terms of “bit perfectness” at all.

    • BlgGear
      March 10, 2014 at 06:08

      Unless you need the master clock to drive the DAC… The RPi does not expose the master clock signal…

  6. Anonymous
    March 10, 2014 at 11:37

    That’s a different thing than being bit perfect. A master clock is not part of the I2S specification.

    • BlgGear
      March 10, 2014 at 19:31

      There are differences on how the clocks are generated. One is “standard PLL”, the other has some “fancy way” -which I don’t understand. These difference are likely inaudible for most…

  7. Anonymous
    March 10, 2014 at 19:35

    Rpi does not generate a master clock at all – only the bit clock. 🙂

  8. March 28, 2014 at 10:08

    BBB vs Cubietruck: Cubietruck has moar computing power, more RAM, better I/O (sata, bluetooth, wifi, gigabit ethernet onboard), and can handle both dual master clock for 44.1/48khz audio
    I understand than BBB is more “mature”, supported, cheap, but I just feel that cubietruck would have been an easier and more versatile tool for both Russ White project, and for linux audio based distribution…

    Doesn’t a “simple” board like Acko amanero/isolator reclocker would be enough for cubietruck in order to cleanly feed an es9018 up to 192khz in a synchronous way with some good 45/49mhz clock ?

    • BlgGear
      March 28, 2014 at 17:33

      I like this board too. There are other A20-based boards that also export the I2S lines. For example the offerings from iTeadStudio. The only requirement for reclocking the signals is having the capability to accept an external clock source (in order to keep the reclocking clock clean). I am not sure if the A20 implementations can take an external master clock. The circuit shown in the boards (page 5 of http://www.cubieforums.com/index.php?topic=1081.60) shows clocking the data out by feeding a bitclock. This can probably be used to generate clean I2S also with some modifications, but it is not as simple as what is being done with the BBB. We kind of lucked out that BBB can take an external master clock when generating the audio sample frequencies.

  9. July 11, 2014 at 01:11

    Right away I am going to do my breakfast, afterward having my breakfast coming
    over again to read more news.

  10. Andres
    January 29, 2015 at 09:09

    Hello, is it possible to send and receive digital audio by I2S port with a DSP, without any other conection between cubieboard and the DSP? Regards

  11. September 14, 2016 at 16:04

    porn movie

  12. September 14, 2016 at 16:40

    web desain surabaya

  13. September 14, 2016 at 16:49

    ver ecuador en vivo

  14. September 14, 2016 at 18:35

    como tomar la garcinia cambogia

  1. October 13, 2014 at 01:49

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s