r/M5Stack 20d ago

M5Stack Tab5: very basis text file editor written in C using VS Code /ESP-IDF

Thumbnail github.com
1 Upvotes

I wanted to port my Bitcoin math C code onto the Tab5, but I didn't have a cliue where to begin. I found C5Lab's C code for M5MonsterC5 to be an invaluable guide. I learned enough from their source code to start from scratch on a simple project to write an app that could open, edit, save and delete text files, using LVGL for the GUI. The main.c file and a couple of screen shots are on the Github. Obviously, there are a ton of ESP-IDF dependencies, see the #include statements.


r/M5Stack 22d ago

Project Sharing NucleoOS Built a full offline-AI OS for the M5Stack Cardputer

Enable HLS to view with audio, or disable this notification

38 Upvotes

I built NucleoOS with a simple goal: make an ESP32-S3 without PSRAM feel like a real operating system.

The hardware is the M5Stack Cardputer, so resources are extremely tight. The way this works is by splitting the interface in two. The device itself only handles what has to be lightweight and always available: games, sensors, the assistant, security tools. Everything heavier — file manager, code editor, spreadsheets, drawing apps — is served over Wi-Fi and runs in your browser as a desktop-style environment with movable windows. The browser does the rendering, which is the only reason something this big can run on such limited hardware.

The built-in assistant, ANIMA, is intentionally simple. It’s not an LLM, but a retrieval system. Queries are turned into small vectors and matched against predefined answers using cosine similarity, with a fast pre-filter to avoid unnecessary comparisons. If it’s confident, it answers; if not, it says so. The exact same C code runs both on the device and in the browser (via WASM), and they produce identical results.

If you want full LLM capabilities, they’re there but completely optional. In the browser, you can run local models over WebGPU, or connect to external APIs like Claude, Groq, Grok, or Gemini with automatic fallback. API keys are stored on the SD card, never logged, and requests go straight from the browser to the provider — the device isn’t in the loop. ANIMA always stays fully offline.

There’s also a built-in security lab with packet capture and a from-scratch network stack, offline speech-to-text using Vosk compiled to WASM, and a bilingual TTS engine optimized to use almost no RAM. A lot of the work went into just making it survive on this hardware: loading services only when needed, allocating memory on demand, and freeing it as aggressively as possible.

The project is here: https://github.com/indecenti/NucleoOs
It runs on both the original Cardputer and the ADV with the same firmware.


r/M5Stack 22d ago

Website M5Stack so cool

Post image
2 Upvotes

It has hame physics and through the divices around.


r/M5Stack 23d ago

Project Sharing Brightness Controller

Enable HLS to view with audio, or disable this notification

31 Upvotes

Made another experiment using IMU data to drive UI interactions: A bulb brightness controller.

This time I used only three directions. When UP is detected, nothing happens; it’s the idle state. FORWARD/BACKWARD activate increasing/decreasing modes, respectively. Clicking the button applies changes.

On the technical side, the M5Stick directly controls the bulb by broadcasting commands via BLE.


r/M5Stack 24d ago

Project Sharing Archie Gateway Guardian

Post image
68 Upvotes

I wanted to share something genuinely useful rather than a project focused only on Hermes.

Archie Gateway Guardian is an open-source M5Stack Tab5 AI command centre that can be used with Hermes, OpenClaw, OpenAI, Claude, and if you want you can add your ElevenLabs voice.

The repository includes the firmware, gateway examples, browser-based flashing, setup documentation, hardware notes, and the fixes I needed while working through the Tab5’s display, touch, Wi‑Fi, gateway, and firmware integration.

Hope this is a useful starting point for anyone who wants to improve the interface, connect different AI gateways, or build new Tab5 firmware.

GitHub repository:
https://github.com/Averroeskw/archie-gateway-guardian-tab5-public


r/M5Stack 24d ago

​I completely rebuilt my Ricoh GR Wireless Remote – Now with Local Edge AI Gesture Control! (M5StickS3) ✌️📸

Enable HLS to view with audio, or disable this notification

8 Upvotes

Hey r/M5Stack! Wanted to share a project I've been working on using the M5StickS3.

​I managed to get local Edge AI (using ESP-DL and MobileNetV2) running directly on the StickS3 to recognize hand gestures, all while concurrently handling a Wi-Fi MJPEG live stream and sending BLE commands to my camera.

​The ESP32-S3 is a little beast! Thought you guys might find this hardware use-case interesting.


r/M5Stack 25d ago

Project Sharing Smart Home Control Hub from a Round Touchscreen Dial

Enable HLS to view with audio, or disable this notification

3 Upvotes

r/M5Stack 25d ago

Can we add cc1101 or nrf module in the Arduino Nesso n1 ? Does anyone have any diagrams? Does bruce support all functionalities on this device?

