I completely agree. M5stack is a wonderful product but lack of support and documentation is the issue.
Posts made by hetzer
-
RE: Lack of support
-
Slow UART
I am working on a tracked platform project where the the servos are controlled by imu of m5stackfire and sbus signal received from an RC receiver. My coding skills are limited so I am using and esp32 to read the sbus signal and transmit it to m5stack fire which I program using uiflow.
My problem is that the reading speed of m5stack fire is very slow and it is loosing synchronization with the ESP32 and crashing the program. I tried different baud rates and different amount of delay and best I could have is 50microseconds delay on the ESP32 side. With this setup m5stack reads the signals with a huge delay and the correction comes late failing making it impossible to control the servos and motor controllers. ESP32 to computer and ESP32 to Arduino works flawlessly but I could not find a solution for m5stack fire with uiflow.
I am adding the codes of both ESP32 and the Uiflow. Any help will be greatly appreciated as I am getting frustrated.![alt text]( image url)
-
RE: How to read Standard RC signal
Hope you still consider adding sbus blocks to uiflow. It would be very useful with all the servo controller units available for m5stack products.
-
Compass Data from M5stack Fire
I have the M5Stack fire (Version:2018.2A) but having difficulties in getting magnometer data.
Previously uiflow had the block get Z but it is removed at a later stage.
I tried below Arduino code but readings are incorrect.
Could anyone assist?#include <M5Stack.h>
#include "utility/MPU9250.h"MPU9250 IMU;
void setup()
{
M5.begin();
Wire.begin();IMU.calibrateMPU9250(IMU.gyroBias, IMU.accelBias);
IMU.initMPU9250();
IMU.initAK8963(IMU.magCalibration);
}void loop()
{
// If intPin goes high, all data registers have new data
// On interrupt, check if data ready interrupt
if (IMU.readByte(MPU9250_ADDRESS, INT_STATUS) & 0x01)
{
IMU.readAccelData(IMU.accelCount);
IMU.getAres();IMU.ax = (float)IMU.accelCount[0] * IMU.aRes; // - accelBias[0]; IMU.ay = (float)IMU.accelCount[1] * IMU.aRes; // - accelBias[1]; IMU.az = (float)IMU.accelCount[2] * IMU.aRes; // - accelBias[2]; IMU.readGyroData(IMU.gyroCount); // Read the x/y/z adc values IMU.getGres(); // Calculate the gyro value into actual degrees per second // This depends on scale being set IMU.gx = (float)IMU.gyroCount[0] * IMU.gRes; IMU.gy = (float)IMU.gyroCount[1] * IMU.gRes; IMU.gz = (float)IMU.gyroCount[2] * IMU.gRes; IMU.readMagData(IMU.magCount); // Read the x/y/z adc values IMU.getMres(); // User environmental x-axis correction in milliGauss, should be // automatically calculated //IMU.magbias[0] = +470.; // User environmental x-axis correction in milliGauss TODO axis?? //IMU.magbias[1] = +120.; // User environmental x-axis correction in milliGauss //IMU.magbias[2] = +125.; // Calculate the magnetometer values in milliGauss // Include factory calibration per data sheet and user environmental // corrections // Get actual magnetometer value, this depends on scale being set IMU.mx = (float)IMU.magCount[0] * IMU.mRes * IMU.magCalibration[0] - IMU.magbias[0]; IMU.my = (float)IMU.magCount[1] * IMU.mRes * IMU.magCalibration[1] - IMU.magbias[1]; IMU.mz = (float)IMU.magCount[2] * IMU.mRes * IMU.magCalibration[2] - IMU.magbias[2]; int x=64+10; int y=128+20; int z=192+30; M5.Lcd.fillScreen(BLACK); M5.Lcd.setTextColor(GREEN , BLACK); M5.Lcd.setTextSize(2); M5.Lcd.setCursor(0, 0); M5.Lcd.print("MPU9250/AK8963"); M5.Lcd.setCursor(0, 32); M5.Lcd.print("x"); M5.Lcd.setCursor(x, 32); M5.Lcd.print("y"); M5.Lcd.setCursor(y, 32); M5.Lcd.print("z"); M5.Lcd.setCursor(0, 64 * 2); M5.Lcd.print((int)(IMU.gx)); M5.Lcd.setCursor(x, 64 * 2); M5.Lcd.print((int)(IMU.gy)); M5.Lcd.setCursor(y, 64 * 2); M5.Lcd.print((int)(IMU.gz)); M5.Lcd.setCursor(z, 64 * 2); M5.Lcd.print("o/s"); M5.Lcd.setCursor(0, 80 * 2); M5.Lcd.print((int)(IMU.mx)); M5.Lcd.setCursor(x, 80 * 2); M5.Lcd.print((int)(IMU.my)); M5.Lcd.setCursor(y, 80 * 2); M5.Lcd.print((int)(IMU.mz)); M5.Lcd.setCursor(z, 80 * 2); M5.Lcd.print("mG"); float headingRadians = atan2((IMU.my), (IMU.mx)); float headingDegrees = headingRadians * 180 / PI;
if (headingDegrees < 0) {
headingDegrees += 360;
}
M5.Lcd.setTextColor(YELLOW , BLACK);
M5.Lcd.setCursor(0, 48 * 2); M5.Lcd.print(headingDegrees);delay(100);
}
}
-
Serial Coms issue with jetson nano
I would like to use some servos based on the object detection coordinates coming from jetson nano through USB.
Somehow coordinates are being updated later and later as the time passes.
I have added the simple test code.( image url) -
issue with lego+ aka DC Motor module
I cant make lego+ aka dc motor module.
It gives error" moduel' object has no attribute Legoboard.
Can anyone assist? -
Uiflow and loramodule
Do the blocks in uiflow also support lora modue? https://m5stack.com/collections/m5-module/products/lora-module I always get an error loranwan not connect.
-
RE: M5STICK OLED cant turn on
Just to confirm. I am using M5stick OLED, not M5stickC. Does latest firmware also work with M5stick OLED?
-
RE: M5STICK OLED cant turn on
I erased the firmware a couple of times and managed to have it working with firmware version 1.2.3. Other versions did not work. Am I doing sth wrong or m5strick oled is only working with version 1.2.3
I am using windows 10 and uiflow. -
M5STICK OLED cant turn on
My M5stick C arrived. Plugged the USB and saw led blinking. Updated the firmware via m5burner and now cant switch it on. Led also does not blink. m5 burner and arduino can detect it. I can upload the code. but screen is off. Can anyone help?
-
RE: cant download m5burner
@mati Thanks alot. Finally burnt the new beta version.
-
Non M5stack units
I want to read data from BN055 and followed the same method as blynk to use external library. It did not work. There is still not enough documentation to use i2c blocks. Did anybody try non m5stack sensors over i2c and succeeded?
-
RE: cant download m5burner
Maybe it is my firewall. Could you please upload it to a cloud or provide alternative download link
-
cant download m5burner
Link to download m5 burner is not working. Can anyone provide an alternate link?
-
RE: M5Stack FIRE can't maintain connection in UIFlow
@viernesmatheus Same here, cant connect
-
External libraries and I2C via UIFLOW
It would be really to nice to have a tutorial using I2C blocks of UIFLOW and using external I2C devices. I tried to get readings from Adafruit BNO055 using execute block but just receive errors.
Did anyone try to connect a non M5STACK I2C sensor via UIFLOW ? -
RE: How to read Standard RC signal
Is it possible to do it now with the ticks ?