Hack Chat Transcript, Part 1

A event log for Six Months with the ESP32-S2 Hack Chat

Plus, an inside look at the new RP2040!

dan-maloneyDan Maloney 01/27/2021 at 21:050 Comments

OK, big turnout as always when we have our Adafruit friends stop by! I'm Dan, I'll be modding today as we welcome PT, Limor, Scott, Dan and Jeff from Adafruit to talk about both the ESP32-S2 and the new RP2040. Welcome Adafruit people!

pt12:00 PM
hi @Dan Maloney we'll go live on youtube once ya start here

And another reminder to log into the livestream:

Kattni12:00 PM
@Dan Maloney I'm also here from Adafruit. :)

socrat9999 joined the room.12:01 PM

Dan Halbert12:01 PM
Dan H here from adafruit

Oh hi @Kattni - the more the merrier!

Jeff Epler12:01 PM
Hi, I'm jepler from adafruit

Michael Shaub joined the room.12:01 PM

Jonny Wester12:02 PM
@James Finch , of course. Many years ago the NE555 IC was cool!

Tim Walter joined the room.12:02 PM

jayratford24 joined the room.12:02 PM

Mike Teachman joined the room.12:02 PM

Christopher Kostic joined the room.12:02 PM

@pt, we're good to go whenever you are

rgm joined the room.12:03 PM

andypugh12:03 PM
Hi jepler :-)

Jeff Epler12:04 PM
Hi Andy!

pt12:04 PM
@Dan Maloney kick it!

Jeff Epler12:04 PM
how 's floating point?

tannewt12:04 PM
Hi folks! I'm the lead for CircuitPython for Adafruit. I've worked on both the ESP32-S2 port and the RP2040 one.

andypugh12:04 PM
I am going to have to go back and admit that I was wrong, and actually take the guy seriously

Mijail joined the room.12:04 PM

limor12:05 PM
hi we're live! simulcast

limor12:05 PM
live on youtube AND here

limor12:05 PM
woohoo -

Jeff Epler12:05 PM
@andypugh Thanks, I appreciate that you'll do that!

limor12:05 PM
its a great time to be a maker - ZOMG so many new chips

limor12:05 PM
ESP32-S2 + RP2040 is the topics of the day

limor12:05 PM
wifi! low cost! pios! we got it all

We're live on YouTube. YOu can ask questions here or in the chat on YT, and they'll talk about it both here and on the livestream

limor12:05 PM
hit us up

pt12:05 PM

YouTube Adafruit Industries

limor12:06 PM
scott/tannewt is here - lead dev of circuitpy project

Andreas joined the room.12:06 PM

limor12:06 PM
you can blame him for everything ;)

limor12:06 PM
(circuitpython related)

limor12:07 PM
dan h is here too! core dev on circuitpython - does a ton with usb and backend AND IS THE BUG FIXER EXPERT

limor12:07 PM
jepler is in the house - loves the python since before it was cool!

Nathan Brown12:07 PM
Question for Queue: So can the PIO routines interface through DMA or do you do that though an interrupt.

pt12:08 PM
Q: from youtube - how is the ADC on the S2?

limor12:08 PM
works on core development, lots of audio, display, cool stuff!

limor12:08 PM
and on drums - kattni! documentation and libraries are her expertise. also writes lots of guides

morgan12:09 PM

Adafruit -- do we want to divide the time 50:50 between the topics, or do we want to mix ESP32-S2 and RP2040 questions randomly?

pt12:09 PM
@Dan Maloney mix it up

limor12:09 PM
re: ADC+S2 its something we're working on...its getting better

tannewt12:09 PM
@Dan Maloney I'm not sure we have a choice. :-)

Malik Enes Şafak12:09 PM
so, it's too early bu what about rust on s2?

limor12:09 PM
it does work!

phase2682 joined the room.12:10 PM


limor12:10 PM
we got a question on OTA in CircuitPython for ESP32S2

limor12:10 PM
yes! we have either a PR in review or its merged in. big ups to microDev who did a ton of work on it

Dan Halbert12:10 PM

GitHub adafruit

