-
Hack Chat Transcript, Part 1
01/27/2021 at 21:05 • 0 commentsOK, 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!
@Dan Maloney we'll go live on youtube once ya start here
hiAnd another reminder to log into the livestream:
@Dan Maloney I'm also here from Adafruit. :)
Dan H here from adafruit
Oh hi @Kattni - the more the merrier!
Hi, I'm jepler from adafruit
@James Finch , of course. Many years ago the NE555 IC was cool!
@pt, we're good to go whenever you are
Hi jepler :-)
Hi Andy!
@Dan Maloney kick it!
how 's floating point?
Hi folks! I'm the lead for CircuitPython for Adafruit. I've worked on both the ESP32-S2 port and the RP2040 one.
I am going to have to go back and admit that I was wrong, and actually take the guy seriously
hi we're live! simulcast
live on youtube AND here
woohoo -
@andypugh Thanks, I appreciate that you'll do that!
its a great time to be a maker - ZOMG so many new chips
ESP32-S2 + RP2040 is the topics of the day
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
hit us up
scott/tannewt is here - lead dev of circuitpy project
you can blame him for everything ;)
(circuitpython related)
dan h is here too! core dev on circuitpython - does a ton with usb and backend AND IS THE BUG FIXER EXPERT
jepler is in the house - loves the python since before it was cool!
Question for Queue: So can the PIO routines interface through DMA or do you do that though an interrupt.
Q: from youtube - how is the ADC on the S2?
works on core development, lots of audio, display, cool stuff!
and on drums - kattni! documentation and libraries are her expertise. also writes lots of guides
hah
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?
@Dan Maloney mix it up
re: ADC+S2 its something we're working on...its getting better
@Dan Maloney I'm not sure we have a choice. :-)
so, it's too early bu what about rust on s2?
it does work!
Cool!
we got a question on OTA in CircuitPython for ESP32S2
yes! we have either a PR in review or its merged in. big ups to microDev who did a ton of work on it
https://github.com/adafruit/circuitpython/pull/3812
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.
we did divide up the 4MB of built in flash on the WROVER ESP32-S2 module to allow for OTA
ota_0, 0, ota_0, 0x10000, 1408K,
ota_1, 0, ota_1, 0x170000, 1408K,
so we have 1MB firmware, 1MB OTA and 1MB second OTA
You have any ESP RISC-V C3 plans?
(larger external flash allows bigger partitions, e.g., UnexpectedMaker FeatherS2)
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
RP2040 we also had to think about partitioning
we give the RP2040 1MB flash so lots of room to grow
we have samples of the C3 on order, we haven't got em yet
@Jonny Wester we should be getting samples, and we'll do "something"
since C3 doesnt have native USB we have to have a wireless workflow - not using USB (e.g. 'webrepl' type)
@Dan Halbert worked on RISC-1
I was disappointed to see that the RP2040 was ARM and not RISC-V. Any thoughts about that?
speaking of RISC-V, can you talk about the ESP32-S2 new ULP?
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
Maybe Raspberry Pi chose ARM out of pure jingoism ? Both UK-originated.
its inexpensive, mature, well documented, toolchain support is great
https://twitter.com/EspressifSystem/status/1340109669038059520)
The missing USB on the C3, isn't that due to an error, that is planned to be fixed (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?
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
Q from youtube: advantages using 2040 with circuitpython vs a feather m4
@Thomas Flummer .... an error to be fixed...
Cost is a factor between Pico and Feather M4 also. Pico's price is really tempting
Q: from youtube, any word on arduino support for the RP2040?
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
@Jonny Wester it might be the reason the chip isn't really out yet...
https://blog.arduino.cc/2021/01/20/welcome-raspberry-pi-to-the-world-of-microcontrollers/
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.
@Thomas Flummer I don't believe so. My understanding is that the C3's USB is a built in USB to serial and JTAG
Have you considered implementing the pico as a whole into things or making boards for the pico form factor??
@tannewt arh... ok...
bump: Can someone talk about the RISC-V ULP in the ESP32-S2?
Q: will the ESP32-s2 be part of the next gen boards (CircuitPlayground Express)
A: yep!
(a built in converter is a smaller chip area than a full peripheral)
we're def looking forward to tinyUSB support in Arduino - both ESP32S2 and RP2040 use tinyUSB as the 'official' USB core.
for a circuitplayground, we're holding on till the ESP32S2+flash+psram chip comes out (all integrated!) so it fits n the same shape
the ESP32-S2-WROVER does that
2.20 on digikey at quantity 1 :)
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)?
yeah, that's where my interest in the ULP is
@morgan yes, we have been careful to consider use of the ULP during sleep, and microdev is quite interested in that
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
and RAM is usually is whats limititng
also SAMD21 is 48mhz, rp2040 is blazing fast 125+MHz
Thanks!
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)
someone asks: STM32 support? yes! STM32F4 stable, rest unstable
https://circuitpython.org/downloads
checkWhat ideas excite you about using the RP2040 Programmable I/O features, beyond implementing RGB LED timing protocols?
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?
USB is everything!
..near... heh
@rgm Checking encoders
re: S2 vs plain 32 - we like the S2 cause it has USB native, no external usb-to-serial converter!
it only has one core, so not EVEYRHING works, but internet Arduino stuff did!
Q from youtube - plans for a larger ESP32-S2 e-ink device, like magtag but size of pyportal?
https://www.adafruit.com/magtag
Adafruit
Adafruit IndustriesAdafruit 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!
yes! larger sizes and also other screens like sharp displays
Thank you!
@limor remember you from ec-discuss -- tetazoo alum here :)
Hi everyone! HiLove the ESP32-S2 I just made an air quality monitor that monitors absolutely everything
https://github.com/dheera/aqi-monitor
color eink, etc. as well
You guys are RPi "silicon partners" and can get chips. Will "mere mortals" be able to buy RP2040 chips eventually? :)
@Patrick Van Oosterwijck yup! definitely
@Patrick Van Oosterwijck I imagine so, yes, once production catches up. :)
everyone benefits from us getting software going on it :-)
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!
Pimoroni is already making some Pico-compatible boards.
I'm very excited to start playing with the PIO stuff, like weird alternatives to PWM to do "analog" out
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?
@ATMakers - Bill Binko the NeoPixel implementation in CircuitPython uses PIO
https://www.cnx-software.com/2021/01/27/a-closer-look-at-raspberry-pi-rp2040-programmable-ios-pio/
Here is one good doc and example of the PIO:it's well documented in the RP2040 datasheet
why is the pico shaped the way it is? probably wanted to just make the simplest, cheapest board!
Thank you!
Also chapter 3.9 of the pico_python_sdk.pdf has very good about PIO, showing PWM, UART, WS2812 examples
you need noise shaping algorithms to do PDM...
got here late... did you already talk about esp32-s2 low power modes? any real progress over the esp32?
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!
Limor would your Cap Touch library benefit from PIO? Or is it good enough as it is?
lots of example on launch for the RP2040 - C/C++ examples aplenty!
@Thorsten von Eicken we have deep sleep with the s2 (guide here) https://learn.adafruit.com/deep-sleep-with-circuitpython?view=all
PIO for captouch? yah it could probably help! we bitbang for now to get it going
The datasheet numbers have ESP32-S2 a bit lower on some deep sleep dates vs ESP32, but a bit higher on others.
FYI, CANBus is what the power wheelchairs use (although it's hidden and rebranded of course)
Q from youtube - which circuitpython target is best at deep sleep?
@ATMakers - Bill Binko interesting, I did not know that
Nordic is awesome!
yyyyeah nordic own low power
a: esp32-s2 for now and nordic52840 next!
It's literally 7mA before -> something uA switching to CP 6.x
@Jeff Epler - yes, it's call "R-Net" but it's CANBus underneath
PIO can also do other funky protocols - like VGA, RGB HUB75 matrcies, TFT displays, maybe even canbus!
I can't measure proper sleep current because the neopixel draws like 700uA even dark.
But "deep" sleep aside, it's v. good right now.
i think for esp32s2 we got as low as 35uA in RTC deep sleep
@pt aweomse! i've been (slowly) making an nrf52840 dev board, excited for that chip
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.
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.
if you're waiting on deep sleep for nrf52 to use circuitpython - come by and help add it! we help contributors get PRs in :)
Does the Raspberry Pi Foundation sponsor the development of CircuitPython?
@rgm nope
I really wish RP would release a Wi-Fi version of their chip
I find almost all microcontrollers with that much compute are mostly useless without wifi these days
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? :)
Second the buck-boost comment
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
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?
Also it's way less efficient for lower-draw applications like <just what's already on a feather
I think RP made a half good HW design by purpose of the RP2040 to open to make it better by 3rd parties.
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.
that said there are LOTS of folks who make boards that DO have buck-boosts - please support them :)
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.
hi Uri
@RichardCollins FTP, STP, its variations or optics are your best bet for longer distances.
Hi Shlomo, nice to see you here :-) Much appreciated
anyone can submit new boards to circuitpython!
And it comes with the entire CircuitPython ecosystem.
pid.codes (or get a vid, whatever)
we will manage the firmware releases for you - all you need to register for usb vid/pid withplease support other companies makin' esp32-s2/rp2040/circuitptyhon boards, theres LOTS of room for everyone. and some great creative stuff comin out
https://circuitpython.org/downloads
see all the (currently) available boards ehrehttps://github.com/adafruit/Adafruit-Feather-RP2040-PCB
if you wanna get started with RP2040, we published a design you can use to base off ofits got all the goodies you want, just delete what ya dont
its never been a better time to be a maker or hacker
ok! that's it for us today, this was great
if you want to get DEEP into the RP2040 or other chips, come on by scott's Deep Dive stream
Friday 2PM PST
@ladyada! I am about 1/2 through the Host Wing board https://github.com/ATMakersOrg/USB-Host-Wing-RP2040\
That reference design was a great head start@Dan Maloney for settin this up, lots of great questions and more!
thanksYou bet, thanks Adafruit folks!
great and informative as usual, thanks Adafruit gang!
You're entirely welcome! Thanks everyone for participating!
This was great. Thanks everyone!
@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
Thanks for great Hack Chat!
Thanks all! Transcript coming soon. For the Hack Chat side at least ;-)