Jørgen Kragh Jakobsen says:16 minutes ago
Hi sprite
Sprite_tm says:14 minutes ago
So, I'm kinda new to these kind of chats... what's the idea, I just start answering the things in the spreadsheets? Or are you going to pelt me with questions live? I'm open to both options.
13 minutes ago
@Sprite_tm first intro yourself
jaren havell says:13 minutes ago
did you have to move to (china?) work for espressif or are you just there temporarily?
13 minutes ago
(aaaand people will just pelt you with questions ...:)
jaren havell says:12 minutes ago
eerps
Comedicles says:12 minutes ago
Is this question spreadsheet something we can see?
Sprite_tm says:12 minutes ago
Ah, thought the HaD people already did an excellent job in the HaD article announcing this :) but sure. I'm Sprite_tm, I started dabbling with electronics a fair few years ago, and at a certain point I decided to put the projects I finished up on Spritesmods.com.
jaren havell says:11 minutes ago
@Comedicles https://docs.google.com/spreadsheets/d/1pEbC2XjqSnPjdHMozo4-CP23rJcoWSDgEgfCA6AI92E/edit#gid=0
Sprite_tm says:10 minutes ago
Slightly less than two years ago, there was this mysterious 'WiFi to serial board' showing up on Aliexpress. I bought a few, and searched for the chip on it... it was an ESP8266 and it seemed programmable.
Sprite_tm says:9 minutes ago
Long story short: the Internet kicked in, the maker of the li'l chip was open to random hackers messing with the SDK and before long, people were developing programs for it. So was I. I developed a webserver and some other things. At a certain point, I got an invitation from the CEO: he lked my work and asked me if I would like to consult for Espressif, or maybe even come to Shanghai and work fulltime?
Scott says:8 minutes ago
Hi Everyone!
Sprite_tm says:7 minutes ago
Well, I chose the last option and haven't regretted it since. I have two titles at Espressif: I'm a Software Engineering Manager, and at a certain point I found a Technical Marketing Manager title sticking to the bottom of my shoe. In general, I'm more of a does-whatever-seems-interesting-or-useful guy, but we don't have a title for that :)
Nacht Ritter says:6 minutes ago
Prior to ESP8266, what did you dabble in?
Sprite_tm says:6 minutes ago
In that capacity, I worked on some ESP8266 projects, like the MP3 decoder, and when we started making the ESP32, I worked on some parts of the ROM, making FreeRTOS SMP-capable and general low-level esp-idf stuff.
mumi says:6 minutes ago
Hi Sprite_tm, thanks for being here today. Question: In terms of creating a shippable IOT product using the ESP-32, which are your preferred software stacks/dev setups? Does FreeRTOS rank well in this regard?
Sprite_tm says:5 minutes ago
I got my technical marketing title for allowing me to do random stuff as well: for example the NES emulator that runs on the ESP32 was developed with that hat on. If any, that's the type of 'marketing' I don't mind doing :)
Adam Fabio says:4 minutes ago
very cool!
Sprite_tm says:4 minutes ago
Nacht Ritter: See my site spritesmods.com. There's a whole slew of projects on there. For work, I used to be a software engineer at a broadcasting company, nothing too interesting I fear.
baoshi says:4 minutes ago
That's the way marketing should work I guess ;)
Youlian Troyanov says:4 minutes ago
when is the psram version coming?
Jørgen Kragh Jakobsen says:3 minutes ago
YEs @baoshi show dont tell
Sprite_tm says:2 minutes ago
mumi: Interesting question. I presume you mean FreeRTOS as opposite to Lua, MicroPython, Javascript, ...?
Sprite_tm says:2 minutes ago
We don't have a non-FreeRTOS C sdk for the ESP32, that's why I ask :)
limor says:2 minutes ago
@Sprite_tm Hi! Will Bluetooth classic be supported? It's mentioned in the datasheet, but not not clear if there is a timeline for support? And if so, would it support Bluetooth Audio and/or SPP? Thanks and keep up the great work!
Sprite_tm says:a minute ago
Youlian: We're waiting for the chips ourselves: they should be arriving from the fab very soon. I don't know an exact date, but they should arrive this month at the very least.
Youlian Troyanov says:a few seconds ago
awesome
Comedicles says:2 minutes ago
Hi Sprite_tm. Do you know the speed of the ADC?
Sprite_tm says:2 minutes ago
Kinda waiting for it myself: I couldn't port Doom to the previous silicon because of the PSRAM bug... actually, Doom was the first program to run into the bug :)
Nathan Brewer says:a minute ago
Doom!!! Yes!! that is awesome
mumi says:a minute ago
Correct, I meant as opposed to the Lua, MicroPython and Javascript. It seems FreeRTOS is the preferred dev system, but I was wondering how far people have gotten with the alternatives - and if they're comparable in any way - offering SSL libraries for example. A followup question would be: Are there any plans for uCLinux on the ESP32, or is that unrealistic?
MobileWill says:a few seconds ago
I have a simliar question as I would like to use another RTOS like ChibiOS
Nacht Ritter says:a few seconds ago
Saw the spritesmods.com site but didn't get a sense of what was pre-esp8266 vs post... I'm more curious what led you down the path to where you felt comfortable diving so deep into esp8266... SW engineer in general is an unusual path (IMHO)
Sprite_tm says:a few seconds ago
@limor: Yes, we're definitely planning on supporting that, although BTLE has some priority for now. Unfortunately, I don;t know the BT peoples timeline. I *think* we have an internal BT-audio driver, but I have no idea if that is releasable, both from a code as well as from a legal PoV. I'll ask.
Sprite_tm says:a few seconds ago
I'll put it on my list of things to bug my colleagues about :)
limor says:a few seconds ago
@Sprite_tm Awesome, thanks!
baoshi says:2 minutes ago
@Sprite_tm Is the future ESP32-WROVER module using the pinout and footprint as in the WROVER kit schematic?
Jose Marcelino says:a minute ago
Anyone working on supporting the Xtensa cores in LLVM yet?
Sprite_tm says:3 minutes ago
@Comedicles: Not off the top of my head, sorry... I can see if I can look it up if this chat eases up a little.
Ryder Sadlovsky says:3 minutes ago
What programming language does the ESP32 use?
Chris Pearson says:a minute ago
Bluetooth BLE libraries would be nice. BLE is difficult enough to work with. :-)
Sprite_tm says:a few seconds ago
mumi: I don't know if the other languages are already usable... I think MicroPython as used by Pycom already has some commercial implementations, but I don't follow the other ones.
Youlian Troyanov says:a few seconds ago
mumi says:a few seconds ago
Thanks Sprite! So it seems FreeRTOS is the place to be if writing C on the ESP-32.
Ryder Sadlovsky says:4 minutes ago
Sprite_tm says:4 minutes ago
ucLinux may be an option to run on the ESP32, but I haven't looked into it... it may be a fair amount of work, given that there's no ucLinux for Xtensa yet that I know of.
mumi says:4 minutes ago
Awesome, thanks again.
murrij says:4 minutes ago
first of all, thank you Sprite_tm for your work. The amount of work being done on the sdk is huge compared to what was available for the esp8266 after its release. Regarding BLE, what would you recommend as far as environment to start working with ble? Or language?
jaren havell says:3 minutes ago
@mumii yaaas they have micropython for esp32 https://github.com/micropython/micropython-esp32
Sprite_tm says:3 minutes ago
Wrt other OSses: We do have the beginnings of an Aliyun port in-house, and I think there's a start of NuttX going on. We're not opposed to people porting other OSses to the chip, and up to a point, we're open to providing support and help for that.
Michael Welling says:3 minutes ago
musl is the replacement for uclinux
duff2013 says:3 minutes ago
what are the low power features of the esp32?
haydn jones says:3 minutes ago
Whats the most intresting aplication you've seen running on an esp32 at espressif?
tdicola says:3 minutes ago
i'm actually going to show loading esp32 micropython on adafruit's twitch channel after this hackchat :) will be up on youtube later too
Sprite_tm says:2 minutes ago
baoshi: I can't check from here, but I don't remember anyone warning about the boards not compatible with the devboards, so I suppose so.
MobileWill says:2 minutes ago
I am working with ChibiOS in a design for the main uC and will os likely use the ESP32 as a 2nd for interface and other tasks
MobileWill says:2 minutes ago
So would better if both ran the same RTOS
Michael Welling says:a few seconds ago
return -ETOOMANYRTOS;
Sprite_tm says:a minute ago
Jose: wrt llvm, I think iggr was thinking of getting llvm up and running, if any to support Rust. No work that I know of has been done in that direction, though. So much we want to do, only 24 hours in a day... you know the issue.
jaren havell says:a few seconds ago
is the arduino code running on top of something much more complex?
Sprite_tm says:a minute ago
duff2013: We have Deep Sleep, which is essentially the entire ESP32 powered down... but it can power up the ULP periodically, which is a state machine with just enough smarts to be called a microcontroller. So even while sipping power, you can still do some tasks.
Sprite_tm says:a few seconds ago
Aside from that, you have a range of options... nearly all the memories, peripherals, cores etc can be disabled for power saving.
duff2013 says:a few seconds ago
awesome thanks!
Comedicles says:a few seconds ago
What would you say is the data flow bottle neck or lowest common denominator, like WiFi data rate, off-chip communications, encryption, Flash access, RAM buffering. What craps out first as data rate goes up?
novirium says:a few seconds ago
(copied from the spreadsheet, but it looks like we're just asking here:) The SDIO interface brought out on the short side of the ESPWROOM32 looks suspiciously like it's meant for SDcard comms, but is also connected to the onboard flash - any indication that they might be able to work at the same time somehow? I'm running out of pins...
Sprite_tm says:a minute ago
haydn jones: Well, there's been some speech recognition stuff ported to the ESP32... it's very interesting how that's better at recognizing Chinese than I am. Just simple sentences like 'turn on light' though.
Sprite_tm says:a few seconds ago
Aside from that, I'm still waiting for the community to pull off some tricks like cnlohr did with the ESP8266 hardware... I'm sure at least low-speed USB is possible.
mumi says:a few seconds ago
Sprite_tm: Is the ESP-32 a reliable system to build a product around, in terms of availability and obsolescence?
Arsenijs says:a minute ago
If it's SDIO master, I assume you can do SD cards (don't know of licensing issues with SD folks). On #RPi WiFi, there's no problem when a Pi talks SDIO to the ESP8266, again, over the same lines that SPI flash occupies.
Sprite_tm says:a few seconds ago
jaren havell: Afaik is the Arduino layer just a stack of C++ libraries that are compiled together with esp-idf. You can even load the Arduino layer up as a component in esp-idf and (to a point) mix and match C and Arduino-apis.
Sprite_tm says:a few seconds ago
Comedicles: It very much depends on your app. For example, we have a lcd/camera interface in the ESP32; if you want to move data from there to WiFi, the WiFi will crap out first. If you want to do TCP at speed, you may run into slowdown because of memory issues. If you want to do some actual processing on the data, you may run into CPU issues.
baoshi says:a minute ago
I noticed libesphttpd had support for ESP32 but it has not been updated for a while. Is there any recommended webserver for ESP32 or we should roll our own on top of lwip?
Ryder Sadlovsky says:a few seconds ago
what language does the ESP32 use?
Jose Marcelino says:a few seconds ago
thanks, yes Rust would be awesome as well other LLVM things. Is Espressif hiring? :) How's life there! Do you speak 普通话
novirium says:a few seconds ago
@Arsenijs Ah, thanks. I was wondering how it'd go, considering the ESP32 is often running right off the flash. The available information on that interface in the ESP32 is still pretty sparse, and all the other examples I've seen of people using an SD card with it have used the other SDIO interface.
Sprite_tm says:a minute ago
novirium: In theory at least, you could multiplex the two... keep SD-card idle while accessing flash, keep flash idle while accessing SD-card. This hasn't been implemented in any driver, though.
Michael Welling says:a few seconds ago
@Ryder Sadlovsky binary
Sprite_tm says:a few seconds ago
Well, in the ESP8266-RPI example, they actually do not use the flash at all; they use SDIO to upload the firmware directly to RAM.
PointyOintment says:a few seconds ago
I'm wondering how well it'll perform when asked to do many somewhat demanding tasks simultaneously. Specifically, I want to do the following:
- Read six or seven analog sensors (at ~100 Hz, all 8 bits per channel) and two or three digital sensors (either 1-bit sensors at ~6 kHz or 8-bit I²C sensors at ~1 kHz)
- Record that sensor data to an SD card
- Stream that sensor data over Wi-Fi
- Run VoIP over Wi-Fi using either a wired headset or a Bluetooth headset
all simultaneously.
Would programming the two cores to do different tasks help here, or would it be better to use some kind of OS or other task scheduler?
Professor Fartsparkles says:a few seconds ago
@Sprite_tm I was wondering how fast the ESP32 can re-connect to wifi after coming up from deep sleep.
Sprite_tm says:a minute ago
novirium: In theory at least, you could multiplex the two... keep SD-card idle while accessing flash, keep flash idle while accessing SD-card. This hasn't been implemented in any driver, though.
Michael Welling says:a few seconds ago
@Ryder Sadlovsky binary
Sprite_tm says:a few seconds ago
Well, in the ESP8266-RPI example, they actually do not use the flash at all; they use SDIO to upload the firmware directly to RAM.
PointyOintment says:a few seconds ago
I'm wondering how well it'll perform when asked to do many somewhat demanding tasks simultaneously. Specifically, I want to do the following:
- Read six or seven analog sensors (at ~100 Hz, all 8 bits per channel) and two or three digital sensors (either 1-bit sensors at ~6 kHz or 8-bit I²C sensors at ~1 kHz)
- Record that sensor data to an SD card
- Stream that sensor data over Wi-Fi
- Run VoIP over Wi-Fi using either a wired headset or a Bluetooth headset
all simultaneously.
Would programming the two cores to do different tasks help here, or would it be better to use some kind of OS or other task scheduler?
Professor Fartsparkles says:a few seconds ago
@Sprite_tm I was wondering how fast the ESP32 can re-connect to wifi after coming up from deep sleep.
jaren havell says:2 minutes ago
wow, 12 years. what is the 8266 at?
MobileWill says:2 minutes ago
Awesome
Sprite_tm says:a minute ago
baoshi: Ah, I'd love to give some TLC to libesphttpd... it really cooperates with esp-idf nicely. Wrt your answer: we do have libhttp2 or something in esp-idf, which can do http/http2, but doesn't give a webserver as such. If you want to work on libesphttpd, feel free to send in patches. If they're small enough, I'll just merge them in.
Nathan Brewer says:a few seconds ago
do we have anything likewifi_send_pkt_freedom ? esp_wifi_internal_tx() on the ESP32 ? :)
Sprite_tm says:a few seconds ago
jaren: 2014, so 3 years at this point.
Paweł says:a few seconds ago
@Sprite_tm What way will developing of ESP follow?
PointyOintment says:a minute ago
I would also be interested in a product line roadmap, if that's something you can share
baoshi says:a few seconds ago
@Sprite_tm yap that's part of the plan
Sprite_tm says:a few seconds ago
PointyOintment: Depends on a fair few things, eg the codec you use and the amount of buffers you need for the sensors (SD-cards can be slow). I think you'd mostly run the risk of running out of memory, though.
PointyOintment says:6 minutes ago
Thanks!
Sprite_tm says:5 minutes ago
Professor Fartsparkles: Should be a few hundred ms; iirc for the esp32, it's mostly limited by how fast the ap responds. I have no experience with that, so my numbers are guesstimates, though.
Sprite_tm says:4 minutes ago
Jørgen Kragh Jakobsen: It most definitely is a real project, we've got a bunch of engineers working very hard at that one. It's not as open as e.g. esp-idf is; it's mostly aimed to be a solution for commercial parties.
PointyOintment says:4 minutes ago
@Arsenijs Where can we read more about using multiple peripherals on one SDIO bus? I checked the spec (https://members.sdcard.org/downloads/pls/simplified_specs/archive/partE1_100.pdf) and it does mention multiple electronic devices inside one physical peripheral (card) but it doesn't seem directly applicable to our stuff.
Sprite_tm says:3 minutes ago
@Nathan Brewer: Not yet. We're thinking of adding it, but t isn't that high on our priority list and we still need to discuss in what way.
Sprite_tm says:2 minutes ago
(At least, I think that was the addres... if not, consider finding the right one your first challenge)
Sprite_tm says:2 minutes ago
Ah, sorry, chat crapping out. lemme retry that:
Brian Krent says:a minute ago
C/C++:
- ESP-IDF: https://github.com/espressif/esp-idf
- Arduino: https://github.com/espressif/arduino-esp32
MicroPython:
- MicroPython (official): https://github.com/micropython/micropython-esp32
- Pumbaa port: https://github.com/eerimoq/pumbaa/
- PyCom’s port: https://github.com/pycom/pycom-micropython/tree/master/esp32
JavaScript
- Espruino: https://github.com/espruino/Espruino/tree/ESP32
- Duktape: https://github.com/nkolban/duktape-esp32
Lua:
- LuaNode: https://github.com/Nicholas3388/LuaNode
- Lua RTOS: https://github.com/whitecatboard/Lua-RTOS-ESP32
Forth:
- cforth: https://github.com/MitchBradley/cforth
- further info: https://github.com/ForthHub/discussion/issues/39
BASIC:
- TinyBasic: http://hackaday.com/2016/10/27/basic-interpreter-hidden-in-esp32-silicon/
Arsenijs says:a minute ago
@PointyOintment haven't read about that a lot, but there's #SHABPi WiFi & SD Card Slot for Pi Zero and it has description of an unsuccessful attempt to do that, along with some links.
David William Price says:a few seconds ago
@Brian Krent thanks!
Ryder Sadlovsky says:a few seconds ago
Thanks @Brian Krent
Jørgen Kragh Jakobsen says:5 minutes ago
wrt to eps32 lyra - we will be more then happy to team on hardware /accustics evry thing from i2s to sound waves
Sprite_tm says:4 minutes ago
Someone asked if Espressif is hiring.. The answer is yes! Mail jobs@espressif.com if you're interested. Feel free to add that you know Jeroen/Sprite_tm, and they'll know who to talk to. (Email address off the top of my head, if it doesn't work, finding the right one will be your first challenge.)
jaren havell says:4 minutes ago
@jorgenKraghJ what producsts are your eximo / class D chips on?
Sprite_tm says:3 minutes ago
@Jørgen Kragh Jakobsen: Sounds interesting! Poke me at jeroen at espressif dot com and we'll discuss.
novirium says:3 minutes ago
http://esp32.net/ is pretty good for a concentrated blob of relevant links and info too. Also in C is https://github.com/eerimoq/simba
Nacht Ritter says:3 minutes ago
Thank you for sharing your time & knowledge, @Sprite_tm!
Sprite_tm says:3 minutes ago
Guys, it was fun but my VPN is crapping out every two minutes and I need breakfast, so I'm gonna call it quits.
jaren havell says:2 minutes ago
Happy Hacking!
MobileWill says:2 minutes ago
Thanks for taking the time to do this
David William Price says:2 minutes ago
Would love to see more educational use of ESP stuff-- too stuck in Arduino Unos out there.
PointyOintment says:2 minutes ago
Minor question: On the ESP8266, I seem to remember that taking I²S input using DMA required it to also send I²S output at the same time, even if that output was empty. Are there any similar bizarre-sounding requirements for the communication buses on the ESP32 (not necessarily to do with I²S)?
David William Price says:2 minutes ago
ok thanks for this!
Paweł says:2 minutes ago
@Sprite_tm thank you for your time!
Sprite_tm says:2 minutes ago
If you have more questions, feel free to ask them on esp32.com; I as well as other engineers regularily hang out around there to answer questions.
mumi says:2 minutes ago
@Sprite_tm Thanks for the answers. Super helpful.
novirium says:2 minutes ago
Thanks @Sprite_tm
baoshi says:2 minutes ago
@Sprite_tm Thanks, Awesome!
mumi says:a minute ago
@Sprite_tm: One more! What are you going to eat for breakfast?!
PK says:in a minute
Thanks @Sprite_tm !
PointyOintment says:a minute ago
Alright, thanks @Sprite_tm!
Paweł says:a minute ago
I hope in future there will be more time for another one, and chat will be more stable .
haydn jones says:a few seconds ago
thanks @Sprite_tm
a few seconds ago
thanks Sprite!
chane says:2 minutes ago
yes.. thanks for your time @Sprite_tm..
perhaps another chat in a couple of months :)
Sprite_tm says:2 minutes ago
Okay, I'm at a hotel atm, and breakfast here is typical Chinese... steamed buns, rice porridge, some veggies. I'd prefer a full English breakfast, but eh, it works with getting me started.
Sprite_tm says:a minute ago
Anyway, bye for now, and yes, we can do another chat later on.
Jørgen Kragh Jakobsen says:a minute ago
We are new on the block - Just released the device and we are a head on low power
Arsenijs says:a minute ago
Have a nice day, and thanks for all the questions!
Arsenijs says:a few seconds ago
*answers =)
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.