Support for OTA update by microDev1 · Pull Request #3812 · adafruit/circuitpython

This PR implements CircuitPython OTA update! Port(s) supported: (as of this PR) esp32s2 To-do: Error message clean-up. Finalize OTA module and add docs. Add ability to flash in continuous/discontinuous chunks. Note: more info leading to this PR can be found at issue #3777.

Read this on GitHub

James joined the room.12:11 PM

limor12:11 PM
we did divide up the 4MB of built in flash on the WROVER ESP32-S2 module to allow for OTA

Jeff Epler12:11 PM

ota_0,    0,    ota_0,   0x10000,  1408K,
ota_1,    0,    ota_1,  0x170000,  1408K,

limor12:11 PM
so we have 1MB firmware, 1MB OTA and 1MB second OTA

Jonny Wester12:12 PM
You have any ESP RISC-V C3 plans?

anecdata12:12 PM
(larger external flash allows bigger partitions, e.g., UnexpectedMaker FeatherS2)

limor12:12 PM
having that makes it a lot safer to do OTA - got a backup - but thats why the 'disk drive' is only a MB on circuitpy

Will Harader joined the room.12:12 PM

limor12:13 PM
RP2040 we also had to think about partitioning

limor12:13 PM
we give the RP2040 1MB flash so lots of room to grow

limor12:13 PM
we have samples of the C3 on order, we haven't got em yet

pt12:13 PM
@Jonny Wester we should be getting samples, and we'll do "something"

limor12:14 PM
since C3 doesnt have native USB we have to have a wireless workflow - not using USB (e.g. 'webrepl' type)

pt12:14 PM
@Dan Halbert worked on RISC-1

Paul Williamson12:14 PM
I was disappointed to see that the RP2040 was ARM and not RISC-V. Any thoughts about that?

morgan12:15 PM
speaking of RISC-V, can you talk about the ESP32-S2 new ULP?

limor12:16 PM
why ARM ? we cant speak for RPI but probably because it is REALLY EASY to make a new chip on the cortex m0, its tried and true

andypugh12:16 PM
Maybe Raspberry Pi chose ARM out of pure jingoism ? Both UK-originated.

limor12:17 PM
its inexpensive, mature, well documented, toolchain support is great

Charlie Schick joined the room.12:17 PM

Thomas Flummer12:17 PM
The missing USB on the C3, isn't that due to an error, that is planned to be fixed (

pt12:18 PM
from youtube: does the ESP32-S2 accept and charge a lipo battery

From YT: don korte other than "coolness factor", what advantages would a circuitpython user see with a 2040 over say a feather M4?

limor12:19 PM
re: lipo charging - the S2 does not itself contain a lipo charger. but for our board designs WITH the S2, we add on a low cost charger chip. the S2 can do very low power easily so its great for battery powered projects

pt12:19 PM
Q from youtube: advantages using 2040 with circuitpython vs a feather m4

Jonny Wester12:20 PM
@Thomas Flummer .... an error to be fixed...

foamyguy12:20 PM
Cost is a factor between Pico and Feather M4 also. Pico's price is really tempting

pt12:21 PM
Q: from youtube, any word on arduino support for the RP2040?

limor12:21 PM
re: RP2040 vs SAMD51 - RP2040 does have these cool PIOs, there's some interesting things there. dual core is also nice (altho we dont quite use the second core yet). price is a big part of it, its near-SAMD51 speeds (other than FPU) at SAMD21 prices

Thomas Flummer12:21 PM
@Jonny Wester it might be the reason the chip isn't really out yet...

pt12:22 PM

Arduino Blog

Welcome Raspberry Pi to the world of microcontrollers

'Raspberry and chips,' not something you'd like to eat but in the world of silicon it's actually a great combination. Eben Upton recently shared with us Raspberry Pi's exciting vision for a revolutionary product that they were working on: a microcontroller, the RP2040, based on Raspberry Pi silicon.

Read this on Arduino Blog

tannewt12:22 PM
@Thomas Flummer I don't believe so. My understanding is that the C3's USB is a built in USB to serial and JTAG

