#live-broadcast-chat
1 messages ยท Page 36 of 1
I find I only need 2 Amps of power once. Then everything gets hot and sparks and current draw goes to zero
I only use my powerboost 1000 for recharging the adafruit 10,000 mah batteries otherwise they can take DAYS to recharge at lower rates (while in use using pass-through charging).
โMy circuit can sink 500 amps of current! But only for like 25 ms, and only onceโฆโ ๐คฃ
Everything is an incandescent light if you give it enough power
yup, that big 3-cell pack is what i use to keep most of my little projects powered during a hurricane.
@dim wigeon That's when that aroma is release?
A
Exactly! ๐คฃ
I've experienced that.
๐
oh yeah that's a cool hat breakout board
what's the refresh rate like on these tri-color eink nowadays btw?
When I was in 3rd grade, I plugged a 3VDC incandescent light bulb into a 110V outlet during science class. I learned a lot about inrush current and thermal runaway and how circuit breakers operate, half the school lost power for 20 minutes, and my teacher was picking shards of broken glass out of the ceiling for several days.
Adafruit EYESPI Pi Beret - Buttons, EYESPI and STEMMA QT https://www.adafruit.com/product/5783
Adafruit TSC2046 SPI Resistive Touch Screen Controller https://www.adafruit.com/product/5767
@dim wigeon I'll have say I can't top that.
Probably safer that way.
Is IRQ the same as an interrupt and it's just easier to silkscreen that?
I think IRQ stands for โinterrupt requestโ by convention.
๐ oh... right. oops.
Those grids are amazing, I can't wait to replace my project stands with those
Adafruit Swirly Aluminum Mounting Grid for 0.1" Spaced PCBs - 2x10 https://www.adafruit.com/product/5780
Adafruit Swirly Aluminum Mounting Grid for 0.1" Spaced PCBs - 5x5 https://www.adafruit.com/product/5779
Adafruit Swirly Aluminum Mounting Grid for 0.1" Spaced PCBs - 10x10 https://www.adafruit.com/product/5781
With most of our dev boards, sensors and feathers now sporting plug-and-play stemma QT portsย it can be very fast to put together projects with half a dozen boards snapped together. But ...
With most of our dev boards, sensors and feathers now sporting plug-and-play stemma QT portsย it can be very fast to put together projects with half a dozen boards snapped together. But ...
What does the โ4โ in FR-4 denote? Wikipedia says there are other grades of FR-* circuit board, but doesnโt explain what the 4 specifically means.
Adafruit Matrix Portal S3 CircuitPython Powered Internet Display https://www.adafruit.com/product/5778
Folks love our wide selection of RGB matrices and accessoriesย for making custom colorful LED displays... and our RGB Matrix Shields and FeatherWings can be quickly soldered together to ...
Same, I keep most of my microcontrollers in a bin. Now can display them on a wall.
The 4 is one better then FR-3 (sorry, couldn't help myself) - 220, 221, what ever it takes.
And there are always places to park; some are just more expensive.
Yay! Newwwww
Very nice Melissa, thank you for the backend work.
I bought 1/4" plywood and would drill then screw/bolt the sensors onto those. The mounting grids are just closer to "plug and play" setups which is great ๐
So tomorrow I need to build a 15kHz VGA tester with an Arduino to test the LCDs we have at the fablabโฆ seems it's just some wiring and code ๐
Cool module
that's for the sonic sensor stuff, very nice.
Q: I want to take my skills to the next level, but I'm too young to go to EE school. Are there any supplementary resources on circuit theory that you could recommend?
That metro S3 looks like a dev board... do want. I have so many projects already.
QUESTION: Can the UBlock do centimeter accurate altitude?
oh no they skinned teddy
Iโm pretty sure some good universities are putting some of their classes online, sometimes free! Iโll poke around when I have a moment. (I was lucky to take college classes while I was still in high school, so I encourage you!)
A black bear teddy ruxpin sounds neat. immerse in black dye for a goth ruxpin?
It's like two people trying to drive the same car ๐
Already over 300 revisions already, not stopping now.
Iโm curious now what behavior the person who stacked two feather MCUs on top of one another was expecting from them. ๐ค
Cooking at 3am and watching @proper trench โฆ totally normal ๐
and you will be taken down rabbit holes you never knew existed when you start building things.
I really appreciate the advice about learning theory. I was trying to read TAoE during the pandemic, and now I understand better what that was such a struggle! It makes a lot more sense as a reference book!
@proven crow PTโs advice is great; start with a project idea. And come back here with any questions at all; weโre all beginners at something.
I think 400 is germanium.
Yeah, his thoughts really resonated with me! I'll do some brainstorming and ask questions as needed, thanks!
400 is definitely calfskin wallet anniversary
This is such a helpful and generous community, itโs really wonderful!
Yeah, and look for a fablab / hackerspace around you, they're usually very welcoming and helpful. There are maps online for them.
https://wiki.hackerspaces.org/List_of_Hackerspaces / https://www.makery.info/labs-map/ / https://www.fablabs.io/labs
Thank you for taking time for us.
Thanks @open girder and good night. ๐
@proven crow Also, I like to visit learn.Adafruit.com for ideas and inspiration. Those projects are very well documented, and again, weโre all here when you are scratching your head.
Nice show! I always learn something. Thanks ๐
Thanks for another excellent evening of shows!
If you want to get into electronics you might want to consider getting into HAM radio
Thanks @open girder Have a great night
Thanks!
๐
Thanks, Adafruit!
Bye
Bye
thank you for another great episode.
n8
The learning system is great, for sure! I've lost many hours to the "random" button...
Peace out.
Bye all!
thanks @open girder !
good show, thank you
Thanks for another great show, @open girder !
@proven crow finally, if you havenโt built something before, Iโd suggest starting with a smaller project. One that lights up or makes something move will reward you with a sense of accomplishment quickly.
make it blink! ๐
never underestimate the power of your first blink
One of my favorite early projects was working with LCD character displays!
@proven crow (My mistake when I was young was trying to start with a big first project. I never made progress and lost motivation.)
the LCD character displays have all new revisions now too.
I've made my fair share of projects, but I think making something that involves complicated concepts but is still not too big of an undertaking sounds like a good idea! Thanks again ๐
Also learning how to make your first PCB is highly rewarding.
I felt the same way after my first PCB as I did after my first blink. It's just another level of awesome.
Awesome; forgive me for assuming you were just getting started. But even now, for my more ambitious projects, if I find myself not working on them, I try to find a small piece I can work on for a day or a few hours. Sometimes it means jumping from hardware over to Fusion 360 and playing around with 3D printed case ideas.
?showtimes-gmt
Desk of Ladyada - Random hacker times
JP's Product Pick of the Week - 20:00 Tuesdays
3D Hangouts - 16:00 Wednesdays
Show & Tell - 00:30 Thursdays
Ask an Engineer - 01:00 Thursdays
John Park's Workshop - 21:00 Thursdays
Deep Dive w/Foamyguy - 22:00 Fridays
FoamyGuy's CircuitPython Stream - 16:00 Saturdays
Evening all.
hi there!

๐
show.... time
time is a construct @spiral vale
Wait I thought time was a loop
Time is an illusion - lunchtime doubly so.
haha
@spiral vale You beat me to it. ๐
into to the intro
hello all
๐ฅ
AllTheChats...
Howdy @haughty quiver!
always a coupon code, never a crouton code
What happens of I try that coupon code in Ikea?
I asked Ikea, and thay told me their coupone code is "JohnParksWorkshop" ๐ฎ

is there a coupoff code as well in case you want to pay more? ๐
Lol
Does that actually emulate a NES on an RP2040? ๐คฏ
๐ธ๐ช ๐
@austere pollen The coupoff code is for when you don't like croutons.
๐
@clever summit Good evening.
๐คฏ ๐คฏ C R A Z Y what people do with RP2040
given the last three years, I would pronounce it as "Mo' P.P.E.!"
Well assuming it has sufficient I/O and memory the RP2040 should be able to easily outperform the NES in terms of instruction throughput.
Mop eh
even more easier to use? How's that possible? ๐
cp.pixels.phil()
Click the speaker icon on top here - https://tyda.se/search/moppe
Moppe pรฅ svenska med bรถjningar och exempel pรฅ anvรคndning. Tyda รคr ett gratislexikon pรฅ nรคtet. Hitta information och รถversรคttning hรคr!
cp.pixels[7:9] = (255,0,255)
Wrong bracket...
Aren't you providing 3 numbers with an index of 4 on the left?
Or did I misread that before?
4..8 (4,5,6,7)
AH: it wants four colors on the right - one for each in the range
yeah wants same number of tuples as array elements
Alpha?
maybe fill could be made to work with a slice
White...
You can use range() to do four of them I think...
you need to pass the duchie on the right hand side
yep, oops should be:
`cp.pixels[3:8] = [(255,0,0)] * 5`
oh these! I have like a dozen of them ๐
Moped?
@cinder wind - will that work? I think it combines them into one tuple
This is the Python obscura that I avoid
ยฃ25 in my local Ikea... ๐ค
i wonder if you could use slim enough latching push buttons, so you could still store the finished music box drawer inside the moppe shelf ๐
cp.pixels[3:8] = ((255,0,0),) * 5
Note the extra (stupid) comma
t = (1,2,3)
l = (t,) *4
print(l)
((1, 2, 3), (1, 2, 3), (1, 2, 3), (1, 2, 3))
Without the comma after the t it gives a single list with 12 elements
@haughty quiver if you did a Parsec on the * operator applied to tuples/lists/arrays it would be great!
ah right. I had it as a list before. I'll change it back
@haughty quiver - why Grasshopper instead of Fusion? What are the pros/cons?
Yikes!
just use microsoft paint 3d ๐
Plus Grasshopper in Rhino is a whole programming environment for dynamic parametric 3d modeling!
The Forums, has a post on SSL certificate update
sorry JP, my fault ๐
Not quite
for different colors will need to put in list or tuple, no?
normally, yes
Just plugging in. โค๏ธ to JP for making the Parsec snippets available now too.
We're going to start linking to the Github repo in the weekly newsletter too ๐
Screenshot to OCR sounds cool. Don't think Windows snipping tool does that.
exactly! ๐
Great workshop, @haughty quiver.
transcribing it yourself is also a good way to write the code. one of those old chalk board repetition things that helps your brain.
Thanks @haughty quiver . Have a great weekend everyone.
And @haughty quiver will also train on saying "mop-eh" until next week. ๐
(Yeah, you kinda got it already)
Thanks JP, I look forward to progress on mod-moppe. Have a great week
Thank you @haughty quiver !
Bye. ๐
thanks JP!
๐
Thank you for another great episode.
thanks JP! aka MOJPPED
too bad it's not an "ISS certificate" that needed updating. that's when we learn adafruit.io is hosted in the most cloud of clouds: an orbital adafruit server array
haha
@smoky island hoping for good weather tonight ๐ฌ๏ธ
Hello
Good to see you again. ๐ค
+1 for wiznet, just got the 5500-evb-pico
there was a 5100 version too earlier. Both CPY supported
so much better than wifi, makes me think almost industrial grade stuff
5100, 5500, and 6100 all work about the same, just diffs in number of sockets and internal memory (5100 is the only one with a hat (to stick on a Pico W, for example ๐ ))
Heya๐ธ๐ช
Be carefull with the token, it is like username+password
So I wouldn't show it on the stream
doesnt the exception type change from timeout exception to connection down exception, potentially breaking, only 1/2 paying attention tho
Nice to see you streaming again. ๐ค
I'm getting dhcp timeout errors in arduino so attention piqued
You need a dhcp server code.py that fires bad packets or deliberately doesn't respond / waits excessively long before replying, i.e. a good test case
here's a start for wiznet NTP example https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/issues/126#issuecomment-1611786080
Oh with automatic timezone offset. Just 1 line of code, very simple. I might start using that.
We cant hear it, np.
NTP is required for wiznet?
wiznet ntp example just b/c the wiznet NTP feature was deprecated (in favor of adafruit_ntp)
Ah
isn't ntp required for ssl, to validate the certificate date, so I think maybe it's setup automatically on esp. Now I'm curious
espressif esp-idf does have features for getting the time behind the scenes, we don't expose it to CircuitPython
Yeah in some projects it might be required but not always. I was more asking if it was required for packet timing.
Let'sEncrypt is free, self-signed are options too
@unreal bay https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-reference/system/system_time.html not sure if this happens in conjunction with SSL
look at letsEncrypt. the industry decided free ssl for all, renew every 3months
I learned about terminal colors from JP. I think he did a parsec on it.
yeah CertBot for the win, I got lazy and use VirtualMin-GPL, auto renewals for letsencrypt, and setup new sub-servers in seconds.
Ive been using โ & โ for connection status in repl lately. Itโs much easier to spot.
Having emoji support has proven to be more helpful than i originally thought.
That looks very useful. Didnt think of fomatting things like that.
you should see anecdata doing imports with emoji filenames (โ๏ธ), throws the brain for a second
yup, I think that should work
:p
Havenโt seen that. Other than blinka icon before ip in repl.
it won't necessarily show on the displayio terminal
Yeah i only use it for print debugging.
I was looking into emoji font stuff. serenityos has 10x10 color emoji
When pulling down a lot of json data from an api a quick emoji can help.
cozette (size varies) and unifont (16x16) have monochrome emoji
Monochrome emoji doesnโt sound as fun.
i recently added ANSI color codes to my usb debug, and it helps a lot, even with just 1 color implemented
But if it helps with language support might be an acceptable concession
@linusgroh@chaos.social @tannewt@mastodon.online ooh it's color pixel emojis! see parent post
#define CSI "\x1b["
#define RED CSI"31m"
#define DEFAULT CSI"39m"
printf(RED"foo\n"DEFAULT);
and then off to the races you go!
Interesting syntax.
https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797 is where i found the color codes, and more
udp being stateless means you dont have a connection/receipt event and so you always listen, else miss messages. Is that about right scott/anyone?
"" or "0.0.0.0" I think just mean bind to all interfaces
Good stream. Quality stable. Oh will try to catch you tomorrow. I also snagged an s3 matrix portal.
Thanks for the stream. Gotta go check some NTP time code.
Cheers all
Got my โ ready, and I'm getting started now on the stream. I'm taking a look at the new Matrix Portal S3 and playing with some displayio stuff. You can follow along on YT: https://www.youtube.com/watch?v=gTijiXylf30 or Twitch: https://www.twitch.tv/foamyguy_twitch
Hey Tim!
Got my coffee ready as well. ๐
I have the Trinity board, it is an ESP32 based version of what you are playing with.
โโ
Might be time for me finally getting CP running on an ESP32.
Friend of mine in Ireland designed that and sold it on Tindie. But he closed his store, so only available from China now.
Oh, this is exciting: looks like ulab is in the distribution for the MatrixPortal S3!
โ Morning all, just popping in before I have to head out. Hope everyone's day is starting off well!
That looked like a typical matrix portal power brownout crash
Thatโs why I usually set the bit depth high and avoid saturated colors, particularly white.
(and why the palette_fader library was created)
With the S3โs memory capacity, it may be time to revisit a built-in brightness control in matrixportal.matrix.
The group boundary box will indeed be useful. Wondering if tile grids are in a list in the C code.
The display object type should already be considered in the C code, as well.
What time does the desk of lada ada start?
Sunday Desk of Lady Ada is random usually from 8pm - midnight. just depends on personal factors whenever she wants to stream
ok thx
in US Eastern Time 8pm - Midnight. feel free to translate that into your favorite timezone or unix time whichever you prefer.
Desk of Ladyada - Flippy Floopy Floppy Flavor https://youtu.be/HrhH2Zm5Qo0
Floppies are trending again on the ada-desk this weekend, as we get back to making hardware for a firmware push we did about a year ago to create floppy interfacing code for both Arduino (https://github.com/adafruit/Adafruit_Floppy) and CircuitPython (https://github.com/adafruit/Adafruit_CircuitPython_floppy). A lot of that original code was goi...
shugart interface \o/
"do you guys remember that huge scsi floppy connector"... i'd rather not.
i honestly still have a few molex to 1.44 floppy power adapter just in case
this PCB needs a bunny with big floppy ears or something. it's like an all in one "floppy all the things" boards.
that actually looks like a tough problem to solve combining all the different types
wait this is all a floppy to SD converter? that's brilliant.
Jepler is probably salivating looking at that ๐
would a 3A vs 2A mean it would be more efficient at lower voltages?
No, its mostly a cost issue, you tend to pay more for more current all other things being equal
learned a lot thank you.
Desk of Ladyada - Random hacker times
JP's Product Pick of the Week - 20:00 Tuesdays
3D Hangouts - 16:00 Wednesdays
Show & Tell - 00:30 Thursdays
Ask an Engineer - 01:00 Thursdays
John Park's Workshop - 21:00 Thursdays
Deep Dive w/Foamyguy - 22:00 Fridays
FoamyGuy's CircuitPython Stream - 16:00 Saturdays
ah, the bot is not programmed using prolog
that's just what the bot wants you to think
๐
๐ฑ
lars programmed it perhaps
uh oh
?showtimes
Desk of Ladyada - Sunday Evening
JP's Product Pick of the Week - 4pm ET Tuesdays
3D Hangouts - 11am ET Wednesdays
Show & Tell - 7:30pm ET Wednesdays
Ask an Engineer - 8pm ET Wednesdays
John Park's Workshop - 4pm ET Thursdays
Deep Dive w/ Foamyguy - 5pm ET Fridays
FoamyGuy's CircuitPython Stream - 11am ET Saturdays
GMT times are in military time and seem to be correct for GMT.
oof didn't realize show and tell and ask an engineer happen so late in London. that's definitely why we're not getting more participation from GMT and +GMT timezones.
good times for getting US West coast involved at a reasonable time, definitely US only friendly timeslots for the evening shows.
Good 20 o'clock on a Tuesday! โ
hello!
Good afternoon.
Hello!
hello all
good afternoon
Hello
good afternoon folks
Evening all, this ones a really good deal ๐
I hear music. hello from the left coast
In for 3. It's prop making season. Haunt season beckons
hehe
wait how is that different from the thumbnail
what's a good intro hobby servo to start with to go with this?
@cinder wind i made the plane propellers a little more transparent, it's hard to tell yeah, i'll do better next week
I like micro servos to try out. they don't require much power so you can easily power them from USB (but they also don't push very hard) https://www.adafruit.com/product/4326 (that one has a non-standard connector, but you can find equivalent elsewhere)
doh, that was the bit of info i wanted, only time will tell (and the learn guide)
Ha, made me refresh my browser. Thought it was my end because another unrelated network device suddenly froze on my end
Picked up 2. I can't wait to couple this with one of the Gamepad QTs I bought last week!
(I'm also picking up a couple Stemma QT muxes and hubs while I have the order open)
Yes this is JP's idea of "basically unmodified"
All the wires hanging out gives it a nice steam punk aesthetic but you definitely wouldn't want to get into a squirtgun fight with it.
Wow, dunno how much they stocked at the start of the livestream, but it was โ55 in stockโ at around 3:45. These things are going fast haha
I picked up 2. Good sale price for it. Inevitable that I'll use some for Halloween. Would rather have them on-hand before Halloween when they might go out of stock and hard to get at that time.
yeah there were 89 about 10 minutes ago, they're going quick.
this is the newer prop-maker too based on the rp2040.
They often have a quantity held off to the side that they add to inventory just as the steam goes live.
They do, and that stock has run through quick haha
I'd like to see someone use one with a slip ring for a lighted gatling gun on the end. That would work well for a space marine cosplay.
this might work for wifi: https://www.adafruit.com/product/4264 ?
Airlift featherwing? oh beat me to it
yup airlift FTW
I'm on the hook for an elevator prop for this year's haunt. LEDs for floors passing by. Floor indicator dial on servo. The room has a shaker table floor
i have many airlift featherwings that i put on non-wifi feathers like the rp2040 feathers. They work great.
Oh also, how loud is 4ohm 3W output? Is Lars using the full 3W output?
if you want to add wifi to any feather the airlift is definitely the way to go. get the stacking headers with it to make your life easier.
nope, still available but be quick
another ten mins if lucky
Thanks @haughty quiver
still half off shortly after the show ends.
add it to your cart and purchase it quick.
Thanks!
you have to purchase it during the show, adding to cart isn't enough.
like if you add to cart half off, it'll go back to full price when the show ends even if it's in your cart.
Make sure your checkout page shows the sale price!
Great deal today. Thank you JP. Please let the code go for a little bit more today because it looks like a few more want to get in on this one.
Think I'm up to 4 prop makers and 2 scorpios, I'm all set for a complete revamp of the electronics in my dragon skull mask and pumpkin for this halloween. ๐
Good afternoon all.
Good morning everyone.
3DHangouts Episode 406 LIVE! Lightsabers, Master Sword and Flexi Elephant #3DPrinting https://www.youtube.com/adafruit/live
Adafruit was founded in 2005 by MIT engineer, Limor "Ladyada" Fried. Her goal was to create the best place online for learning electronics and making the best designed products for makers of all ages and skill levels. In the last 10 years, Adafruit has grown to over 100+ employees in the heart of NYC with a 50,000+ sq ft. factory. Adafruit has e...
Hey Y'll
All the socials.
Today's coupon code โmastersaberโ gets you 10% off your order!
RGB LED Button
https://www.adafruit.com/product/3350
By popular demand, we now have these buttons with a full color RGB LED ring light! These chrome-plated metal buttons are rugged, but certainlyย not lacking in flair. Simply drill a 16mm ...
some boost with limited power consuption
some could not put noodles to the handle
the thing for the d20?
new d20 could be more simpler I guess
This is an African elephant with 22 movable joints.
The joint design of this elephant is different from the common chain-like design. These joints can be adjusted and fixed at different angles, allowing the elephant's trunk to be lifted and posed in various preferred positions. The tightness of the joints depends on the hardness of the material...
nice
PLA serials, PLA is very easy to print, some infill pla formulation require the first layer closer to heat bed, a good first layer is key point to avoid warp , and the cooling fan off at the first some layers. Once you donโt print well to slow down the print speed always is a good way. PLA origin...
https://www.youtube.com/watch?v=HH5zjPJ3vw4 This dodecahedron has tapered faces and is entirely shelled to createโฆ | Download free 3D printable STL models
Off Topic - Adabox news?
Thanx. Don't wanna know what, just if.
and the all important moment of zener
Thanks @rocky reef and @hard hollow . See you all tonight.
thanks!
Thank you for taking time for us
later ruis broz
thanks folks! cya tonight
?
@rapid hornet is that pico logic analyser https://github.com/fhdm-dev/scoppy? sigrok in py will be a very helpful community boost
?showtimes
Desk of Ladyada - Sunday Evening
JP's Product Pick of the Week - 4pm ET Tuesdays
3D Hangouts - 11am ET Wednesdays
Show & Tell - 7:30pm ET Wednesdays
Ask an Engineer - 8pm ET Wednesdays
John Park's Workshop - 4pm ET Thursdays
Deep Dive w/ Foamyguy - 5pm ET Fridays
FoamyGuy's CircuitPython Stream - 11am ET Saturdays
?todtimes
?showtimes-pacific
Desk of Ladyada - Sunday Evenings
JP's Product Pick of the Week - 1pm Tuesdays
3D Hangouts - 8am Wednesdays
Show & Tell - 4:30pm Wednesdays
Ask an Engineer - 5pm Wednesdays
John Park's Workshop - 1pm Thursdays
DeepDive w/Foamyguy - 2pm Fridays
FoamyGuy's CircuitPython Stream - 8am Saturdays
@rapid hornet Heard in hackaday episode today you'll be streaming Friday at 2pm. Will this be a regular change in the schedule?
I'm interested in hearing more about the circuit pyrate. I might have a use for one now.
it would help if the bot used the same formatting as what https://hammertime.cyou/ offers
but then you need to change dyno's config every time a date goes by
Yup, I'll be streaming most Fridays at 2pm pacific. (Taking the slot back over from foamyguy)
then the thu show would just be <t:1690488000:R>
We looked at this already. It doesn't do repeated times.
yeah, thats why i mentioned, the bot would have to be re-configured every time the date passes
so you would need a bot to re-configure the dyno bot
or a custom bot
I think most people are unaware the commands to list the times are in the channel pinned message.
and the pinned message is different in every channel, not per entire discord chat.
Aaargh... I don't have my web cam, I cannot stay awake for an extra 45 minutes tonight, so I will not be on Show&Tell. ๐ฆ
But I made a thing you might like and posted a 4 seconds video on X: https://twitter.com/DavidGlaude/status/1684331130202337281
I have made a PR to the WiiChuck library from the community bundle (it contan a simpletest, but not using the RGB like in my demo): https://github.com/jfurcean/CircuitPython_WiiChuck/pull/14
So this might be available for all soon.
The next addition to @CircuitPython WiiChuck library (community bundle) will be the Wii Drums from "Guitar Hero World Tour". (PR submitted)
Making sounds (or talking midi to do sounds) is the ultimate goal.
I just change RGB colour.
Drums, cymbals and pedal are all supported.
This is just a first version that works for me.
A quick hack on your guitar code.
Apparently it is possible to read the velocity too, that could be added.
Notice that my Drums joysticks report (31,...
oh cool @wind spoke
I knew you would like that.
I need people like you, Liz or Todbot to figure out how to produce drums sound (wave? synthio?) or do midi (there is a midi plug already, old style DIN). But I am already happy for tonight. (and that is a 17โฌ acquisition, including two Wii Guitars in the same price). ๐
didn't mark gamblor do drum sounds?
yes, @nova totem has some synthio drum code
or if you want to do drum sample playback you can check for these: https://learn.adafruit.com/spinning-disc-step-sequencer/disc-step-sequencer-audio-and-code
Drum sounds can be samples and there's a ton of drum samples on the internet including classic 808, Korg, Akai, etc...
exactly
Since it's electronic you could also swap them out for midi notes and have your drum act as a keyboard. A lot of possibilities.
Click this link to join show & tell live to show off your projects! https://streamyard.com/gi2ex8dnzx
WE ARE LIVE! SHOW and TELL https://www.youtube.com/live/QhjZ1GjHI9g
o show and share a project at 7:30pm Eastern today, view the chat or in discord https://adafru.it/discord and look for the JOIN link to join. For best result...
that looks really cool
rad ๐ท
(please add arduino support ๐ฅบ)
scott is always bold when it comes to doing demos .. but ultimately he'll deliver us working code ๐
Great! So when circuitpython can program other cirguitpython devices, finally humans aren't needed any more! Sentient AI incoming
hi and bye. ๐
that's way outside my wheelhouse, but as far as I know it should be totally possible
@haughty quiver you could cap the number of simultaneous sounds and if the user has more switches than that turned on, pick randomly among them
Thanks everyone, great projects. Thanks Melissa for hosting
Thanks everyone for showing off your projects.
when I did a similar project (it never got turned into a guide and I dunno where the source is) I had one looping ambient sound (e.g., woodlands) + 8 random sounds (e.g., a bird call), and I'd play maybe just 2 or 3 of them at a time. this was on a trellis m4 I think.
so you still get a lot of variety based on your switch choices but never everything all at once
WE ARE LIVE! ASK AN ENGINEER! https://youtu.be/K7N246XAzY4
ASK AN ENGINEER 7/26/2023 LIVE!
Visit the Adafruit shop online - http://www.adafruit.com
LIVE CHAT IS HERE! http://adafru.it/discord
Adafruit on Instagram: https://www.instagram.com/adafruit
Subscribe to Adafruit on YouTube: http://adafru.it/subscribe
New tutorials on the Adafruit Learning System: ...
10% discount code, code is: csidsi http://www.adafruit.com/ ends at midnight NYC time
Adafruit Industries, Unique & fun DIY electronics and kits : - Tools Gift Certificates Arduino Cables Sensors LEDs Books Breakout Boards Power EL Wire/Tape/Panel Components & Parts LCDs & Displays Wearables Prototyping Raspberry Pi Wireless Young Engineers 3D printing NeoPixels Kits & Projects Robotics & CNC Accessories Cosplay/Costuming Hallow...
Adafruit Industries, Unique & fun DIY electronics and kits : Free - Tools Gift Certificates Arduino Cables Sensors LEDs Books Breakout Boards Power EL Wire/Tape/Panel Components & Parts LCDs & Displays Wearables Prototyping Raspberry Pi Wireless Young Engineers 3D printing NeoPixels Kits & Projects Robotics & CNC Accessories Cosplay/Costuming Ha...
Greed
But can you store a circuitpython file on the floppy drive and run it using that thing? ๐
๐ ๐
Dude,! You're doing a weekly rant about open source! It's part of the pprogram.
Punch card reader for ciruitpython on punch cards next? Or tape? ๐
๐
doing a firmware upgrade by putting a new UF2 on floppy would be pretty cool. Pointless, but cool.
great Idea!!!
That's pretty cool they have a repo with examples, too
And the music is not too loud this time on this section, thanks @open girder ๐
Really must sleep, past 2amโฆ n8!:
@gray obsidian all good ๐ made it sure it was not a different level then the rest of the show ๐
yeah no need to rush to lower the volume now, thanks!
oh, LED matrix builtin
quite Micro:Bit like
I've been playing with he R4 recently and have been struggling to get SoftwareSerial working. Not sure if others experience it.
I still have my original breadboarded Arduino .It was an achievement for me at the time just starting out.
Nice!!!
Well we had about the same amount of memory on 80s computers and we did (and still do) a lot of stuff with themโฆ cf. Demoscene ๐
I don't think there are a lot of demoparties in the US, are there?
Actually there's Kansasfest currently goingโฆ not sure it really qualifies? https://www.demoparty.net/country/united-states
Noob question: How does that matrix work with only 8mA per IO pin?
I didn't know that Adafruit made Arduinos during that drama ๐คฏ I think in school I used some "Genuino" ๐ค
Funny that shape they ended up with is weird and doesn't show up on the prototypesโฆ
yah, they were in a jam so we helped out to get them through
The picaxe killer lol love the serial
oh dear I was supposed to sleep, bye everyone!
The little plastic holder was a nice touch
Now I know how to say "hacker-friendly" in Italian.
Adafruit Metro ESP32-S3 with 16 MB Flash 8 MB PSRAM https://www.adafruit.com/product/5500
Leap Motion Controller 2 https://www.adafruit.com/product/5758
Adafruit CSI or DSI Cable Adapter Thingy for Raspberry Pi https://www.adafruit.com/product/5785
Will the bus circuit pyrate definitely use the same 10-pin IDC the bus pirate uses or something different?
I have a feeling @open girder has been working on a digi cam for a while but chip shortage...
Blink twice if future Adabox might cam coming?
we have 10+ adaboxes lines up, so maybe
Real time Klock?
Thanks @open girder and good night. ๐
Thank you for taking time for us.
thanks adafruit!
I am groot ๐ชด
thanks all!
So babyada can host show&tell next week? ๐ถ
Thank you Adafruit
Have a great evening
Thank you for another great show. See everyone next week. Same Adafruit time, same Adafruit channel. ๐ฆ
https://gist.github.com/gamblor21/15a430929abf0e10eeaba8a45b01f5a8
There was my drum code.
Thank you.
It seems that I don't even have the right English (or French) vocabulary to talk about drums (or sound/music/rythm). Nothing at school or in IT professional live did prepare me for this... right now I use google image on "Snare", "HighHat", "KickDrum"!!!
But ok, those are class that use synthio and numpy to create the sound to expect from that kind of instrument.
I need to start with some more simple synthio code and level up. But this is great, no doubt about it. I might start more simple, and now it is clear why my demo was RGB. ๐
There is such a learning curve here, in an unknown territory. But I keep being facinated by what JP show, midi project by Liz or TodBot things.
It wil take time before I'll use that, but I will get there for sure.
Can't wait to see what you create. It took me a while to go from nothing to being able to make those drum sounds too. One great thing is synthio has a lot of features full synths have so I was able to learn from YT videos on making sounds in other software
So I have a Wii Drum machine and CP support to read the "hit" (and I could maybe also fetch a "velocity" information).
There are so many things that can be done:
- Bypass the I2C and get the midi notes from the din (maybe with CP board that receive midi notes)
- Get a CP board to read in I2C and produce midi on the USB side, then get a synth on PC to produce the sound
- Playing sound directly on the board (just playing wav or something like that)
- Maybe the ultimate level is to generate the sound on the CP board with your code or similar
So I might try easy steps first... (but anything with midi will be new to me too, it's fine, I wanted to learn).
Good afternoon.
Greetings, good people.
Good afternoon JP. Hope you have a great day instore
hi all!
Hello! Itโs another beautiful day in JPโs workshophood!
๐ธ๐ช ๐
won't you be my neighbor?
It's too Lars adjacent...
Hey all!
I think there must be two @clever summits...
So @haughty quiver did you practice your swedih since last time?
Inception baby!
Chat is not showing
๐
@cinder wind You could make that machine but they might not let you do a learn guide.
Okay, burst my bubble... ๐ So have you gone to the full speed SD yet? and how many simultaneous samples should I expect on an S3
The looper coupon code should work over and over and overโฆ
Lol
@unreal bay i'd love help today figuring out if i've done the SPI speed setting correctly
spi.whats_yer_speed_yo()
I was working on an amby/drony patch for my FM synth module this morning so I'm interested to hear what you're doing.
The Circuitpython Parsec was illuminating...
"Moppe", I hear JP have been practicing!
That reminds me; I need to mop the floor...
๐ I have a Moppe right over there.
One drawer is full of batteries so I guess that'
s partway to an ambient machine
have a bunch of secret buttons inside using the extra inputs. tilt switches, knock switches, etc
magnetic reed switches
Lol
30 mph?
SPI clock speed settings: https://docs.circuitpython.org/en/latest/shared-bindings/busio/#busio.SPI
Zero... zero... zero...
The zeros are quiet.
what kinda sampling rate are those wavs?
"What are you doing, Dave?"
"diving"
thanks ๐
is it about timing, if they all had to start on a beat would it stutter?
andy id you know dae the diver game
What happens in the update() call?
30 MHz SPI SD-Card? ๐ pah
SDFSConfig sdconf;
sdconf.setCSPin(17);
sdconf.setSPISpeed(std::numeric_limits<uint32_t>::max());//Deja vu I've been in this place before
SDFS.setConfig(sdconf);
Serial.println(SDFS.begin());
@shell mason That was a quote from "2001: A Space Odyssey"
funny that its sampling as i watchedblade runner
I think you can double-check the bus frequency by print(spi.frequency)
sdcardio.SDCard() takes an argument for SPI speed. (e.g. sdcard = sdcardio.SDCard(spi, cs_pin, baudrate=30_000_000)
spi.frequency will tell you actual speed (be sure to do it after creating sdcard)
That's just kinda a joke that I did in arduino yesterday or so. But the fun takeaway from that is, that apparently my SD card can just handle the fastest SPI that the RP2040 can do ๐
Printing it somewhere else?
to verify the speed of a particular device on the SPI bus, the code needs to be in the device's context while it has the bus
(not all devices expose that)
Can you just print(spi)
Why is print in italics in the editor?
on the money, 1mhz plz
for me it worked at over 60 000 000 ๐
(but I used RP2040 with arduino. And a Sandisk Extreme Pro SD-card)
I was very surprised that it worked so fast for me ๐
need to adjust the busio.spi frequency via configure inside the try_lock
https://docs.circuitpython.org/en/latest/shared-bindings/busio/index.html#busio.SPI.configure
By setting baudrate in sdcard.SDCardio(), I am seeing the max SPI frequency of 31250000 on RP2040
Top bit looks right, so can they both be set to 60? and does it reflect it
spi.frequency is a read-only attribute
sadly sounds same
Set by configure(baudrate=xxx)
Try printing just the SPI object
sdcard.SDCard() will set the SPI frequency to 8_000_000 if it's not specified, making your spi.configure() moot
you must put your print(spi.frequency) after your sdcard.SDCard() call
This is what I do:
sd_spi = busio.SPI(clock=sd_sck, MOSI=sd_mosi, MISO=sd_miso)
print("spi:", sd_spi.frequency) # prints 200000 on RP2040
sdcard = sdcardio.SDCard(sd_spi, sd_cs, baudrate=32_000_000)
vfs = storage.VfsFat(sdcard)
storage.mount(vfs, "/sd")
print("spi:", sd_spi.frequency) # prints 31250000 on RP2040
I recommend to add bad apple because everything needs to be able to play bad apple ๐
That sounds cool, JP! VCV Rack is so great for letting us play with modular synths without needing to spend all the money
What's the startswith?
Right. I couldn't see that. ๐
Getting a real haunted house vibe...
Maybe the print isn't working at all, and the list of wave files is coming from somewhere else. ๐ค
this is what I am wondering. like a different CirPy board
Yes.
@haughty quiver Magnify the waveform and edit at zero-crossings. Some DAW tools have that as an selectable edit option.
Maybe it's not listing the first one, whatever it is...
What's in the box?
spooky things
๐ฑ
Now they sound like dogs.
wows
not me, Andy
Very cool @haughty quiver sounds great
Thanks for taking the time to learn to pronounce "Moppe" @haughty quiver !
PreSonus Studio One has some cool loop editing tools.
Another great workshop, @haughty quiver. Thanks.
Thanks for sharing JP. Looking forward to your progress
Thanks, it's an awesome project.
๐
thank you, JP! and I vote for a spooky sounds version too
Thanks. Very interesting stream today!
Bye
Bye
Itโs a โsoundscaper โ
Thanks JP
thank you all!
๐ธ๐ช
<@&846780953275006976> Reminder: I'll be streaming in four and a half hours. My plan is to talk USB host and am happy to field questions folks have.
<t:1690578000:R> i believe?
10 from now
yep, the timestamp is working and set to the right time
that timestamp works great
https://hammertime.cyou/ is how ive been generating them
Welcome back to the dive, Scott. You were deeply missed!
hoi zame
When was the last time???
Happy Friday to Scott and all present from Lisbon. Been away some time ( 3 weeks in KY and 4 weeks in Brazil).
Scott! Howdy hi!
Hi Scott, good to see you back.
we are deepdiving
๐ Welcome back Scott. Happy friday everone!
๐
Welcome back.
๐ New Cam? Surely you've got a pi zero2w kicking about, and couldnt help but buy the new v3 camera module... I mean autofocus for the win? It's got delay but a simple octoprint setup worked suprisingly well to OBS
must resist hijacking the stream!, been working on dwc/rpi tinyusb host
Is that doing AF in userspace? I haven't been paying much attention lately.
Just got the S3 matrix portal in. Will be hooking that up tonight.
Got 2 10x10 swirlies and a nylon standoff kit too.
i think the sensor has phase detection for focus aid, but the control loop is in userspace, within libcamera
Didn't quite understand the silkscreen by .1 increments.
The personal project I most associate with you is the pysigrok.
What hardware will be supported by USB Host? I have at home:
- 3 Feather RP2040 USB Host
- 1 Teensy 4.1
- 1 ESP32-S3-USB-OTG
All have CP support and USB host hardware... what will be supported?
Any other hardware to recommend and in your radar or roadmap?
Oh they're commas not decimal points. Like grid ref (and backwards like just said but if you think row,column rather than x,y)
ohhhh
interesting, the bcm283{5,6,7} rom can also boot over i2c slave
Another seesaw type of thing? But reprogrammable on i2c.
That is a nifty difference.
sounds like a modular synth can bus?
Pretty sure the S3 I am talking about does both: https://circuitpython.org/board/espressif_esp32s3_usb_otg_n8/
ESP32-S3-USB-OTG is a development board that focuses on USB-OTG function verification and application development. It is based on ESP32-S3 SoC, supports Wi-Fi and BLE 5.0 wireless functions, and supports USB host and USB device functions. It can be used to develop applications such as wireless st...
I consider the iMX in a different ballpark due to high clock but the ram still is less than an ESP. It has it's place.
I did see we added support for another iMX in 8.2 i think.
That iMX board is gigantic, still it has tinyUSB. ๐
Oh... yes possible, the switch...
esp has external qspi but imx must use internal qspi?
Wait.... timestamp, and writing down the topic covered today.
Who was doing that? Maybe it was a "David" but not me...
We will do that on the VOD.
what is MIPI display and any plans for adafruit to use that?
yeah, DSI is differential and DDR
the rpi1-4 exposes 2 DSI lanes, 500mhz max
so 2gbit of bandwidth
the CM1/CM4 has 4 DSI lanes
ah so like cp 12.0 milestone ๐
is this the intel8080 parallel display type thing? (got a lilygo t-displayS3 using i8080)
rpi calls parallel DPI
you just have 24bits of parallel color, hsync, vsync, data-valid, and pixel-clock
and a big hug and congrats to Neradoc for adding esp32-s3 box commits. first time i ever heard of the esp32-s3 box was on deep dive with scott like 2 years ago..
its undocumented, but the rpi also has an SMI interface for displays with ram
in SMI mode, it will present 8-18bits on a parallel bus, and hit a strobe pin, to write a frame out one pixel at a time, into the display ram
SMI has both 8080 and 68k modes, the difference is r/w+strobe or read-stobe+write-strobe
dang here I am just getting into 3D and there's already 8D-8D displays? yikes
I'm your linkedin user ( from my phone ), as my windows preview laptop has been extremely unreliable - many crashes
it's best to watch adafruit streams on youtube or twitch, they have the most reliable players.
I think someone was asking a question about usb host last night in cp help channel. My thought was something like a feather rp2040 would require hard wiring a 2nd USB port on it? Doesn't it need 2 usb ports? one for input one for output? or is that just an easier way to do it?
I had the idea of a keyboard+screen CP device that you use as a "terminal" to work on a CP usb device that you want to configure. Exactly what you tentatively tried to show in show and tell.
Basically a remplacement for PC, maybe for kids that would work in school.
if CP isnt connecting to another computer, then you dont need that 2nd port
hub/composite support? i.e. if the usb storage presents as more than simple single device?
I think that's something scott and jepler are actively working on... think it started with jeplers run cpm? which is a neat idea.
plus the file system walking floppy project anne did and halfway to a stand alone os.
Are you going to crash your computer LIVE by doing USB things? How frequently did it hapend while doing development?
oh, i need to return back to my crazy usb gadget project, i can make a pi-zero claim to be a 20PB usb drive
lets see circuitpython crash with that!
a pico, usb-otg adapter, and a dongle for wireless keyb/mouse
if you add something for display, then this could run CP and act like a PC
that's neat
well you can add a TFT display to most cp boards. just a matter of an in depth gui.
and cursor support which is something they're working on. i have a suspicion that's what featherpoint was eluded to by PT on AAE on wednesday.
So that is the USB Keyboard workflow?
i used to be extremely intimidated by bytestreams. after working on a couple projects that required bytes in hex it's far less intimidating now. as a beginner hex streams are a foreign language within a foreign language.
If you power with a Lipo, then you can connect the Feather RP2040 USB Host to itself...
but what would be the point? Self-test?
looks like the host tried to query the device descriptor
and didnt get an answer
get device descriptor, first 8 bytes
i used to get that a lot in windows with some devices. in device manager will show an error with "No USB Device Descriptor"
typedef struct TU_ATTR_PACKED{
union {
struct TU_ATTR_PACKED {
uint8_t recipient : 5; ///< Recipient type tusb_request_recipient_t.
uint8_t type : 2; ///< Request type tusb_request_type_t.
uint8_t direction : 1; ///< Direction type. tusb_dir_t
} bmRequestType_bit;
uint8_t bmRequestType;
};
uint8_t bRequest;
uint16_t wValue;
uint16_t wIndex;
uint16_t wLength;
} tusb_control_request_t;
the setup packet can be decoded as this
which software/hardware are you using for that capture?
ah, i see the product page, ouch, $1295!
just searched in discord for why i was getting the device descriptor failed and ended up being the magnetic cables. one or more of the pins wasn't working right, switched usb cable and it worked fine after that.
i think thats the ack phase of the control-in, and the NAK is the device rejecting it
finally found the orbtrace link
https://orbcode.org/orbtrace-mini/ - is this what you were referring to?
that feels like an issue with the usb device
also, try plugging that device into a linux host
and see what the beagle says then
if you aren't frustrated with code you're not learning anything new. honestly the goal is always be frustrated, always keep learning.
The people who do best at it are the ones who don't let the frustration win.
hmmm, i see a 5 in the setup before that...
5 is set-address
6 is get-descriptor
the usb spec says the device should be able to enumerate again when it gets a usb reset
it sounds like tinyusb is upset, because it didnt fully reset itself upon usb reset
that in for set-addr seems to have worked
but i dont see the 0-byte out
switch usb host, to linux, and see how enumeration differs
my keyboard happens to have a FS only hub, which limits things
can be handy to keep some junk hubs for that
https://beyondlogic.org/usbnutshell/usb4.shtml#Control
this shows the possible packet sequences as a tree
i'm thinking add logging to the host side, what transfers and bytes your attempting to send
then confirm in beagle480, if its sending them properly
then confirm in the device, if its receiving them properly
control-in is 3 stages
setup stage, has a SETUP token, DATA0 token, some bytes, and an ACK
data stage has IN token, DATAx from the device, and ACK from the host
ack phase is a OUT and a 0-byte DATA0, and ACK back from the device
are you seeing all 3 phases in the beagle480?
but that looks to be after the device had a panic
give the device a reset, and see what the 480 says
host might also need a reset too
does the 480 show 1 or 2 gets?
yeah
the host sent 2 SETUP's, and the device got upset from that
In Mu commenting multiple lines is ctrl+k, just learned something new
what is causing it to be red
the ACK packet means the device got the SETUP
it may only be red, because you did the setup phase twice
what does hcd_setup_send() look like?
does the host side say hcd_setup_send() was ran twice?
is it tinyusb intending to send the SETUP twice, or the PIO malfunctioning and sending it twice?
sleep. i've solved a lot of problems with a good night sleep. refresh_brain()
setup is 8 bytes, so printing it as %08x %08x and a bit of casting would get it all, but wrong byte order
yeah
oh, color can also help with reading logs
#define CSI "\x1b["
#define RED CSI"31m"
#define GREEN CSI"32m"
#define DEFAULT CSI"39m"
bool hcd_setup_send(uint8_t rhport, uint8_t dev_addr, uint8_t const setup_packet[8]) {
logf(RED"\tHOST%d SETUP %d.%02x 0x%x/%d opep:0x%x\n"DEFAULT, channel, dev_addr, 0, (uint32_t)setup_packet, 8, (uint32_t)opep);
set the device to just hard-reboot on assert or panic?
and emoji's if there's emoji support. i've really enjoyed the new emoji support.
when you call hcd_event_xfer_complete
are you claiming the setup failed?
if you mistakenly claim setup failed, tinyusb may retry
but the 480 says it didnt fail
My me doesn't have emoji support.
*** ๐ฅ PANIC *** would get your attention
yeah, the LS max packet size is 8
so it has to do the full get-dev-desc, with an 8 byte size, setup/data/ack
within that, is the real max-packet-size, so you can then get it properly
16.220803 [DWC2:hcd_setup_send:370]: HOST0 SETUP 0.00 0xc4013f90/8 opep:0xc4113100
16.293446 [DWC2:hcd_edpt_xfer:391]: HOST0 <- 0.80 0xc4013fa8/8 opep:0xc4113100 type:0 pid:0
16.481718 [DWC2:hcd_edpt_xfer:398]: HOST0 -> 0.00 0x0/0 opep:0xc4113100 type:0
I do have label support, just not the actual unicode.
I'm still using Mu which has emoji support. I don't dive this deep.
Might start using ๐ชณ for exception handler errors.
in your handle_endpoint_irq() function
can you log every argument to hcd_event_xfer_complete()?
ah, banned flash, and your uart print is in flash
So by default you will catch the keyboard for the REPL.
But can we have the keyboard for reading from the code, maybe to add macro and do keyboard in / keyboard out?
what calls pio_usb_host_irq_handler(), i cant find it in the src
control-in uses OUT for the setup, IN for the reply, then OUT again for the ack
oh, it may be unpushed things
i cant find host_frame on my tinyusb
seems like pio enumeration isn't resetting properly?
Where does the intellikey developpement (the part that upload the firmware) fit in what you are doing? Is it also CP? Is it separate development?
tinyusb has its own non-submodule copy
that seems incomplete
i think usb_setup_transaction() looks to do the setup, data0, then wait for ack
and if it doesnt get that ack, it claims PIO_USB_INTS_ENDPOINT_ERROR_BITS
exactly
the 480 should give timestamps, and then see what the pio code said
yep, thats what i was going to say to do next
usb_definitions.h: USB_SYNC = 0x80,
usb_definitions.h: USB_PID_ACK = 0xd2,
the source says its expecting 0x80 and 0xd2
thank you for the stream, i learned that i want nothing to do with low level programming. give me displayio and GUI design any day. this stuff is frying my brain. ๐
so, the problem is when your receiving the sync for the ack
the 480 isnt showing it, but every token starts with a sync symbol
if the 480 says the ack is valid, then the sync was there
and its an issue with PIO decoding that sync
makes me appreciate all the really deep stuff you devs have to go through. thank you.
thanks scott, was mostly installing proxmox but listened and sometimes wondered
Thanks Scott !
my only usb sniffer is something called the minisniffer, only full speed but worked for me in the past
i think scott needs a robot to follow the cats around and spy
Oh low level stuff is where it gets interesting though lol
i'm barely up to speed on i2c
and i could use that role
the person sensor cam that detects the cat and shows its name ๐
Thanks all!
lets forget usb and move to recognizing cats
done!
I used to think that too
You joke but I could honestly use that. My neighbor has 13 cats, would be nice to set it outside and have a cat cam with all their names on it.
How about Teensey 4.1
Hey Tim!
Getting started for the morning now. I'll be testing out some library PRs. You can follow along on Twitch: https://www.twitch.tv/foamyguy_twitch or YT: https://www.youtube.com/watch?v=3hVxdFLqzAo
Good morning โ
I see the CP developers have been busy with new stuff, got translations to do every other day the last week. ๐
I imagine the backporting stuff for s3 matrix portal added slightly more workload this week.
Got the first requests API merged (thanks for the review) with settings.toml so will have a boilerplate to port the rest now.
isn't turtle part of the basic displayio demo?
โ๐
rookie of the year โพ
Not seen that use of pass. And overload decorator.
Always learning โบ๏ธ
same, what is overload?
Another call to same named method, but with different arguments in this case. Overload normally is used by an inheriting class to overload a function in the base class
Looks like a good use for typings
same, i don't vouch for any of my code too. use at your own risk. it might work, it might spit out bananas.
that's a star trek lower decks reference where the broken food replicator continually makes only bananas.
That is a correct assumption.
That pattern is named "early exit" and is something I adhere to.
looks a little offset?
The corresponding anti-pattern is "nested if's". Avoid at all cost.
the upper left corner isn't offset. I think it's because of the alternate path
I have been submitting code to projects that are very strict on code style.
that would be cool, would you still have to run black manually on a new file before commit though?
After looking at it for a while, it looks like the gap in the middle of each line is a little less than 1/3. Could be some rounding error.
pre-commit and black do not play nice with github desktop windows app. i have to run black on any file change i submit to adafruit main anywhere. it's tedious.
it's beginner friendly but eventually found out it has limited capabilities vs using git CLI.
perhaps worth noting that if you have a pyportal or any device using an airlift with NINA you must now update NINA to 1.75 if intending on running WipperSnapper on it due to the AdafruitIO cert change on July 20th, 2023.
Philosophically, the ultimate format checker is the CircuitPython interpreter. It tolerates a few deviations from the recommended style.
Run-time style checking.
i don't find black easier to read, that's the way it wants it formatted so that's the way it goes.
For example, forced line wraparounds is an ancient artifact.
like black will do ```py
var = (
dict list [1,2,3,4]
)
one thing i like about coffee in the morning is it kicks your digestive system into overdrive, it's also the one bad thing about coffee especially if you gotta get your coffee and head out the door first thing.
which is why coffee + saturday = good
yeah noise gate a little aggressive than normal
can see your lips moving sometimes but no audio, probably noise gate.
audio is a bit louder, seems like mic boost
Oh yeah, I was thinking a bad cable, but no crackling so noise gate makes sense.
which is fine because i had to have volume at 100% to hear you
now at 75% much better and more normal
hashlib is for sha encoding
has a lot of different types of SHA all the way down to SHA-1
it's for http server security, makes sense since it's not using HTTPS
my guess is it's part of a tokenizer style of client/server response handshake. it's not HTTPS but a good thing to have for an HTTP server.
guid looks like a hardcoded salt of some kind
there's no way a hardcoded guid like that would part of a security protocol, that makes no sense. lol.
that is... not smart vs a randomized salt and sha and base64 encoding.
like a packet header.
that is so weird
The original developer of that unique string giggles a little each time the relevancy question is asked.
if there's no randomized portion of the concatenation then it could still easily be used as a MITM to pretend to be the server you want to connect to.
sha-256 and base64 url encode + a set GUID could easily be replicated.
Hey all yโall cool people. Listening in a little bit this morning.
there has to be a randomized part to that equation otherwise the entire string will be easily cracked.
ok that makes me feel better
Itโs just a protocol exchange handshake.
yeah it's just an http encoding system at the end of the day.
some boards could do SSL if they wanted. an M0 would likely fall flat on its face with a 1024-bit or higher cert but an ESP32-S3 could probably handle it. would be slow but possible.
Probably the original developerโs Windows 3.11 product key.
actually the airlift to adafruitIO with wipper snapper has a cert embedded in the build, so an M4 can do it.
Server sent events is returning a stream with the content typ text/event-stream. You then send data: ... as needed.
"Javascript Python" sounds really scary. ๐
Adafruit just released a new learn guide called DeviceScript that's supposed to be javascript developer friendly for Circuit Python... or something like that, haven't read it yet.
ah looks like it's for AdafruitIO not circuit python specifically.
TypeScript is just a typed version of JavaScript. Espriduino predates TypeScript.
looked like an edublock/makecode element to it.
DeviceScript is basically a replacement for CiruitPython.
I do own one Espruino device. Gave up due to lack of sensor support.
makecode is like that. i had fun playing with makecode for a while. and it's got a JS tab you can switch to also.
same, when it comes to sensor support there's nothing better than straight up circuit python or arduino. the libraries are really what extends the language into an entire ecosystem.
Well, it does not really make them understand microcontrollers? ๐
a bridge is a good way to describe it... or a free sample to get you hooked like a dr*g dealer. ๐ once i started learning circuit python didn't want to play with anything else, completely ignored my PHP roots too and just doing microcontroller stuff now. the world of blinking lights and sound is too cool.
web work is all virtual reality in a way. microcontrollers are just reality, with physical devices, things you can touch and feel is more gratifying vs creating things that only exist on a computer screen.
holy cow webgl has come a long way
i learned via circuit python meetings that adding "for adafruit industries" is reserved for employees of Adafruit
Or contractors
phew
I think i once incorrectly used it in the "gifted" sense as just a contributor. Other times I had more forethought and chose another attribution.
when i started I was just copy pasting the header that had kattni's name in a lot of stuff because i had no idea what to do for the copyright header.
like i thought a contribution would fail if someone's specific name wasn't in a database of copyright headers somewhere. yeah it doesn't work like that at all you just put your name in there.
and so i started putting my name in there but it still had the "for adafruit industries" and dan was like no no no, that's for paid for code only. it takes a while to learn all the nuances of the way things are done.
Adafruit is so wonderful about attribution that when they agreed to accept a no-attribution-needed gift of one of my device drivers to support a new wing, they painstakingly included it anyway.
Thanks for the stream! Very thought provoking.
yeah they're pretty great all around, i do put in contributors names that help write a lot of stuff that i get stuck on and provide examples. like neradoc's name is attributed in a lot of my headers.
Thank you for the great stream. Learned some stuff about SSE, didn't know it was a thing.
๐
thnx foamyguy
MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2, AVX512, AVX256 (subset of AVX512), and now they've announced AVX10.
the learning never ends
Side note, and @prime sentinel will probably back me up on this: none of the x86 SIMD extensions are particularly good. They are adapted from other architectures and weren't always particularly well thought out.
?showtimes-pacific
Desk of Ladyada - Sunday Evenings
JP's Product Pick of the Week - 1pm Tuesdays
3D Hangouts - 8am Wednesdays
Show & Tell - 4:30pm Wednesdays
Ask an Engineer - 5pm Wednesdays
John Park's Workshop - 1pm Thursdays
DeepDive w/Foamyguy - 2pm Fridays
FoamyGuy's CircuitPython Stream - 8am Saturdays
@tiny grove i just had an idea, based on the timezone thing in your profile
if we use the time, not "in 2h" format, like you did
then all of the times dyno reports here, will remain accurate when the date passes, as long as the user doesnt look at the tooltip
then it doesnt have to be reprogrammed every week
Yeah.
Desk of Ladyada - A Desk of DSI Displays & Replacements for Raspberry Pi DSI / CSI connector ๐ง๐๐ป https://youtu.be/mqyPApLYI_M
Desk of Ladyada - A Desk of DSI Displays
Good evening.
Evening ๐
It's hacker O' ๐
My weekend shenanigans https://github.com/skerr92/Oakdevtech_CircuitPython_IcePython
Displays are so much fun
something ive been wanting to get into, was driving the rpi DSI baremetal, without start.elf
i have been able to do DPI and VEC baremetal
Was reading up on dsi/csi and looks like there might be licensing involved with using that spec or at least getting it officially verified and noticed raspberry pi is in the wiki for using that scheme.
Far as I could tell is dsi is like parallel with 4 pin simultaneous bits.
1280x720?
and the data rate was something like 4gbits a sec. I was like yeah that's way more capable than a microcontroller could likely blit?
CSI and DSI are both 500mhz DDR
the rpi exposes 2-lane CSI and 2-lane DSI
so thats 2*2*500 mbit
but they then use different protocols at the bit/byte layer, and arent compatible
the CM1/CM3/CM4 expose 2lane and 4lane, for each of csi and dsi
There are some smartwatch oriented MCUs has MIPI interface though, like the one on Arduino Pro
But limited lane count, one or two lanes
CrossLink FPGA from lattice semi have 2 MIPI and 2 CSI hardened IP blocks
Which is cool
WoW 1.35 USD per chip
DSI also has some power saving modes
in one mode, DSI lowers the link rate (below 500mhz), so the bits/sec is just enough to drive the screen
but now the high-speed clock is running full-time
Crosslink cost 10x of that and not mentioning the license cost for IP : P
in the other mode, DSI will burst a scanline over at max datarate, then turn the clock off
Iโm not suggesting using an FPGA lol
and it will send bursts, at the hsync rate
the idea being, 500mhz for 10% of the time, is lower power then 50mhz 100% of the time
Just more of kind of cool that it has those things
so basically sandboxing it with the samd21
Seems like it
Does the backlight driver hookup to the linux backlight driver?
we think maybe we could? but we havent looked into it yetโฆideslly we could over the DSI I2C!
That would be neat to hook it into dpms
So it would listen to the standard way of sleeping the display and waking it back up
oh I bet Jepler would like that for emulating classic 4:3 ratio CRT's. there's always a place for square displays.
emulate classic Mac and file systems. lots of possibilities.
Holy moly that breadboard
Oooh
๐
Will that display be stocked??
๐
I have a Pokรฉdex project that could definitely use that compact display
FeatherPhone lol
adaPhone
A Phone
@lilac tusk yes we actually bought 250 back in early 2020 still in a box ๐
๐ฏ
from idea to schematic to breadboard to prototype all in one episode.
The IC Dark Ages
best thing about those dark days was the chip shortage song
Iโm glad the chip shortage is subsiding
Agreed
nice find, i'm sure that's going to help someone, very nice.
Thanks @open girder and good night. ๐
Thanks for a great evening @open girder
Thanks @open girder !
@open girder i missed the stream, but i was wondering, how much is known about the dsi peripheral on the rpi? ive been wanting to drive it without linux
hi there all!
Hello!
haha
Good afternoon.
howdy
Lars is no puppy
I have no idea how computers work ๐
same
I think they're full of microscopic bees
๐
I heard people talking about TCBee / IBee protocols and HTTBee
Djdevon say its JP and lars amp
Random side note that took me way too long to realize: If that (I2S) Amp is 3W you can use a >3W speaker with it! ๐ I'm successfully using some 8W speakers
If you want to use the PicoBlade connector, be sure to check the "Also include" box underneath the "Add to Cart" on the Product Page, to get a wired connector to go with your board! (Edit: It looks like the speakers from Adafruit already have that connector on them.)
volume pretty low for hearing the sounds
much better
inside of large halloween masks....
now volume pretty high to hear the voice ๐
can synthio do vocoder yet? is that a possibility?
vocoded voice output inside halloween mask would be great for cosplay. todbot please? ๐
might be worth mentioning you'll want the charger BFF for portable QT Py projects.
Is your QT Py all alone, lacking a friend to travel the wide world with? When you were a kid you may have learned about the "buddy" system, well this product is kinda like that! A ...
And it works with ESP32 QTPys
no. that requires audio input and sample processing. synthio is output only
ah, well, maybe a feature request?
Headphones should work in theory; the amp is specโed for 4-ohm minimum.
Thanks @haughty quiver
it's a class d amp so it's meant to directly drive speakers and small headphones sure.
Thx JohnP!!!
it wouldl require a fairly big restructuring of how audio is handled in CircuitPython. I would love for that to happen, but it's a huge undertaking
Thanks!
Thanks JP! Have a great day everyone ๐