🤖Have you ever tried Chat.M5Stack.com before asking??😎
  • m5stack LoRa Module (868MHz) v1.1 - Dip Switch

    3
    0 Votes
    3 Posts
    3k Views
    ShotokuTechS
    What are the switch settings for Core? Why can't M5Stack just put the switch settings for each in the document? Instead they have this baffling interactive chart that does not seem related to anything at all.
  • Porting StepMotor module example ?

    5
    0 Votes
    5 Posts
    3k Views
    ChSimonC
    Hi everyone, In case somebody would be interested, here is the modified version of the example code StepmotorPulse_M039 working with M5Unified.h and Espressif API updates. Tested with an old M5Basic. In retrospect, it's relatively obvious.
  • M5PaperS3 wakeup

    3
    0 Votes
    3 Posts
    2k Views
    felmueF
    Hi guys I noticed that my M5PaperS3 touch screen is slightly less sensitive when running from battery. Touching the screen with more than one finger helps. Notes: Touch wake-up is only possible in ESP light sleep. Please find and example here. Touch wake-up from ESP deep sleep is NOT possible as that would require the touch interrupt line to be connected to a so called RTC GPIO which is not the case in M5PaperS3. Touch wake-up from shutdown mode is NOT possible as the eInk display and touch IC are not running in shutdown mode. Thanks Felix
  • M5Dial\MFRC522.cpp error

    3
    0 Votes
    3 Posts
    2k Views
    gordshG
    @felmue Thanks so much, that fixed it...
  • U097 4-relay failures

    u097 relay fail quality
    2
    0 Votes
    2 Posts
    2k Views
    ajb2k3A
    @JourneymanWizard Please Email M5Stack support directly and PM them using twitter.
  • Vmeter only reads upto 3v and then the ADC value loops

    7
    0 Votes
    7 Posts
    4k Views
    E
    @erkel It is working now. Just a noob issue. It was the endianesse of the values. it gives the output as expected when converted to little endian, rather naturally reading the value.,
  • PPS 13.2 Arduino Can not compile the example Sketch

    arduino pps compile
    3
    0 Votes
    3 Posts
    3k Views
    P
    @felmue Thank-you - I had completely misunderstood :-) Simon
  • ATOM DTU NB-IoT2 PlaformIO

    1
    0 Votes
    1 Posts
    932 Views
    No one has replied
  • LLM module UIFlow add TTS french

    1
    0 Votes
    1 Posts
    930 Views
    No one has replied
  • OSError: [Errno 116] ETIMEDOUT

    5
    0 Votes
    5 Posts
    3k Views
    L
    @ajb2k3 The relay was not connected. I connected the Core2 directly to a Hub and used the following code. Do you see something that could be the reason for the error? import os, sys, io import M5 from M5 import * from unit import WeightI2CUnit from hardware import * import time from unit import PAHUBUnit weight = None airScale = None notMedical = None tareButton = None measureButton = None kg = None i2c0 = None pahub_0 = None weight_i2c_0 = None weight_i2c_1 = None weight_i2c_2 = None weight_i2c_3 = None weight_i2c_4 = None weight_i2c_5 = None tare_weight = None total_weight = None adc0 = None adc1 = None Calibration def calibration(): global tare_weight, total_weight, adc0, adc1, weight, airScale, notMedical, tareButton, measureButton, kg, i2c0, pahub_0, weight_i2c_0, weight_i2c_1, weight_i2c_2, weight_i2c_3, weight_i2c_4, weight_i2c_5 kg.setVisible(False) weight.setText(str('START')) time.sleep(5) weight_i2c_0.set_reset_offset() weight.setText(str('CAL')) time.sleep(2) adc0 = weight_i2c_0.get_adc_raw weight.setText(str('WEIGHT')) time.sleep(10) adc1 = weight_i2c_0.get_adc_raw weight.setText(str('DONE')) time.sleep(2) weight_i2c_0.set_calibration(0, adc0, 20000, adc1) time.sleep(5) weight_i2c_1.set_reset_offset() weight.setText(str('CAL')) time.sleep(2) adc0 = weight_i2c_1.get_adc_raw weight.setText(str('WEIGHT')) time.sleep(10) adc1 = weight_i2c_1.get_adc_raw weight.setText(str('DONE')) time.sleep(2) weight_i2c_1.set_calibration(0, adc0, 20000, adc1) time.sleep(5) weight_i2c_2.set_reset_offset() weight.setText(str('CAL')) time.sleep(2) adc0 = weight_i2c_2.get_adc_raw weight.setText(str('WEIGHT')) time.sleep(10) adc1 = weight_i2c_2.get_adc_raw weight.setText(str('DONE')) time.sleep(2) weight_i2c_2.set_calibration(0, adc0, 20000, adc1) time.sleep(5) weight_i2c_3.set_reset_offset() weight.setText(str('CAL')) time.sleep(2) adc0 = weight_i2c_3.get_adc_raw weight.setText(str('WEIGHT')) time.sleep(10) adc1 = weight_i2c_3.get_adc_raw weight.setText(str('DONE')) time.sleep(2) weight_i2c_3.set_calibration(0, adc0, 20000, adc1) time.sleep(5) weight_i2c_4.set_reset_offset() weight.setText(str('CAL')) time.sleep(2) adc0 = weight_i2c_4.get_adc_raw weight.setText(str('WEIGHT')) time.sleep(10) adc1 = weight_i2c_4.get_adc_raw weight.setText(str('DONE')) time.sleep(2) weight_i2c_4.set_calibration(0, adc0, 20000, adc1) time.sleep(5) weight_i2c_5.set_reset_offset() weight.setText(str('CAL')) time.sleep(2) adc0 = weight_i2c_5.get_adc_raw weight.setText(str('WEIGHT')) time.sleep(10) adc1 = weight_i2c_5.get_adc_raw weight.setText(str('DONE')) time.sleep(2) weight_i2c_5.set_calibration(0, adc0, 20000, adc1) weight.setText(str('END')) Tare def tare(): global tare_weight, total_weight, adc0, adc1, weight, airScale, notMedical, tareButton, measureButton, kg, i2c0, pahub_0, weight_i2c_0, weight_i2c_1, weight_i2c_2, weight_i2c_3, weight_i2c_4, weight_i2c_5 weight_i2c_0.set_reset_offset() weight_i2c_1.set_reset_offset() weight_i2c_2.set_reset_offset() weight_i2c_3.set_reset_offset() weight_i2c_4.set_reset_offset() weight_i2c_5.set_reset_offset() tare_weight = sum([weight_i2c_0.get_weight_float, weight_i2c_1.get_weight_float, weight_i2c_2.get_weight_float, weight_i2c_3.get_weight_float, weight_i2c_4.get_weight_float, weight_i2c_5.get_weight_float]) return tare_weight Measure def measure(): global tare_weight, total_weight, adc0, adc1, weight, airScale, notMedical, tareButton, measureButton, kg, i2c0, pahub_0, weight_i2c_0, weight_i2c_1, weight_i2c_2, weight_i2c_3, weight_i2c_4, weight_i2c_5 total_weight = sum([weight_i2c_0.get_weight_float, weight_i2c_1.get_weight_float, weight_i2c_2.get_weight_float, weight_i2c_3.get_weight_float, weight_i2c_4.get_weight_float, weight_i2c_5.get_weight_float]) return total_weight def setup(): global weight, airScale, notMedical, tareButton, measureButton, kg, i2c0, pahub_0, weight_i2c_0, weight_i2c_1, weight_i2c_2, weight_i2c_3, weight_i2c_4, weight_i2c_5, tare_weight, total_weight, adc0, adc1 M5.begin() Widgets.fillScreen(0x222222) weight = Widgets.Label("250.0", 8, 90, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu72) airScale = Widgets.Label("airScale", 5, 7, 1.0, 0x89c6ff, 0x222222, Widgets.FONTS.DejaVu12) notMedical = Widgets.Label("Not for Medical Use!", 115, 5, 1.0, 0xff0000, 0x222222, Widgets.FONTS.DejaVu18) tareButton = Widgets.Label("Tare", 23, 210, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu24) measureButton = Widgets.Label("Measure", 210, 210, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu24) kg = Widgets.Label("kg", 230, 90, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu72) i2c0 = I2C(0, scl=Pin(33), sda=Pin(32), freq=100000) pahub_0 = PAHUBUnit(i2c=i2c0, channel=0) weight_i2c_0 = WeightI2CUnit(PAHUBUnit(i2c=i2c0, channel=0), 0x26) weight_i2c_1 = WeightI2CUnit(PAHUBUnit(i2c=i2c0, channel=1), 0x26) weight_i2c_2 = WeightI2CUnit(PAHUBUnit(i2c=i2c0, channel=2), 0x26) weight_i2c_3 = WeightI2CUnit(PAHUBUnit(i2c=i2c0, channel=3), 0x26) weight_i2c_4 = WeightI2CUnit(PAHUBUnit(i2c=i2c0, channel=4), 0x26) weight_i2c_5 = WeightI2CUnit(PAHUBUnit(i2c=i2c0, channel=5), 0x26) weight.setVisible(False) weight_i2c_0.set_lowpass_filter(True) weight_i2c_1.set_lowpass_filter(True) weight_i2c_2.set_lowpass_filter(True) weight_i2c_3.set_lowpass_filter(True) weight_i2c_4.set_lowpass_filter(True) weight_i2c_5.set_lowpass_filter(True) weight_i2c_0.set_average_filter_level(50) weight_i2c_1.set_average_filter_level(50) weight_i2c_2.set_average_filter_level(50) weight_i2c_3.set_average_filter_level(50) weight_i2c_4.set_average_filter_level(50) weight_i2c_5.set_average_filter_level(50) weight.setText(str("%.1f"%((tare() / 1000)))) def loop(): global weight, airScale, notMedical, tareButton, measureButton, kg, i2c0, pahub_0, weight_i2c_0, weight_i2c_1, weight_i2c_2, weight_i2c_3, weight_i2c_4, weight_i2c_5, tare_weight, total_weight, adc0, adc1 M5.update() if BtnA.wasClicked(): kg.setVisible(False) weight.setText(str('Tare...')) time.sleep(3) weight.setText(str("%.1f"%((tare() / 1000)))) kg.setVisible(True) if BtnB.wasHold(): calibration() time.sleep(5) weight.setText(str("%.1f"%((tare() / 1000)))) kg.setVisible(True) if BtnC.wasClicked(): weight.setText(str('Warten..')) time.sleep(10) weight.setText(str("%.1f"%((measure() / 1000)))) kg.setVisible(True) if name == 'main': try: setup() while True: loop() except (Exception, KeyboardInterrupt) as e: try: from utility import print_error_msg print_error_msg(e) except ImportError: print("please update to latest firmware")
  • Dual CAN channels?

    2
    0 Votes
    2 Posts
    2k Views
    kurikoK
    @mippen which actually module are you using?
  • PPS 13.2 Module not working properly

    10
    1 Votes
    10 Posts
    13k Views
    M
    @felmue Okay, I will try to do that once I've got the required HW and SW to do so. Thanks for the tip.
  • 0 Votes
    2 Posts
    2k Views
    kurikoK
    @lnsy-strs yes you can
  • Unit cam DIY kit and Esphome

    esp32 cam esphome home assistant
    2
    1 Votes
    2 Posts
    5k Views
    S
    Hi Win, My is not working too. Pinout is the same as stated on https://docs.m5stack.com/en/unit/unit_cam But in Homeassistant ESPHome generates these errors: [12:03:45][C][ledc.output:180]: LEDC Output: [12:03:45][C][ledc.output:181]: Pin GPIO2 [12:03:45][C][ledc.output:182]: LEDC Channel: 2 [12:03:45][C][ledc.output:183]: PWM Frequency: 1000.0 Hz [12:03:45][C][ledc.output:184]: Phase angle: 0.0° [12:03:45][C][ledc.output:185]: Bit depth: 16 [12:03:45][C][esp32_camera:048]: ESP32 Camera: [12:03:45][C][esp32_camera:049]: Name: Timer-CAM1 [12:03:45][C][esp32_camera:050]: Internal: YES [12:03:45][C][esp32_camera:052]: Data Pins: D0:32 D1:35 D2:34 D3:5 D4:39 D5:18 D6:36 D7:19 [12:03:45][C][esp32_camera:053]: VSYNC Pin: 22 [12:03:45][C][esp32_camera:054]: HREF Pin: 26 [12:03:45][C][esp32_camera:055]: Pixel Clock Pin: 21 [12:03:45][C][esp32_camera:056]: External Clock: Pin:27 Frequency:20000000 [12:03:45][C][esp32_camera:060]: I2C Pins: SDA:25 SCL:23 [12:03:45][C][esp32_camera:062]: Reset Pin: 15 [12:03:45][C][esp32_camera:080]: Resolution: 640x480 (VGA) [12:03:45][E][esp32_camera:123]: Setup Failed: ESP_ERR_NOT_FOUND [12:03:45][E][component:082]: Component esp32_camera is marked FAILED
  • M5Core2 and M5StickC AXP192 libraries: which one is more Reliable?

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • 0 Votes
    4 Posts
    2k Views
    T
    @ajb2k3 thanks. I did not there was a different port version of the sensor?
  • Get Bottom2 power connection status with a code.

    2
    0 Votes
    2 Posts
    2k Views
    kurikoK
    @ioamas According to the schematic diagram, the 5V of the Pogo pin is directly connected to the VIN pin. So I think maybe you can determine whether the Pogo pin is connected by judging whether the battery is connected
  • Battery Bottom2 does not charge from M5GO/FIRE Battery Bottom Charging Base

    10
    0 Votes
    10 Posts
    5k Views
    felmueF
    Hello @ioamas thank you for reporting back. I am glad to hear you got it working. And sorry you had to sort out a not so well assembled Battery Bottom2. Thanks Felix
  • How does the Unit IR work with bruce firmware in cardputer?

    3
    0 Votes
    3 Posts
    4k Views
    S
    @teastain thanks for your response, I understand that.
  • Neopixel connected to EXT.IO2 problem

    2
    0 Votes
    2 Posts
    1k Views
    felmueF
    Hello @Marc-SKIL unit EXT.IO2 can only control one (1) RGB LED per output. So what you get is correct. Have a look at the protocol here. Thanks Felix