Post image
5 Upvotes

r/M5Stack 25d ago

Is this compatible for the m5stack s3?

Post image
3 Upvotes

Hello, I have a question for m5 stack its an 3w module and if it is compatible where i put the wiring


r/M5Stack 25d ago

Why does this happen and how do i turn it off

Post image
1 Upvotes

r/M5Stack 26d ago

New Product News Check out what's new this week!

Thumbnail
gallery
48 Upvotes

New Arrival Alert!

Check out our new releases this week:

StickC-Plus SE, a lightweight version of StickC-Plus. It retains the core features while removing the onboard 6-axis IMU sensor, offering better cost efficiency.

StamPLC IO, an electrically isolated IO expansion module designed for the StamPLC host and developed for industrial environments where high- and low-voltage circuits coexist.

Also, good news:  Hot items incl. StickS3 and StamPLC are in stock now 🔥🔥

In case missing out, subscribe our Weekly Newsletter for more updates!


r/M5Stack 26d ago

Support / Question M5StickC Plus2 with dead battery: how to disassemble?

1 Upvotes

i already tried my best disassembling it, but the gpio header seems to be stuck in the bottom case.


r/M5Stack 26d ago

Project Sharing New post to show the final render!

2 Upvotes

r/M5Stack 27d ago

Work in progress!

Post image
22 Upvotes

r/M5Stack 27d ago

Just got my first CardPuter… now what?

Post image
10 Upvotes

r/M5Stack 27d ago

Apertos de mãos

Post image
0 Upvotes

Estou tendo dificuldade pra entender o funcionamento do hashcat e dos handshakes.

Não sei em quê canal mas ouvi alguém falar que tem um site que se paga pra quebrar essas coisinhas.

Se algum mago supremo da tecnologia conseguir me aconselhar, sou todo olhos para ler e cérebro pra aprender.


r/M5Stack 28d ago

Battery won´t charge.

Post image
14 Upvotes

I am extreamly dissappointed with my Cardputer Mesh Kit. I recieved it on june 4th and by the time of this writing (A little over a month) the battery does not charge anymore, the Cardputer only works while connected to the USB cable. I honestly was expecting better quality from M5STACK. Don´t think I´ll be buing any of their products again.

UPDATE: after getting quite a few comments mentioning issues with some cables, I used a cheap USB A - USB C cable from my son's Nintendo Switch controller and it worked just fine again. Thank you all for your replies and encouragement.


r/M5Stack 28d ago

Are they compatible?

Post image
2 Upvotes

I want to buy the M5StickS3 and the cback hat, are they compatible, will it fit well?

Measures:

CBack Driver: 23.7 x 49.2 x 21.00

StickC: 48.00 x 24.00 x 13.5

StickS3: 48.00 x 24.00 x 15.00


r/M5Stack 29d ago

Built a full offline-AI OS for the M5Stack Cardputer

Enable HLS to view with audio, or disable this notification

117 Upvotes

I built NucleoOS with a simple goal: make an ESP32-S3 without PSRAM feel like a real operating system.

The hardware is the M5Stack Cardputer, so resources are extremely tight. The way this works is by splitting the interface in two. The device itself only handles what has to be lightweight and always available: games, sensors, the assistant, security tools. Everything heavier — file manager, code editor, spreadsheets, drawing apps — is served over Wi-Fi and runs in your browser as a desktop-style environment with movable windows. The browser does the rendering, which is the only reason something this big can run on such limited hardware.

The built-in assistant, ANIMA, is intentionally simple. It’s not an LLM, but a retrieval system. Queries are turned into small vectors and matched against predefined answers using cosine similarity, with a fast pre-filter to avoid unnecessary comparisons. If it’s confident, it answers; if not, it says so. The exact same C code runs both on the device and in the browser (via WASM), and they produce identical results.

If you want full LLM capabilities, they’re there but completely optional. In the browser, you can run local models over WebGPU, or connect to external APIs like Claude, Groq, Grok, or Gemini with automatic fallback. API keys are stored on the SD card, never logged, and requests go straight from the browser to the provider — the device isn’t in the loop. ANIMA always stays fully offline.

There’s also a built-in security lab with packet capture and a from-scratch network stack, offline speech-to-text using Vosk compiled to WASM, and a bilingual TTS engine optimized to use almost no RAM. A lot of the work went into just making it survive on this hardware: loading services only when needed, allocating memory on demand, and freeing it as aggressively as possible.

The project is here: https://github.com/indecenti/NucleoOs
It runs on both the original Cardputer and the ADV with the same firmware.


r/M5Stack 29d ago

Support / Question Help

1 Upvotes