Inne12:22 PM
Have you considered implementing the pico as a whole into things or making boards for the pico form factor??

amckay1 joined the room.12:22 PM

Thomas Flummer12:23 PM
@tannewt arh... ok...

morgan12:23 PM
bump: Can someone talk about the RISC-V ULP in the ESP32-S2?

pt12:23 PM
Q: will the ESP32-s2 be part of the next gen boards (CircuitPlayground Express)

pt12:24 PM
A: yep!

tannewt12:24 PM
(a built in converter is a smaller chip area than a full peripheral)

limor12:24 PM
we're def looking forward to tinyUSB support in Arduino - both ESP32S2 and RP2040 use tinyUSB as the 'official' USB core.

limor12:25 PM
for a circuitplayground, we're holding on till the ESP32S2+flash+psram chip comes out (all integrated!) so it fits n the same shape

Shlomo Zippel12:25 PM
the ESP32-S2-WROVER does that

Shlomo Zippel12:26 PM
2.20 on digikey at quantity 1 :)

Patrick Van Oosterwijck12:26 PM
Maybe I missed something that was answered already: CircuitPython was missing some stuff on Cortex M0 before that prevented some modules from working because the chips were considered "too small". Will the RP2040 build of CircuitPython have all features (data types etc)?

morgan12:26 PM
yeah, that's where my interest in the ULP is

Dan Halbert12:27 PM
@morgan yes, we have been careful to consider use of the ULP during sleep, and microdev is quite interested in that

limor12:27 PM
patrick, the rp2040 has a TON more RAM , and we use external flash so we have lots more space. you have a lot more room, you'll be able to do a lot more. in fact its one of the highest-ram chips we got

limor12:27 PM
and RAM is usually is whats limititng

limor12:28 PM
also SAMD21 is 48mhz, rp2040 is blazing fast 125+MHz

Patrick Van Oosterwijck12:28 PM

limor12:29 PM
every circuitpython project/library should work on the RP2040 (with the caveat that the disk drive is only 1MB so your files have to fit)

limor12:29 PM
someone asks: STM32 support? yes! STM32F4 stable, rest unstable

limor12:30 PM

rgm12:30 PM
What ideas excite you about using the RP2040 Programmable I/O features, beyond implementing RGB LED timing protocols?

morgan12:30 PM
hear, near (usb support)

from YT Lloyd Richards: as someone currently developing an battery operated IOT sensor using the ESP32. Is the ESP32-S2 worth switching over too? Is the time commitment to switching worth it?

Vincent12:30 PM
USB is everything!

morgan12:31 PM
..near... heh

Nathan Brown12:31 PM
@rgm Checking encoders

limor12:31 PM
re: S2 vs plain 32 - we like the S2 cause it has USB native, no external usb-to-serial converter!

limor12:32 PM
it only has one core, so not EVEYRHING works, but internet Arduino stuff did!

Thorsten von Eicken joined the room.12:33 PM

pt12:33 PM
Q from youtube - plans for a larger ESP32-S2 e-ink device, like magtag but size of pyportal?

pt12:33 PM

Adafruit Industries

Adafruit MagTag - 2.9" Grayscale E-Ink WiFi Display

Adafruit Industries, Unique & fun DIY electronics and kits Adafruit MagTag - 2.9 Grayscale E-Ink WiFi Display ID: 4800 - The Adafruit MagTag combines the new ESP32-S2 wireless module and a 2.9" grayscale E-Ink display to make a low-power IoT display that can show data on its screen even when power is removed!

Read this on Adafruit

pt12:34 PM
yes! larger sizes and also other screens like sharp displays

rgm12:34 PM
Thank you!

dheera12:34 PM
Hi everyone! Hi @limor remember you from ec-discuss -- tetazoo alum here :)

Love the ESP32-S2 I just made an air quality monitor that monitors absolutely everything

pt12:35 PM
color eink, etc. as well

Patrick Van Oosterwijck12:35 PM
You guys are RPi "silicon partners" and can get chips. Will "mere mortals" be able to buy RP2040 chips eventually? :)

