
DSO
Aryan-Kodan/Two_Channel_DSO
A custom Multi-Channel Digital Storage Oscilloscope (DSO) designed using the STM32F103C8T6 microcontroller. This project combines a custom analog front-end, trigger circuitry, anti-alias filtering, multi-channel…

A custom function generator designed using STM32F103, KiCad, and LTspice. The project implements a complete analog signal conditioning chain with adjustable gain, DC offset control, output buffering, and protection…
Waveform gen is an open-source printed circuit board by Aryan-Kodan, from the Aryan-Kodan/Function_generator repository on GitHub. It is a 2-layer board of 105 × 79 mm with 29 parts on 86 nets, routed with 200 tracks and 16 vias.
It is built around the LM358 and SMAJ24CA. Its parts include 10 resistors, 9 capacitors, 6 ICs, 1 diode and 1 connector. It belongs with the STM32 boards of this library.
A custom function generator designed using STM32F103, KiCad, and LTspice. The project implements a complete analog signal conditioning chain with adjustable gain, DC offset control, output buffering, and protection circuitry to generate clean analog waveforms suitable for laboratory and embedded applications.
STM32 PWM Output
│
▼
Reconstruction Filter
│
▼
Buffer Amplifier
│
▼
Variable Gain Stage
│
▼
DC Offset Stage
│
▼
Output Driver
│
▼
Output Protection
│
▼
BNC OutputThe complete analog signal chain was verified in LTspice.
Simulation includes:
The PCB was designed in KiCad featuring:
STM32-Function-Generator/
│
├── BOM/
│ ├── Waveform_gen.csv
│
├── Images/
│ ├── KiCad/
│ │ ├── PCB.png
│ │ ├── PCB_3D.png
│ │ ├── PCB_through.png
│ │ └── Schematic.png
│ ├── LTspice/
│ │ ├── DC_offset_neg.png
│ │ ├── DC_offset_pos.png
│ │ ├── Max_amplitude.png
│ │ └── Unity_gain.png
│
├── KiCad/
│ ├── Waveform_gen.kicad_pcb
│ ├── Waveform_gen.kicad_pro
│ ├── Waveform_gen.kicad_sch
│
├── LTspice/
│ ├── Waveform_ge.asc
└── README.md| Parameter | Value |
|---|---|
| MCU | STM32F103C8T6 |
| Display | EA_eDIPTFT32-A |
| Output Waveforms | Sine, Square, Triangle (PWM Generated) |
| Gain | Adjustable |
| DC Offset | Adjustable |
| Output Protection | TVS + Series Resistor |
| PCB | Two Layer |
| Design Software | KiCad |
| Simulation | LTspice |
Aryan Kodan
GitHub: https://github.com/Aryan-Kodan
This project is released under the MIT License.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100n | Capacitor_SMD:C_0805_2012Metric | C3, C4, C5, C6, C7, C8, C9, C10 |
| 6 | 10k | Resistor_SMD:R_0805_2012Metric | R3, R4, R8, R9, R10, R11 |
| 4 | LM358 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3, U4, U5, U6 |
| 2 | 4.7k | Resistor_SMD:R_0805_2012Metric | R5, R6 |
| 1 | 1.6k | Resistor_SMD:R_0805_2012Metric | R7 |
| 1 | 10k | Potentiometer_SMD:Potentiometer_Bourns_3214W_Vertical | RV2 |
| 1 | 1n | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 30k | Potentiometer_SMD:Potentiometer_Bourns_3214W_Vertical | RV1 |
| 1 | 50 | Resistor_SMD:R_0805_2012Metric | R12 |
| 1 | Conn_Coaxial | Connector_Coaxial:BNC_Amphenol_031-6575_Horizontal | J1 |
| 1 | EA_eDIPTFT32-A | Display:EA_eDIPTFT32-XXX | U2 |
| 1 | SMAJ24CA | Diode_SMD:D_SMA | D1 |
| 1 | STM32F103C8Tx | Package_QFP:LQFP-48_7x7mm_P0.5mm | U1 |
It measures 105 × 79 mm and has 2 copper layers, 1.6 mm thick.
29 parts, built around the LM358 and SMAJ24CA. 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.
From the Aryan-Kodan/Function_generator repository on GitHub, at the commit this page was made from: the board is KiCad/Waveform_gen.kicad_pcb and its schematic KiCad/Waveform_gen.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Aryan-Kodan before reusing the design.

Aryan-Kodan/Two_Channel_DSO
A custom Multi-Channel Digital Storage Oscilloscope (DSO) designed using the STM32F103C8T6 microcontroller. This project combines a custom analog front-end, trigger circuitry, anti-alias filtering, multi-channel…


DLaxV-Community-Projects-Hub/Open-Shot-Clock
Build your own DIY Shot Clock



alpauna/TritonECU
ESP32-S3 engine control unit — fuel injection, ignition timing, wideband O2 (CJ125/LSU 4.9), dashboard, and MQTT telemetry

