Giter VIP home page Giter VIP logo

m5atom's Introduction

ATOM Library

Arduino Compile Arduino Lint Clang Format

English | 中文

M5Atom Lite

M5Atom Matrix

  • For the Detailed documentation of ATOM Lite, please Click here

  • For the Detailed documentation of ATOM Matrix, please Click here

  • In order to buy ATOM Lite, please Click here

  • In order to buy ATOM Matrix, please Click here

Description

ATOM Matrix and ATOM Lite are ESP32 development board with a size of only 24 * 24mm.It provides more GPIO for user customization which is very suitable for embedded smart home devices and in making smart toys. The main control adopts the ESP32-PICO chip which comes integrated with Wi-Fi and Bluetooth technologies and has a 4MB of integrated SPI flash memory. ATOM board provides an Infra-Red LED, RGB LED, buttons, and a PH2.0 interface. In addition, it can connect to external sensors and actuators through 6 GPIOs. The on-board Type-C USB interface enables rapid program upload and execution. ATOM Matrix have 5 * 5 RGB LED matrix, built-in IMU sensor (MPU6886).

Applications

  • Internet of things terminal controller
  • IoT node
  • Wearable peripherals

Driver Installation

Connect the device to the PC, open the device manager to install FTDI driver for the device. Take the win10 environment as an example, download the driver file that matches the operating system, unzip it, and install it through the device manager. (Note: In some system environments, the driver needs to be installed twice for the driver to take effect. The unrecognized device name is usually M5Stack or USB Serial. Windows recommends using the driver file to install directly in the device manager (custom Update), the executable file installation method may not work properly). Click here to download FTDI driver

Peripherals Pin Map

Peripherals Pin
RGB Led G27
Btn G39
IR G12
SCL G21
SDA G25

Schematic

Atom pixel tool

Click here to download

More Information

UIFlow Quick Start: Click Here

MicroPython API: Click Here

Arduino IDE Development: Click Here

Atom Arduino API: Click Here

m5atom's People

Contributors

adamjhowell avatar alwynallan avatar arcbtc avatar forairaaaaa avatar fukuchi avatar gitshaoxiang avatar groej avatar hades2001 avatar ivankravets avatar johnwargo avatar per1234 avatar riraosan avatar simonprickett avatar tanakamasayuki avatar tinyu-zhao avatar vany5921 avatar zhuzhe1983 avatar zontex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

m5atom's Issues

LED_Display.h => LED_DisPlay.h

Hi !

Latest commit (32cc216) introduced a problem with file names.

In fact, you're including in M5Atom.h and LED_DisPlay.cpp a file named "LED_DisPlay.h", which doesn't exist. I think you forgot to rename LED_Display.h...
Temporary workaround was to manually rename the file...
(Sorry, I'm not used to Github, so I don't really know how to make a pull request for this)

Thanks !

LED_Display.cpp xSemaphoreTake & xSemaphoreGive correct