tannewt12:35 PM
@Patrick Van Oosterwijck yup! definitely

Kattni12:35 PM
@Patrick Van Oosterwijck I imagine so, yes, once production catches up. :)

tannewt12:36 PM
everyone benefits from us getting software going on it :-)

limor12:36 PM
rgm, PIO can be used for lots of protocols - wierd stuff like talking to a gameboy to emulate a cartirdges, anything with 6800/8080, PDM, I2S TDM, just no more bitbanging!

Kattni12:37 PM
Pimoroni is already making some Pico-compatible boards.

todbot12:37 PM
I'm very excited to start playing with the PIO stuff, like weird alternatives to PWM to do "analog" out

ATMakers - Bill Binko12:37 PM
Just joined (sorry!) - is there any documentation or good example of PIO that we can take a look at? Anything the Fruit has done that they'd point to as a good prototype to start with?

Dan Halbert12:38 PM
@ATMakers - Bill Binko the NeoPixel implementation in CircuitPython uses PIO

Nathan Brown12:38 PM
Here is one good doc and example of the PIO:

Dan Halbert12:38 PM
it's well documented in the RP2040 datasheet

limor12:38 PM
why is the pico shaped the way it is? probably wanted to just make the simplest, cheapest board!

ATMakers - Bill Binko12:39 PM
Thank you!

todbot12:39 PM
Also chapter 3.9 of the pico_python_sdk.pdf has very good about PIO, showing PWM, UART, WS2812 examples

Paul Stoffregen12:39 PM
you need noise shaping algorithms to do PDM...

Thorsten von Eicken12:39 PM
got here late... did you already talk about esp32-s2 low power modes? any real progress over the esp32?

limor12:40 PM
cool stuff about rp2040 dox - the peripheral sources are documentd -usually this is secret but it's really handy to know, it makes adding to CircuitPython a lto easier!

ATMakers - Bill Binko12:40 PM
Limor would your Cap Touch library benefit from PIO? Or is it good enough as it is?

limor12:41 PM
lots of example on launch for the RP2040 - C/C++ examples aplenty!

pt12:41 PM
@Thorsten von Eicken we have deep sleep with the s2 (guide here)

limor12:42 PM
PIO for captouch? yah it could probably help! we bitbang for now to get it going

Jeff Epler12:42 PM
The datasheet numbers have ESP32-S2 a bit lower on some deep sleep dates vs ESP32, but a bit higher on others.

ATMakers - Bill Binko12:43 PM
FYI, CANBus is what the power wheelchairs use (although it's hidden and rebranded of course)

pt12:43 PM
Q from youtube - which circuitpython target is best at deep sleep?

Jeff Epler12:44 PM
@ATMakers - Bill Binko interesting, I did not know that

alexwhittemore12:44 PM
Nordic is awesome!

morgan12:44 PM
yyyyeah nordic own low power

pt12:44 PM
a: esp32-s2 for now and nordic52840 next!

alexwhittemore12:45 PM
It's literally 7mA before -> something uA switching to CP 6.x

ATMakers - Bill Binko12:45 PM
@Jeff Epler - yes, it's call "R-Net" but it's CANBus underneath

limor12:45 PM
PIO can also do other funky protocols - like VGA, RGB HUB75 matrcies, TFT displays, maybe even canbus!

alexwhittemore12:45 PM
I can't measure proper sleep current because the neopixel draws like 700uA even dark.

alexwhittemore12:45 PM
But "deep" sleep aside, it's v. good right now.

limor12:45 PM
i think for esp32s2 we got as low as 35uA in RTC deep sleep

morgan12:45 PM
@pt aweomse! i've been (slowly) making an nrf52840 dev board, excited for that chip

Paul Williamson12:46 PM
RP2040 documentation features SWD debugging front and center, and they even supply firmware to use a second Pico as an SWD interface. This is a different strategy from Arduino’s.. Is this good or bad? Does it mean Pico is aiming for a different part of the market?

Certainly good.

ATMakers - Bill Binko12:47 PM
Has anyone had success with the USB Host on the RP2040? I would like to be able to use the QT Py (or Itsy) board as a USB Host daughter board.

limor12:48 PM
if you're waiting on deep sleep for nrf52 to use circuitpython - come by and help add it! we help contributors get PRs in :)

rgm12:48 PM
Does the Raspberry Pi Foundation sponsor the development of CircuitPython?

pt12:49 PM
@rgm nope

dheera12:49 PM
I really wish RP would release a Wi-Fi version of their chip

dheera12:49 PM
I find almost all microcontrollers with that much compute are mostly useless without wifi these days

Patrick Van Oosterwijck12:49 PM
I love that the Rpi Pico can be powered from 1.8-5.5V with a buck-boost on board. PLEASE can Adafruit follow suit on future boards? :)

