Skip to the content
PCBKitNew board
2 layers45 × 45 mmFiberaudio-108, the printed circuit board in 3D

A low-cost USB audio interface with S/PDIF optical output, based on the Cmedia CM108 ASIC.

Size
45 × 45 mm
Copper layers
2
Thickness
1.6 mm
Parts
43
Nets
49
Pads
144
Tracks, vias
381, 48
Pours
5
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
8 Jan 2021
Updated
21 Feb 2026

Overview

Fiberaudio-108 is an open-source printed circuit board by islandcontroller, from the islandcontroller/fiberaudio-108 repository on GitHub. It is a 2-layer board of 45 × 45 mm with 43 parts on 49 nets, routed with 381 tracks and 48 vias.

It is built around the CM108AH, PLT133/T10W and AT93C46D-PU, with the SRV05-4 and SI2301CDS among its other parts. Its parts include 13 capacitors, 6 resistors, 3 ICs, 2 connectors and 1 transistor. It belongs with the audio and music and interfaces and adapters boards of this library.

Main components

5

README

README.md

fiberaudio-108

Prototyping [blocked]

A low-cost USB audio interface with S/PDIF optical output, based on the Cmedia CM108AH ASIC.

Block schematic

View Schematic :page_facing_up: or PCB Preview :globe_with_meridians:. Customize using the CM108AH Configuration Tool :cd:.

Production files will be made available on the Releases page, once validation is complete.

Key features

  • Cmedia CM108AH audio interface ASIC
  • 2.0 Stereo, up to 16-bit/48kHz (CD-DA equivalent)
  • USB Mini-B input
  • Optical S/PDIF output (JIS F05, e.g. TOSLINK™)
  • USB Audio Device Class 1.0, uses generic drivers
  • Configuration EEPROM

Overview

This USB audio interface provides a low-cost S/PDIF optical output for portable computers and tablet devices. Audio tranmission via optical link - as opposed to a wired line-level connection - eliminates hum caused by ground potential differences, and noise feed-through from switched-mode power supplies.

Design RequirementSolution Approach
Provide electrical isolation between device and audio equipmentAudio signal transmission via optical link (e.g. TOSLINK™)
Compatibility for wide range of operating systems, with minimal driver maintenanceUSB Audio Device Class using OS-provided generic drivers
IP accessibility for PCB design filesUse of free, open-source EDA tooling (e.g. KiCad)
Commonly-used, small form-factor USB connector, robust enough to withstand portable useUSB mini-B receptacle
Option for manual assemblyPassives no smaller than 0603. ICs leaded and no smaller than 0.5mm pin pitch (SSOP)
Low PCB production capability requirements• FR4 base material
• 2-layer Cu, Top+Bot Mask, Top Overlay
• ≥0.25mm trace-to-outline
• ≥0.25mm trace width and spacing
• ≥0.35mm drill size
• Gerber, NC Drill and RS274X outputs

Design Review (Prototyping)

Prototyping was carried out using rev. 3 board design files, in a minimum-order batch of 5 PCBs, including automated assembly.

Assembly

  • Manual rework of the PCB around U3 (SRV05-4) was required in order to fix the issues found in rev. 3, after production was already started.
  • Parts U1 (AT93C46D), U2 (CM108AH), SW1, and both connectors were unavailable for automated assembly, and had to be retrofitted manually using hot-air reflow soldering.

Software Support

  • Drivers included with SteamOS 3.0 provide full functionality out-of-box, including volume controls for S/PDIF output.

  • Generic Audio Device drivers included in Windows 7.1 (x64) as well as Windows 10 (Version 22H2, x64) only support S/PDIF output in a passthrough mode. Volume control and the mute input are inoperative when using the default driver package (see below for workaround).

Workaround: A vendor-specific Windows driver package for the CM108AH is available for download from the ASIC manufacturer's website: https://www.cmedia.com.tw/support/download_center.

Updated 08/2023: Unfortunately, the ASIC manufacturer have stopped providing any drivers for download. I uploaded the latest signed driver package I could source (Version 8.1.8.2172) as release v0.1.5-driver-only. Please check the file for integrity and verify it includes the correct signed driver binary before installing.

Using the Windows device manager, perform a manual driver update of the Generic USB PnP Sound Device, and select Win8\SoftwareDriver from the extracted archive as the driver installation sources directory.

Updated 08/2023: To install the driver, extract the archive and right-click install the Cm108.INF file.

After installation and a reboot, a new Digital Audio (USB PnP Sound Device) device will show up in the Sound Settings dialog, alongside the old Speakers (USB PnP Sound Device) device.

Disable the Speaker device.

This workaround was tested using Windows 7.1 (x64), and Windows 10 (Version 22H2, x64).

Device Configuration

  • A configuration tool for re-programming the external EEPROM was developed and is provided in the sw/ subdirectory.

  • EEPROM access sporadically seems to return invalid data. Re-reading or re-programming the affected words can be used as a workaround.

Summary

  • The device works correctly in connection with Linux systems. For Windows hosts, a custom driver installation is required for the device to operate properly.

Licensing

