What has your experience been with M5Stack?

I really love all the things you can do with ESP32 and sensors. However, I hate dealing with soldering, wiring, fiddling with small electric components when I feel I shouldn’t truly have to. I’m trying to make life as headache free as possible.

M5Stack Stick looks like the product for me.

  • Plug and play: the wiring, soldering, compatibility concerns, etc are premade. It’s all one ecosystem so everything will probably be compatible.

  • Multiple features: A stick comes with a display, a buzzer, buttons, multiple attachment points, etc instead of having to buy each one individually.

  • Aesthetic: a much, much, much cleaner form factor than old ESP32, then finding a case, then drilling, etc.

  • Compatibility: you can just flash them with ESPHome and use them in HA that way.

Other users, what have your experiences been like? Do you recommend the line for people like me?

I use the Atom Lites around my house as bluetooth proxies, and have bought but not yet prepared some Echos for voice. The quality is great and they are rock solid here.

2 Likes

Would you recommend it for the demographic of people capable enough to use Home Assistant, but who aren’t skilled enough to be notably good at using it?

That’s the cinch - I’m a layman’s ‘computer guy’ but by the standards of the forum I might as well be in kindergarten. I can use ESPHome, but I definitely can’t design my own code. It’s a very awkward proficiency level.

2 Likes

What do you plan on using them as? My use is not advanced, but it’s not hard to set up sensors and so on in ESPHome in general.

A few different tasks, all synchronized to a main schedule on Home Assistant.

  • Make a buzzing sound until I press the button on the device. To force me to complete tasks for myself, such as forcing me to take my medicine at a certain time.

  • PIR/Light break

  • Weight sensor to make sure I refill my gym water bottle before bed

Likely more, but those are the most important ones I’m aiming for at the moment. You can do all this with regular ESP32, but then you have to solder, wire, make cases, they’re unsightful, etc

1 Like

M5Stack is a great choice for this stuff, IMO. I absolutely love their devices, for the reasons that you list: multi-functional devices (lots of capability in a small / cheap unit), & compatibility / ease of flashing & using.

But especially, for the plug-and-play with no soldering, and having pre-packaged devices without needing to build hand-crafted enclosures.

And if you do want to do a bit more, they have a number of GPIO pins exposed on headers for simple plug-in of sensors etc. Generally though, it’s nice to stick with the plug-in Grove connector when possible.

M5Stack has several different “families” of ESP32 controller devices: Atom, Core, Stack, etc. Some of them seem suited for assembly into other things (like robotics), whereas I have stayed with the Atom series for Home Assistant / ESPHome usage. I’ve got Atom Lite (many of them), AtomU, Atom Speaker, Atom Echo, AtomS3 Lite, Atom S3, even Atom POE. But I’ve also been meaning to check out the M5Stick series.

One example of usage: I’ve deployed several ESPHome Bluetooth Proxy devices, that are very good looking and unobtrusive-- Just plug an AtomU (with USB-A connector) into a slimline USB wall adapter, and you can have a tiny BT Proxy which hugs the wall anywhere you’ve got an AC outlet.

You will also find that the Home Assistant team tends to build first for the M5Stack Atom devices when they come out with new HA features like Media Player, BT Proxy, Voice Assistant, etc. Typically just go to a web page & click a button to make your Atom device into an appliance for the new feature.

I would caution you about the Grove connectors on M5 systems, as they use the same connector in several different ways. They call it Port A, B, or C usage. Most typical use is hanging a bunch of I2C sensors onto a system, which uses “Port A” setup. “Port B” arrangement is typically used for DAC/ADC or other general GPIO analog or digital ports. And “Port C” is for UART.

But you can really use almost any type sensor or actuator on a Grove connector; you just have to pay attention to how you’re configuring the GPIO ports which the Atom unit has connected to the Grove connector.

If you’re using multiple I2C devices, you can fan-out with M5Stack 3-unit or 6-unit Grove “hubs”, since I2C allows multiple devices on same bus. I’ve even gotten creative with connecting two single-signal devices to the Atom with a “Y” Grove cable, connecting one device to the “data 1” Grove line & clipping “data 2” line (& opposite on the other device). Just configure the GPIO ports correspondingly in the ESPHome YAML code.

Besides M5Stack, I’ve also found another great source of things to hook into M5 Atom units: Grove-compatible connectors, sensors, different-length cables, etc. at Seeed Studio.

And you can find additional plug-and-play sensors and actuators at SparkFun. Although they use a different cable (known as QUIC or Stemma) --but you can buy Stemma-to-Grove adapter cables at Seeed Studio. Unfortunately, the SparkFun units typically don’t have enclosures (just little circuit boards with plug-in connectors).

And finally, for purchasing of devices, you can get M5 Atom units and sensors directly from M5Stack, But I like going with suppliers like DigiKey or Mouser; normally same price but 2-day delivery (vs shipping from China). You’ll find some differences in availability: occasionally DigiKey or Mouser or Amazon will have stock when the factory doesn’t, and vice versa. (And same for purchasing Seeed Studio parts via those suppliers.)

Let me know if any questions about the M5 ecosystem.

6 Likes

I can’t really add anything that hasn’t been said already.

Other than to give the M5Stack brand a big thumbs up :+1:

Wrapping your head around Arduino or their own FlowUI platform is the hardest part.

I’ve got an MQTT base that I build from now on Arduino, when I want to try a new sensor I reuse that base and send the data in a JSON format.

For what I do with them, the M5 stuff is just used as a sensor and display, the heavy lifting is done by whatever other platform I’m using with the MQTT broker. (NodeRed, HomeAssistant, openHAB etc etc)

Why not just use ESPHome :thinking:

To answer the OP question, yes M5Stack modules are awesome. They allow me to prototype/assemble hardware much quicker, eliminating potential errors with soldering connections etc, often the end result is much smaller/neater/more robust than with components i solder together.

I’ve picked up lots of bargains lately as some modules are EOL & discounted now although some are starting to sell out locally now. Their official AliExpress store has good prices & lots of stock too.

Yeah, there is that too.

I’ve just not tried it… Yet

Thank you @tim.plas , very helpful post.

I am just starting to try a project with AtomS3 lite and the 4 channel relay on groove connector. Cannot figure how to use relays with ESPhome.

Anyone use Atom with relay board?

@rlust Any luck getting your 4 channel to work? If so was it a single 4 channel relay or did you do multiple through a hub?

@crazybananas

As the Grove port is a 2 data pin (plus power) connection, I’ll assume your 4 channel relays units are I2C or something more advanced than simple GPIO (like the 1 or 2 channel relay units)

What have you tried so far?


I assume you gentlemen are referring to this I2C four channel relay unit.

The red connector tells me it’s I2C at a glance.


@MDAR Yes that is the relay. I created my own topic prior to finding this one with more specific details, that posting is: M5 atomS3 i2c hub and peripherals - ESPHome - Home Assistant Community (home-assistant.io)

1 Like