rewrite of LED_Display.cpp with xSemaphore Give & Take in the right order deletion of superfluous setBrightness (it's up to you to set the brightness value)

`#include "LED_Display.h"

LED_Display::LED_Display(uint8_t LEDNumbre)
{
FastLED.addLeds<WS2812, DATA_PIN>(_ledbuff, LEDNumbre);
_xSemaphore = xSemaphoreCreateMutex();
_numberled = LEDNumbre;
}

LED_Display::~LED_Display()
{
}

void LED_Display::run(void *data)
{
data = nullptr;

for (int num = 0; num < 26; num++)
{
    _ledbuff[num] = 0x000000;
}
FastLED.show();

while (1)
{
    xSemaphoreTake(_xSemaphore, portMAX_DELAY);
    if (_mode == kAnmiation_run)
    {
        if ((_am_mode & kMoveRight) || (_am_mode & kMoveLeft))
        {
            if (_am_mode & kMoveRight)
            {
                _count_x++;
            }
            else
            {
                _count_x--;
            }
        }
        if ((_am_mode & kMoveTop) || (_am_mode & kMoveButtom))
        {
            if (_am_mode & kMoveTop)
            {
                _count_y--;
            }
            else
            {
                _count_y++;
            }
        }
        if ((_am_count != -1) && (_am_count != 0))
        {
            _am_count--;
            if (_am_count == 0)
            {
                _mode = kAnmiation_stop;
            }
        }
         
        xSemaphoreGive(_xSemaphore);
        displaybuff(_am_buffptr, _count_x, _count_y);
        delay(_am_speed);
        delay(10);
        
    }
    else
    {
        xSemaphoreGive(_xSemaphore);
        delay(10);
    }
    FastLED.show();
    
}

}

void LED_Display::animation(uint8_t *buffptr, uint8_t amspeed, uint8_t ammode, int64_t amcount)
{
xSemaphoreTake(_xSemaphore, portMAX_DELAY);
if (_mode == kAnmiation_run)
{
_mode = kAnmiation_stop;
}
_am_buffptr = buffptr;
_am_speed = amspeed;
_am_mode = ammode;
_am_count = amcount;
_count_x = _count_y = 0;
_mode = kAnmiation_run;
xSemaphoreGive(_xSemaphore);
}

void LED_Display::displaybuff(uint8_t *buffptr, int8_t offsetx, int8_t offsety)
{
xSemaphoreTake(_xSemaphore, portMAX_DELAY);

uint16_t xsize = 0, ysize = 0;
xsize = buffptr[0];
ysize = buffptr[1];

offsetx = offsetx % xsize;
offsety = offsety % ysize;

int8_t setdatax = (offsetx < 0) ? (-offsetx) : (xsize - offsetx);
int8_t setdatay = (offsety < 0) ? (-offsety) : (ysize - offsety);

for (int x = 0; x < 5; x++)
{
    for (int y = 0; y < 5; y++)
    {
        _ledbuff[x + y * 5].raw[1] = buffptr[2 + ((setdatax + x) % xsize + ((setdatay + y) % ysize) * xsize) * 3 + 0];
        _ledbuff[x + y * 5].raw[0] = buffptr[2 + ((setdatax + x) % xsize + ((setdatay + y) % ysize) * xsize) * 3 + 1];
        _ledbuff[x + y * 5].raw[2] = buffptr[2 + ((setdatax + x) % xsize + ((setdatay + y) % ysize) * xsize) * 3 + 2];
    }
}
xSemaphoreGive(_xSemaphore);

}

void LED_Display::setBrightness(uint8_t brightness)
{
xSemaphoreTake(_xSemaphore, portMAX_DELAY);
FastLED.setBrightness(brightness);
xSemaphoreGive(_xSemaphore);
}

void LED_Display::drawpix(uint8_t xpos, uint8_t ypos, CRGB Color)
{
if ((xpos >= 5) || (ypos >= 5))
{
return;
}
xSemaphoreTake(_xSemaphore, portMAX_DELAY);
_ledbuff[xpos + ypos * 5] = Color;
xSemaphoreGive(_xSemaphore);
}

void LED_Display::drawpix(uint8_t Number, CRGB Color)
{
if (Number >= 25)
{
return;
}
xSemaphoreTake(_xSemaphore, portMAX_DELAY);
_ledbuff[Number] = Color;
xSemaphoreGive(_xSemaphore);
}

void LED_Display::clear()
{
xSemaphoreTake(_xSemaphore, portMAX_DELAY);
for (int8_t i = 0; i < 25; i++)
{
_ledbuff[i] = 0;
}
xSemaphoreGive(_xSemaphore);
}
`

PlayBeep() will be noisy if you modify the DMA buffer parameters.

Using the PlayRawPCM example test, modify the DMA buffering in AtomSPK.cpp.

bool ATOMSPK::begin(int __rate)
{
    esp_err_t err = ESP_OK;

    i2s_driver_uninstall(SPAKER_I2S_NUMBER);
    i2s_config_t i2s_config = {
        .mode = (i2s_mode_t)(I2S_MODE_MASTER),
        .sample_rate = __rate,
        .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, // is fixed at 12bit, stereo, MSB
        .channel_format = I2S_CHANNEL_FMT_ONLY_RIGHT,
        .communication_format = I2S_COMM_FORMAT_I2S,
        .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
        .dma_buf_count = 8,     //<------modify
        .dma_buf_len = 1024,    //<------modify
    };
    ...
    ...

Then execute _AtomSPK.PlayBeep(), sound plays, but there is a lot of noise when the sound ends.

void setup(){
    M5.begin(false,false,false);
    _AtomSPK.begin();
    _AtomSPK.playBeep(2500, 2000, 10000);
}

void loop(){
    if(M5.Btn.isPressed()){
    }
    M5.update();
}

Is there something wrong with my operation?

Change naming of Button from Btn to BtnA

In order for reuse of sketch-code, I would suggest to keep the naming of the first Button in M5-Atom the same as in M5Stack and M5Stick

Button Btn = Button(39, true, 10);
-> Change to:
Button BtnA = Button(39, true, 10);

LEDDisplay fails to compile

pins_arduino.h contained:
static const uint8_t G22 = 21;
static const uint8_t G22 = 22;

I changed this to:
static const uint8_t G21 = 21;
static const uint8_t G22 = 22;

And now it compiles.

ATOM CAN-example don't work (also the EASYLOADER examples)

I tried everything; even the EASYLOADER examples to find out that these don't work either!!!, I own 6 CAN-bus boards and different ATOM5 and MATRIX modules. I tested them all. Always the same problem: when resetting the sender only 2 messages are send than hang... And the receiver keeps rebooting after the button is 1 time pressed, until the sender is reset, but I don't get any further than that.
For the moment I'm still guessing the direction of the problem:
I tried to avoid conflicts by:

  1. Deleting all references to the display library:
  2. Also disabling I2c: M5.begin(true,false,false);
    But everything to no avail.
    I found out this M5-Atom CAN example is actually based on the same libraries and examples from:
    http://www.iotsharing.com/2017/09/how-to-use-arduino-esp32-can-interface.html
    So I guess it should work on other boards.
    Someone having any idea to search in what direction ?

m5 atom matrix have a bluetooth!

i was thinking all the esp has bluetooth and wifi why m5 atom officially don't have bluetooth!
then after some fining, wrotethe code given below and bluetooth was workring completely and got all the commands from my android device via serial bluetooth app.

I am using platformIO on Mac OS Ventura
code:

#include "BluetoothSerial.h"
#include <Wire.h>
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run make menuconfig to and enable it
#endif
BluetoothSerial SerialBT;

void setup(){
Serial.begin(115200);
SerialBT.begin("ESP32test"); //Bluetooth device name

}

void loop(){
if (Serial.available()) {
SerialBT.write(Serial.read());
}
if (SerialBT.available()) {
Serial.write(SerialBT.read());
}
}

serial monitor:

  • Executing task: platformio device monitor --port /dev/cu.usbserial-8152E6A15C

Warning! Ignore unknown configuration option monitor_flags in section [env:m5stack-atom]
--- Terminal on /dev/cu.usbserial-8152E6A15C | 115200 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H

--- Baudrate: nkjkjk
--- ERROR setting baudrate: invalid literal for int() with base 10: 'nkjkjk' ---
Disconnected (read failed: [Errno 6] Device not configured)
Reconnecting to /dev/cu.usbserial-8152E6A15C .. Connected!
hi
Bluetooth serial test
hi

LED flicker icm with WiFi

When using the LED display in combination with the WiFi radio (either client or AP mode), some LEDs flicker in random colors or the whole display turns off intermittently.

Compile error with the latest stable release 2.0.2 of arduino-esp32

The following simple sketch gets a compile error:

#include <M5Atom.h>
void setup() {
}
void loop() {
}

Error message includes:

error: call of overloaded 'begin(int, int, int)' is ambiguous Wire.begin(25, 21, 100000);
note: candidate: 'bool TwoWire::begin(int, int, uint32_t)'
bool begin(int sda=-1, int scl=-1, uint32_t frequency=0); // returns true, if successful init of i2c bus
note: candidate: 'bool TwoWire::begin(uint8_t, int, int, uint32_t)'
bool begin(uint8_t slaveAddr, int sda=-1, int scl=-1, uint32_t frequency=0);

Enviromnent:
Arduino IDE 1.8.19
arduino-esp32 2.0.2
M5Atom 0.0.7

Comments:
The ambiguity stated in the error message seems to be caused by the slave mode operation newly implemented in the Wire library in arduino-esp32.
The ambiguity can be avoided by adding ‘UL’ suffix to the third argument, the I2C clock frequency, of calling Wire.begin() as follows:
Wire.begin(25,21,10000UL);
The call of Wire.begin() appears in both M5Atom.cpp (23rd line) and MPU6886.cpp (35th line).

P.S. I’m a newbie to the OSS community, so I’m not sure whether I should report such an issue on the M5Atom repository or on the arduino-esp32 repository. Please forgive my awkward post.

Wire.begin(25, 21, 100000);

LEDDisplay doesn't display anything

The sample LEDDisplay app has a typo:

//    M5.dis.animation((uint8_t *)AtomImageData, 200, LED_DisPlay::kMoveLeft, 18);
    M5.dis.animation((uint8_t *)AtomImageData, 200, LED_Display::kMoveLeft, 18);

but even with that fix, the sketch runs on the device, but nothing appears on the display.

I see that there's PRs attempting to fix related issues, any chance someone from M5Stack can look at all those PRs and fix the sample apps?

Failed to install library: 'M5Atom:0.1.1'. No valid dependencies solution found: dependency 'ATOM-ECHO' is not available

Describe the bug

I am trying to install this library in Ardino IDE (2.2.2) but I received this error message:

Failed to install library: 'M5Atom:0.1.1'. No valid dependencies solution found: dependency 'ATOM-ECHO' is not available

Can not find anywhere this dependency.

Best regards

To reproduce

1 . I am on ubuntu 20.04 LTS
2. I start a blank project with Ardino IDE 2.2.2
3. I go in manage library and try to install M5Atom library (see screenshot)

Expected behavior

I expect the library dependency be on an existing library.

Screenshots

image

Environment

  • OS: Ubuntu 20.04
  • IDE &IDE Version: Ardino ide 2.2.2

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • My report contains all necessary details

[Library Manager] M5Atom Arduino Library did not build with IMU.getAttitude()

I had to manually patch the M5Atom Library that I downloaded this week from Arduino's Library Manager to add MPU6886.getAttitude().

It's correctly included here but MPU6886.h in the ALM doesn't have it. The header file needs a public method declaration and the cpp file needs the method definition. The header file also needs three private variables for getAttitude to do its thing:
private:
float _last_theta = 0;
float _last_phi = 0;
float _alpha = 0.5;

Atom_POE Ethernet2 vs Ethernet

Hello, I have a handful of Atom_POE devices, and my first proof of concept was to use this code:

https://github.com/m5stack/M5Atom/tree/master/examples/ATOM_BASE/ATOM_PoE

The sample sketch relies on Ethernet2. It will not compile, returns an error "cannot declare variable server to be of abstract type EthernetServer.

I've attempted to poke around and use Ethernet.h; I'm unable to see that work as well. Can someone work on this and update from legacy code (Ethernet2 is end-of-life aka technical debt).

Thank you!

LEDSet

In the LEDSet.ino Example for the Atom as I used on the Atom Lite the following codeline should give RED but actualy produces Green:

M5.dis.drawpix(0, 0xf00000);

Using M5.dis.displaybuff() does work correctly.
In the following lines it looks to me that something with the hardware had to be corrected by software:
void LED_Display::displaybuff(uint8_t *buffptr, int8_t offsetx, int8_t offsety)
...
_ledbuff[x + y * 5].raw[1] = buffptr[2 + ((setdatax + x) % xsize + ((setdatay + y) % ysize) * xsize) * 3 + 0];
_ledbuff[x + y * 5].raw[0] = buffptr[2 + ((setdatax + x) % xsize + ((setdatay + y) % ysize) * xsize) * 3 + 1];
_ledbuff[x + y * 5].raw[2] = buffptr[2 + ((setdatax + x) % xsize + ((setdatay + y) % ysize) * xsize) * 3 + 2];
...

In M5.dis.drawpix() the Color is assigned directly leading to a swap of colors.
Somebody who understands bitshifting could correct this in M5.dis.drawpix() maybe.
Thanks!

core panic when initialized lcd and adafruit neopixel

Describe the bug

I connected two RGB units with M5Atom, initiationly I'd like to use both internal LCD and RGB units together, but I found if I initialize the internal LCD(the last parameter of M5.begin(true, false, true);), it can not work with neopixel.

When I use parameterless begin, that means do not initialize LCD, it works fine.

To reproduce

M5Atom connects with a RGB unit, compile and upload it to M5Atom, click the button, leds should be lighten.

#include <M5Atom.h>
#include <Adafruit_NeoPixel.h>

int current_led_index = 0;
#define PIN       26  //定义NeoPixel的控制引脚
#define NUMPIXELS 6  //定义NeoPixel控制灯灯数量
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(
    NUMPIXELS, PIN,
    NEO_GRB + NEO_KHZ800);  // set number of LEDs, pin number, LED type.
                            // 设置灯的数量,控制引脚编号,灯灯类型

void setup() {
  M5.begin(true, false, true);
  // randomSeed(analogRead(0));
  pixels.begin();
  pixels.setBrightness(50);
}

void loop() {
  M5.update();
  if (M5.Btn.wasReleased()) {
    uint8_t random_r = random(256);
    uint8_t random_g = random(256);
    uint8_t random_b = random(256);
    Serial.print("set led ");
    Serial.print(current_led_index);
    Serial.print(" to color: 0x");
    Serial.print(random_r, HEX);
    Serial.print(random_g, HEX);
    Serial.println(random_b, HEX);
    
    pixels.clear();
    pixels.setPixelColor(current_led_index, random_r, random_g, random_b);
    pixels.show();
    delay(50);

    current_led_index = (current_led_index + 1) % NUMPIXELS;
  }
}

Expected behavior

do not panic

Screenshots

serial output

22:38:11.815 -> M5Atom initializing...OK
22:38:14.554 -> set led 0 to color: 0x332C98
22:38:14.844 -> Guru Meditation Error: Core  1 panic'ed (Interrupt wdt timeout on CPU1). 
22:38:14.844 -> 
22:38:14.844 -> Core  1 register dump:
22:38:14.844 -> PC      : 0x4008138c  PS      : 0x00050035  A0      : 0x400855ec  A1      : 0x3ffbf37c  
22:38:14.876 -> A2      : 0x00000000  A3      : 0x3ff56000  A4      : 0x01000000  A5      : 0x3ffc1f2c  
22:38:14.876 -> A6      : 0x00000000  A7      : 0x3ffbc9c0  A8      : 0x3ffc1f4c  A9      : 0x80000000  
22:38:14.876 -> A10     : 0x00000000  A11     : 0x00000000  A12     : 0x00000014  A13     : 0x00000004  
22:38:14.876 -> A14     : 0x3ffbcdc8  A15     : 0x80000001  SAR     : 0x00000000  EXCCAUSE: 0x00000006  
22:38:14.909 -> EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  
22:38:14.909 -> Core  1 was running in ISR context:
22:38:14.909 -> EPC1    : 0x400dd54b  EPC2    : 0x00000000  EPC3    : 0x400f4492  EPC4    : 0x00000000
22:38:14.909 -> 
22:38:14.909 -> 
22:38:14.909 -> Backtrace: 0x40081389:0x3ffbf37c |<-CORRUPTED
22:38:14.909 -> 
22:38:14.909 -> 
22:38:14.909 -> Core  0 register dump:
22:38:14.909 -> PC      : 0x400f4492  PS      : 0x00060535  A0      : 0x800dc19d  A1      : 0x3ffbc770  
22:38:14.941 -> A2      : 0x00000000  A3      : 0x40086514  A4      : 0x00060520  A5      : 0x3ffbbc50  
22:38:14.941 -> A6      : 0x007bf3b8  A7      : 0x003fffff  A8      : 0x800dbd9e  A9      : 0x3ffbc740  
22:38:14.941 -> A10     : 0x00000000  A11     : 0x3ffbf3b4  A12     : 0x3ffbf3b4  A13     : 0x00000000  
22:38:14.941 -> A14     : 0x00060520  A15     : 0x00000000  SAR     : 0x0000001d  EXCCAUSE: 0x00000006  
22:38:14.973 -> EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  
22:38:14.973 -> 
22:38:14.973 -> 
22:38:14.973 -> Backtrace: 0x400f448f:0x3ffbc770 0x400dc19a:0x3ffbc790 0x4008a1b5:0x3ffbc7b0
22:38:14.973 -> 
22:38:14.973 -> 
22:38:14.973 -> 
22:38:14.973 -> 
22:38:14.973 -> ELF file SHA256: 18db99f0b1322d84
22:38:14.973 -> 
22:38:15.133 -> Rebooting...
22:38:15.133 -> ets Jun  8 2016 00:22:57
22:38:15.133 -> 
22:38:15.133 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
22:38:15.133 -> configsip: 188777542, SPIWP:0xee
22:38:15.133 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
22:38:15.133 -> mode:DIO, clock div:1
22:38:15.133 -> load:0x3fff0030,len:1344
22:38:15.133 -> load:0x40078000,len:13964
22:38:15.133 -> load:0x40080400,len:3600
22:38:15.133 -> entry 0x400805f0
22:38:15.360 -> M5Atom initializing...OK

Environment

device: M5Atom
platform: arduino
IDE: Arduino 2.2.1 desktop version
OS: Manjaro (almost latest packages)

Adafruit neopixel: 1.12.0
M5atom: 0.1.2

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • My report contains all necessary details

Can't upload to M5Atom

Hi --

I am having trouble uploading to either the M5Atom or the M5StickC.

I am running:
MacBook Pro
OSX 10.10.5
Arduino IDE 1.8.13

I have tried: different baud rates, new cable, powered hub.

M5Burner doesn't work, either.

I am able to upload to a Uno, and a Tiva via Energia (Arduino IDE clone) via usb.

Help!

David

How to convert a mp3 for use with rawPCM example?

I've googled and can't find how to convert a mp3/wav to a C array - so an example or tutorial of what is needed to convert an mp3 for use with the rawPCM example for the Atom SPK would be very nice to have.

Thanks

LEDDisplay Still Fails to compile

Loading the LEDDisplay.ino this fails to compile with the following error.

D:\Documents\Arduino\libraries\M5Atom\examples\Basics\LEDDisplay\LEDDisplay.ino: In function 'void setup()':

LEDDisplay:23:53: error: 'LED_Display' has not been declared

 M5.dis.animation((uint8_t *)AtomImageData, 200, LED_Display::kMoveLeft, 18);

                                                 ^

exit status 1
'LED_Display' has not been declared

To resolve had to adjust the line:
M5.dis.animation((uint8_t *)AtomImageData, 200, LED_Display::kMoveLeft, 18);
to read
M5.dis.animation((uint8_t *)AtomImageData, 200, LED_DisPlay::kMoveLeft, 18);

This resolved the issue

Vin gpio?

Hello, I have a question about powering the atom with my own battery setup,
Can I feed 3.7v directly to the 5V pins?
Thanks

Partitions and SPIFF

Could you please update the ATOM board, in order to include more options regarding partitions with OTA and SPIFFS space.

Deep sleep current too high

I have tested 4 Atom Lite with the deep-sleep sketch from the ESP32 library. I powered the modules directly with 3.3V and measured the power consumption in the 3.3V supply line. Nothing else was connected.
2 of these modules show a deep-sleep current of 40mA, which seems much too high. The other two modules have a deep-sleep current of 4mA, which is quite acceptable.
Do you have an explanation for this?

ATOM QR-CODE Kit, wrapper in C#

Dear M5Stack team,
I am developing a smart device using your technology M5Stack and nanoFramework, one of the components I need to integrate is the ATOM QR-Code Kit. The problem is how to do it, you suggest downloading your software with your utility easyloader (https://docs.m5stack.com/en/atom/atomic_qr) but that is not a valid solution, because it overwrites the nanoFramework image. So I need your software as a NuGet component where I could call from my program write in c#. Could you help me?
Thanks a lot

LEDDisplay example doesn't work

Hello,
LEDDisplay example compiles without error, but led display stays blank.
Is there anything specific I have to do?

Windows 10
Arduino IDE version 1.8.10
I selected M5Stick-C board.

Thank you.

M5Atom/src/M5Atom.h:83:8: error: extended character “ is not valid in an identifier

Describe the bug

/home/runner/Arduino/libraries/M5Atom/src/M5Atom.h:83:8: error: extended character “ is not valid in an identifier
83 | #error “This library only supports boards with ESP32 processor.”
| ^
/home/runner/Arduino/libraries/M5Atom/src/M5Atom.h:83:64: error: extended character ” is not valid in an identifier
83 | #error “This library only supports boards with ESP32 processor.”
|

To reproduce

try compiling

Expected behavior

code need to compile

Screenshots

No response

Environment

  • OS:
  • IDE &IDE Version:
  • Repository Version:

Additional context

n/a

Issue checklist

  • I searched for previous reports in the issue tracker
  • My report contains all necessary details

ESP32_PICO Image, possible damage

Describe the bug

After installed: Extracting ESP32_PICO-1.8.0.629.zip...OK
Visual Studio does not recognize my device.
I used Putty connect to the COMx and PSRAM error produced

To reproduce

Could confirm
nanoff --target ESP32_PICO --update --serialport COM6 --fwversion 1.8.0.594
works
after that do not recognize and fails device explorer

Expected behavior

Install last firmware and recognize by VS Device Explorer

Screenshots

issue

Environment

  • OS:
  • IDE &IDE Version:
  • Repository Version:

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • My report contains all necessary details

LEDs turn on in esp deep sleep

Dear people of the M5Atom community,

I have a small issue where the LEDs turn in deep sleep mode after I displayed an image.

The figures below show my code, a picture of the image (green check) and the LEDs that turn on.

The color of the LEDs differ every time it is in deep sleep. In a different program, the LEDs that turn on differ too.

Help would be appreciated, thanks in advance!

image

image

image

image

Missing datasheet for ATOM QR-CODE Kit

It seems the programming instructions are incomplete for the reader. I tried the examples and there was not clear what was coming back. Is there a more complete document for the protocol? There is a document with QR codes, but not how to send those to the reader via the uart. Thanks!

What can i do with it?

Znaleziono wiele bibliotek w "WiFi.h"
PlayMP3FromSD:22:10: fatal error: AudioFileSourceSD.h: No such file or directory
Wykorzystane: C:\Users\sikor\OneDrive\Dokumenty\ArduinoData\packages\m5stack\hardware\esp32\2.0.3\libraries\WiFi
#include "AudioFileSourceSD.h"
Niewykorzystane: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wtt\libraries\WiFi
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
AudioFileSourceSD.h: No such file or directory

Infected Atom Pixel Tool executable

Hello,
please pay attention: several antivirus found the tool as a virus.

  • AegisLab: Trojan.BAT.Crypter.tqa8 - SecureAge APEX - Malicious
  • AVG: FileRepMalware - CrowdStrike Falcon - Win/malicious_confidence_60% (W)
  • Cybereason: Malicious.5ccdde - eGambit - Unsafe.AI_Score_96%
  • Endgame: Malicious (high Confidence) - FireEye - Generic.mg.db5c642c63dacdc3
  • McAfee: Artemis!DB5C642C63DA - McAfee-GW-Edition - BehavesLike.Win32.Backdoor.wc
  • Microsoft: - Trojan:Win32/Wacatac.D!ml - Trapmine - Malicious.moderate.ml.score

Source: https://www.virustotal.com/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.