If not stated otherwise within the specific file, the contents of this project are licensed under the CERN Open Hardware Licence Version 2 - Permissive. The full license text is provided in the LICENSE document.

text
    SPDX-License-Identifier: CERN-OHL-P-2.0

This licensing model is compliant with the Open Source Hardware Definition 1.0.

Parts

43
QtyValueFootprintReferences
7100nFCapacitor_SMD:C_0603_1608MetricC1, C3, C8, C10, C11, C12, C13
34.7uFCapacitor_SMD:C_0603_1608MetricC4, C5, C9
3MountingHole_PadMountingHole:MountingHole_2.7mm_M2.5_DIN965_PadH1, H2, H3
220pFCapacitor_SMD:C_0603_1608MetricC6, C7
222Resistor_SMD:R_0603_1608MetricR3, R4
10Resistor_SMD:R_0603_1608MetricR1
1100R@100MHzInductor_SMD:L_0805_2012MetricFB1
110nFCapacitor_SMD:C_0603_1608MetricC2
112MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
11k5Resistor_SMD:R_0603_1608MetricR2
1330Resistor_SMD:R_0603_1608MetricR5
1560Resistor_SMD:R_0603_1608MetricR6
1ADLRCKTestPoint:TestPoint_Pad_D1.0mmTP3
1ADMCLKTestPoint:TestPoint_Pad_D1.0mmTP4
1ADSCLKTestPoint:TestPoint_Pad_D1.0mmTP2
1AT93C46DPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU1
1CM108AHPackage_QFP:LQFP-48_7x7mm_P0.5mmU2
1DALRCKTestPoint:TestPoint_Pad_D1.0mmTP7
1DAMCLKTestPoint:TestPoint_Pad_D1.0mmTP6
1DASCLKTestPoint:TestPoint_Pad_D1.0mmTP8
1GPIO3TestPoint:TestPoint_Pad_D1.0mmTP9
1GPIO4TestPoint:TestPoint_Pad_D1.0mmTP10
1MUTEButton_Switch_SMD:SW_SPST_PTS645SW1
1PLT133/T10Wcustom:PLT133_T10WJ2
1SDINTestPoint:TestPoint_Pad_D1.0mmTP1
1SDOUTTestPoint:TestPoint_Pad_D1.0mmTP5
1SI2301CDSPackage_TO_SOT_SMD:SOT-23Q1
1SRV05-4Package_TO_SOT_SMD:SOT-23-6U3
1USB_B_MiniConnector_USB:USB_Mini-B_Lumberg_2486_01_HorizontalJ1
1rdLED_SMD:LED_0603_1608MetricLD1

The 42 most common of 43 parts.

Questions

How big is the Fiberaudio-108 PCB?

It measures 45 × 45 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Fiberaudio-108 use?

43 parts, built around the CM108AH, PLT133/T10W, AT93C46D-PU and SRV05-4. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Fiberaudio-108 KiCad files?

From the islandcontroller/fiberaudio-108 repository on GitHub, at the commit this page was made from: the board is pcb/fiberaudio-108.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Fiberaudio-108 design in my own project?

Its repository states no licence, so its author keeps all rights: ask islandcontroller before reusing the design.

Similar boards

  • 2 layers127 × 90 mmRadio usb, the printed circuit board in 3D

    Radio usb

    SP8EBC/radio-usb-interface

    USB <--> Land Mobile Radio interace with full ground isolation on 2way audio and PTT control

    225 parts3
  • 6 layers259.9 × 154.9 mmCpu030, the printed circuit board in 3D

    Cpu030

    thorpej/pg68k

    The 68k Playground, a 680x0-based home-brew computer with multiple CPU options

    233 parts15
  • 2 layers100 × 70 mmHipbadge, the printed circuit board in 3D

    Hipbadge

    sneurlax/hip-badge

    And join our matrix discussion channel: https://matrix.to/#/#hipbadge:matrix.org

    199 parts1
  • 2 layers49.5 × 50 mmXOSVP, the printed circuit board in 3D

    XOSVP

    DiscoStarslayer/XOSVP

    Xbox Open Source Video Project

    14 parts115
  • 2 layers17 × 16 mmMini usb radio interface, the printed circuit board in 3D

    Mini usb radio interface

    robinolejnik/mini-usb-radio-interface

    A small CM108 USB radio interface providing audio, PTT and Squelch lines. PCB fits into a 9 pin D-Sub connector.

    22 parts13MIT
  • 2 layers100 × 100 mmADAT IO x4, the printed circuit board in 3D

    ADAT IO x4

    freeDSP/freeDSPx-ADAT-IO-x4

    The freeDSPx ADAT IO x4 is a digital IO expansion board for the freeDSP family. It provides 4 Lightpipe(I2S) inputs and 4 Lightpipe outputs via single Toslink Cable.

    124 parts10
  • 4 layers144 × 150 mmKepler x, the printed circuit board in 3D

    Kepler x

    kunichiko/X68k-KeplerX-PCB

    186 parts4MIT
  • 2 layers40.5 × 21 mmSingle sided radio interface, the printed circuit board in 3D

    Single sided radio interface

    tomwardill/cm108radiowidget

    A CM108 based widget for interacting with radios via software

    23 parts4MIT