New ESP32-S3 boards - Production Silicon!

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Don't sneeze!

👍︎︎ 4 👤︎︎ u/mrbill1234 📅︎︎ Dec 06 2021 🗫︎ replies

Outstanding! Looking forward to playing with them.

👍︎︎ 3 👤︎︎ u/fubarx 📅︎︎ Dec 06 2021 🗫︎ replies

Definitely prefer micro Python over circuit Python.

👍︎︎ 1 👤︎︎ u/androiddrew 📅︎︎ Dec 06 2021 🗫︎ replies
Captions
[Music] uh [Music] do [Music] [Music] [Music] do [Music] do [Music] and here it is straight out of the oven well i'll let it cool down a little bit first didn't want to burn my fingers so this is the tiny s3 this is the new tiny board in the range using an esp32 s3 and this particular board has eight megabytes of flash and eight megabytes of ps ram and that's eight megabytes on top of the 512 k of sram already inside the esp32 s3 chip so as you can see it looks kind of the same as my tiny s2 buttons are in a slightly different place obviously the tiny s2 has flash and ps ram inside the chip but much less four megabytes of flash two megabytes of psram we've got eight and eight and of course still looks similar to my tiny pico which is a regular esp32 with four megabytes of flash and four megabytes of ps ram flash and ram of my tiny pico pin for pin compatible except like the tiny s2 it's got an extra pin for i o 0 and tx and rx you don't need to use those to actually use the board it's got native usb so you can see we've got a serial uart chip here cp2104 on the tiny picot they are not needed on the tiny s2 and the tiny s3 so here it is now that's not enough though i mean let's face it we also need a feather s3 i just built this right after i built that one didn't do it on video though as you can see feather s3 this is kind of like my feather s2 it's a bit different though the feather s3 doesn't have the second ldo mainly because i can't get ldos at the moment there's a silicon shortage but the feather s3 has some things that the feather s2 doesn't it's still 16 meg of flash and eight megabytes of psram but this has usb sense on it as well as vbat sense so you can query the battery voltage as well as query if there's a five volt input present which means you can detect and change your code based on whether it's running off 5 volts or whether it's running off a battery all of my boards have that now and it's still got the ambient light sensor at the top and of course things wouldn't be complete unless i had my new pro s3 as you can see nice big logo so this is fully compatible with the tiny s3 as you can see the first set of 10 pins on each side after the first 10 they pin out slightly different but the pro s3 has stacks more i o broken out it's also got 16 mega flash and 8 megabytes of ps ram instead of the 8 megabytes of flash some more flash it's got battery connector on top this is a pico blade connector instead of the jst ph like this one it's also got a vertical stem connector on it instead of the horizontal one obviously i can't do a horizontal one here because there's pins on the sides but as you can see from this board it's got cast lag pins so that's why there's a battery connector on top so you don't have to put a battery connector on the bottom like on the tiny s3 if you want to put a battery plugged into that rather than the v-bat pins which means you can actually solder this to another board it's also got for the first time the jtag pins broken out we've got jtag over here the last four and io3 which is over here allows you to set what jtag mode it is on boot so that is the lineup of my esp32 s3 boards these are all using final production silicon that doesn't mean i'm going into production right now the silicon is in short supply very short supply and these are still prototype boards so when i say prototype boards they're p1 which means that they are production boards in terms of their features but i only got five of each done just for final testing before i commit to doing panels or boards so i'm pretty stoked with this lineup finally i've got the pro board i did actually design the pro as a pro s2 but i never actually shipped it but dual core esp32 s3 chip with 2.4 gigahertz wi-fi and bluetooth 5 on all of these boards very exciting so i guess we need to see if they work and there's nothing nicer than doing this nice so obviously that needs to be cleaned up i'll do that later these boards have not even been cleaned you saw me build it it just came out of the oven still got a bit of flux on it but let's now plug it in and see if we can do a build a micropython for it and see if we can get it running hi so i'm at my computer now as you can see i've got visual studio code open and i have a feed coming in through my camera i have beat the board out to make sure there's no shorts on it and there isn't which is great i don't want to plug it in and have it blue smoke but i have not actually plugged it in yet so i have no idea if it's going to work but let's find out okay we've got power led and you might not be able to see there's a flashing charge led over here in the corner i've actually put high resistors on the boards now to make the leds not as bright i had some feedback from people that the my leds were too bright um no heat that's good great okay so right now the board won't do anything i need to put it into download mode so that's the usual press boot click reset and let go of boot or you can hold boot down when you plug it in so now that i've done that i should be able to do a ls slash dev slash cu dot usb star and there it is you can see usb modem one one one three zero one now i'm on a mac if you're on linux you'd be getting uh tty dot what is it a c m0 or something like that and then obviously on windows it'll be a com port so now i know what it is i'm currently in a branch of git git status of my fork of micropython as you can see here i don't have any of my board files or anything here i mean uh branch arm board mods i had made one change to machine dot adc which i haven't committed yet uh for some reason the adc ii is not enabled i'll speak to damien about why that's not the case but we need that so i've already made that change but that was done a little while ago um what i'm gonna do is copy over a board file that i've already prepared i'm happy to make a separate video about how to do that but it's basically based off the generic s3 spi ram folder i've been working on the s3 port for a little while with micropython and i've done several prs and so i've actually got a generic s3 and a generic s3 spi ram in there that you could use for instance to build firmware for the s3 dev kit a version that supports ps ram and a version that doesn't i've actually based my tiny s3 on the s3 spi ram because my all my boards have psrm on them so i'm just going to copy that file in so you'd have to see me make it i'll quickly show you what's inside it okay so you'll see that pop up hopefully in a second oh there it is okay so tiny s3 and inside that what have i got a boar.json file don't worry about that and that's just for the new download system i'll fill that in later mp config board dot h which basically sets up default pins for spi fi squared c the machine dac has been disabled for the s3 boards and that is because for the first time expressive have not included any dacs inside the sp-32 s3 so the s2 and the regular esp32 both have two 8-bit dax but the s3 has no dac at all so if you want to do audio other than just doing regular pwm you need to use the i2s peripheral to do digital audio out as opposed to using the dax so there's no digital to analog converters at all in the esp32 s3 so i've got that set up it's using the sp32 s3 fn8 so it's got eight mega flash my cmake file is set so it's got base which just is the default for esp32 it's using native usb it's got ble it's set to default to 240 megahertz and using spi ram and it's going to look for an extra manifest file inside my folder that extra manifest file will also include is in boards plus whatever's in modules and in modules i have a helper file called tiny s3 which has got all of the default pins that i have set for the board so b bus sense is on 33 b bat sends on 14 the rgb led the data is on i one powers on io2 and so forth and then there's some helper functions in here for setting the pixel power getting the battery voltage getting v buses present and a color wheel so that's pretty straightforward there is also just an sdk config.board which tells it that it's using eight megabytes of flash as you can see with the eight megabyte partition i'm setting the lwip name to um tiny s3 i'm not doing a mem test at the start because it makes the boot take longer and that's pretty much it so i should be able to build this and deploy it so i'm just going to clear this to build it i'm going to type make board equals um tiny s3 and in this case i'm going to pass it minus j20 now that tells it to use 20 threads it's pretty much going to max out my cpus that way i can do a build as fast as possible but it's also going to probably affect the screen recording we'll see what happens hit enter you'll probably also hear the fans start really wearing up in a moment like my computer's going to take off so i've got a 10 core i9 imac telling it to use 20 threads tells it to use the 10 cores plus the hyper threading cause and if you saw my graph right now cpu usage it would be completely maxed out but who likes waiting for bills no one go go okay that is built so we need to flash it and to flash it i am going to copy this and paste it and i need to change the port which is in brackets to the port we're using which is slash dev cu dot usb you should just hit tab yep good and i don't need the board because it's using native usb which doesn't use a serial chip so therefore or a uart which means it doesn't have a speed setting it doesn't matter what i can set the board to a million or one it'll be the same speed doesn't matter so hit enter and this should hopefully connect and flash which it is go go go you see it auto detected flash size 8 megabytes okay now it says here staying in bootloader that means it's still in the cdc mode so i need to reset the board hit the reset button you should now get it out so if i now again just click the screen to a ls slash dev slash cu i'll do usb star you can see it's changed the name it's re enumerated it's now using instead of the cdc it's using the native usb it's using tiny usb internally so enumerate says usb modem one two three four five six one and i believe if i had two plugged in it would be six one and six two okay so now if i r shell to it minus p for the port and dev cu dot usb modem hit enter we connected excellent so go into the repple we have micropython version 1.17-223 it's a dirty build which means it's not stable it's whatever current main line is built fifth of 12th 2021 tiny s3 with esp32 s3 dash fn8 so if i import micro python and then i go micropython dot mem info and hit enter we can see eight megabytes so it's got eight megabytes of memory allocated so by default marker python will use the ps ram not the sram so we've got full eight megabytes of memory to use in micropython on a microcontroller that is nuts so what we need to do now is we've got this um helper library we don't actually have any code on there to run it so i'm going to hit um control x to go back into i'm still in r shell but i'm at the command prompt and i'm going to copy over a file i prepared earlier it's just a tiny s2 code but it's referencing tiny s3 instead of tiny s2 so copy um uses xeon tiny s3 example dot pi i hope it works and pi board when you do slash pi board that means whatever the board is that's plugged into the computer so i'm going to copy it there but i'm going to call it main.pi because we want it to get called when it boots so copy that over and we're going to go back in the replica soft reset which is ctrl d and hopefully we'll see some information on the screen and we'll see the rgb led cycle ctrl d soft reboot and there we go so we've got a cycling rgb led and so we've got software boot hello from tiny s3 we have eight megabytes of memory we have okay six megabytes of flash left after everything that's on there uh battery voltage is 1.09 and that is because um there's no battery plugged in right now and i've actually not set it to use the correct resistance that i put on this board should be detecting 4.2 volts by default and v bus since v bus 5 volts is present we have a working board we have microphone on it and we have a spinning rgb led which i know talk about overkill for an esp32 s3 but the board works okay how cool is that i have a working tiny s3 and it's the final revision and i'm able to go into at least pcb production for those the pro s3 and the feather s3 i don't believe there's going to be any issues with those either i'll keep working on my python fields of those just to be able to test them there is one small change that i've already made on the silk screen for the feather s3 i made a mistake and i had two of the labels on the wrong spot the actual hardware is correct just the labels were wrong so that's already been fixed and ready to go when i send off for production boards now it's not going to be any time soon so if anyone's hanging out for a tiny s3 a pro 3 or a feather s3 well there's just no silicon around i do have some silicon i can actually build a short run production of the pro s3 and the feather s3 but i don't have enough silicon to do tiny s3 unfortunately so who knows how long it's going to take i'm in the queue to get some more silicon but i've been warned it could be quite a while like next year sometime hopefully earlier than later but still super cool i've got the boards ready and uh the best birthday present today so far the fact is there's really no hurry because there's no arduino support yet and the idf support is still early it's still 4.4 is still at dev branch i'm sure it's going to take many many more months to get the s3 fully done and stable and micropython is there it's usable now but it's still early i'll put a lot of effort into getting it to where it is but i'm sure there's still more work to do and i haven't tested everything i've not even tried bluetooth yet so there's a lot more work to do there circuit python is not there yet but i believe s3 support was actually just merged into mainline yesterday or the day before which means um they're hoping to have early s3 support in 7.2 but 7.2 hasn't even had an alpha release yet so it's still very very early but uh hopefully fingers crossed there'll be circuit python and micropython and idf soon and then arduino sometime in the future and of course it's going to take you know four months six months for full support to come out on all the different platforms so early adopters yep jump in if you want to but yeah there's going to be a bit of a weight just like there was with the s2 okay thanks for watching and i hope you enjoyed this don't forget to like and subscribe and i will catch you later bye
Info
Channel: Unexpected Maker
Views: 17,794
Rating: undefined out of 5
Keywords: maker, electronics, hobby, projects, 3d printing, laser cutting, arduino, microcontrollers, Espressif, ESP32, TinyPICO, MicroPython, CircuitPython, FeatherS2, ProS2, ESP32-S2, ESP32S2, ESP32-S3, ESP32S3, New ESP32S3 boards, Final Silicon
Id: rcTrYBtaAMc
Channel Id: undefined
Length: 19min 49sec (1189 seconds)
Published: Sun Dec 05 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.