#261

Sdílet
Vložit
  • čas přidán 9. 03. 2023
  • Debug your ESP32 the proper way - line-by-line with a cheap JTAG module!
    JLCPCB 1-8 Layer PCB at $2. PCBA from $0 (Free Setup, Free Stencil)
    Sign Up Here to Get $54 New User Coupons at - jlcpcb.com/?from=SKL
    More information than you can shake an ESP32 at:
    github.com/RalphBacon/261-ESP...
    Rather than use a lot of Serial.print statements in your code, just connect up a cheap JTAG module from Espressif (the designers of the ESP32) to be able to step through your code a line at a time.
    Hardware
    ► ESP-PROG (about $12 + shipping + taxes)
    ► Documentation #1: bit.ly/ESP32_Intro
    ► Documentation #2: docs.platformio.org/en/latest...
    ► Documentation #3: cdn.robotshop.com/media/s/spa...
    ESP32 MiniKit Debug Shield (for ESP32 Mini) by Brian Lough
    ► store.eplop.co.uk/product/esp...
    Software
    ► Driver for ESP-PROG using Zadig: zadig.akeo.ie/#
    Essential reading, step-by-step!
    ► ESP-Prog (Espressif): docs.platformio.org/en/latest...
    ► How To Install: / low-cost-esp32-in-circ...
    ► How to Use: www.hackster.io/brian-lough/u...
    ► More How To: www.visualmicro.com/page/ESP3...
    Boards I've found to work reliably
    ► ESP32 Mini T7 v1.3
    ► TTGO ESP32 V1.8 / V1.7.1
    ► Espressif ESP32 DevKit 1
    Basically, all the boards I own with a lidded "module" on them do not work. You get an error about being unable to get the memory maps.🤷
    This is unfortunate (for me) as I have many WROOM and WROVER modules!
    ► List of all my videos
    (Special thanks to Michael Kurt Vogel for compiling this)
    bit.ly/CZcamsVideoList-RalphB...
    ► If you like this video please give it a thumbs up, share it and if you're not already subscribed please consider doing so and joining me on my Arduinite (and other μControllers) journey
    My channel, GitHub and blog are here:
    \------------------------------------------------------------------
    • / ralphbacon
    • ralphbacon.blog
    • github.com/RalphBacon
    • buymeacoffee.com/ralphbacon
    \------------------------------------------------------------------
    My ABOUT page with email address: / ralphbacon
  • Věda a technologie

