Skip to the content
PCBKitNew board
2 layers48.3 × 38.7 mmControlsBoard, the printed circuit board in 3D

A function generator powered by ARM Cortex M4

Size
48.3 × 38.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
16
Nets
17
Pads
52
Tracks, vias
92, 2
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
27 Feb 2020
Updated
18 Jun 2021

Overview

ControlsBoard is an open-source printed circuit board by cracked-machine, from the cracked-machine/FunctionGeneratorCortexM4_HW repository on GitHub, published under the MIT licence. It is a 2-layer board of 48.3 × 38.7 mm with 16 parts on 17 nets, routed with 92 tracks and 2 vias.

Its parts include 7 resistors, 4 ICs, 1 connector and 1 switch. It belongs with the STM32 boards of this library.

README

README.md

Cortex M4-based Function Generator (Hardware)

A function generator powered by STM32 G4.

Required Kicad Hardware library: https://github.com/cracked-machine/KicadLibrary

For details of the MCU configuration and firmware refer to FunctionGeneratorCortexM4_SW

Note, RevB was the final design. RevC was not built and is an untested future proposal.

System Overview

Input signals can be used as a trigger, capturing on voltage level or edge detection.

DAC1 synthesises the main output signal waveform and sends it to a voltage gain amplifier (LTC6910-3). The signal is then mixed with the DC offset signal from DAC2. The signal is then passes through a lowpass filter to remove any high frequency noise.

DAC2 is a DC signal 0-3.3V. This is sent to a buffer and inverting buffer. Either output is selected using the MCU-controlled SPDT switch IC (TS12A12511DCNR). This applies a software configurable DC offset between +3.3V and -3.3V to the main output signal.

DAC3 is an output signal synchronised to DAC1 to be used for triggering purposes.

Daughter boards

The display, controls and i/o connectors are connected via daughter boards to the main board via ribbon cable. An example of the display daughter board and its ribbon cable can be seen in the video below:

https://www.instagram.com/p/CA5NSdBhmBY/?utm_source=ig_web_copy_link

Power supply

Current Consumption:
ComponentTypeCurrent
STM32G4MCU42mA (max)
TL972OPAMP3.2mA (per amplifier)
LTC6910-3PGA4.9mA
TS12A12511SPDT1uA
74LVC1G3157SPDT35uA
LCD TFTdisplay60mA
Total120mA

The 9V input is regulated down to 3.3V and 5V for the MCU and LCD display.

Dual supply for the VGA and opamps are provided using multiple TPS60400 charge pumps. TPS60400 are rated at 60mA output but in testing was found to be less. Therefore, multiple TPS60400 were required to provide "point-of-load" regulation.

Additional filtering is provided at the MCU supply pins with L1 and L2 ferrite beads and C1-C12 bypass capacitors.

A midpoint reference 2.5V voltage is provided to the LTC6910-3 VGA using a TL431DBZ precision programmable reference.

Limitations

The power supply limits the output to 9Vp-p. The output swing of the VGA limits this further.

The VGA output current is limited to ~25mA. This is also limited by the power supply.

Due to the settling time of the VGA, smooth sweeps between output amplitude levels using this IC was not possible. As such, the output is fixed to the maximum VGA level. Output amplitude control was handled by the firmware instead.

See LTC6910-3 datasheet for more information.

Parts

16
QtyValueFootprintReferences
4220RResistor_SMD:R_0805_2012Metric_Pad1.15x1.40mm_HandSolderR1, R2, R3, R4
4Tactile_Switch_SPST-NO12x12x7_3mmTactilePushButtonMomentary:12x12x7_3mmTactilePushButtonMomentaryU1, U2, U3, U4
310KResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR5, R6, R7
1Conn_02x06_Odd_EvenConnector_PinSocket_2.54mm:PinSocket_2x06_P2.54mm_Vertical_SMDJ1
1Rotary_Encoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW1

The 13 most common of 16 parts.

Questions

How big is the ControlsBoard PCB?

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

What parts does the ControlsBoard use?

16 parts. 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 ControlsBoard KiCad files?

From the cracked-machine/FunctionGeneratorCortexM4_HW repository on GitHub, at the commit this page was made from: the board is HW/ControlsBoard/RevA/ControlsBoard/ControlsBoard.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the ControlsBoard design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from cracked-machine/FunctionGeneratorCortexM4_HW

7
  • 2 layers109.2 × 91.4 mmFunctionGeneratorCortexM4, the printed circuit board in 3D

    FunctionGeneratorCortexM4

    cracked-machine/FunctionGeneratorCortexM4_HW

    A function generator powered by ARM Cortex M4

    119 parts2MIT
  • 2 layers109.2 × 91.4 mmFunctionGeneratorCortexM4, the printed circuit board in 3D

    FunctionGeneratorCortexM4

    cracked-machine/FunctionGeneratorCortexM4_HW

    A function generator powered by ARM Cortex M4

    88 parts2MIT
  • 2 layers34.2 × 155.4 mmDisplayBoard, the printed circuit board in 3D

    DisplayBoard

    cracked-machine/FunctionGeneratorCortexM4_HW

    A function generator powered by ARM Cortex M4

    18 parts2MIT
  • 2 layers48.3 × 52.6 mmControlsBoard, the printed circuit board in 3D

    ControlsBoard

    cracked-machine/FunctionGeneratorCortexM4_HW

    A function generator powered by ARM Cortex M4

    12 parts2MIT
  • 2 layers54.6 × 20.3 mmControlsBoard, the printed circuit board in 3D

    ControlsBoard

    cracked-machine/FunctionGeneratorCortexM4_HW

    A function generator powered by ARM Cortex M4

    12 parts2MIT
  • 2 layers54.6 × 21.8 mmControlsBoard, the printed circuit board in 3D

    ControlsBoard

    cracked-machine/FunctionGeneratorCortexM4_HW

    A function generator powered by ARM Cortex M4

    12 parts2MIT
  • 2 layers26 × 56.2 mmIOBoard, the printed circuit board in 3D

    IOBoard

    cracked-machine/FunctionGeneratorCortexM4_HW

    A function generator powered by ARM Cortex M4

    4 parts2MIT

Similar boards

  • 2 layers140.5 × 30 mmType e, the printed circuit board in 3D

    Type e

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    16 parts3kApache-2.0
  • 2 layers41.4 × 14.5 mmU2f zero, the printed circuit board in 3D

    U2f zero

    conorpp/u2f-zero

    U2F USB token optimized for physical security, affordability, and style

    16 parts2.4k
  • 2 layers122 × 37 mmV0-UmbilicalBoard, the printed circuit board in 3D

    V0-UmbilicalBoard

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    16 parts1.1kGPL-3.0
  • 2 layers152 × 57.6 mmVideoslotadapter, the printed circuit board in 3D

    Videoslotadapter

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    16 parts1kGPL-3.0
  • 2 layers36 × 63.4 mmSmart ringfinal layout, the printed circuit board in 3D

    Smart ringfinal layout

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    16 parts915
  • 2 layers60 × 40 mmHASwitchPlate, the printed circuit board in 3D

    HASwitchPlate

    aderusha/HASwitchPlate

    LCD touchscreen for Home Automation

    16 parts738MIT
  • 2 layers21.1 × 26.9 mmDemo, the printed circuit board in 3D

    Demo

    easyw/kicadStepUpMod

    kicadStepUp: ECAD to MCAD FreeCAD WorkBench

    16 parts704