Stufin
Home Quick Cart Profile

DSO138 DIY 2.4 inch Oscilloscope Kit

Buy Now on Stufin

Microcontroller

STM32F103C8T6

Analog-to-Digital Converter (ADC)12-bit, 500 MSa/s

Display

2.4 inch, 320x240 pixels, color TFT LCD

Input Channels

2

Input Voltage

0-50V peak-to-peak

Input Impedance

1M

Bandwidth

10 MHz

Sampling Rate

500 MSa/s

Storage Capacity

1000 waveforms (internal), expandable via microSD card

Power Supply

Rechargeable battery, USB charging

Operating System

Open-source firmware (Arduino-compatible)

Kit Contents

Mainboard

2.4 inch Color TFT LCD Display

Front panel with buttons and knobs

Enclosure

Power adapter

USB cable

Rechargeable battery

MicroSD card (optional)

Jumper wires and probes (optional)

Target Audience

The DSO138 DIY Oscilloscope Kit is designed for

Electronic enthusiasts and hobbyists

Students and educators in electrical engineering and electronics

Professionals in electronics design, development, and testing

Anyone interested in building and customizing their own oscilloscope.

Pin Configuration

  • DSO138 DIY 2.4 inch Oscilloscope Kit Pinout Guide
  • The DSO138 DIY 2.4 inch Oscilloscope Kit is a compact and feature-rich oscilloscope kit that is ideal for hobbyists, students, and professionals. The kit consists of a main board and a TFT LCD display, both of which are connected using a 20-pin FPC (Flat Flexible Cable) connector. Here is a detailed pinout guide for the main board:
  • Main Board Pins
  • 1. VCC (Pin 1): 5V power supply input. Connect to a 5V power source, such as a USB port or a battery.
  • 2. GND (Pin 2): Ground pin. Connect to the negative terminal of the power source or the ground of the system.
  • 3. CH1+ (Pin 3): Channel 1 positive input. Connect the positive lead of the signal you want to measure to this pin.
  • 4. CH1- (Pin 4): Channel 1 negative input. Connect the negative lead of the signal you want to measure to this pin.
  • 5. CH2+ (Pin 5): Channel 2 positive input. Connect the positive lead of the signal you want to measure to this pin.
  • 6. CH2- (Pin 6): Channel 2 negative input. Connect the negative lead of the signal you want to measure to this pin.
  • 7. TRIG+ (Pin 7): Trigger positive input. Connect the positive lead of the trigger signal to this pin.
  • 8. TRIG- (Pin 8): Trigger negative input. Connect the negative lead of the trigger signal to this pin.
  • 9. EXT TRIG (Pin 9): External trigger input. Connect an external trigger signal to this pin.
  • 10. LCD SCL (Pin 10): TFT LCD clock signal. Connect to the SCL (clock) pin of the TFT LCD display.
  • 11. LCD SDA (Pin 11): TFT LCD data signal. Connect to the SDA (data) pin of the TFT LCD display.
  • 12. LCD RESET (Pin 12): TFT LCD reset signal. Connect to the reset pin of the TFT LCD display.
  • 13. LCD VCC (Pin 13): TFT LCD power supply input. Connect to the VCC pin of the TFT LCD display.
  • 14. LCD GND (Pin 14): TFT LCD ground pin. Connect to the GND pin of the TFT LCD display.
  • 15. KEY1 (Pin 15): Keyboard input 1. Connect to a push-button or a switch to implement menu navigation or other functions.
  • 16. KEY2 (Pin 16): Keyboard input 2. Connect to a push-button or a switch to implement menu navigation or other functions.
  • 17. KEY3 (Pin 17): Keyboard input 3. Connect to a push-button or a switch to implement menu navigation or other functions.
  • 18. KEY4 (Pin 18): Keyboard input 4. Connect to a push-button or a switch to implement menu navigation or other functions.
  • 19. KEY5 (Pin 19): Keyboard input 5. Connect to a push-button or a switch to implement menu navigation or other functions.
  • 20. NC (Pin 20): Not connected. Do not connect anything to this pin.
  • TFT LCD Display Pins
  • 1. VCC (Pin 1): 5V power supply input. Connect to the VCC pin of the main board.
  • 2. GND (Pin 2): Ground pin. Connect to the GND pin of the main board.
  • 3. SCL (Pin 3): Clock signal input. Connect to the LCD SCL pin of the main board.
  • 4. SDA (Pin 4): Data signal input. Connect to the LCD SDA pin of the main board.
  • 5. RESET (Pin 5): Reset signal input. Connect to the LCD RESET pin of the main board.
  • Connection Structure:
  • 1. Connect the 5V power supply to VCC (Pin 1) of the main board.
  • 2. Connect the ground of the power supply to GND (Pin 2) of the main board.
  • 3. Connect the positive lead of the signal you want to measure to CH1+ (Pin 3) or CH2+ (Pin 5) of the main board.
  • 4. Connect the negative lead of the signal you want to measure to CH1- (Pin 4) or CH2- (Pin 6) of the main board.
  • 5. Connect the positive lead of the trigger signal to TRIG+ (Pin 7) of the main board.
  • 6. Connect the negative lead of the trigger signal to TRIG- (Pin 8) of the main board.
  • 7. Connect the TFT LCD display to the main board using the 20-pin FPC connector. Make sure to match the pins correctly.
  • 8. Connect the keyboard inputs (KEY1-KEY5) to push-buttons or switches as required.
  • Important Notes:
  • Make sure to handle the components with care to avoid damage.
  • Use a suitable power supply and ensure the voltage is within the recommended range.
  • Connect the signals and trigger inputs correctly to avoid damage to the device.
  • Refer to the user manual or datasheet for more information on using the DSO138 DIY Oscilloscope Kit.

