DDC
  • Welcome
    • Introduction
    • Supported hardware
  • 1: Project planning
    • Switch inputs
      • Switch table
      • Direct
      • Shift register
      • Port expander
    • Analog inputs
      • External ADC
    • RGB LED
    • Digital outputs
    • PWM / Circuit control
    • EEPROM
    • Processing and memory
  • 2. Wiring
    • Switch inputs
      • Matrix
      • Direct
      • Shift register
      • Port expander
    • Analog
      • Analog switches
      • External ADC
    • RGB LED
    • Digital outputs
    • PWM / Circuit control
    • EEPROM
  • 3. Coding
    • Essentials
      • 02_Board.ino
      • 08_Joystick
      • 10_TableAndAnalog.ino
        • Switch table
        • Analog channels
      • 30_Switches.ino
    • Peripherals
      • RGB LED
        • Firmware control
          • LED functions
          • Color
          • Brightness
          • Presets
        • SimHub control
      • Digital outputs
        • Setup
        • SimHub control
        • Firmware control
      • PWM / Circuit control
        • Setup
        • Calibrate
        • Switch control
        • Trigger control
      • Shift register
      • I2C devices
        • ADS1115
        • PCA9555
        • CAT24C512
    • Advanced
      • Analog inject
      • Conditional coding
        • Triggers
        • Editors
      • Field placement
      • Presets
        • 31_RunningPresets.ino
        • 32_Presets.ino
        • Example
    • Upload
    • Naming the controller
  • 4. Connect to SimHub
    • LED control
    • Controller settings and properties
      • How to connect?
      • How does it work?
      • How to control it?
      • Property list
  • Switch library
    • Pushbutton
    • Function switches
    • Toggle switches
    • Hat switches
    • Car control functions
      • QuickSwitch
      • BrakeMagic
      • ThrottleHold
      • Handbrake
    • Pedals & paddles
      • Brake/throttle
      • Clutch
      • Bite point & launch
      • Filtered curves
      • Shifter
    • Funky switch
      • Directional
      • Center push
    • Encoders
      • rotary2Bit
      • rotary4Bit
      • funkyRotary
      • wildEncoder
      • E18
      • rotaryPulse
      • PEC11
    • Rotary switches
      • rotaryAnalog
      • quickRotary
      • SW1
      • Editing functions
    • Multiswitch complexes
      • Hybrid rotary
      • Multifunction rotary
      • Modded encoder
      • Stacked encoder
    • Preset
    • DDS
    • RGB LED control
    • PWM / Circuit control
    • Utility
  • Fast DDC
    • Buttons and LED
    • 4 encoders, buttons and LED
    • Dual clutches, 4 encoders, buttons and LED
    • Dual clutches, 6 encoders, button matrix and LED
  • CB1
    • Ordering
      • Order together
      • Order yourself
        • 1. Open in EasyEDA
        • 2. Export files
        • 3. Edit Pick&Place
        • 4. Pin headers and jumper
        • 5. Order from JLCPCB
    • Wiring
    • Code
      • Essentials
      • Complete project
      • Settings
    • Circuit
    • Shields
      • Robin
  • Collaboration
Powered by GitBook
On this page
  • Main features
  • Add to your own designs

CB1

PreviousDual clutches, 6 encoders, button matrix and LEDNextOrdering

Last updated 1 year ago

The Dahl Design CB1 board is an all-in-one microcontroller board designed for simple to complex projects. It is extremely compact with all its features, is flexible in layout and connectivity, and has build-in support for DDC to make it easy to set up.

All design files are free to use and abuse. You'll order your own CB1 through the PCB editor using the steps in this manual.

Main features

  • RP2040 microcontroller processor.

  • Up to 64 digital pins

    • 21 directly from the RP2040

    • 32 from 2 x PCA9555 port expanders

    • 8 from 2 x ADS1115 external ACD which can be used as digital inputs

    • 3 additional pins available from the RP2040 if you deactivate some other features

  • Up to 12 analog pins

    • 4 x 16-bit inputs (oversampled from 12 bit) from the onboard RP2040 ADC with a stable voltage reference.

    • 8 x 16-bit inputs from 2 x ADS1115 external ADC ICs with adjustable refresh rates and gain.

  • Additional 2 USB inputs for screens or other controllers, using a high quality MTT hub IC to ensure the best performance of USB screens.

  • Onboard voltage converter to allow inputs of 5-17 volts up to 3 A to drive screens and LEDs.

  • LED connector for 5V and a level-shifted data line.

  • Super stable 3.2V voltage supply for analog sensors, essentially immune to voltage drop.

  • EEPROM IC to store preset choice, as well as bite point, LED brightness and more settings for every preset. This will not be cleared on power-down. You'll get back your settings as they were when you power back up.

  • All wire holes with 2.54 mm spacing to use pin headers or 2.5-2.54 mm connectors.

  • Micro-USB plug for programming as well as wire holes/connector for a rigid connection for the final controller assembly.

  • 4 x M2 mounting holes

  • Miniature size: 58.4 mm x 41.1 mm, fits inside standard 70 mm QR bolt pattern.

  • All components has been chosen with quality and availability in mind.

All hardware features are pre-programmed in DDC, making the coding part for CB1 simpler than other microcontroller boards.

Add to your own designs

The full schematics are available through the project page on You can copy these schematics to make your own version of this board. Also, a CB1 device is available in EasyEDA. With this you can add the board as an add-on to your main PCB for buttons, LEDs and switches:

OSHWLabs.
CB1 version 1.0