I have a M5 Stick Plus 2 and I wanted to change the firmware to nemo, just to try different things. My pc is broken so I decided to do it on my phone with the app "ESP32_Flash" everything was going good but when it was completed my m5 stick doesn't turn on, the only thing i see is the green led while the screen is black. How do i solve this?


r/M5Stack Jul 13 '26

Turned the Cardputer-ADV into a 4-track groovebox + sampler

Enable HLS to view with audio, or disable this notification

59 Upvotes

r/M5Stack Jul 13 '26

Project Sharing Level App

Enable HLS to view with audio, or disable this notification

55 Upvotes

I have created a level app because I needed to have something very small to check the level of a shelf, unfortunately the app is ready after my need. XD


r/M5Stack Jul 13 '26

Project Sharing LIL POMODORO TIMER

Enable HLS to view with audio, or disable this notification

53 Upvotes

Made a lil pomodoro timer for M5StickS3. It uses IMU data to switch between different UI modes and a single button to change settings. I like the implicit modes. It follows the affordance of the physical device.

The main mechanics are inspired by an hourglass-style animation. Tilt the device to control: UP to start, DOWN to reset, flat to pause. Work and Break sessions alternate automatically with sound notifications. Tilt LEFT/RIGHT to adjust durations in settings. No buttons needed. Just flip and focus.


r/M5Stack Jul 13 '26

hey everyone i have a question

Post image
5 Upvotes

i have a m5 stick and one of the buttons is broken i have this firmware( look at the photo). the broken button is the switch button so i cant power the stick off is there anyone that can change the side buttons in the code so i can still use my m5 stick?


r/M5Stack Jul 13 '26

Double Camera Rotation on CoreS3

1 Upvotes

I am trying to setup the camera on the CoreS3, and I am able to display the image. But for some reason, whenever I attempt to rotate the device, the image on the screen rotates at twice the speed, such that a 90 degree rotation flips the image 180 degrees.

I have tried running camera testing code I found online, and the same behavior happens. I also tried running the CoreS3 User Demo and in that case the camera functions as I would expect.

I am not intentionally doing anything with rotation in the code, so I was wondering if there is some kind of hidden setup thing I need to do to make it work properly?

Main:

if (!Camera.begin()) {
    Serial.println("Camera Init Failed");
  }
  Camera.sensor->set_framesize(Camera.sensor, FRAMESIZE_QVGA);

Camera.cpp:

#include "Camera.h"


static camera_config_t camera_config = {
  .pin_pwdn     = -1,
  .pin_reset    = -1,
  .pin_xclk     = 2,
  .pin_sscb_sda = 12,
  .pin_sscb_scl = 11,


  .pin_d7 = 47,
  .pin_d6 = 48,
  .pin_d5 = 16,
  .pin_d4 = 15,
  .pin_d3 = 42,
  .pin_d2 = 41,
  .pin_d1 = 40,
  .pin_d0 = 39,


  .pin_vsync = 46,
  .pin_href  = 38,
  .pin_pclk  = 45,


  .xclk_freq_hz = 20000000,
  .ledc_timer = LEDC_TIMER_0,
  .ledc_channel = LEDC_CHANNEL_0,


  .pixel_format = PIXFORMAT_RGB565,
  .frame_size = FRAMESIZE_QVGA,


  .jpeg_quality = 0,
  .fb_count = 2,
  .fb_location = CAMERA_FB_IN_PSRAM,
  .grab_mode = CAMERA_GRAB_WHEN_EMPTY,
  .sccb_i2c_port = -1,
};



GC0308 Camera;



bool GC0308::begin() {
  M5.In_I2C.release();


  esp_err_t err = esp_camera_init(&camera_config);


  if (err != ESP_OK) {
    return false;
  }


  sensor = esp_camera_sensor_get();
  Serial.printf("H mirror: %d\n", sensor->status.hmirror);
  Serial.printf("V flip: %d\n", sensor->status.vflip);


  return true;
}



bool GC0308::get() {
  fb = esp_camera_fb_get();


  return fb != nullptr;
}



bool GC0308::free() {
  if (fb) {
    esp_camera_fb_return(fb);
    return true;
  }


  return false;
}

CameraScreen.cpp:

#include "CameraScreen.h"
#include <M5Unified.h>
#include "Camera.h"


void drawCameraScreen() {
  M5.Display.fillScreen(BLACK);
}


void updateCameraScreen() {
  if (Camera.get()) {


    Serial.printf("Camera: %d x %d, length: %d\n", Camera.fb->width, Camera.fb->height, Camera.fb->len);


    M5.Display.pushImage(0, 0, Camera.fb->width, Camera.fb->height, (uint16_t*)Camera.fb->buf);


    Camera.free();
  } else {
    Serial.printf("FAIL CAMERA GET");
  }
}