Nathan Brown12:50 PM
Second the buck-boost comment

limor12:50 PM
RP2040 SWD - we think its cool they're making it easy! i think its easier to assume segger will add jlink support. why not make it so you are never 'stuck' - you can use one pico to progam the other

RichardCollins12:50 PM
Trying to monitor electromagnetic signals, wifi is troublesome. Any suggestions for best shielded connection in local networks of these kinds of processors? Any pointers to data on electromagnetic noise from these things?

alexwhittemore12:51 PM
Also it's way less efficient for lower-draw applications like <just what's already on a feather

Uri Shaked joined the room.12:51 PM

Jonny Wester12:51 PM
I think RP made a half good HW design by purpose of the RP2040 to open to make it better by 3rd parties.

limor12:53 PM
why dont we use buck-boost? we'd love to! but the cost is much higher than what we use - the ap2112 which is 10 cents.

limor12:53 PM
that said there are LOTS of folks who make boards that DO have buck-boosts - please support them :)

ATMakers - Bill Binko12:54 PM
BTW, Just to kiss-up for a second...that comment by Limor about recommending other vendors is very rare and valuable. It can only happen when it's an owner/founder who's not reliant on outside funding sources. Congrats on staying in that position.

Shlomo Zippel12:56 PM
hi Uri

@RichardCollins FTP, STP, its variations or optics are your best bet for longer distances.

Uri Shaked12:57 PM
Hi Shlomo, nice to see you here :-)

Patrick Van Oosterwijck12:58 PM
Much appreciated @limor

limor12:58 PM
anyone can submit new boards to circuitpython!

Kattni12:58 PM
And it comes with the entire CircuitPython ecosystem.

limor12:58 PM
we will manage the firmware releases for you - all you need to register for usb vid/pid with (or get a vid, whatever)

limor12:59 PM
please support other companies makin' esp32-s2/rp2040/circuitptyhon boards, theres LOTS of room for everyone. and some great creative stuff comin out

limor12:59 PM
see all the (currently) available boards ehre

limor1:00 PM
if you wanna get started with RP2040, we published a design you can use to base off of

limor1:00 PM
its got all the goodies you want, just delete what ya dont

limor1:00 PM
its never been a better time to be a maker or hacker

pt1:01 PM
ok! that's it for us today, this was great

limor1:01 PM
if you want to get DEEP into the RP2040 or other chips, come on by scott's Deep Dive stream

limor1:01 PM
Friday 2PM PST

ATMakers - Bill Binko1:01 PM
That reference design was a great head start @ladyada! I am about 1/2 through the Host Wing board\

pt1:01 PM
thanks @Dan Maloney for settin this up, lots of great questions and more!

You bet, thanks Adafruit folks!

morgan1:01 PM
great and informative as usual, thanks Adafruit gang!

Kattni1:02 PM
You're entirely welcome! Thanks everyone for participating!

Vincent1:02 PM
This was great. Thanks everyone!

RichardCollins1:02 PM
@MS-BOSS The software protocol I can handle but looking for interactive methods. Specific hardware protocols would be nice. Is there such a thing as spi-LAN? peer methods with wired pathways? Not depending on more chips, more connectors, more protocols someone else is always changing?

Thanks Bye

todbot1:03 PM
Thanks for great Hack Chat!

Thanks all! Transcript coming soon. For the Hack Chat side at least ;-)