Tech Note 090 - M5 STACK (ESP32) Development System Overview

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

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

  • @G6EJD
    @G6EJD  6 лет назад +4

    Sorry about the previous version of this video which was nearly inaudible, this one sounds OK now.

  • @yes_man_lol
    @yes_man_lol 3 года назад

    M5stack is properly the most user friendly for beginners like me.
    Other esp32 or 8266 boards required quite a bit of experience using ESP boards and Arduino.

  • @jimit4416
    @jimit4416 6 лет назад

    Nice review G6... also like your METAR code. Kudos ! Further comments below re Proto module...

  • @ProjectGuns
    @ProjectGuns 6 лет назад

    Hi Dave,
    Thanks for showing how to turn this thing off. I couldn't understand why it wouldn't go off
    Stan

    • @G6EJD
      @G6EJD  6 лет назад

      I had to read the manual to find that :) and that was the first time in a long time I've done that :)

  • @andrewkieran8942
    @andrewkieran8942 6 лет назад

    Another great video, Dave. Is the display output only, or does it have a touch screen? I have no trouble getting an ESP32 to drive an ILI9341, and I can get touch input from the XPT2046 without the display. But I can't simultaneously drive the LCD and the touch screen over SPI, even though I'm using different CS lines. If this has touch capability, I'll pick one up just to figure out what out I'm doing wrong.

    • @G6EJD
      @G6EJD  6 лет назад

      Hi Andrew, I have never had any problems reading the touch panel and displaying data on the ILI9341 displays. Are you aware that there are more than a few fake X2046 driver chips around that have found themselves onto the TFT boards and exhibiting the sort of problems you appear to be getting. Do any of the test programmes work for the simultaneous ILI9341+touch? The touch is usually detected via an interrupt.
      I have some of these screens (which are all 3.3v logic levels) that work perfectly on 5v levels and some that don't, even though they look the same. I presume you are using a 3.3v system e.g. ESP to detect 'touches'.
      Are your problems with the ESP32 and Touch? Tried slowing down the SPI bus? SPI.setFrequency(1000000) or even slower. Just stating the obvious you have wired MISO, MOSI and CLK all in parallel to both the TFT and Touch. I would look closely at the interrupt routine especially if using the ESP8266 and which pin is being used. It looks like the touch event is not triggering an interrupt from what you describe. IF you have one this is one of those times when using a UNO is an ideal test bed for checking operation.
      Unfortunately the M5-Stack does not have a touch screen.

    • @andrewkieran8942
      @andrewkieran8942 6 лет назад

      Thanks for the thorough reply. It's too bad the stack doesn't have touch because it's handy, although perhaps not as much with such a small form factor.
      I've using an ESP32 using the Adafruit ILI9341 and GFX libraries, as well as the libraries by Paul Stoffregen. When I comment out the touch code the display works, and when I comment out the display code, the touch values are correct. But when I run them both, the second one (display or touch) to be initialized doesn't work, so I suspect that it has to do with the SPI pins not being shared or mapped correctly.
      I will try slowing the SPI frequency. Thanks for the suggestion. And thanks for your videos which I find very interesting and informative.

  • @robatoto
    @robatoto 6 лет назад

    Have you tried to use the prototype board? I have found that it's hardly usable because there's not enough space to the module on top of it. If the core module is directly on top, there's about 1mm left - then you short out something. If the battery module is on top, then there is not space at all; the LiPo cell will be punctured if legs or wires are put through the holes.

    • @G6EJD
      @G6EJD  6 лет назад

      I know what you mean. On my prototype 'stack' module there is about 3mm for the solder side and about 7mm for the component side, so really (if the battery stack is used) is needs two prototype stacks to give clearance. I think for most small applications like a sensor there is enough space.

    • @jimit4416
      @jimit4416 6 лет назад

      RE. the proto module..... Clearance is tight i agree, but as G6 mentioned there is a bit of room. I measure underside clearance at a smidge over 3.9 mm (thickness of two ice cream sticks).
      It also depends how you use it. Review the M5Stack Lora module. It squeezes in a Lora chip. Parts are surface mounted on the underside of the modules pcb - so parts and solder are on the bottom.
      Further, as shown in the video, it's best to stack the Proto module second from the bottom, with the bottom module below it. The bottom module is non-conductive .
      Also, if you need more space you can use the Proto BOARD product. In this scenario the original bottom module is not used and instead the Proto Board is on the bottom with full access to all GPIO pin pads. A case extension, battery and battery cable are required. Google Macsbug for more.

  • @science4allworld587
    @science4allworld587 6 лет назад

    Great video as usual. Can you comment a bit, if you have an idea how long it might run on battery with wifi and or Bluetooth ON for 30 sec every 30mins? Or in general how much current it is drawing in normal ON state with display on.

    • @G6EJD
      @G6EJD  6 лет назад +1

      Science4all World Using the (small) internal battery 150mAHr about 30-mins I have not measured the current consumption but a reasonable guess would be 120mA for the ESP32 and 120mA for the display and then 150/(120+120) = 40mins but it’s difficult to know the state of the charge. With the extra battery stack at 850mAhr duration should be closer to 4-hours. With the display off it’s going to be closer to just the power consumption of the ESP32 during on time and during sleep. I notice that the 150mAhr internal battery lasts for about 2-days in sleep mode but I don’t know what mode they implemented in their library but it’s not 5uA and so the Stacks ancillary components are drawing power too. Hope this helps.

    • @science4allworld587
      @science4allworld587 6 лет назад

      G6EJD thanks

  • @ats89117
    @ats89117 6 лет назад

    The explanation of the MEMS' 9 axes was not very clear. They represent magnetic orientation (3 axes), acceleration (3 axes), and rotation around each axis (3 axes)...

    • @G6EJD
      @G6EJD  6 лет назад

      Well, I was explaining 9-DOF by building up from 6-DOF etc, not a 9-axis system such as the 9250 systems, yes maybe I should have been absolutely specific in what I said, but all my videos are aimed at beginners and the explanations are meant to help the beginner understand the concepts of what the device can do and build on from there. Explaining 18-DOF would confuse 99% of the viewers. Why not make your own video to explain the Degrees of freedom that the 9250 system card can measure? There is plenty of space on YT for more contributors and I’d look forward to seeing it when published.

    • @ats89117
      @ats89117 6 лет назад

      You are overly sensitive. In the past I developed navigation equipment for Kearfott and today I give a few papers at conferences every year. I don't claim to have any special skills in explaining concepts to beginners, although I'm not sure that adding together DoF numbers from integrated devices to come up with a sum is that complicated.
      As far as your suggestion regarding becoming a RUclips content creator, it seems to me that in almost all cases, RUclips engineering content creators are either trying to give back, or are using the channel to try to drum up publicity for their mass market products. Since I am interested in making money and my products are for a very niche market, becoming a RUclips content creator wouldn't be a reasonable use of time. That leaves me as a RUclips content consumer, like 99.99% of the other people on here...

  • @robertparenton7470
    @robertparenton7470 5 лет назад

    Thank You!

  • @MaxGoddur
    @MaxGoddur 6 лет назад

    Looks like somebody has built upon the Wemos mini stackable system but with more I/O.

    • @G6EJD
      @G6EJD  6 лет назад +1

      Indeed yes but a much better package and well designed libraries plus lots of examples, Wemos never dud that and left us to find out the hard way. Mind you at $35 not cheap (yet)

    • @MaxGoddur
      @MaxGoddur 6 лет назад

      Yes, the remaining challenge is for outdoor use which so far is my area of concentration. After getting my latest project working, or as I thought, it started dropping the Wifi and reconnecting with a DHCP IP address rather than the static IP address in the setup section of my sketch. Initially, it did come online with the static IP address. Contacted Google WiFi (my latest router purchase and the wife is happy) and they suggested I changed the IP address to reserved. Currently testing.

    • @G6EJD
      @G6EJD  6 лет назад

      This is most likely dues to an address conflict or the Router not allowing (usually) a IP lease of more than 24-hours, but it should still allow a fixed IP address. Did you make sure all of the 4 code settings matched your Router Gateway, DNS, Router-IP, Desired-IP ? Yes you can reserve an IP usually by reference to the ESP MAC address so that it always assigns the required address to the ESP.

    • @MaxGoddur
      @MaxGoddur 6 лет назад

      Before assigning a static IP address to any device I run an "Advanced IP Scan" so I am pretty sure it is not a conflict. During the power-up of the device, the scan reports the correct IP address. This runs for a good amount of time hour and sometimes overnight with the correct IP address.
      I think what you are saying about the renewal might be the problem. The assigned IP address is carried out during the power or reset in the "setup" portion of my sketch. I believe it, for what ever reason, drops the connection and since the "setup" portion of the sketch is not run again the DHCP steps in and assigns an IP address from the pool of IP addresses.
      I will find out if reserving the IP address fixes the problem in the next few days.

    • @G6EJD
      @G6EJD  6 лет назад

      I have set my router to !lease expire - never’ otherwise every 24-hours it does exactly as you explain and the Router dhcp tries to assign a new ip.