What are your favorite cheap accessories for M5Stack projects?
-
@williamsmaith Thank you, Your question could have been interpreted in many ways but, now we know your base level of understanding we can give details.
One of my projects uses a Mio robot I got cheep from a toy store. I removed the circuit board and found the M5Stack core fits it perfectly (you can find the project on hackster).
The biggest none m5stack range you can try is technic lego, the options it offers is amazing. I use the pressure sensor to expand the ability of technic pneumatics.I have an old lego computer interface that I can control from a core.
We had one member controlling DJI drones and RC cars. -
I like this question and I think another question should be on the features of the software that are most powerful.
sensors
For the sensors, after M5 with display, we are mainly using the M5Atom and then connecting the various plugin sensors (like QR scanner, Speaker, GPS, or others) - and the GROVE cable to stand along like sensors for LUX, Motion, Buttons (especially for disabled users). But either GROVE or directly into the M5Atom using the pins to control things like buzzers, and motors. For Motors, we need the 5v power.
software features
As for software, I've built a really cool framework that incorporates the BLE, and the WIFI (with MQTT and web POST/GET) messaging. But for us, the ability to update already fielded systems requires the OTA capability. So any partition scheme without OTA isn't used.
Object Oriented Design
I still code entirely in C and now C++. I feared C++ was too heavyweight for that small M5Atom - but it turns out it works nicely - and let me wrap those various sensors in an Object Oriented (plug compatible) feature that is adaptable at runtime via BLE/MQTT messages - basically tell it to use the GPS or QR OO Class, and also pins 28 and 32, etc. This is without modifying the installed code (or use OTA to add new sensor options). (I also use Xcode as the editor)
backend web and message processing
Note for the MQTT and other to work, there needs to be cloud processing. I have the ability to send any messages to all my devices. So the web needs the MQTT host, and if you want HTTP GET messages to work, there should be a node.js based controller (I use node-red.org). - Also for OTA, there needs to be an "http" host (not https).
If anyone is interested in more of our projects, which we are open sourcing, let me know. We are using 3d printed housing as well.
Check out at least:
https://github.com/konacurrents
https://github.com/konacurrents/SemanticMarkerAPI
and more..Cheers,
scott -
@konacurrents I love how you’re using the M5Atom with different sensors and making everything so flexible. It’s smart how you’re handling everything with BLE and MQTT, and still keeping things lightweight. Being able to switch sensors or features without changing the code every time is super useful, especially out in the field.
Also, big respect for getting C++ working smoothly on such a small device! The object-oriented setup sounds like a great way to manage all the different parts, and it’s awesome that it can be controlled remotely.
Your setup with OTA, MQTT, and Node-RED sounds solid, having that kind of backend makes everything so much more reliable. And using 3D printed cases too? That’s the full package.
-
@williamsmaith ah thanks - for seeing the breadth of what’s possible. Messages are key and with ESP32 sharing BLE and WIFI it really is a game changer. Let me know if you want to try the system out.
Thanks -
@konacurrents Thanks, really appreciate that! You're right, being able to share BLE and Wi-Fi on the ESP32 opens up so many possibilities. The way you've built the system makes it super adaptable, and it's clear you've thought through the practical side of things. I'd be up for trying it out sometime, would love to see how it performs hands-on. Thanks again for being so open to sharing.
-
@williamsmaith just let me know. I have over 700 clients using the system with a remote dog feeding application. I even have a client using eye-tracking to send messages to feed his dog (as the feeder is mounted to his wheel chair). - cheers.
-
@williamsmaith said in What are your favorite cheap accessories for M5Stack projects?:
I’ve been using M5Stack modules for a few personal projects lately, and I’m starting to look for low-cost add-ons, things like sensors, displays, small batteries, or even cases. I figured it might be helpful if we all shared what’s worked well for us (and what hasn’t).
Have you come across any cheap accessories that surprised you with how well they worked? Or maybe something you found online that saved you a few bucks?
I recently stumbled on some good amazon discounts while browsing, so figured I’d check here too and see what others are using.
Would love to hear your suggestions, what’s worth grabbing, and what to skip.
For cheap-but-decent M5Stack add-ons, those AliExpress TOF sensors and 1.3" OLEDs have been shockingly solid for me—just check reviews. Skip the no-name battery packs though; voltage regulation’s a gamble. Anyone found a hidden gem lately?
-
@samlevy0515 I just got the $10 GPS Base 2 - and it works great. The M5Atom plugs into like all the others (QRCode, HDriver, etc). https://shop.m5stack.com/products/atomic-gps-base-v2-0-atgm336h
I've had the M5 with its display working for a few years. I'm onto other ways to share the information (over MQTT) and other apps (like iPhone apps, etc).
As for "cases" we are really into the 3d printer - and have some custom devices that house the M5 parts. We really like the small M5Atom. The amount of software that can be housed is impressive.
Look at some of our devices (eg. for Dog Feeding) mounted to a wheelchair, controller via BLE or MQTT.
-scott -
OTA Update as new compilation lifecycle
I wanted to follow up on the power of OTA (Over the Air) update. With the USB wire plugged into the M5, and uploading a 'bin' via compiling, many times it gets a hiccup, and stops. Many times redoing works, but it's frustrating.
But with the OTA - In arduino I can
sketch->Export to Compiled Binary.
Then I copy that 'bin' to the cloud storage via 'ssh'.Then I have various ways of telling your M5 to grab that new OTA file. It takes a minute or so depending on the size.
More guaranteed than USB upload
So this OTA process can many times be easier than uploading via the USB cable. I even use the Serial monitor to take inputs from the user, such as perform an OTA from that new daily build file.
Also, I can update devices throughout my deployed M5 units through a similar process (sending an MQTT message to them).
-
@konacurrents Agree with you! USB uploads can be frustrating when they hiccup or stop halfway. Using OTA to update by exporting the binary and then pushing it through the cloud just makes things way smoother. It’s cool that you can even trigger the update from the serial monitor or send MQTT messages to update devices remotely. That way, managing multiple M5 units becomes much easier and less stressful. OTA feels like the better, more reliable way to go. Thanks for sharing your experience.