Introduction:
This project uses LCSC EDA for the hardware design and FreeRTOS and LVGL graphics library for the software, making it suitable for beginners. The oscilloscope preamplifier circuit is based on Lao Liang's STC oscilloscope. The main control chip is Heze Air32F103CCT6, with a maximum frequency of 256MHz, and a 3.5-inch TFT high-definition color screen (SPI communication) with a resolution of 320*480. A touchscreen interface is also provided. It is powered by a 3.7V lithium battery and can be charged via Type-C. The measured charging current is 0.9A. Due to the use of a linear charging chip, the heat generated during charging is too high, which can be improved in future projects. Operationally, a roller encoder is used for all operations.

Special Note:
For ease of learning, the code is still being organized, mainly requiring the addition of comments. Currently, only the firmware is provided for download; it will be open-sourced later. Open-source address: Gitee.
For the 3.5-inch screen, the driver IC is ST7796, with an FPC cable interface; Zhongjingyuan is recommended (no advertising fee).
The BOM is generally correct, but it's best to open the project and check it item by item.
If you encounter any bugs or other problems during use, feel free to message me.
Oscilloscope performance parameters:
1. Sampling rate: Adjustable, maximum 1MHz 2. Input voltage: -80V to +80V (theoretically, I haven't measured this high) 3. Coupling method: AC coupling and DC coupling 4. Triggering method: Rising edge and falling edge triggering 5. Uses DSP library to implement FFT spectrum
6. Includes a 1kHz square wave
7. The program is very simple; you can add code to implement other functions.
Measurement parameters:
The screen temporarily displays VPP, maximum value, minimum value, and frequency

as shown in the image above.
Pressing the encoder will bring up the settings interface. It will first focus on the slider at the top. Pressing the encoder will enter edit mode. Moving the encoder will move the waveform left and right. From top to bottom on the far right are the coupling method, triggering method, sampling rate, preamplifier gain, FFT spectrum, and exit.
This is my first open-source project, and there are many shortcomings. I welcome everyone to point them out, and I will continue to upgrade it in the future.