ESP32-C6, a Wi-Fi 6 and Bluetooth 5 (LE) SoC
espressif.com
espressif.com
I think Thread is a much better fit for IP connectivity for IoT devices. Nordic Semiconductor nRF SoCs can do Bluetooth LE and Thread on the same radio at the same time, so should be very cost effective.
I'd gladly replace all my Zigbee devices with Thread ones if they were available. It'd be really nice with something that's easier to troubleshoot with standard IP tools, and to not have to have a separate hub for that network.
Nordic Semiconductor recently bought Imagination Technologies WiFi assets, so there should be some nice SoCs from them in the near future too.
Nope - HomePod mini has thread enabled. That’s the only thread device I’ve seen from apple so far, but I expect that all future ‘home hub’ capable device would support it as well.
Where the mesh is IP-based it was straightforward to have nodes anywhere in the mesh send data out to my influxdb.
Unfortunately the very fact that Google's label is on it assures zero adoption.
:-)
And regarding threads, we would use cooperative concurrency, and also take ownership of the timer interrupt.
Anything is easy when there is an abstraction implemented as library.
Games and demoscene tricks.
Nothing a few fuses can't solve.
> Makes sense for massive quantities of crappy cheap flash, not so much for this.
Coming from the x86 world, they use plenty of fuses for everything. I can't imagine a reason why they would not absorb production variation with this for esp32 dies.
It's certainly alot more direct to implement than booting up Armbian on a PI, and then starting Node, and then....
May I ask why you're doing that on a ESP? Very cool...just surprised at the choice.
https://www.banggood.com/LILYGO-TTGO-T-Watch-2020-ESP32-Main...
(I get no money if you click that btw -- it's just for reference)
The watch has some "trading features" even. If I see an interesting trade I can let it take the trade and finish it to "take profit", while I go and do something else. It has a touch UI and a 240x240 16bit colour screen -- so lots of possibilities there.
Found the official documention about it:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/...
> ESP32 has the ability to also use up to 4 MB of external SPI RAM memory.
> The external memory is incorporated in the memory map and, with certain restrictions, is usable in the same way as internal data RAM.
> While ESP32 is capable of supporting several types of RAM chips, ESP-IDF currently only supports Espressif branded PSRAM chips (ESP-PSRAM32, ESP-PSRAM64, etc).
512k is already monstrously high for a microcontroller.
I'm not sure how it works now, but especially for newer stuff I wouldn't rely on the fact that the hardware claims to support something -- if the software isn't there, it just doesn't really mean much.
But you are probably correct about the latest chips.
Many chip vendors have BT mesh implementations, including Nordic, TI, SiLabs, Cypress, Dialog, and ST.
I can't remember the exact details but I remember being disappointed when it was announced and I looked into it.
It does seem like there’s a lot of momentum in the BT-SIG to grow the standard over a long period of time, and there also are a lot of active contributors, so I do expect it to mature in the future.
Old ESP32 has a dedicated protocol CPU: https://www.exploreembedded.com/wiki/Overview_of_ESP32_featu...
Although I do wonder whether wifi would be a better technology to use sometimes. The only thing I remember seeing is that wifi technology uses much more power.
From TFA it looks like WiFi 6 uses less power, is this true?
Anyone experienced have any suggestions whether BLE or WiFi would be better for streaming serial data from a device onto many platforms? (I currently have a BLE demo working, but working with Bluetooth stacks on mobile and desktop are a royal pain, network requests are very straightforward at this point)
If power is your concern, have you considered nRF5 devices? Nordic has a proprietary profile for sending serial data over BLE (NUART) but AFAIK, you could only connect to one device at a time (not many).
I'll look into the nRF5. I've been using some of Nordic's code to test and build my prototypes already, although I feel like adding a proprietary profile on top will just make it harder to interface. Once I make the connection currently, all I need to do is enable notify on the specific characteristic which isn't too complicated (just a lot of code to actually get the characteristic)
https://github.com/NordicPlayground/nrf52-ble-multi-link-mul...
From the docs:
“ESP-NOW is a kind of connectionless Wi-Fi communication protocol that is defined by Espressif. In ESP-NOW, application data is encapsulated in a vendor-specific action frame and then transmitted from one Wi-Fi device to another without connection.”
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/...
Edit: this video discusses power consumption of esp now: https://youtu.be/6NsBN42B80Q
[edit]: This is assuming you are connecting directly to the device of course. Connecting the ESP32 to your existing wifi is well supported and much more reliable.
If you could return valid internal DNS entries for these domains, and serve up a 204 to the right requests, you should be able to stay online.
You need to ensure you don't do it for every possible domain - I believe Chrome also tests random non-existent domains too, to ensure it gets back the expected error.
What is not working fine though, is that I cannot access the internet through the mobile network at the same time. But this seems to really depend on the phone: it works on iPhones and on my previous Android phone, but not on a Pixel 5. I would like to download updates for the esp32 firmware through the mobile network, but this prevents it.
Are there other SoC solutions with multiple companies and manufacturers with similar functionality?
ESP32 was also super easy to get to work, and I prefer it to the microchip series, see it as a budget version of the ST chips (uses a lot more power but that's fine if it's not on a power limit), and much easier to source than the chips that are meaningfully better.
So yeah, plenty of vendors of equivalent functionality, just different ecosystems for the firmware, of course RISC-V isn't the same as ARM (which the older ESP32 used) so that introduces some quirks into the toolchain, and of course the vendors chips aren't pin-compatible.
You're definitely making a new board if you swap the microcontroller because it's out of stock, that's nearly impossible to avoid -- your best hope is to pick a vendor with a good track record or just buy all your inventory up front, and if you're super lucky the vendor will sell different versions with the same footprint and basic design with different amounts of RAM and such with different availability so that you can swap chips based on supply chain stuff for short term issues.
But a lot of these chips are still made by TSMC I'm sure, so I'm not sure it really addresses the root of how few companies are at the root of the supply chain.
Compilers are pretty great! I hope it continues to not matter with RISC-V cores =)
There’s no way around it, there’s usually no pin-compatible alternatives in embedded like there are for Core i7 and Core i3. That only works in consumer PC.
This site has gotten extremely aggressive about downvoting for "disagreement" which seems to include minor errors (like with mine, despite paragraphs of correct information in direct response to a clear question) or often even questions. I don't really see how downvoting posts with minor errors encourages learning and hacking, but it definitely makes me reconsider answering questions.
Then if expressif can't deliver, it won't be too much work to switch platforms, especially if you're switching to a more capable platform.
Sure, you'll probably have to respin the PCB and spend a week of late nights porting software, but that's probably still comes out cheaper considering the low probability of expressif chips being unavailable.
I'm wondering if there's any point at all in Espressif going to production with these chips- going from wifi4 to wifi6 seems to be the main change, and it should make a huge difference for how well behaved a network citizen the chip is.
like you I was elated to see some iot wifi hardware with modern connectivity standards. fantastic to see iot not have to lag by multiple years. very important upgrades, having ofdma, allowing multiple devices to share the ap.
The ESP32 ecosystem, though, is much larger.
All the new features seem to be things one could implement in firmware... The things not easily implentable in firmware (new frequency bands) aren't supported.
Would be fun to experiment on the RISC-V stack.