freeDSP Guidelines

blauespferd edited this page Jul 13, 2016 · 12 revisions


As the freeDSP project grew further, some layout guidelines were defined for those who want to support the project and create their own main or expansion boards. If you want your design to be published within the freeDSP project, please make sure to comply with all recommended layout guidelines on this page.

There're restrictions on the PCB board size, the power supply and a also a standard freeDSP expansion connector is defined. It is highly encouraged to use the open-source PCB design software KiCad for future development.

PCB size

The board size complies with the Eurocard PCB format, therefore the PCB width is specified to be 100 mm. The length should then be n x 10 mm, with n beeing a natural number. The following list shows some examples of recommended PCB sizes:

Standard Eurocard formats:

  1. 100 mm x 80 mm
  2. 100 mm x 100 mm
  3. 100 mm x 120 mm
  4. 100 mm x 160 mm
  5. 100 mm x 220 mm

Front panel connectors should be placed at the fixed 100 mm side.


It is highly recommended to use SMD components. If possible, use 1206 sized footprints. If space is limited, also 0805 sized footprints would be possible. For best results use symbols and footprints to be found in the freeDSP-KiCadLibrary.


A 2.5 mm keepout should be provided from the side edge of the board (the edge which is NOT fixed to be 100 mm). No components should be closer than 2.5 mm to the board's edge there. There's no keepout required at the front and back edge (the edge which is always 100 mm).

The keepout is required to provide insertion in some of the possible cases & PCB guide rails.

Mounting holes

  • The board should provide mounting holes in all four corners at 5 mm distance to the corresponding board edges.
  • Mounting holes for M3 screw - 3.1 mm diameter (after plating). (More general info about mounting holes).

Power supply

The freeDSP main-boards and expansions have a main power supply of +12 V DC. A converter / regulator generates the required on-board voltages of 3.3 V, 5 V etc. Altough some current designs use linear regulators to supply these voltages, future designs should always use switching regulators for efficiency improvement.

The freeDSP main-boards will always have a power input for +12V DC and also provide this voltage on each standard freeDSP expansion connector output to supply connected expansion boards.

The expansion boards can either be supplied with +12 V DC via the standard freeDSP expansion connector, or get their own power input. (A jumper / switch can be applied on the expansion board to select the power source).

MCLK distribution

All main-boards and slave boards need to be synchronous to a common master clock (MCLK). Therefore future freeDSP main-boards must feature a MCLK distribution circuit, which provides several synchronous but independant MCLK outputs. These will supply a MCLK to the onboard DSP and also to each expansion board via the standard freeDSP expansion connector.

  • freeDSP main-boards provide MCLK: 24.576 MHz
  • freeDSPx expansions receive MCLK via standard freeDSP expansion connector

Standard freeDSP expansion connector

To connect freeDSP main-boards with expansion boards a standard freeDSP expansion connector was defined.

The freeDSP main board is the Master, the freeDSPx expansion board is the Slave. The connector layout is identical for Master and Slave, but care must be taken to connect the appropriate signals to each pin.

The connector features a 8 x 2 pinheader with 2.54 mm spacing.

Standard freeDSP expansion connector

Pin definitions:

  • +12V - main power supplied from Master to slave
  • MDI - Master Data In / I2S Data In of Master DSP / I2S Data Out of Slave
  • MDO - Master Data Out / I2S Data Out of Master DSP / I2S Data In of Slave
  • BCLK - Bit Clock / I2S BCLK - provided by Master
  • LRCLK - Left-Right Clock / I2S LRCLK - provided by Master
  • SDA/SCL - I2C Interface for control purposes
  • MCLK - Master Clock / provided by MCLK distribution circuit on Master to supply Slave with MCLK

Note that (unfortunately) this connector is not compatible with the first generation THT boards (freeDSP CLASSIC)! However, we decided to use it for all new design to ensure that all future boards are as versatile and as compatible as possible.

Sharing files and licensing

Provide all necessary files in a structured way. E.g., please use separate folders for SOURCES, GERBER, PART LIST, ... like in the freeDSP-CLASSIC repository. It is also encouraged to prepare a shopping basket (Reichelt, DigiKey, ...) to simplify

If you publish your work within the freeDSP project you agree to a Creative Commons Attribution Share-Alike 4.0 license. This must be stated within your files or documentation.


It's very important to provide some documentation with your files. You can upload pictures to a DOCUMENTATION folder within your repo. However, it is highly encouraged to provide some detailed information for your board in a dedicated "Getting Started Guide". Please use Google Docs for this purpose and link the document from the DOCUMENTATION folder and the website. There is already a standard template for documentation. Please contact to get access to it.

Logos and naming conventions

You can find freeDSP logos for main boards and freeDSPx logos for expansion boards here. Feel free to use it on your designs as long as you comply with the above recommandations. There are also some guidelines and examples included how to modify the logos to your board name.

It is easier to understand the functionality of your board at first sight if you follow a standard naming structure. Please use freeDSPx for expansion boards and append your main purpose at the end with mainly capital letters,e.g.:

  • freeDSPx ADAT IO x3
  • freeDSPx AMP 2x20W ...

Recommended features (not mandatory)

  • Rounded corners - this eases insertion into enclosures, and looks nice too
  • Plated mounting holes at audio connectors edge - to provide correct ground path. More info here

Suitable enclosures

AKG 105 from

1455 Series from Hammond Mfg.

Galaxy series from

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.