Komentáře • 153

  • @RalphBacon
    @RalphBacon  Před rokem +21

    UPDATE: I've now figured out how to allow the use of WROOM and WROVER boards to successfully use JTAG. I'm still in the process of determining exactly what is required and I will issue an update (possibly a video) on the details.

    • @KlausMusch2
      @KlausMusch2 Před rokem +2

      Great, looking forward for this update! Astonishingly a ESP32 D1 Mini works here without any problem, although having a WROOM. But the others ("normal" size) with a WROOM do not work.

    • @parshvapatel8484
      @parshvapatel8484 Před rokem

      Is it possible to add something like ft232h to smartphone to make it something similar to raspberry pi

    • @PeteDubler
      @PeteDubler Před rokem +2

      Can’t hardly wait! I am soooo stuck trying to get this working with S3-Devkit on VS-platformio. Big project really needs the in-circuit debugging.

    • @hughieandrolf
      @hughieandrolf Před rokem +1

      Yes excellent!

    • @thorntontarr2894
      @thorntontarr2894 Před rokem

      I just saw this reply after I entered my second reply. Of course, I will be keen to know what you found.

  • @apeman5291
    @apeman5291 Před 7 měsíci +1

    Thanks for this video! There are a million guides for installing the drivers and connecting the esp-prog, but this is the first I've seen showing what to actually do in vscode. Very helpful!

  • @geralltgriffiths7772
    @geralltgriffiths7772 Před rokem +1

    Unbelievably serendipitous, Ralph. The ESP-Prog that I ordered some time ago arrived earlier this week. I was psyching myself up to research "what do I do next", but you've done the hard work for me. Thank you so much!

    • @RalphBacon
      @RalphBacon  Před rokem +2

      I'll send you my "Professional Services" invoice later, Gerallt. Oh, on seconds thoughts, have this video on me! 😉😅

    • @geralltgriffiths7772
      @geralltgriffiths7772 Před rokem +1

      @@RalphBacon You're a gent, sir! I'm plate-spinning on several projects at the moment and my head is full of node red and mqtt, but when I get back to microcontrollers, I'll be sure to pick this up (especially as you now have some insights on WROOM and WROVER!).

  • @alexsemine1
    @alexsemine1 Před rokem

    Very useful information, Ralph!! Thanks a lot. I will be getting one of those ESP-prog modules and see if it works for my boards. Cheers

    • @RalphBacon
      @RalphBacon  Před rokem +1

      You'll find it either works pretty much straight away (once you've done the driver substitution thing) or not at all. Or maybe 1-in-10 which is about as useful as, well, you make it up.

  • @avejst
    @avejst Před rokem +1

    Great walkthrough
    Great video as always
    Thanks for sharing your experiences with all of us 🙂

  • @electronics.unmessed
    @electronics.unmessed Před rokem +1

    Thanks for the video, very informative!

  • @thomawhite
    @thomawhite Před rokem

    I have become addicted to your videos! I'm not a beginner, but there's much I don't know. So a big thanks. BTW, you mentioned, around three months ago, that you figured out how to successfully debug using the WROOM and WROVER boards. Have you posted that info anywhere? I've been checking your vids and github, but haven't seen anything.

    • @RalphBacon
      @RalphBacon  Před rokem

      Not yet! I have figured it out and I hope to include that snippet of info in my next video! If not, remind me.

  • @mitchellharmer9732
    @mitchellharmer9732 Před rokem +1

    Love your work Ralph!
    Can appreciate editing out the part where you talk through the detail that can be found elsewhere. Without knowing the additional work involved, but have you considered sharing those parts in a "sub-channel" of sorts?
    Having only gotten into this the past few months, I've found those parts incredibly invaluable and your explainations have given a noob the simple heuristics as an on ramp into a subject area that can quickly evlove into jargon.

    • @RalphBacon
      @RalphBacon  Před rokem +2

      Good idea, but the idea of a "sub channel" (ie even more work!) means I would have to petition for a 32-hour day. When that happens I'll move this idea forward! 😉

    • @mitchellharmer9732
      @mitchellharmer9732 Před rokem

      God I hope not, I'd have to spend more time in spreadsheets and wouldn't get anytime to tinker.
      I really value following your work mate. Your channel is one of the good corners of the internet and the idea of openly contributing the way you do, in a shed while fighting some bin lids, is now the life goal I strive for.

  • @Chriva
    @Chriva Před rokem

    Welcome BACK(!) Mr. Bacon :)
    I'm surprised they haven't implemented local gdb on the second core like many other dual-core mcu's?

    • @RalphBacon
      @RalphBacon  Před rokem

      Cost. Or, perhaps, they designed the ESP32 (with those Tensilica chips) without considering this as an option. 🤷

  • @johnmarshall2660
    @johnmarshall2660 Před rokem

    Thanks for Video ... On a Mimic Panel PCB I designed I had made at JLCPCB I left space for a Nano or an ESP32, the board which is A4 size has 8 x MCP23017's plus a number of CD4049's and ULN2803 to drive LED's on the Mimic display, which runs via the I2C bus control all of the 128 IO ports are connected and do work great, the Nano worked fine and is 55% full so didnt bother with trying to get the ESP32 to work, I do have all working and works great ... the sketch was fun all 1700 lines to date also trying to remember which mcp does what ... Regards John

    • @RalphBacon
      @RalphBacon  Před rokem

      Just 128 IO ports, then, John? And only 1700 lines of code? I see you like a challenge! 👍

  • @mrroobarb
    @mrroobarb Před rokem +1

    5:30 - can you click the link just over your right shoulder please 🙂
    Great stuff Ralph, thank you for your amazing and informative content!

  • @alexrossouw7702
    @alexrossouw7702 Před rokem

    I use the force to debug. It guides me always

    • @RalphBacon
      @RalphBacon  Před rokem +1

      Use the force, Alex, use the force. Oh, you have done. 👍Good.

  • @Tom_H
    @Tom_H Před rokem

    Thanks for the debug video. Very helpful. Wish I could live in VSC/PIO IDE exclusively, but their compiler has some quirks that get in the way of using libraries (e.g. Espalexa and WiFiManger) that support (legacy) ESP8266 chips. (The compiler post errors if it cannot read external (irrelevant) libs that only come into play if using an ESP8266) The Arduino 2.0x compiler will finish and upload an INO file that completely flummoxes the VSC/PIO compiler. As a result, have resorted to "hybrid" IDE where the VSC/PIO dev/edit/pre-compile then shifts to Arduino 2.04 for compile, (fix,) upload. Having a real debugger is a huge improvement. Thanks!

    • @RalphBacon
      @RalphBacon  Před rokem +1

      You say the compiler objects about conditional library inclusion, but the compiler is the same one used by the Arduino IDE. So maybe you just need to include the libraries manually and let the linker throw stuff away it doesn't need?

    • @Tom_H
      @Tom_H Před rokem +1

      @@RalphBacon Thank you for the thoughtful response. The process differences in library management between the two platforms are probably the biggest part of it. (It would be "life changing" to figure out a VSC "Central Library Repository" approach. I'm from the "build once - use many" school.)
      That being said, I've run across a couple of times where the VSC compile will load and then the object code sent to the chip will "spin loop" while the Arduino (2.04) IDE compile of the same sketch (Copy-Paste) runs perfectly. I'm guessing it the difference in the chip libraries between the two.
      It feels like being in that novice user "Twilight Zone" where a little knowledge is sufficient to REALLY screw things up.
      Again thanks and keep up the good work.

  • @qzorn4440
    @qzorn4440 Před rokem +2

    I have used the Arduino IDE on an esp32 Bluetooth simple project and it worked. The VC PlatformIO is nice and I am learning to use it. The new Orange Pi5 might be a good DIY project to try it out? 😎 Thanks for the great info.

  • @Salfke
    @Salfke Před 10 měsíci

    Hi Ralph, thanks for your great videos!
    I use Visual Studio with the micro plugin, and give the same look and fill as the arduino IDE. It supports debugging of stm and esp devices, and supports ino files with no changes.
    I had one sketch which i couldnt get to work in platform IO

    • @RalphBacon
      @RalphBacon  Před 10 měsíci

      Excellent news that you have it all running.

  • @craigs5212
    @craigs5212 Před rokem

    Wow #2 Thanks for the video. I have often seen vague reference to debugging but never actually seen it done on one of the dev boards. Atmel studio 7 had some debugging capability for some of their parts over JTAG. I used it for some assembly debugging but wasn't all that useful.

    • @RalphBacon
      @RalphBacon  Před rokem

      When it works, it works very well. when it doesn't, it's time to pack it up and use another ESP32 board!

  • @thedrunknmunky6571
    @thedrunknmunky6571 Před rokem +1

    Just a few days ago I figured out how to do do JTAG debugging on my ESP32 using PlatformIO. My ESP32 board is an MH ET LIVE ESP32DevKIT and it has a WROOM module on it, so I know it works on the WROOM modules too. By the way, you don't NEED an ESP-Prog, a cheap Chinese J-Link will work just as fine too (as it can do both JTAG and SWD debugging), as long as you change the relevant settings on PlatformIO. ESP32s have an inbuilt JTAG debug controller so anything that can communicate through JTAG would work.
    Btw I must say that using Linux for this work is much easier, as there is no driver swapping needed and you can even do this without having to rely on Platform IO. If there is enough interest I can make some content on how to use Arduino CLI through VSCode, including setting up inline debugging, so people can leave the confines of PlatformIO and use whatever editor they want.

    • @RalphBacon
      @RalphBacon  Před rokem +1

      Yes, WROOM and WROVER modules do work now that I've figured it out (why is that information so difficult to find?) so it's good news all round.
      Regarding doing a video on debugging, only you will be able to gauge the interest level and then see whether that hypothesis is correct once you have published! Welcome to my world!

    • @thedrunknmunky6571
      @thedrunknmunky6571 Před rokem

      @@RalphBacon Kudos to you for taking the time and putting in the effort! As for making content myself, I’ll first complete the smartwatch project I’m working on, which I’ve been neglecting. The tricky bit is Bluetooth Low Energy!

    • @RalphBacon
      @RalphBacon  Před rokem

      The devil is in the detail, as always!

  • @davidbalharrie9628
    @davidbalharrie9628 Před rokem

    I have just started travelling the same road and purchased an ESP-PROG to debug an ESP32 S2 Mini board. Hooked it all up as per the documentation you mention and it didn't work. At first I thought it was a bug. However, I discovered that the JTAG pins on an S2 and I think a S3 are different. Sadly they don't seem to break out all those pins on the S2-Mini board. You have to go to the chip docs to get the pinouts for JTAG. I have now got my self an ESP32 Dev board and the debugging works fine. The only thing that doesn't work for me is inspecting the contents of a struct or using an expression. It is ok for simple variables. Thank you for the video, I picked up a couple of tips from it.

    • @RalphBacon
      @RalphBacon  Před rokem

      Excellent that you got it working on a different board. Yes, the pins for the S2 Mini (and C3) are different and they don't have too many pins exposed anyway.
      I've now got it working on the WROOM and WROVER variants too (the ones with the lidded ESP32 modules). Details in a later video, I should think.

    • @davidbalharrie9628
      @davidbalharrie9628 Před rokem +1

      @@RalphBacon The board I obtained is WROOM-S2 Dev board and it has the can on top. I'd be interested to know which WROOM boards don't work and why. Look forward to your reveal!

    • @PeteDubler
      @PeteDubler Před rokem

      David, Could you share more about how you got it working on S3 (VSC-platformio)? I am totally stuck trying to get it to work with S3-devkit board. (I do have the pins and fuse sorted out)

    • @davidbalharrie9628
      @davidbalharrie9628 Před rokem

      @@PeteDubler I haven't got it working on the S3, mainly because the JTAG pins are different on the S2 and I think the S3, so I have been using the ESP32-Vroom Dev board. That works fine. It is a shame the mini boards don't break out the JTAG pins, but I understand the constraint on pins with the size of the smaller board.

  • @garywilliams4214
    @garywilliams4214 Před rokem +1

    Hey Ralph…excellent video! Can you tell me, were your experiments on WROOM chips or WROVER, or a mix. Currently I’ve got several dev boards but they’re all WROVER versions. I’ve used JTAG in the past, and you’re right-it’s probably 20 times (at least) more efficient than print statements and definitely worth whatever effort it takes to set it up!

    • @RalphBacon
      @RalphBacon  Před rokem

      Both! the WROVER has some PSRAM on board but that seems to be the only difference between it and the WROOM (which is not to be used for new designs, apparently).

  • @nexuzinnovation-com
    @nexuzinnovation-com Před rokem

    Thanks Ralph for another great video. I never thought ESP32 can debug line by line though 😅 Arduino UNO R4 is available late May 2023, not sure it can be debugged line by line or not.

    • @RalphBacon
      @RalphBacon  Před rokem

      Yes, correct, and I'm sure it will be capable of being debugged line-by-line, not that we will ever need that facility!

  • @rupert274
    @rupert274 Před rokem

    Hi Ralph. Why did you decide on PlatformIO extension in the Visual Studio IDE instead of using the PlatformIO IDE? I've never used a big boy IDE before but this line-by-line debugging thing has me interested.

    • @RalphBacon
      @RalphBacon  Před rokem +2

      I'm not aware of any PlatformIO IDE _per se_ as it runs on top of the Visual Studio Code platform, as an add-on.
      I chose this platform because I've used VS professionally for too many years to remember, and whilst the "Code" version is much more lightweight, it's plenty powerful enough for smaller projects, although I do miss the "break if condition true" debugging (so you can set your program off and when the "faulty" condition arises the program stops and shows you what's what).

  • @JarkkoHautakorpi
    @JarkkoHautakorpi Před 4 měsíci

    @12:31 It takes a second to run the loop, not 1ms after F5, because you have the delay(1000) in it 😀. Debugger is waiting for the 1000ms in each loop.

    • @RalphBacon
      @RalphBacon  Před 4 měsíci

      That was probably just my demo code to slow things down so we could follow what was going on. But yes, you're right of course.

  • @Steven_Bennett_YT
    @Steven_Bennett_YT Před rokem

    Another helpful video Ralp, Is your JTAG board available either as source/gerbers or to order from JLCPCB?

    • @RalphBacon
      @RalphBacon  Před rokem

      I've already uploaded the EasyEDA project that you can import (they are just json files) but can also give you (and everyone else) the EasyEDA Gerber files if you want. Let me know and I'll upload to the GitHub for this video.
      github.com/RalphBacon/261-ESP32-Debugging-with-cheap-JTAG-module

    • @Steven_Bennett_YT
      @Steven_Bennett_YT Před rokem

      @@RalphBacon Thanks Ralph, I've managed to get my head around downloading and adding JSON files to EasyEDA, but had a bit of a false start as they don't seem to work with EasyEDA Pro but they do with the standard version.

    • @RalphBacon
      @RalphBacon  Před rokem

      Yes, I still use the standard version, luddite that I am 😆

  • @rolandtanguylannuzel5160
    @rolandtanguylannuzel5160 Před 10 měsíci

    Hello Ralph. Nice tutorial. Would be even nicer if you used the blue tiny icons on the top and say they have "Fxx" shortcuts on windows. You should "not" assume all users are on windows and the short cuts are the same on other OS. Thanks. Regards from Paris, France :-)

  • @emaayan
    @emaayan Před rokem

    hi... have you been able to figure out how to make the esp-prog work with Serial.println using the same connector?
    i know it seems odd because the very reason we want to use a debugger is to avoid serial.println
    but i've seen multiple occacsions where Serial.println is still usefull.
    the only curretnly to do that is the connect another usb directly to the board and configure that in in PIO as monitor_port
    but from what i understand this is where "interface 1" in zadig comes into play and you can use the other connector in the esp-prog to hook up to the esp32, but i couldn't make it work. at the same time with esp-prog .

    • @RalphBacon
      @RalphBacon  Před rokem

      Short answer: no.
      Longer answer: use the standard USB port on the device for Serial.print output and the standard JTAG pins for debugging. That's what I do and it works well.

    • @emaayan
      @emaayan Před rokem

      @@RalphBacon yea, that's what i do too, but i also i usb wire with a switch to quickly disconnect and connect the device to reset the comm port

  • @LimbaZero
    @LimbaZero Před rokem

    Not sure can you use Microchip Studio for AVR based boards and import sketch and then debug it. Those 6 pin headers in arduino are ISP + Debug connectors. You may need AVR Dragon, Atmel ICE or MPLAB SNAP (should be around 10-15e in retail).
    I have been using my old AVR Dragon and now bought MPLAB SNAP for new ARM based chips but it also should support old AVR and PIC chips.
    Edit: for MPLAB SNAP you need to do your cables. It's base board without cables or case

    • @RalphBacon
      @RalphBacon  Před rokem

      I used Microchip Studio for debugging PIC circuits, it was a nightmare.
      Eventually I got something running but then decided life was too short to continue with PIC (and Microchip really annoyed my by 'hobbling' their compiler if you used the free version) so switched to Arduino and others.
      So I'll stick to the debugger I've got, with VSC and PlatformIO, it works quite well really. Got it working with WROOM and WROVER boards now too. 😁

  • @dunk_law
    @dunk_law Před rokem

    Does PlatformIO still work with the latest VScode?

  • @johnmarshall2660
    @johnmarshall2660 Před rokem

    Just thought I would try your idea of debuggung a sketch for an Oled display which has different letters depending on a signal position and Point position ... I need about 6 switch case statements but using a Robojax sketch as a strating point and a Nano got first Case done so testing tomorrow but after seeing your video again it is obviously a No No with a Nano ... LOL ... also looking at using 2 Oled displays on 2 parallel tracks, thats going to be fun... John

    • @RalphBacon
      @RalphBacon  Před rokem

      Good luck with that, John. Those 8-bit microcontrollers just were never designed to support line-by-line debugging. But hey, here's an idea: run the code (it's pretty much portable, unless you're doing weird register stuff) on an ESP32 instead (also fully supported by the Arduino IDE) and then you _can_ debug!

    • @johnmarshall2660
      @johnmarshall2660 Před rokem +1

      ​@@RalphBacon I got it working a treat up to now 4 switch cases till I sort shunt signals ... As I said I want to add another display ... only error I had was in first Case, I used enum RouteState { Idle, Active, Clearing }; and I fogot to go put to route1_state = Idle at end of case ...

  • @mikmaz7988
    @mikmaz7988 Před 11 měsíci

    Really good video 😍
    I recently work on an ESP32 Wroom ( homemade pcb) and I couldn't make it work until I understand something.
    - problem
    I was having all the time the same issues that not able to upload the code for the home made pcb. When I try with the ESP32 dev board it was working all the time.
    -solution
    Use straight cable with no longing distance (max 10cm). And check the power supply, maybe add a capacitor.
    -understanding
    In fact I was using twisted cable that provide some issue. When you are trying to debug is not like using CAN that have to be twisted cable to “protect the data in the cable”. Is better to have really separately cable for the 4 pin of debug.
    I hope it will be helpful for somebody that have the same issue at me

    • @RalphBacon
      @RalphBacon  Před 11 měsíci

      Thanks for sharing, I'm certain others will find it enlightening.

    • @frankfrei6848
      @frankfrei6848 Před 9 měsíci

      Yes, on CAN you have a differential signal where twisted wires protect the signal against EMI from external. JTAG/SWD means TTL level signals that are different from each other and twisting wires will bring you cross-talk so basically one signal partially overwriting another.

  • @patis.IA-AI
    @patis.IA-AI Před 7 měsíci

    Thanks for this tuto ! Do you have a esp32 with more then 30 i/o that you tested and works ? I searched for Espressif ESP32 DevKit 1 but I get with extensions like ESP32-S2-DevKitM-1 or ESP32-S2-DevKitM-1U or ESP32-S3-DevKitM-1-N8 . Thanks

    • @RalphBacon
      @RalphBacon  Před 7 měsíci

      There have been some recent modules for the C3 and S3 variants that have more (and different) GPIO pins. But I have not tested any so far, but it's on my list to do.
      Why not scour AliExpress to see what variants are available (research can take hours but keeps you off the streets).

    • @patis.IA-AI
      @patis.IA-AI Před 7 měsíci

      Hi thanks for reply , but yhe obe you tested and works realy are which one s?? After it works on what you tested I can try other one s. Sorry for my English

    • @RalphBacon
      @RalphBacon  Před 7 měsíci

      No I've not tested any recent variants, only the older ESP32 Devkit-C V4 which I use quite often. Not the smallest device but it has quite a few GPIO pins. Very stable too.

    • @patis.IA-AI
      @patis.IA-AI Před 7 měsíci +1

      @@RalphBacon waiting for my prog esp and let you know my test thanks for your reply

  • @anguspodgorny5436
    @anguspodgorny5436 Před rokem

    Thanks for the great debugging video Ralph. I've been enjoying your videos for a while, and am trying to go through your entire set. I think I just might get the gear to do this for my next project. I have a question about D1 Mini ESP32 boards. I'm trying to find a manufacturer that still uses the v2 ESP32 with dual cores, but when I search I find links for ESP32-S2, single core boards. I also find links to boards where the description says ESP 32, and ESP8266 for the same board. Or Shows an older ESP32 WROOM (I assume dual core), but then includes ESP32-S2 in the description. I don't feel confident buying those. Does anyone know of a verified dual core ESP32 D1 mini (I don't need the battery charging circuitry)?

    • @RalphBacon
      @RalphBacon  Před rokem

      What's the difference between the V1 and V2 variants of this board then? Plenty of V1 boards out there, that state they are ESP32-S2 (eg s.click.aliexpress.com/e/_DEvext7 ) but is says V1 on the reverse of the PCB. But, as always, caveat emptor!

    • @anguspodgorny5436
      @anguspodgorny5436 Před rokem +1

      @@RalphBacon Those minis are so inexpensive! Maybe I'll forgo the second core and buy a handful. The S2 mini boards seem to have no USB chip, with the data lines wired directly into the ESP32 chip. Pray for no static discharge! Thanks again for taking the time to create all these great videos!

  • @charlyk7605
    @charlyk7605 Před 4 měsíci

    Do we need to press any button, i am always Connecting ............................ and nothing happens after. Do i need to press BOOT or RESET button on espprog or kit board.?

    • @RalphBacon
      @RalphBacon  Před 4 měsíci

      No, the code is, however, controlled by the debugger; you need to click on debug or run-with-debug, sometimes F5.

  • @charlyk7605
    @charlyk7605 Před 4 měsíci

    o we need to press any button, i am always Connecting ............................ and nothing happens after. Do i need to press BOOT or RESET button on espprog or kit board.?

    • @RalphBacon
      @RalphBacon  Před 4 měsíci

      I'm sure I replied to this already! No, nothing to press on the board, but the debugging tool you are using needs to run the code. You do this by pressing F5 or Shift-F5 or whatever your IDE required. It will then single step through the code. Also sometimes labelled "Start Debug" or similar.

  • @philipp9651
    @philipp9651 Před rokem

    ok put on google drive ?but still not let me share link how would you do that?

    • @RalphBacon
      @RalphBacon  Před rokem

      It's visible in one of your comments, Philip, I'll take a look.

  • @TheUnofficialMaker
    @TheUnofficialMaker Před rokem

    does easyeda have autorouter

    • @RalphBacon
      @RalphBacon  Před rokem +1

      Yes it does, and IMHO it works very well.
      Do download the "local" router from their website and run it on your PC. Thereafter all routing will be quick and accurate. You can, of course, tweak or alter the tracks after you autoroute. And don't forget the "teardrop" feature.

  • @TheEmbeddedHobbyist
    @TheEmbeddedHobbyist Před rokem +1

    As the ESP32 has 2 hardware breakpoints, I think I would stick with just using run to breakpoint F5. could it be that some boards don't bring the Jtag pins to the outside world. Or they have just used them in part of their design.
    not sure how useful this is if your working with WiFi, or Rtos as stopping the processor is a no no. i often use a GPio pin for debug, and get the program to pulse it a different number of times in different routines, faster than a serial output and don't put too much overheads in the timings. plus you can check if routines are firing off as the rate they should be on a scope.
    still when debugging embedded hardware you do need a lot of different tools in the box.

    • @fredflintstone1
      @fredflintstone1 Před rokem +1

      Woof!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    • @TheEmbeddedHobbyist
      @TheEmbeddedHobbyist Před rokem

      @@fredflintstone1 nice to catch a woof from you Fred. Eek 🙂

    • @RalphBacon
      @RalphBacon  Před rokem +1

      Yes, there is always one more way in which debugging can be achieved. Starting with Serial.print and ending (we hope) with JTAG. And everything in-between.

    • @TheEmbeddedHobbyist
      @TheEmbeddedHobbyist Před rokem

      @@RalphBacon When i started it was with emulators, where you replaced the micro itself with a cable and ran the code in the emulator. But back then the micro’s were only running with clocks at 1Mhz.
      But our emulator cost more than my house, how times have changed.

    • @andymouse
      @andymouse Před rokem +1

      Squeak!!!!

  • @APW030587
    @APW030587 Před rokem

    Hi, could use segger jlink for debugging esp32?

    • @VeritasEtAequitas
      @VeritasEtAequitas Před rokem

      Absolutely, but you won't do much better with the $1200 Segger than the $15 ESP-Prog.

    • @RalphBacon
      @RalphBacon  Před rokem

      Good grief! That sounds expensive. I hope it does more than just allow debugging!

    • @frankfrei6848
      @frankfrei6848 Před 9 měsíci

      @@RalphBacon It's an exaggeration. The Segger J-Link EDU Mini sells for $60.

    • @RalphBacon
      @RalphBacon  Před 9 měsíci

      Still quite a lot, but if you need a decent debugger that might be on your list. Maybe not for hobby use but certainly small businesses.

  • @philipp9651
    @philipp9651 Před rokem

    sorry but i not sue how to do this need help with JDY 41 (JDY 40 uses AT comands BLUE BOARDS ) 41 GREEN BOARD dose NOT use AT comands have 14 page PDF how do i share it?

    • @RalphBacon
      @RalphBacon  Před rokem

      You need to upload it to a shareable cloud store, like GitHub, or Google Docs.

  • @eduardo9626
    @eduardo9626 Před rokem

    one thing that I never find on the internet about this subject is how to use serial communication, that is, it is always only explained how to use jtag, but never how to upload via the serial connectors of the ESP-PROG board, or how to monitor the output via serial. If you have already done this, why would you help us?

    • @RalphBacon
      @RalphBacon  Před rokem

      I haven't done this but it seemed pretty straightforward. But the reason I didn't cover it was because we already have a simple method to upload code via the USB socket on the ESP32 device itself; I couldn't see where the upside of uploading via the JTAG board was.

  • @andymouse
    @andymouse Před rokem +1

    Hi Ralph, I venture that under the can is some external RAM or something of that nature that has been scrimped on, I mean cheap rubbish and obviously without the can you can see what your getting and yep I am getting cynical in my young age...Cheers !.......Side note. Brian's last name is pronounced "Lock" it's an interesting Irish spelling !

    • @TheEmbeddedHobbyist
      @TheEmbeddedHobbyist Před rokem +1

      I was expecting that they have used the pins for Jtag for something else. if you don't need to provide a jtag interface for your design then the pins are free. I think that the memory interface is defined so whatever is left your free to use.
      it still surprises me that folk use a ESP32 for designs that don't need Wifi or BLE, but if power is not an issue it saves you learning a new chip.

    • @RalphBacon
      @RalphBacon  Před rokem +1

      Irish spelling (and the associated pronunciation) is an art all on its own and mystery to the rest of the world. I stand corrected!
      I once worked with a guy called Padraig and only knew how to pronounce that because he sat next to me! I believe it was "Porr-ig".

    • @andymouse
      @andymouse Před rokem

      @@RalphBacon LOl !

  • @yogeshitaliya473
    @yogeshitaliya473 Před rokem

    🙏🙏🙏🙏

    • @RalphBacon
      @RalphBacon  Před rokem +1

      Always very early to the party, Yogesh!

  • @KaiseruSoze
    @KaiseruSoze Před rokem +1

    I know what you mean. ESP32 might be flaky - or how it is "implemented" in a dev board might be the problem. Or the RTL ... it's RTL implementation might have problems.... or some surprise beyond human intelligence. .. for the next few days/weeks anyway.
    I have a problem I've been trying to isolate for months. After hours of deep sleep/wake cycles buttons become more and more unresponsive. And reconnects to wifi take longer until my device becomes completely useless.

    • @RalphBacon
      @RalphBacon  Před rokem

      Odd. Deep Sleep on the ESP32 means, basically, "Switch off completely until restarted by the RTC". Upon wake-up it should be pretty much factory fresh. What happens if you do really switch it off and back on again 50 times? Still unresponsive? Are you sure it's deffo in Deep Sleep (not some kind of modem sleep?

  • @ficeto
    @ficeto Před rokem

    Arduino IDE 2.0.3 + ESP32 Arduino 2.0.7 can JTAG all ESP32/S2/S3/C3 S3 and C3 do not even require external debug adapter

    • @RalphBacon
      @RalphBacon  Před rokem

      So this is a new development, I assume? Hang on, no debug adapter? So no ESP-Prog required? I don't suppose you have a link to the documentation, do you? You know me, I'm no dev 😲

    • @ficeto
      @ficeto Před rokem

      @@RalphBacon C3 and S3 have on-board USB CDC+JTAG, just make sure that on S3 you do not select USB to be in OTG mode (TinyUSB) and it will run in CDC+JTAG mode. Connect the board to the internal USB, select the proper JTAG adapter in the board menu (for now must use the official Dev Module boards), upload the sketch and then hit the debug button on top (next to the upload one). That is it. Same goes for ESP32 and S2, but you need the ESP-Prog for them.

    • @RalphBacon
      @RalphBacon  Před rokem +1

      Ok, thank you, I'll give it a try with my new S3 (might be a C3 🤷‍♂️)

  • @dom1310df
    @dom1310df Před rokem +2

    I would have preferred Arduino use their resources improving PlatformIO rather than build their own lacklustre IDE 2.0.

    • @RalphBacon
      @RalphBacon  Před rokem

      Yes, there is something to be said for that. It would perhaps have been a better use of their scarce resources to add support for all their boards into PlatformIO, which is well written, supported and mature.

  • @fredflintstone1
    @fredflintstone1 Před rokem

    Asprin shares are going up 🙂

    • @RalphBacon
      @RalphBacon  Před rokem

      This is easy stuff, Barney! OK, not _easy_ exactly. But straightforward. OK, not _straightforward_ but you can see what I'm doing, right? 😉

    • @fredflintstone1
      @fredflintstone1 Před rokem

      @@RalphBacon yes I can see what your doing that is the easy bit 🙂

    • @andymouse
      @andymouse Před rokem

      Squeak !!!!!!!!!

    • @fredflintstone1
      @fredflintstone1 Před rokem

      @@andymouse Cheese!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @ColinDyckes
    @ColinDyckes Před rokem

    So strange that ALL of these microcontroller chips don't have built in hardware debug interface capability. Even the PIC micros had that capability many years ago on anything except the lowest chips, albeit with a fairly pricey programmer/debugger (cheap clones were/are available).

    • @RalphBacon
      @RalphBacon  Před rokem +1

      One word answer: cost.
      In order to provide an on-board OBD it would require a few cents (or perhaps several cents more). Multiply that by a million and you see the problem.
      But if you sell an option ESP-PROG tool, well, you can see the benefit to the shareholders 😉

  • @pablougalde855
    @pablougalde855 Před 6 měsíci +1

    "no body uses the ones that it can debug"(arduino ide) 🤣

  • @thorntontarr2894
    @thorntontarr2894 Před rokem +1

    I have purchased two Espressive DevKit V1. and the JTAG debugger for other ESP32 boards. I am excited to return to real debugging after this mess of Arduino IDE without it. But CZcams suggested a video "Debugging the Arduino Uno or Nano! (No extra hardware needed!)" at "czcams.com/video/7wx27FcluMg/video.html". I was able to replicate the blink sketch shown but my code using Serial.prints() and attachInterrupt() failed at the Linker. Maybe there is a fix which I asked the YT guy. However, I hope you have time to take a look - or if you know this doesn't work, let me know.

    • @RalphBacon
      @RalphBacon  Před rokem

      Apparently, some ESP32 modules do not require any extra hardware (no JTAG board) but I have yet to test that out. No reason to not believe this as the responder was the guy who writes (most of) the Espressif framework for the Arduino (me-no-dev).

    • @thorntontarr2894
      @thorntontarr2894 Před rokem

      @@RalphBacon Reading the your info on the github: "Basically, all the boards I own with a lidded "module" on them do not work. You get an error about being unable to get the memory maps.🤷
      This is unfortunate (for me) as I have many WROOM and WROVER modules!"
      I too only have a "lidded module" dev kit and I couldn't get the jtag debugging operational, a time out error. I can upload using USB a sketch to the ESP32 module but not jtag debug in PlatformIO. I have other lidded modules and another ESP-PROG jtag module to try. "The devil is in the details" I have other lidded ESP32 and another ESP-PROG to try. Thank you for all the help you offer here and on CZcams.

  • @WolfClinton1
    @WolfClinton1 Před rokem +1

    How do I debug ESP32? Simple. Stay up all night, drink whisky and swear a lot :-)

    • @RalphBacon
      @RalphBacon  Před rokem

      That is certainly one way. I'm hoping this is a better way (you can still have the whisky but by then your program will be debugged!).

  • @fillempie1501
    @fillempie1501 Před rokem +2

    Arduino IDE is a dead duck. Development of pio+vsc is much faster.
    No advanced developer will take the Arduino IDE serieus.

    • @RalphBacon
      @RalphBacon  Před rokem

      It does seem a pity that Arduino are not supporting the IDE better than they have done lately. Very slow development of features. And all the "advanced" features that you find on VSC are hidden.

  • @skrame01
    @skrame01 Před rokem

    It's useless, uses too many pins.

    • @RalphBacon
      @RalphBacon  Před rokem

      Wow, that's a pretty strong opinion on... well the ESP32, I guess, or were you referring to the ESP-PROG module? I'm not sure many would agree would agree with you that either of them is "useless"?

    • @VeritasEtAequitas
      @VeritasEtAequitas Před rokem

      4 pins is too many? 2 data pins? It's standard JTAG. Devices from $20 Chinese junk to 4 and 5-digit cost professional lab equipment have JTAG ports.
      Tell us you're a noob without telling us you're a noob.

  • @skrame01
    @skrame01 Před rokem

    You express too much negativity and take too long to explain things. But thanks for a few useful contributions.

    • @RalphBacon
      @RalphBacon  Před rokem +2

      Damned by faint praise indeed, Stephen. 😔
      But thanks for taking the time to comment here. I know I "go on" a bit but that's for benefit of newcomers who really do need the verbal hand-holding I give. But I'm not sure about the negativity... glass half full type of person, I am. If you were to link to the timecode in the video...