Code Examples

DSO138 DIY 2.4 inch Oscilloscope Kit Documentation
Overview
The DSO138 DIY 2.4 inch Oscilloscope Kit is a compact, open-source oscilloscope module designed for educational and hobbyist projects. It features a 2.4-inch color TFT LCD display, a 1GSa/s sampling rate, and a bandwidth of 200MHz. The kit includes a pre-assembled PCB, a li-ion battery holder, and a USB cable.
Technical Specifications
Display: 2.4-inch color TFT LCD, 320x240 pixels
 Sampling Rate: 1GSa/s
 Bandwidth: 200MHz
 Input Channels: 2
 Input Impedance: 1M, 10pF
 Power Supply: 5V (via USB or li-ion battery)
 Dimensions: 100x65x20mm
Getting Started
To get started with the DSO138 DIY Oscilloscope Kit, follow these steps:
1. Assemble the kit according to the manufacturer's instructions.
2. Connect the oscilloscope to a power source (USB or li-ion battery).
3. Use a USB cable to connect the oscilloscope to a computer or other device.
Code Examples
### Example 1: Basic Oscilloscope Functionality
The following code example demonstrates how to use the DSO138 DIY Oscilloscope Kit to display a simple waveform.
```c
#include <DSO138.h>
void setup() {
  // Initialize the oscilloscope
  DSO138.begin();
  
  // Set the trigger mode to auto
  DSO138.setTriggerMode(DSO138_TRIGGER_AUTO);
  
  // Set the timebase to 1ms/div
  DSO138.setTimebase(DSO138_TIMEBASE_1MS);
  
  // Enable Channel 1
  DSO138.enableChannel(DSO138_CHANNEL_1);
}
void loop() {
  // Generate a simple sine wave on Channel 1
  int amplitude = 100;
  int frequency = 1000;
  for (int i = 0; i < 256; i++) {
    int sample = (amplitude  sin(2  PI  frequency  i)) + 128;
    DSO138.writeSample(DSO138_CHANNEL_1, sample);
  }
  
  // Wait for the oscilloscope to refresh
  delay(10);
}
```
This code initializes the oscilloscope, sets the trigger mode to auto, and enables Channel 1. It then generates a simple sine wave on Channel 1 using the `writeSample()` function.
### Example 2: Data Logging with Arduino
The following code example demonstrates how to use the DSO138 DIY Oscilloscope Kit with an Arduino board to log data from a sensor.
```c
#include <DSO138.h>
#include <Arduino.h>
const int sensorPin = A0;  // Pin for the sensor
const int.logInterval = 10;  // Logging interval in milliseconds
void setup() {
  // Initialize the oscilloscope
  DSO138.begin();
  
  // Set the trigger mode to auto
  DSO138.setTriggerMode(DSO138_TRIGGER_AUTO);
  
  // Set the timebase to 1ms/div
  DSO138.setTimebase(DSO138_TIMEBASE_1MS);
  
  // Enable Channel 1
  DSO138.enableChannel(DSO138_CHANNEL_1);
  
  // Initialize the Arduino serial port
  Serial.begin(9600);
}
void loop() {
  // Read the sensor value
  int sensorValue = analogRead(sensorPin);
  
  // Write the sensor value to the oscilloscope
  DSO138.writeSample(DSO138_CHANNEL_1, sensorValue);
  
  // Log the data to the serial port
  Serial.print("Sensor Value: ");
  Serial.println(sensorValue);
  
  // Wait for the logging interval
  delay(logInterval);
}
```
This code initializes the oscilloscope and sets up an Arduino board to read data from a sensor. It then writes the sensor values to the oscilloscope using the `writeSample()` function and logs the data to the serial port using the `Serial.println()` function.
Resources
DSO138 DIY Oscilloscope Kit Manual: [www.jyetech.com/download/DSO138-Manual.pdf](http://www.jyetech.com/download/DSO138-Manual.pdf)
 DSO138 Library for Arduino: [github.com/jyetech/DSO138-Arduino-Library](http://github.com/jyetech/DSO138-Arduino-Library)
Note: The above code examples are for illustration purposes only and may require modification to work with your specific project.