ESP32 VGA [Arduino, 3D]

Поділитися
Вставка
  • Опубліковано 6 січ 2025

КОМЕНТАРІ • 173

  • @bitluni
    @bitluni  6 років тому +20

    Pins R2 and R3 in the schematic of the video are swapped. Fixed on the homepage bitluni.net/esp32-vga/

  • @markusfuller
    @markusfuller 6 років тому +85

    Bitluni you have inspired me to put more effort into this esp32 . I made the led flash . well i have to start somewhere. thank you for your great videos.

    • @bitluni
      @bitluni  6 років тому +1

      Thanks markus, I'm enjoying your videos, too!

  • @UnexpectedMaker
    @UnexpectedMaker 6 років тому +52

    You really are a level or 10 above the rest of us mate! VGA at any resolution/colour depth on the ESP32 is an amazing accomplishment! Well done!

    • @Trident7235
      @Trident7235 6 років тому +1

      It's so simple to be "a level or 10 above" you since you're too stupid even to google. It was already accomplish by so many people and explained in details that every idiot can repeat the same.

    • @browaruspierogus2182
      @browaruspierogus2182 6 років тому +1

      @@Trident7235 Hah yeah I noticed that. Besides Espressif published newest tricks with I2S in their new code for camera long time ago.
      I want to see I2S pulling 640x480 or 800x600 image with 60fps from some cheap camera. I am able to pull 25fps so far

    • @leon-set
      @leon-set 6 років тому +4

      @@Trident7235 then why don't you repeat it? :o

    • @UnexpectedMaker
      @UnexpectedMaker 6 років тому +11

      @Leon' Because it's easier to bully people to cover your own insecurities than it is to put yourself out there and make and share something, even if you are not the first person to do it. Sharing takes courage, bullying involves no courage, compassion or self-esteem.

    • @bitluni
      @bitluni  6 років тому +5

      You are right! It has been even done on the esp8266. in serial mode you get 32times the bandwidth but only one bit at a time and you need to do the syncs another way. I tried doing the syncs manually at the start of the interrupt.. wasn't good enough. Plz show me a version that's running reliably for a long time with actual color graphics.

  • @AhmadLafi-TheFirst
    @AhmadLafi-TheFirst 6 років тому +28

    It is truly amazing that all of this fine juice are packed inside this little tiny chip.

  • @PhattyMo
    @PhattyMo 6 років тому +21

    4:20 - reminds me of a lot of PC games from the early 90's. CD-ROM was a pretty new thing at the time,and it seemed every game had some kind of video clips that looked very similar to this.
    5:20 - Yes,the DOS era indeed.

    • @Palamatar
      @Palamatar 5 років тому

      Was gonna comment about it. Remember Titanic Adventure out of time? Great times.

    • @iamthetinkerman
      @iamthetinkerman 5 років тому

      DOS, the good old days of multiplayer Quake via serial cable!

  • @wickeddubz
    @wickeddubz 3 роки тому

    4:20 - you remind those videogame characters who give missions, instructions and gadgets 🙌🏼👍🏼👍🏼👍🏼

  • @4.0.4
    @4.0.4 6 років тому +2

    Man, your stuff is really good. Commenting so the UA-cam algorithm overlords recommend your video.
    Hearing that you also learned from browsing the web and tutorials made me more motivated for some reason!

  • @XDjUanZInHO
    @XDjUanZInHO 4 роки тому +1

    Thank you for showing this, made me really wanna go into the esp-idf and learn about the thing on a more raw level to understand embedded systems. Now I'm fucked because there's a lot to understand, but very happy I get to see what can be possible after looking into the hardware deep enough

  • @dps9988
    @dps9988 4 роки тому +3

    One day, ill actually understand these videos that I watch. Until then, ill keep hitting the like button and try keeping my eyes from glossing over...
    (just started out with all of this, no school or anything, a few months ago)

  • @dl8cy
    @dl8cy 6 років тому +2

    I am so thankful that you are sharing your knowledge!

  • @CNLohr
    @CNLohr 6 років тому

    Excellent. That APLL is a swanky way to go!

    • @bitluni
      @bitluni  6 років тому

      APLL unfortunately isn't as fast but extremely stable. I'm missing even somewhere a divider by 2. Definitely a lot of details in the clock config. Also the 8 least significant bits of i2s1 are broken..
      Too much details for this video but I would share it with you since you are one of the people that actually work at that level

  • @migry
    @migry 5 років тому

    Impressive and very clever use of hardware! I look forward to viewing some of your older videos.

  • @plasmar1
    @plasmar1 2 роки тому

    if/when the demoscene finds this stuff will be awesome

  • @roycas3
    @roycas3 6 років тому +1

    Very good. You're a true researcher.

  • @MadLabZ
    @MadLabZ 6 років тому +1

    Nice work, very impressive ive been playing with my esp32 and find myself going back to the Nodemcu v3 but in time im sure the 32's community will keep growing and eventually pulling all of us 8266head's into its awesome dual core gravity.

    • @MadLabZ
      @MadLabZ 5 років тому

      UPDATE: new fav Wemos D1 mini Pro, its amazing that you can easily host a website from this little guy using spiffs a bit of html and a a hand full of images.

  • @SERVOPUNK
    @SERVOPUNK 6 років тому

    I'll have to try this. Abolutely amazing what you got out of such a cheap chip, I'll have to try this myself

  • @mtraven23
    @mtraven23 2 роки тому

    finding your videos very helpful in trying to do some of this more advanced avr work. thanks for sharing (the video & attached resources)!

  • @blackswan7292
    @blackswan7292 6 років тому

    thats impressive as hell. good work!

  • @chinmoytahbildar3278
    @chinmoytahbildar3278 5 років тому

    Awesome... love your effort towards this kind of content ...plzz make some videos on esp32-cam in depth

  • @theengineer9910
    @theengineer9910 4 роки тому

    You and chlohr are the Kings

  • @aerobyrdable
    @aerobyrdable 6 років тому

    Keep up the good work, Bit!

  • @circuitsandcigars1278
    @circuitsandcigars1278 5 років тому

    Wow, I used to work making thin film resistor networks and made alot of R2R chips.

  • @tombrothers9456
    @tombrothers9456 5 років тому

    Jesus Christ man, where do you find the time, LOL. Got this thing to generate NTSC/PAL/VGA and on top of it wrote some games, a ray tracer... amazing. I'm glad the ESPs I2S can generate these kinds of signals.. opens up lots of possibilities. I'm glad you talked about the parallel mode that also opens up more possibilities (and using resistor ladders allows all sorts of combinations of analog/digital outputs). I'm not sure I can grasp how to do it myself but this helps :)

  • @cdnsoundguy
    @cdnsoundguy 6 років тому +1

    Dude, you are the coolest. Keep the videos coming. Your super impressive.

  • @MaxintRD
    @MaxintRD 6 років тому

    Nice video about some great achievements. Very good!

  • @Shabbymannen
    @Shabbymannen 5 років тому

    I liked the copper bars.

  • @hollensted
    @hollensted 6 років тому

    Awesome! Thanks for your hard work.

  • @kodiererg
    @kodiererg 6 років тому

    You post some very cool things.

  • @GreatProjects
    @GreatProjects 3 роки тому

    Great Job! Thanks for sharing.

  • @atc1441
    @atc1441 6 років тому +3

    Super Cool, I2S ist echt für was gut, man merkt ja doch bei vielen Projekten das die normalen GPIO's zu langsam sind. Danke dafür :)

    • @bitluni
      @bitluni  6 років тому

      Ja leider ist außer I2S nichts auf den esps echtzeit

    • @bernhardneubuser8163
      @bernhardneubuser8163 6 років тому

      @@bitluni Der 80Mhz Hardware SPI ist aber doch auch nicht verkehrt, oder? Und kann man nicht auf den WROM Modulen (ohne PS Ram) Quad SPI mit 80 MHz fahren. Das wären dann doch auch immerhin 40 MB/s Durchsatz?

  • @AndyCallaway
    @AndyCallaway 6 років тому +2

    Cool stuff. I tried creating a VGA image using just an Aeduino a while ago. It almost worked...

    • @bitluni
      @bitluni  6 років тому

      what was the problem?

    • @AndyCallaway
      @AndyCallaway 6 років тому

      @@bitluni The arduino wasn't fast enough. It could generate a monochrome image, but it took up about 99% of the processing time, leaving nothing for anything else.

  • @maxbursell3513
    @maxbursell3513 5 місяців тому

    Hi.
    When i do the schematic 2:56 I get 1.5V as the maximum value, and i should be 0.7V. Why is that?

  • @aherontas1943
    @aherontas1943 5 років тому +2

    Hello i really need your help.I want to make it work for interlaced displays and not progressive.Also is there a way to read screen display,in order to have it always correct fitted?
    Thanks in advance:D

  • @XTronical
    @XTronical 6 років тому +1

    Fantastic job, can't wait to try it out.

  • @evilsdexter5261
    @evilsdexter5261 4 роки тому

    thank you for sharing, awesome!

  • @haakonness
    @haakonness 6 років тому +1

    Awesome stuff!

  • @TheNewKill1212
    @TheNewKill1212 5 років тому +4

    Waiting for DOOM on VGA :D

  • @bytemaniak8328
    @bytemaniak8328 5 років тому +1

    I am trying to do something similar with 8-color VGA mode. You mentioned that you do not need any resistors for the 8-color mode. Would that not mean that we are sending 3.3V signals to the R/G/B pins whereas they are supposed to only accept 0.7V max? Is there a clipping diode that keeps the voltage down to 0.7V in the monitor?

    • @armyant7
      @armyant7 4 роки тому

      I'd like to know too. Or does PWM work?

  • @Karnikhil91
    @Karnikhil91 Місяць тому

    Can anyone explain me how does is a displaying VGA works because I didn't understand in his GitHub it is very difficult for me to understand how does the VGA output work especially the memory buffer output without using any electronic component just by using the ESP pin and just connect to the VGA

  • @pirateman1966
    @pirateman1966 6 років тому +7

    I've a bit of a luni request.
    Please consider making a WiFi intercom, using a I2S mems microphone and speaker, with an ESP32.

    • @pirateman1966
      @pirateman1966 6 років тому

      MAX98357A and ICS-43432_DS are used in Google AIY voice hat.

  • @amansaxena5898
    @amansaxena5898 4 роки тому

    Hi, what are those documentation you were showing, between 1:53 and 2:07. The technical reference manual or some other doc?

  • @donjindra
    @donjindra 6 років тому +1

    Reminds me of Don Lancaster's The Cheap Video Cookbook.

  • @BrianLough
    @BrianLough 6 років тому +1

    This is amazing! I don't think any of us on tomorrow stream are like you luni 😂

  • @workroom-che
    @workroom-che 3 роки тому

    Hi. I need help. I have a oscilloscope dso150, but lcd display for me very small (2, 4"( 3color). And I have one big lcd (5, 6")with video input. What I need for connection oscilloscope and big lcd? Can't you help me? R2r?

  • @anon_fm
    @anon_fm 5 років тому

    Hi! I have cool idea: use few esp32 to control every color channel and sync them. It will give to you greater bandwidth and even you can create DAC in 16-24-28 bits per channel! I really want to see "videocard" with true HDR support, even in 320x200 resolution! It can be great project!

  • @kalex-bi4nf
    @kalex-bi4nf 4 роки тому

    THANK YOU FOR YOUR VIDEOS..

  • @dukedougal16
    @dukedougal16 6 років тому

    It would be interesting to see this a high res 8/16 bit color text-only VGA display with "no-extra-components" that also works with wifi enabled - that would only take a very small amount of RAM. - Connect a keyboard/game controller via bluetooth and that's a full working computer. Even cooler would be for it to boot into the esp32 built in basic interpreter.

  • @DimiEG
    @DimiEG 4 дні тому

    Thank you for your wonderful work. Question: is it possible to compile your wonderful library on ESP-IDF (without arduino or platformio). I've tried many times, but there are too many compilation errors.

  • @scottwallace4428
    @scottwallace4428 5 років тому +1

    You're amazing

  • @hakimmuhiddin9068
    @hakimmuhiddin9068 2 роки тому

    Brilliant. I wonder if it is possible to reverse the function. An example, VGA monitor screen from MS DOS connect to ESP32 via VGA and cast to web just like normal esp32 cam.

  • @geoffreyhayward3760
    @geoffreyhayward3760 6 років тому +1

    Given the number of pins you need for this, would it not be possible to use 2 esp32 s synced together somehow thereby using one as a rudimentary graphics card and the other as the CPU and parsing the framebuffer across to the GPUesp32 from the CPUesp32? Would parsing the buffer over wifi or i2s even be fast enough bandwidth wise?

    • @D4no00
      @D4no00 5 років тому

      there is no point in doing this, he just wanted to show that you can do this on esp32. To achieve better results you use another chip specialized for this.

  • @alexeyshimanovich6548
    @alexeyshimanovich6548 6 років тому

    This awesome dude

  • @acatisfinetoo3018
    @acatisfinetoo3018 4 роки тому

    I what to try this but don't have a vga monitor. so would a vga to HDMI adapter work?

  • @mobluse
    @mobluse 5 років тому +3

    It's great that ESP32 can generate composite video and VGA. I have many VGA-screens that also have DVI-D. Could ESP32 also generate DVI-D i.e. HDMI video?

    • @bitluni
      @bitluni  5 років тому +7

      not w/o external components. but you could drive 4 vga screens at the same time at 8 colors. and 14 screens b/w :-D

    • @mobluse
      @mobluse 5 років тому

      What components could that be (for HDMI/DVI-D)? A shift-register? But maybe one also needs an external clock source, because the shift register would need to be clocked at f*width.

  • @larathewitch9141
    @larathewitch9141 4 роки тому

    Hi Bitluni, I’ve tried to build a electronic circuit that outputs a picture onto the lcd screen , how I went about it was that I used my analog logic analyser to essentially attempt to clone my vga wires voltages, so now when I look at my signals that I’ve generated they are soo close to the original signals , the tv detects the hsync and ysync and goes into the correct mode, but the picture on the screen looks nothing like the original picture. Any help please?

  • @imranaalam
    @imranaalam 5 років тому +1

    Can you please share the internet links so that I can understand your video

  • @slicedpage
    @slicedpage 6 років тому +1

    your thumbnail is a perfect example of what someone sees when they have an optical migraine.

    • @bitluni
      @bitluni  6 років тому

      creepy, isn't it? 😂

  • @cerberes
    @cerberes 6 років тому +1

    Brilliant!!

  • @deltakid0
    @deltakid0 4 роки тому

    2:19 I am intrigued by how you managed to use a single pin for both sync pulses, did you create a video explaining that already? Thank you.

    • @jacksonshelton8055
      @jacksonshelton8055 4 роки тому

      I think it's the equivalent of composite sync- both vertical and horizontal sync are shoved on the same wire, just not with the image. You could then use a sync splitter device to get the horizontal and vertical sync signals from it. In 16 bit dual channel mode, it could be used to achieve 5 bits for every color instead of sacrificing a bit of one color to get the H and V sync signals. I achieved making composite sync on an STM32 microcontroller with some interrupts and some PWM trickery, but it didn't work for what I intended it to because the interrupts to change the pulse width were taking too much time to execute, leaving no time for the code I wanted to be executed. But with the I2S bus and a simple mask buffer for the sync signals, it would be a piece of cake for the ESP32!

  • @owolabitunjow9041
    @owolabitunjow9041 2 роки тому

    please what about using a PSRAM for a full frame buffer?

  • @ashrafatteya
    @ashrafatteya 5 років тому

    Amazing that is impressive

  • @keshavraina97
    @keshavraina97 Рік тому

    Can you please add a command to clean display in your esp32 VGA out library. As it will be very useful for displaying moving data on screen.

  • @victorsuarezrovere1880
    @victorsuarezrovere1880 3 роки тому

    I wonder what's the maximum pixel frequency for 3-bit video (i.e. max APLL frequency and max DMA bandwidth), does anyone know?

  • @artesalve5965
    @artesalve5965 2 роки тому

    could it be possible to stream a 640x480 desktop environment?

  • @TheDefpom
    @TheDefpom 6 років тому +1

    Very interesting.

  • @rodrigolahitte
    @rodrigolahitte 2 місяці тому

    Hi! I'm using the VGA library, and it's awesome! I just have one issue-does anyone know how to display large numbers on the screen

  • @holthuizenoemoet591
    @holthuizenoemoet591 6 років тому

    Great video, i love the project! Were can i find the diagram for the 8bit version ( shown at 6:00 )? i would like to this setup.

  • @hizzysfarm6828
    @hizzysfarm6828 5 років тому

    Hi, would it be possible to also use MCP4921/4922 DAC For these Projects?

  • @niklasneuhold8606
    @niklasneuhold8606 6 років тому

    I would be realy interested in a video, where the esp reads an analog signal...

  • @himbeerme
    @himbeerme 6 років тому

    Couldn't you use the WROVER ESP32 to get more RAM? Or does it limit the amount of available IO pins?

  • @llIIllIlIIllX_XIillIIllIIllIll
    @llIIllIlIIllX_XIillIIllIIllIll 3 роки тому

    hey, could you suggest components that can be added to the ESP32 to make it able to output display like phones?
    3.5 inches 2k resolution is the goal for me.

  • @nikitaelizarov7444
    @nikitaelizarov7444 6 років тому +4

    I thought the jittering pixels looked awesome!

  • @darklord_ice
    @darklord_ice 5 років тому

    this is mindblowing :D i'm having a slightly off-topic question: would it work connecting a camera to the esp and using this technique for fast color detection? (detecting the most dominant color from the camera image)

  • @HA7DN
    @HA7DN 6 років тому +2

    I've been reading about VGA video generation, but I don't think an MCU can handle it well.
    In the other hand, ESP32s have a lot of internal peripherals, so it should not use the processor that much...

  • @leozendo3500
    @leozendo3500 6 років тому

    Amazing ESP32 project. What else can we make? Composite (not RGB VGA) video recorder?

  • @ateliervilvoorde4813
    @ateliervilvoorde4813 5 років тому

    Hi Bitluni. I've been trying to build a VGA text only video controller based on "just" a microcontroller. I've done that in the past with an ATMega but with a to low resolution to bring satisfaction. I want to get up to (at least) 80 characters per line and 60 lines per screen in (at least) 8 colours. With 64 colours I would have all I could dream of. Do you think it could be done with an ESP32 or any other microcontroller ? I was hoping I could get one core to calculate the comming line of pixels while a DMA channel sends the current line of pixels.

  • @DiyintheGhetto
    @DiyintheGhetto 9 місяців тому

    Hey Luni, do you think something such as 1024x768 might work on the vga with the esp32?

  • @maicomcoelholopes9032
    @maicomcoelholopes9032 5 років тому

    Bitluni Poderia fazer um vídeo ilustrativo de como funciona a modulação do sinal?

  • @stefa6901
    @stefa6901 6 років тому

    Beautiful... :)

  • @imranaalam
    @imranaalam 5 років тому

    helpful but for expert users. What to watch first if I am bigger to vga

  • @larsenpedersen
    @larsenpedersen 6 років тому

    Where the the pixilated statue video from? :)

  • @АлексейБалашов-ф5п

    Super!

  • @acatisfinetoo3018
    @acatisfinetoo3018 4 роки тому

    How does the baseh snd base work and what is the signal array? Ive looked at the code but it seems complex. Its still the best video on vga graphics I have found.

  • @Phoe
    @Phoe 6 років тому

    Very cool

  • @freegavin5159
    @freegavin5159 6 років тому

    it is gooood, i like it

  • @moth.monster
    @moth.monster 5 років тому

    Could you use just green for that true monochrome experience?

  • @ИванИсайков-я5с

    Finaly. I have lua lib, I have VGA solution, I have ESP controller. Now CraftOS, developed only for Minecraft will no longer require this game! I WILL PORT CRAFT OS TO ESP32! CRAFT OS WILL WORK IN REAL WORLD AS REAL OS!

  • @fbxlearning8725
    @fbxlearning8725 3 роки тому

    Hello bitluni, Your experiment and development is quite impressive. I have tried and tested with your coded libraries and things seemed to be working fine.
    Can you please help me solve this.........
    Display the alpha-numeric numbers in 90degree rotated fashion. So that when I keep a VGA screen vertical (90 degree rotated), then the alpha-numeric should be horizontally oriented (parallel to the ground).

    • @charliebrownn6622
      @charliebrownn6622 2 роки тому

      Hi! Do u solve it ? It’s look great for a cheap kitchen display orders

  • @shakerileiwat4341
    @shakerileiwat4341 6 років тому +1

    Great 👍

  • @YO2LDK
    @YO2LDK 2 роки тому

    nice project,
    can be use it with VGA to HDMI adapter?

  • @besenyeim
    @besenyeim 6 років тому

    Great! Now DVI.

  • @ThisNameWasAvaliblle
    @ThisNameWasAvaliblle 6 років тому

    YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYES! I EXALT YOUR NAME AND THIS PROJECT!
    (There you go back to reading my mind for projects)

  • @Ringer1982
    @Ringer1982 5 років тому

    I really like your projects, good jokes too by the way. But I asked questions a couple of times about the projects and there wasn't any feedback. Maybe my comment will help your channel somehow, I don't know... Some of hobbiests who's interested in the stuff like this working on a full time job, which doesn't involve micro controllers. So they have a day in a week tops to make whatever they want to make. I tried to work with ESP32 and I had 2 problems:
    1. I couldn't use step by step debugging
    2. I tried to make my own PCB and fan solder ESP32 on it and fried two "chips"
    If you make a tutorial of your workflow with the esp32 (or any other thing you use) after you made a project video - it would be VERY interesting.

  • @JoneKone
    @JoneKone 5 років тому

    Wireless VGA signal from moving object :) Quad copter.. Sync with digital signal and somehow calculate the face shift + jitter(Doppler) gps isn't accurate enoufgh to measure speed...

  • @YusufBAYLAV
    @YusufBAYLAV 6 років тому

    Really good. Would this be possible to use with AR applications? For example, like detecting several objects and mark them with a rectangular shape like in the esp-eye face recognition application?

    • @bitluni
      @bitluni  6 років тому +2

      terminator like vision :-D

    • @YusufBAYLAV
      @YusufBAYLAV 6 років тому

      @@bitluni yeah, would you advise me on this? :)

  • @pedrohenriqueboscofi
    @pedrohenriqueboscofi 6 років тому

    nice! awesome!

  • @avijitdas6872
    @avijitdas6872 5 років тому

    Hi, I'm a great fan of your work. You have deep insight into microcontrollers and aware of your incredible work on the ESP microcontrollers, Would you like to make a project on ADMP441/ INMP441 i2s mems microphones and ESP8266/ ESP32 for recording audio, saving it as WAV or similar on an SD card, and make it accesible via a local page serverd by an AP hosted on the ESP? If you don't think it's interesting, can you at least point me out how to do it by my own? Your expert opinion is always appreciated.

  • @candidmoe8741
    @candidmoe8741 5 років тому +1

    Suddenly I feel back to the 70's, when real men tamed bits by hand.

  • @mafhper
    @mafhper 3 роки тому

    Thanks

  • @lucacarre24
    @lucacarre24 6 років тому

    how do you use esp32 with 8 colors?