Hello @alex9
it looks like yes, GPIO0 is TX pin for RS485. See pinmap here.
The platformio.ini example can be found here.
Running a quick search I did not find an RS485 example, sorry.
Edit: Maybe try this RS485 library.
Thanks
Felix
Hello @alex9
it looks like yes, GPIO0 is TX pin for RS485. See pinmap here.
The platformio.ini example can be found here.
Running a quick search I did not find an RS485 example, sorry.
Edit: Maybe try this RS485 library.
Thanks
Felix
Hello @JohnSal
I think you only need to add one RGB unit but with number set to 6 instead of 3.
Thanks
Felix
Hello @hotellonely
yes, it looks like the drop-down box needs fixing. In the mean time you can use all GPOs on the 14 pin header via some custom code blocks.
I created an example in UIFlow2 Project Zone called M5CardputerAdv_ExtPin_Test_UIFlow2.4.2
Thanks
Felix
Hi guys
I can confirm receiving IR from Unit IR is broken for M5Core2 as well.
Thanks
Felix
Hello @MitchBuckanon
like @robski mentioned, M5Dial has two ports: A and B which gives you 4 GPIOs you can use. In my test I configured the GPIOs like below:
#define ETH_PHY_CS 1
#define ETH_PHY_IRQ -1
#define ETH_PHY_RST -1
#define ETH_SPI_SCK 13
#define ETH_SPI_MISO 15
#define ETH_SPI_MOSI 2
Below is how I wired M5Dial to the LAN module (using a Bus Module) and some Grove/Dupont cables.

Hope this helps.
Thanks
Felix
Hello @HappyUser
ESP32P4 has 5 (five) UARTs. See here.
AFAIK all other ESP32 variants only have 3 (three) or less UARTs. (Of which the first one is used for debugging.)
Edit: ESP32S3 devices which have USB-C connected directly to the MCU (e.g. no dedicated USB-Serial chip) can use USB-C to debug (e.g. Serial) and still has 3 (three) UARTs free (e.g. Serial0, Serial1, Serial2).
Please find an example here.
BTW: are you aware of the fact that SIM76XXX is different from what is in IoT Base CatM (SIM7080G) and Atom DTU NBIoT2 (SIM7028)?
Thanks
Felix
Hello @HappyUser
glad to hear you figured it out.
Well, part of M5GFX is used to try to figure out which board is in use. See code starting from here. Maybe this detection went wrong somehow?
Thanks
Felix
Hello @HappyUser
hmm, both examples (w/o any modifications) work for me ok - no error.
Question: why are you using SPI.begin() in your code? I don't see that in the linked example.
Thanks
Felix
Hello @MitchBuckanon
Arduino Espressif library now contains Ethernet drivers for W5500 and it seems W5500 can be used without RST or INT.
I successfully ran ETH_W5500_Arduino_SPI example with Base LAN module connected to M5Dial via port A and B. I only needed to adapt SCLK, MOSI, MISO and CS to the proper GPIOs and set RST and INT to -1 (eg not used).
Thanks
Felix
Hello @mb
Unit Reflective IR is a port B unit (black connector). So in order to connect multiple units you'll need a PbHub. (The b stands for port B.)
(A PaHub is meant to connect multiple port A units (red connector) aka I2C with the same I2C address.)
I created an UIFlow2 example to read three Unit Reflective IR via PbHub in UIFlow2 Project Zone called M5AtomLite_Three_ReflectiveIRUnit_UIFlow2.4.2
Note: The example is how I think three reflective IR units can be read via PbHub. But actually this method is untested by me as I do not have the necessary hardware.
Thanks
Felix
Hello @mb
M5Atom Matrix has a dedicated USB-Serial chip which is not affected by the ESP32 reset and thus is keeping the serial connection alive.
In contrast the ESP32S3 inside M5AtomS3 Lite has USB built-in (and doesn't need a dedicated USB-Serial chip). The 'downside' being what you observe - resetting ESP32S3 also resets the USB connection.
Thanks
Felix
Hello @Kampi
yes, the RTC (via PMS150G) is used to wake up the system.
And here you can see how the power off pulse is generated in M5Unified.
Thanks
Felix
Hello @Kampi
well, quickly looking though your code I see you are using ESP32 deep sleep. In ESP32 deep sleep the system consumes about 5 - 6 mA according to measurements I did a while ago. See here. And official values from M5Stack here.
With the 1800 mAh battery that gives you a theoretical run time of about 10 days. But since your system isn't in ESP32 deep sleep all the time and the battery cannot be completely emptied before the voltage is too low, 4 days sound about right.
If you want substantially longer runtime per battery charge you need to power off M5PaperS3 instead of using ESP32 deep sleep. Doing that brings the current down to a couple of uAs instead of mAs.
M5.Power.timerSleep(x) is used to shutdown M5PaperS3. See example here.
Thanks
Felix
Hello @katastrofiko
may I suggest that you - as a beginner - try something simpler to start with? Displaying an image from Unit CamS3 camera on M5Stack CoreS3 screen is not exactly a simple thing.
However if you insist on doing that then I suggest you feed the error message into your AI and let AI fix it. Or try the next 100 scripts AI spits out. (Edison ultimately had success too.)
Personal side note: As a human being and software engineer I am glad that AI was not (yet) able to figure it out. That gives me hope for mankind.
Thanks
Felix
Hello @Kombistack
hmm, probably publishing doesn't work due to the delays in loop.
Maybe this example in UIFlow2 Project Zone can help:
M5AtomS3_WiFi_MQTT_UIFlow2.1.5
Note: not tested again with latest UIFlow2.4.2. So it might not work anymore.
Thanks
Felix
Hello @drvval
when I run M5Core2 v1.1 from battery, power consumption gets down to about 5.2 mA @ 4.2 V in ESP32 deep sleep.
BTW: Interestingly when running from battery I can turn off the boost circuit.
In my test I now only turn LCD backlight to zero and turn off boost circuit. When I turn LCD and/or TP off things start to go wrong. My guess is that ESP32 SPI / I2C bus gets confused if devices are suddenly disappearing.
Thanks
Felix
Hello @drvval
BLDO2 controls the 5 V boost circuit.
When M5Core2 v1.1 is powered on, code in M5Unified library checks whether there is external 5 V power available (from M5Bus or Grove port).
If yes, the boost circuit is turned off, and M5Core2 is running from external power.
If no, the boost circuit is turned on (and consumes power) and M5Core2 is running from battery or USB.
Note: why, when running from USB or battery, turning the boost circuit off manually prevents ESP32 from waking up from deep sleep is not entirely clear to me.
In order to go lower you could try to power M5Core2 via 5V on the M5Bus or Grove port. And without USB connection.
(Testing gets a bit tedious this way, as one constantly needs to switch between USB for programming and external power for testing.)
Using external power via M5Bus (but without PIR connected) my M5Core2 v1.1 in deep sleep only consumes about 2.9 mA.
Thanks
Felix
Hello @sk-ys
currently PbHub does not support internal pull-up/pull-down resistors. See FAQ at the end of the documentation page here. I assume the same is true for EXT.IO2.
Note: I have no idea if there are plans to support this feature in the future.
BTW: I faced the same issue a while ago and I resorted to adding some 10 k SMD resistors to the inputs.
Thanks
Felix
Hi guys
curious about what's inside M5StickS3? I opened up mine so you don't have to. See here.
Thanks
Felix