Hacker News new | past | comments | ask | show | jobs | submit login
Espressif Acquires Majority Stake in M5Stack (espressif.com)
149 points by chl 11 days ago | hide | past | favorite | 39 comments





I really like the concept of the M5Stack product line and was ready to suggest it to some friends that were looking into getting into embedded programming / gadget building, but a recent experience has given me some pause...

I was debugging an issue with a gps chip on a custom PCB and decided to get a reference hardware implementation to do some sanity checking. After doing some searching I found the M5Stack U032 GPS module which claimed to use the same chip and amplifier that was on the PCB...

So I ordered it and it showed up and printed on the case is the model # of the GPS chip which matched the documentation. Doing due diligence I open the case and notice that the footprint of the GPS chip on the board doesn't match the datasheet for that IC and there is no identification marking stamped on the chip housing, but there is a spot of glue residue where it looks a sticker was removed...

After some sleuthing I finally identified the gps chip on the board, which was not the chip listed in the documentation or printed on the case of the module!

I can understand having documentation that gets out of sync, but the fact that it looks like an identification sticker was intentionally removed from the chip housing leaves a very bad taste in my mouth.


Perhaps Espressif will improve this situation. Seems like their product line is generally decently documented at the diagram-block level at least. Obviously with embedded platforms, "proper" documentation can stretch into the range of 1000+ pages (e.g. what you'd expect to see from ARM), and Espressif doesn't deliver documentation to that level of detail with their ESP32 / ESP8266 offerings.

But despite the lack of super granular detail, I haven't ever noticed their high-level documentation being straight-up misleading like that.


The big problem with many embedded hobby electronics, is the proliferation and supply of counterfeits, sometimes even making their way through official supply lines.

Now this is really interesting! I've been a fan of M5stack for a few years and promote them here often. Up to now, the products have been mostly great but sometimes the documentation has been a bit lacking. Expressif does a fantastic job on documentation and if they can lift M5stack's game here it would be a big step forward.

> Expressif does a fantastic job on documentation

As far as I know this took them a while to learn. In the beginning they were your typical weird chinese chip maker, but people volunteered effort into documenting their products because they were just that good. Now they've learned to do it themselves and can probably help M5 with it too.


Last time I worked with them there was an enormous gulf between the 1000+ pages of documentation you'd get from ARM. The ESP32 / ESP8266 documentation was pretty sparse and generally just high-level. I'd love to hear that's changed and that they now offer documentation closer to what you'd expect from "true" professional embedded offerings.

Edit: I took a look at the current ESP32 technical manual[0] as well as an example of Xtensa ISA documentation[1] - it definitely looks way more detailed than what I remember. I'd have a lot more confidence debugging weird behavior today -- it looks like I have enough to determine if there's a bug in my written/compiled code vs. a bug/discrepancy between the silicon vs. documentation.

0: (730 pages) https://www.espressif.com/sites/default/files/documentation/...

1: (702 pages) https://www.cadence.com/content/dam/cadence-www/global/en_US...


M5's APIs tend to be quite buggy. I've come across a few such as flicker caused by running the wifi on the main CPU core that's controlling the display, or RGB component order being reversed despite the ESP32 spec for their own hardware, or refusing to combine APIs for similar products (e.g. Core 1/2) resulting in multiple similar APIs and multiple imports/build configs/macros to support many of their devices at once from a single code base. Hopefully Espressif will start lending their expertise as their documentation and software has been first class.

I too have been a fan of M5Stack's clever product designs. The Core2 module and their extensive line of snap-on peripherals for it are an ideal hobbyist or student starter platform. And you're correct that the documentation and software support have been the weak part.

Edit to add: I just visited their site and saw they released a new version of the Core series a few months ago : the CoreS3 (which upgrades and replaces the Core2). Obviously, more, faster and better but I was curious about the specific differences. After some searching I found this article covering the changes and upgrades in detail: https://shop.m5stack.com/blogs/news/m5stack-cores3-the-third...

If I was teaching a middle school or high school hands-on intro to computers, electronics and making lab, these would be where I'd start. With screen, wifi, BT, touch, RGB LEDs, buttons, camera, mics, IR and a diverse set of sensors all built in, kids could make just about anything. And that's before even getting into the hundred-plus stackable or pluggable add-ons ranging from motor controllers and physical interfaces to LoRA, PoE and encoders.


By fantastic you surely mean that it exists at all, right? My experience with esp32s3 related documentation, particularly those related to security, have made up my mind to pursue an alternative chip ecosystem in the future.

M5Stack has a lot of cool little "almost ready to go" modules, both core (esp32 based typically) and accessory (ex sensors). They're relatively inexpensive and great for hobby/prototyping.

One of the things that might be a bit different is that M5Stack has had decent Python support and Espressif has typically only done the core C-based stuff.

But I'm optimistic. Hopefully this just means more access to newer chips sooner for M5Stack.



ESP32 has effectively become the go-to family of RISC-V microcontrollers (excluding some earlier Tensilica-based chips).

They are a pleasure to work with, be it the programming methods, documentation or esp-idf SDK.


I do wish their RISC-V range would catch up to the capabilities of their older Tensilica chips though, some things like USB-OTG and TFT-LCD controllers are still missing from all of their RISC-V offerings, when they had them on the old architecture.

These seem to be specific to their older S series, where they haven't released RISC-V chips yet. Or any chips in quite some time.

My only qualm with ESP32 is the toolchain doesn't really work with openbsd - probably not with any Unix that isn't Linux. Other than that, it's a pleasure to work with them.

I am using IDF with ESP32-C3 on FreeBSD with this unofficial port https://github.com/trombik/xtensa-esp32-elf Zig works without external toolchain (only OpenOCD from link above). I agree, they are pleasure to work with (documentation, code examples, JTAG+USB already on chip die) especially in comparison with Bouffalo offerings

vmm(4) to the rescue.

But yes, it is a shortcoming.


I bought a couple of M5Stack Cardputers to build my daughter a pair of wireless texting machines (over LORA). I have to say, for about $50 a pop, they are amazing little computers.

https://www.youtube.com/shorts/bx4Mef6K23o


I've tried some M5Stack devices and I really like them as it's handy to have some defaults like a small screen on your esp32 all ready to go in a nice package.

Hopefully they fix their website though, documentation links to nowhere left and right last time I was on there. Granted I found what I needed mostly on Github.


Love M5Stack. Perfect for people such as myself who want to do the software, but don’t want either little boards chucked in project boxes, or to start 3d printing custom enclosures. Perfect way to make a neat, enclosed solution with little to no HW effort.

Have half a dozen M5Stack based devices using ESPHome. There's a big community supporting that. When I tried developing using an IDE found them more troublesome.

ESPHome is really a game changer when it comes to developing IoT devices. Unless I'm working with some esoteric hardware like GPS or LoRA, I'll load ESPHome on the device for when I'm prototyping.

>IDE

Tried Platform.IO?

https://platformio.org/platformio-ide

As much as I despise IDE's for embedded systems development, I've become quite a fan of the PlatformIO IDE solution .. its quite comfortable, and being able to switch to PlatformIO-CLI tooling has made for a "best of both worlds" scenario.


I'm not sure if this is good or bad. I use an M5Stack tough for one of my products. It works ok, but I really wish M5 had some more OEM friendly options.

My experience dealing with Espressif is that they are pleasure to work with professionally. I come from a world where Atmel made a lot of sense for the lower volume I deal with. Atmel support was ok before they got bought by Microchip, now it can be impossible to find answers to problems, and support response is meh at best. When I started to move products over to esp32 a few years ago, it felt like a breath of fresh air. Things seemed to just work, and I could find answers easily in the documentation. They also responded pretty well when I found a problem that was a limitation of the chip that was only documented in a code comment in their low level drivers. Their response, including several emails, that the info would be included in the next revision of datasheet left me feel pretty good about the whole thing. I would not expect that kind of interaction from any of the chip makers I've worked with so far, especially adjusted for the cost of the chip.

So, hopefully this is a good thing for M5Stack. I don't know what kind of pressures this will have on the company internally, but hopefully their outward facing presence will only get better.


I don't think M5 is looking for OEM partners, it's pretty clearly a B2C solution. Espressif has most everything you need if you're looking to OEM something.

This was going through my head. From a cost of acquisition standpoint Espressif had already captured (effectively) 100% of M5 stacks users, so this must be a play to remove some inefficiencies and the supply chain they already have in place.

Espressif's more recent dev kits (the SBOX series) are very popular with hobbyists and overlap with M5 stack's products. I wouldn't be surprised if they just eliminated their dev kits and pointed people towards M5 stack's line up.

Imho the biggest crutch with M5Stack stuff is that for almost every single product there's close to 0 support for ESP-IDF, so you're either stuck with the Arduino framework and their libraries, or you have to se tup everything from the ground up. This does not really matter with simpler products like the M5Atom but it becomes a real pain when you have to deal with e.g. their cores. Also their absolute lack of JTAG support is infuriating, because it forces you to deal only with log-based debugging, which in current year is ridiculous even for embedded systems

I bought one of the M5Stack's devices expecting it would work out of the box with my ESP-IDF code, I was quite disappointed to realize that I had to adapt their code myself. I'm hopeful that this merger encourages M5Stack to build their software into the ESP-IDF framework.

The only m5stack device i've used is the "cardputer", which supports (a slightly old version of) ESP-IDF out of the box. Honestly, I think ESP-IDF is a solution to a non-problem and wish espressif just shipped a toolchain and maybe a linker script like every other embedded systems developer, but I'm currently working to tease that out so i can get to a sane development environment. I think environments like Arduino and ESP-IDF tend to encourage half-assed code, to be honest.

FWIW, I'm using the atom minis with esphome compiled with the esp-idf framework without issue.

This is Espressif competing with its own partners, right?

i find it interesting that this press release uses the term "AIoT" (AI Internet of Things) four times without even bothering to define it

No idea what the term means and I used to gravitate around the IoT world. That usually means you're not the target audience for the press release content. For us the title already gives all the information we need.

oh, i'm more cynical, i think it means they've decided to stuff AI nonsense into what was great embedded hardware

Nah, they're probably trying to attach themselves to all the AI hype with e.g. devices capable of doing local inference (like cameras).

Chinese government demands "AI" to get state blessing and investment, this is probably the least cringy way they could have appeased the government.

Ah, M5 and ESP32, I bought so many things from both companies and didn't find the time to use them :-) #GAS



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: