🤖Have you ever tried Chat.M5Stack.com before asking??😎

Subcategories

  • Hear all about new products, initiatives and events here.

    14 Topics
    20 Posts
    kurikoK
    UiFlow2.0 quick start for CoreMP135 has been released. https://docs.m5stack.com/en/guide/linux/coremp135/uiflow2
  • 2 Topics
    2 Posts
    ajb2k3A
    Members will have noticed that some of us have pictures instead of letters next to our names. This isn't anything to do with status but is a function of the forum available to most (if not all) forum member. To set a picture for your avater you need to click on your letter in the top right hand side of the screen and a menu will appear. Click "Edit Profile" and you will be taken to the profile screen. At the top is a picture with your initial in it, click on it and you can upload an image to use.
  • Here is where you'll find News about promotions, M5stack related blog posts and Videos from M5stack users

    233 Topics
    308 Posts
    S
    To fix issues with M5Burner on Mac, ensure you’ve installed the correct USB-to-serial drivers (like CP210x or CH340). Run M5Burner using Rosetta if needed. Allow app permissions via System Settings > Privacy & Security. Always download the latest M5Burner version compatible with your mac.
  • PM 2.5 module - manual?

    2
    0 Votes
    2 Posts
    3k Views
    ajb2k3A
    @bit2020 this is the normal demo code
  • Connecting sensors to M5Stack and CAN Bus

    1
    0 Votes
    1 Posts
    4k Views
    No one has replied
  • M5Stack UIFlow Heart Sensor Video.

    3
    0 Votes
    3 Posts
    5k Views
    ajb2k3A
    @iamliubo Komix?
  • M5Stack does not connect WiFi with Node attached

    6
    0 Votes
    6 Posts
    12k Views
    L
    Installing the silabs Silicon Labs VCP Driver.pkg worked for me also. 👍 (on OS X 10.11.6) Seems obvious that we need the drivers, but I thought I already had them after going thru the espressif/arduino-esp32 install steps. e.g. My "System Report / Hardware / USB" showed CP2102 USB to UART Bridge Controller driver For others' future reference, you should see something like: n8s-iMac:nleon$ ls -al /dev/tty.* crw-rw-rw- 1 root wheel 18, 2 Jul 4 11:14 /dev/tty.SLAB_USBtoUART Regardless, thanks for the pointer! Admin Apps4Rent
  • M5StickC: Cannot write BMP/JPG/RAW to the lcd from memory

    3
    0 Votes
    3 Posts
    5k Views
    R
    @reganel You could save the image to a file and load it back to the display, but with frequent writing to the flash memory, you will damage it very quickly. I tried to load a bitmap into a variable and draw from it pixel by pixel on the screen, but esp does not have enough ram memory (for a 24 bit 80x160 bitmap some 38kB). From what I've seen, the C libraries for arduino allow you to write an image from a buffer. The only thing I was able to get is reading a jpg image through mqtt (size about 10kB), saving to a file and from a file to the screen. But as mentioned before, flash memory has a limited number of write cycles.
  • M5STACK FIRE Won't change or turn ON.

    3
    0 Votes
    3 Posts
    7k Views
    L
    M5ez is an Arduino library. To start using it with the Arduino IDE: Choose Sketch -> Include Library -> Manage Libraries... Type M5ez into the search box. Click the row to select the library. Click the Install button to install the library. Repeat this process for the ezTime library in File -> Examples you will now see an M5ez heading down under "Examples from custom libraries" You'll have your first application on the screen in no time. You can also start with one of the sketches below in the "Menus" section of the documentation. In fact we strongly recommend that you play around with the M5ez demo application, since it is a comprehensive showcase of M5ez's functionality that will give you a good feel for what you can and cannot do with M5ez.
  • Core OTA issues

    2
    0 Votes
    2 Posts
    5k Views
    L
    OTA stands for Over the Air (FOTA – Firmware Over the Air). It refers to the wireless delivery of new or updated software or firmware to devices such as smartphones and tablets.
  • Connection problems

    2
    0 Votes
    2 Posts
    5k Views
    L
    Make Sure It's Actually Your Network Problem. ... Power Cycle Everything and Check Other Devices. ... Check Physical Connections. ... Run the Windows Network Troubleshooter. ... Check for a Valid IP Address. ... Try a Ping and Trace Its Route. ... Contact Your ISP. ... Wait the Network Problems Out.
  • BMC_SBUS M5Stack porting

    2
    0 Votes
    2 Posts
    6k Views
    L
    codice arduino mega stabilizzatore #define BAUDRATE 100000 // oder 100000 115200 //#define BAUDRATE 115200 // oder 100000 115200 #define SERIALPORT Serial // - uncomment this line if using an arduino based board with more than one HW serial port class BMC_SBUS { public: uint8_t sbusData[25]; int16_t servos[18]; void begin(void); void Servo(uint8_t ch, int16_t position); void Send(void); void Update(void); private: uint8_t byte_in_sbus; uint8_t bit_in_sbus; uint8_t ch; uint8_t bit_in_servo; }; void BMC_SBUS::begin() { //intialise private data arrays //sbus_data is formatted for correct serial output //note that the actual 11bit sbus data for each channel is embedded across multiple data bytes in a very stange order //byte 1 and bytes 24 and 25 should be left as is //the first is a start byte, the last is a stop byte and the second last holds various flags //servos is the internal per channel position and is more straightforward - one int_16 per channel uint8_t loc_sbusData[25] = {0x0f, 0x01, 0x04, 0x20, 0x00, 0xff, 0x07, 0x40, 0x00, 0x02, 0x10, 0x80, 0x2c, 0x64, 0x21, 0x0b, 0x59, 0x08, 0x40, 0x00, 0x02, 0x10, 0x80, 0x00, 0x00}; int16_t loc_servos[18] = {1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 0, 0}; //setup serial port to transmit at 100k baud and use 1 parity and 2 stop bits SERIALPORT.begin(BAUDRATE, SERIAL_8E2); //setup public data arrays memcpy(sbusData, loc_sbusData, 25); memcpy(servos, loc_servos, 18); } void BMC_SBUS::Servo(uint8_t ch, int16_t position) { //set servo position on single channel if ((ch > 0) && (ch <= 16)) { constrain (position, 0, 2048); //keep within min/max values servos[ch - 1] = position; //expects a non zero starting index to the channel } } void BMC_SBUS::Send(void) { //send data over serial port SERIALPORT.write(sbusData, 25); //according to docs for Serial we can send the array along as is without a loop } void BMC_SBUS::Update(void) { //update positions for all servo channels within the SBUS data frame //ignores digital servos and any failsafe mode stuff that was originally written //clear out existing sbus data for all channel data bytes //ignores first and last bytes in the array (start and stop bytes) //mapping loop relies on initial 0 values - do not omit this step! uint8_t i; for (i = 1; i < 24; i++) { sbusData[i] = 0; } //reset counters ch = 0; bit_in_servo = 0; byte_in_sbus = 1; bit_in_sbus = 0; //format sbus data - maps sevo data array to sbus data array 1bit at a time //correctly deals with the little endian byte order in the process for (i = 0; i < 176; i++) //16channels*11bits = 176bits { if (servos[ch] & (1 << bit_in_servo)) //bitwise AND to check if the correct servo databit is set to 1 { sbusData[byte_in_sbus] |= (1 << bit_in_sbus); //bitwise OR sets the correct sbus databit if true } //increment bit counters bit_in_sbus++; bit_in_servo++; //if end of sbus byte reset sbus bit counter and increment sbus byte counter if (bit_in_sbus == 8) { bit_in_sbus = 0; byte_in_sbus++; } // if we have reached bit 11 in the servo data increment channel index and reset servo bit counter if (bit_in_servo == 11) { bit_in_servo = 0; ch++; } } } //Declare BMC_SBUS Object BMC_SBUS mySBUS; // Sbus delay value const int sbusWAIT = 7; //frame timing delay in msecs // Declare sbus control channels int panChannel = 1; int tiltChannel = 2; int rollChannel = 4; // Declare Kinowheels Stuff int XA_SIG = 0, XB_SIG = 1, YA_SIG = 0, YB_SIG = 1, pulsesX, pulsesY; // Declare Stuff for calculating Speed int xStampEnd = 0, yStampEnd = 0, timeStampEnd = 0, xPassed, yPassed, timePassed, sendX = 1023, sendY = 1023; void setup() { // Serial.begin(100000); überflüssig, weil in MC_SBUS enthalten // Start KinoWheels Stuff attachInterrupt(0, XA_RISE, RISING); // Pin 2 attachInterrupt(1, XB_RISE, RISING); // Pin 3 attachInterrupt(4, YA_RISE, RISING); // Pin 19 attachInterrupt(5, YB_RISE, RISING); // Pin 18 // Start BMC_SBUS object mySBUS.begin(); } void loop() { for (int i = 0; i < 1; i++) { //SBUS needs data every 7 Milliseconds. I repeat it three times for some time to pass for calculating speeds. mySBUS.Servo(tiltChannel, sendY); mySBUS.Servo(panChannel, sendX); // Update SBUS object and send data mySBUS.Update(); mySBUS.Send(); delay(sbusWAIT); } timePassed = millis() - timeStampEnd; xPassed = xStampEnd - pulsesX; yPassed = pulsesY - yStampEnd; sendX = 1023 + 100 * xPassed / timePassed; sendY = 1023 + 100 * yPassed / timePassed; for (int i = 0; i < 1; i++) { //Maybe this one is not needed. Will find it out later mySBUS.Servo(tiltChannel, sendY); mySBUS.Servo(panChannel, sendX); // Update SBUS object and send data mySBUS.Update(); mySBUS.Send(); delay(sbusWAIT); } xStampEnd = pulsesX; yStampEnd = pulsesY; timeStampEnd = millis(); } //Rotary Encoder Stuff by KinoWheels void XA_RISE() { detachInterrupt(0); //delay(1); XA_SIG = 1; if (XB_SIG == 0) pulsesX++;//moving forward if (XB_SIG == 1) pulsesX--;//moving reverse attachInterrupt(0, XA_FALL, FALLING); } void XA_FALL() { detachInterrupt(0); //delay(1); XA_SIG = 0; if (XB_SIG == 1) pulsesX++;//moving forward if (XB_SIG == 0) pulsesX--;//moving reverse attachInterrupt(0, XA_RISE, RISING); } void XB_RISE() { detachInterrupt(1); //delay(1); XB_SIG = 1; if (XA_SIG == 1) pulsesX++;//moving forward if (XA_SIG == 0) pulsesX--;//moving reverse attachInterrupt(1, XB_FALL, FALLING); } void XB_FALL() { detachInterrupt(1); //delay(1); XB_SIG = 0; if (XA_SIG == 0) pulsesX++;//moving forward if (XA_SIG == 1) pulsesX--;//moving reverse attachInterrupt(1, XB_RISE, RISING); } void YA_RISE() { detachInterrupt(4); //delay(1); YA_SIG = 1; if (YB_SIG == 0) pulsesY++;//moving forward if (YB_SIG == 1) pulsesY--;//moving reverse attachInterrupt(4, YA_FALL, FALLING); } void YA_FALL() { detachInterrupt(4); //delay(1); YA_SIG = 0; if (YB_SIG == 1) pulsesY++;//moving forward if (YB_SIG == 0) pulsesY--;//moving reverse attachInterrupt(4, YA_RISE, RISING); } void YB_RISE() { detachInterrupt(5); //delay(1); YB_SIG = 1; if (YA_SIG == 1) pulsesY++;//moving forward if (YA_SIG == 0) pulsesY--;//moving reverse attachInterrupt(5, YB_FALL, FALLING); } void YB_FALL() { detachInterrupt(5); //delay(1); YB_SIG = 0; if (YA_SIG == 0) pulsesY++;//moving forward if (YA_SIG == 1) pulsesY--;//moving reverse attachInterrupt(5, YB_RISE, RISING); }
  • How to use Unicode.

    7
    0 Votes
    7 Posts
    15k Views
    L
    Unicode characters can then be entered by holding down Alt , and typing + on the numeric keypad, followed by the hexadecimal code – using the numeric keypad for digits from 0 to 9 and letter keys for A to F – and then releasing Alt .
  • 0 Votes
    8 Posts
    20k Views
    L
    The easiest way to extract the sound from a video is to use our audio converter. Open the audio converter. Click "Open files". In the resulting window select the file you wish to extract the sound from. ... While the sound is being extracted, choose the format in which you want to convert the sound.
  • 0 Votes
    4 Posts
    8k Views
    S
    Thank you for the above comments. I am using the official M5Stack but bought from different suppliers from here in the UK. I have now tested the 3 units successfully by accessing them directly via the I2C bus address and registers rather than the UIFlow Unit ExtIO libraries. I can read and write to the IO using this method so I suspect there is a bug in one of the UIFlow library routines. I have raised this with M5Stack and I believe they are looking into it. It would still be great to know how others are using and accessing the ExtIO Unit especially using it via the Pa.Hub. Thank you again.
  • M5 STACK FIRE Won't turn on

    2
    0 Votes
    2 Posts
    5k Views
    m5stackM
    maybe you could try reflash the UIFlow firmware: tutorial: https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_get_started_MicroPython
  • PM2.5 Air Quality Kit - Temperature measurement

    3
    0 Votes
    3 Posts
    4k Views
    C
    @ajb2k3 Thanks for the answer :)
  • Custom Blocks

    3
    0 Votes
    3 Posts
    6k Views
    D
    thanks man
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    8 Views
    No one has replied
  • new to m5stack; components advice

    3
    0 Votes
    3 Posts
    6k Views
    B
    OK thanks; it's ordered!
  • Atom Lite boot on power cycle

    2
    0 Votes
    2 Posts
    4k Views
    No one has replied
  • M5StickC Servo hat demo video.

    1
    0 Votes
    1 Posts
    3k Views
    No one has replied
  • Is it ok to sell M5Stacks on the forum?

    3
    0 Votes
    3 Posts
    4k Views
    SkinkS
    @acuralegendz said in Is it ok to sell M5Stacks on the forum?: I have a Lidarbot that I no longer need and was hoping this would be a good place to sell it. Hello @acuralegendz, how much should the Lidarbot cost, and from where would you send it ! How much would the shipping to Germany cost !? I might be interested depending on your price expectations. But there are still some questions: how good are the batteries of the Lidarbot still ! Greeting skink