How to Build an ESP32 Based DIY Oscilloscope

Поделиться
HTML-код
  • Опубликовано: 6 сен 2024

Комментарии • 38

  • @amirouw
    @amirouw 2 месяца назад +2

    its been more than a year since you released this project ... thnk you .. its good .. but its time for an update on the project .. plz i cant wait long

  • @sssserya1
    @sssserya1 2 года назад +4

    Make a meander measurement at the maximum frequency that the oscilloscope can see?

  • @0ffGridTechClub
    @0ffGridTechClub 2 месяца назад +2

    Awesome ! I must build one

  • @thomasburtscher8469
    @thomasburtscher8469 6 месяцев назад +1

    I feel like I crazy the wire that is inbetween the R4 and R5 dose not connect to anything in the scamatics, and also the capacitor goes to no where I have watch the vide and don't see much at all. but then I look at the pcb and im lost at what is really going on with the two switches looks like they are looped up or something I mean other then that its almost working

    • @Circuitdigest
      @Circuitdigest  6 месяцев назад

      R4 and R5 is connected to the selector switch it is used for 10x scaling. And the capacitor is used for AC/DC coupling selection. Please check the circuit diagram again.

  • @MrStingerjack
    @MrStingerjack 2 года назад +1

    A dual channel Version would be very cool, i was looking for someting like this, a big screen like this is more than enough for me to have it besid my breaboard

  • @amirouw
    @amirouw 2 месяца назад

    i build one for myself ... the switches act so fast that its kinda annoying to me ... and i dont know why i can only see the DC part of the wave ... although i should say i connected the Bnc directly to ADC input . what can i do

  • @onnonius
    @onnonius Год назад +3

    I've build one using a Liligo T4 (Esp32 with integrated display) and it works great. I've even made some program changes to fit my needs. I must say you program very well. Keep up the good work. Greetings from the Netherlands! Is your analog input safe to measure negative 24Volts (by accident)?

    • @squidben5780
      @squidben5780 Год назад

      I am not able to compile this, many errors. Any idea why ???

    • @onnonius
      @onnonius Год назад

      @@squidben5780 Add the correct libraries and edit the file for the display, you have to comment out the one you have.

  • @0ffGridTechClub
    @0ffGridTechClub 2 месяца назад

    Amazing Bro

  • @user-wz3yf4nk3t
    @user-wz3yf4nk3t Год назад

    Good Contents!! Where is the st7789s TFT LCD? can you link?

  • @user-cv7bv9gp8b
    @user-cv7bv9gp8b Год назад

    здравствуйте а можно этот пооект запустить на stm32?

  • @saydiy1528
    @saydiy1528 11 месяцев назад +1

    I tested the code, and got the menu bar auto moving as long as the signal got in, why so? also, it is not stable?

    • @Circuitdigest
      @Circuitdigest  11 месяцев назад +1

      it very hard to tell you wats wring without actually seeing your output

    • @saydiy1528
      @saydiy1528 11 месяцев назад

      @@Circuitdigest Thank you. I changed: #define BUTTON_Plus 33 (WAS 15); #define ADC_CHANNEL ADC1_CHANNEL_1 // GPIO25; and these two pins work well. but the #define BUTTON_Minus 35 got menu quite when pressed.
      seems the #define ADC_CHANNEL ADC1_CHANNEL_5 works, channel can't change, why so?

  • @juliusparker3039
    @juliusparker3039 2 года назад

    Wonderful, please link to buy the display

  • @Manu2126
    @Manu2126 10 месяцев назад

    Can i use a st7735 1.8 inch display?

  • @summerfun6114
    @summerfun6114 Год назад

    great! which ESP32 Version you used? I used V2.0.5 and my ESP32 keep rebooting after uploaded?

  • @richardingram3517
    @richardingram3517 8 месяцев назад

    I have mine assembled and working. The only problem I have is a sin wave does not show completely. The bottom of the sin wave is flat, not a half wave but chopped off on bottom part. Could that be a problem in the code. I'm using the same 1.69" display.

    • @Circuitdigest
      @Circuitdigest  8 месяцев назад

      hard to figure out what the problem could be, may be an image of the result you are getting might help

    • @richardingram3517
      @richardingram3517 8 месяцев назад

      @@Circuitdigest Where can I post a picture?

    • @Circuitdigest
      @Circuitdigest  8 месяцев назад

      @@richardingram3517 you can try writing on our forums circuitdigest.com/forums

  • @iwantagoodnameplease
    @iwantagoodnameplease 7 месяцев назад

    I can't read the screen -- what kind of sample rate does the ESP32 allow you to do?

    • @1mgsel
      @1mgsel 7 месяцев назад

      In this project, a 1.69" tft screen was used, but you can use a slightly larger screen if you want.

    • @iwantagoodnameplease
      @iwantagoodnameplease 7 месяцев назад

      @@1mgsel I was asking about the sample rates (hz) of the waveform sampling, not the screen

  • @nartoudinus9643
    @nartoudinus9643 Месяц назад

    How to instal library Driver/adc.h?

    • @Circuitdigest
      @Circuitdigest  Месяц назад

      You don't need to install it separately. It comes with the ESP32 Arduino Core.

    • @nartoudinus9643
      @nartoudinus9643 Месяц назад

      @@Circuitdigest
      I have an esp8266, is that possible?

      Telusuri ini di Google

    • @Circuitdigest
      @Circuitdigest  25 дней назад

      No. the code is written for ESP32.

  • @squidben5780
    @squidben5780 Год назад +1

    I am not able to compile this, many errors. Any idea why ???

  • @paul041959
    @paul041959 2 года назад +1

    Did anyone made this oscilloscoop work. I can't get any input. The menu is working.

    • @DariusMikolajczyk
      @DariusMikolajczyk Год назад +4

      I had the same problem, when menu was activated I got Vmax: -6.42V and Vmin: -6.6V
      1. Function ADC_Sampling have to be changed to:
      void ADC_Sampling(uint16_t *i2s_buff){
      size_t bytes_read;
      for (int i = 0; i < B_MULT; i++) {
      //TODO i2s_read_bytes is deprecated, replace with new function
      //i2s_read_bytes(I2S_NUM_0, (char*)&i2s_buff[i * NUM_SAMPLES], NUM_SAMPLES * sizeof(uint16_t), portMAX_DELAY);
      i2s_read(I2S_NUM_0, (void*)&i2s_buff[i * NUM_SAMPLES], NUM_SAMPLES * sizeof(uint16_t), &bytes_read, portMAX_DELAY);
      for(size_t ix = 0; ix < bytes_read/2; ix++) i2s_buff[(i * NUM_SAMPLES) + ix] &= 0x0FFF; // 16bit to 12bit conversion
      }
      }
      2. Functions in screen.ino have to be corrected as well:
      float to_scale(float reading) {
      float temp = WIDTH - (((reading / 4095.0) + (offset / 3.3)) * 3300 / (v_div * 6)) * (WIDTH - 1) - 1;
      return temp;
      }
      float to_voltage(float reading) {
      return reading / 4095.0 * 3.3;
      }
      uint32_t from_voltage(float voltage) {
      return ((uint32_t)(voltage / 3.3 * 4095)) ;
      }

    • @paulkuipers6988
      @paulkuipers6988 Год назад +1

      Thanks Darius. Oscilloscope is working.

    • @DariusMikolajczyk
      @DariusMikolajczyk Год назад

      @@paulkuipers6988 You are welcome :)

    • @user-to3zd2ez8v
      @user-to3zd2ez8v Год назад +1

      @@DariusMikolajczyk Thank you for your help! I additionally had to change #define BUFF_SIZE 49000. With a value of 50000, the compiler swears at the lack of 432 bytes.

    • @DariusMikolajczyk
      @DariusMikolajczyk Год назад +2

      @@user-to3zd2ez8v Hej Erik, thanks for info. I will check out this buffer size as well.

  • @tylersheehy3918
    @tylersheehy3918 2 года назад

    First