#live-broadcast-chat

1 messages · Page 23 of 1

sand lotus
#

i can hear the square, saw, and sine waves now. i love the way a good square wave sounds.

inner spade
#

Yeah. Designing, prototyping, adjusting for a month.

teal river
#

I just love everything about that design — the spacing, layout, color…

sand lotus
#

how true to color will the soldermask be? that's a really nice purple.

#

i think liz had a project where she used a bigger party parrot.

inner spade
#

The default OSH Park mask is quite a bit darker than the rendering. I made it more transparent to help inspect traces and fills.

#

@sand lotus The Cowbell sequencer design is a hallmark of form and function. Watching it evolve has been fascinating.

sand lotus
#

wasn't as big as i thought and has a black background, which is kinda cheaty but smart.

teal river
#

Cow

sand lotus
#

progress! 🙌

#

that's super fast! sweeeeet!

#

try make_opaque instead?

#

hmm goal might be to get true transparency though, that would be nice.

#

could you flip flop between frames for make_transparent to make_opaque perhaps?

inner spade
#

I’m confused about how to use ColorConverter. Is it a static or dynamic filter pipe? What are its inputs and outputs? When does it have to be used and when not?

#

How does it supplant or supplement a palette?

sand lotus
#

imagine ram is going to be pretty important for the ability to use animated gifs. the s2 and s3 will obviously perform better but still important to get it working with M4 and M0's if possible too.

#

i'm think M0's importance for CPE for education and getting kids excited in electronics. they love animated gifs. we live in the era of memes.

smoky island
sand lotus
#

as a video yes

smoky island
#

@nova totem any ideas about the way it's showing the other frames in the background, or the way the left side is teal? (recording just above here)

#

I tried it on pico_system so I could stay in rp2040 family to start with. It loaded up and displays, but has this stacking thing going on.

sand lotus
#

the simpsons one he was using didn't have any transparency

#

Just use bucket fill with black on each transparent section around the parrot each frame.

#

Each frame is transparent so you'd have to edit each frame. Might just be easier to find an animated gif without transparent frames.

nova totem
#

It is supposed to handle transparency but I wonder if there is some case I am missing in the draw function

#

If you want what size display are you using? I can send you the GIFs I had for testing

sand lotus
#

Use EZgif for quick conversions.

#

I use that for BMP sprite layout creation too. great tool.

#

pretty sure you should be ticking "as animation" or it might only export a single frame?

nova totem
#

Also can you send me the GIF that isn't working? I can try it out later too

#

Color converter (also an option I have to add to change how it changes)

#

THey're probably 565 but BE vs LE

sand lotus
#

might be able to speed it up by reducing the milliseconds delay parameter during file save?

smoky island
nova totem
#

cc = displayio.ColorConverter(input_colorspace=displayio.Colorspace.RGB565_SWAPPED)

sand lotus
#

when saving your animated gif in GIMP there's a parameter for milliseconds delay below "animated gif" tick box.

nova totem
#

Try that (the _SWAPPED)

#

It won't render it faster (unless you are reading the delay and pausing - I never did)

#

The code won't pause between frames unless you tell it to

sand lotus
#

Yes I usually get 3 fps for bmp sprites full size too yes.

#

Ah I see it's because the parrot was much smaller it improved the fps.

nova totem
#

Oh I have an idea what may be up with the parrot gif

sand lotus
#

It also has transparency so it didn't have to redraw the full background?

nova totem
#

I think it is always drawing at Y=0 and the changes happen lower down

#

Yeah something with that I'll have to look at what the draw function is getting i'm probably missing something

#

I saw it on another GIF that I had from ages ago but I didn't look into it

#

Yup I do not process the upper left corner parameters - oops

#

Yes scale slows it down

sand lotus
#

faster parrot = harder party

nova totem
#

also the delay is saying 40ms, and at 40fps each frame is taking 25ms, so technically you should delay 15ms

#

also the play_frame function returns the delay to the next frame

#

sorta:

start = time.monotonic()
delay = gif.play_frame()
display.refresh()
time_taken = time.monotonic()-start
time.sleep(delay-time_taken)
sand lotus
#

Just double-click the layer comment in the layers' window and a delay in ms enclosed in brackets ()

nova totem
#

Thanks for the parrot GIF, going to have to think just to make sure I get missed parameters added in properly.

#

Yeah could have play_frame that checks the delay, but could have a play_frame(override_time=True)

#

On Espressif you will need that pragma line I pasted earlier - I think

#

Or just comment out that one line because it isn't actually called (and I may trim the library down some for CP still)

#

it is not in gifio yet

#

(moving there it is in displayio now) the gif.c is in /lib/AnimatedGIF

#

very start

#

line 1

#

should be okay there - i think

#

it says ignore that warning for that file. A bad idea generally. That will not be the long term fix

#

I'm guessing so. Didn't dig too deep

#

CPU is faster 240Mhz i think?

sand lotus
#

S2 is 240mhz single core. I've also noticed the S3 dual core does slightly better than S2 as well.

#

CPU definitely matters

inner spade
#

Amazing progress @nova totem .

nova totem
#

Thanks, this is helping a lot to catch those weird things I didn't think of and see

#

Haha okay party parrot is in line but not quite right yet

inner spade
#

So nice to have extra eyes on projects.

nova totem
#

I'll post a video up in a moment

inner spade
#

Parallel display on PyPortal

nova totem
#

ha sorry didn't mute volume on the video

sand lotus
#

seems like some artifacts coming in from the left side?

#

pico pio vs esp32-s2 for animated gifs is the question of the year

#

state machine vs brute force speed basically

nova totem
#

Changing the delay won't speed it up, unless you are delaying yourself as it isn't automatic

sand lotus
#

if you have a 100 frame gif there's no way you're going to edit each frame parameter, there's gotta be a better way.

#

the simpson one is about twice the size of the parrot, if you make it smaller bet it would play smoother too. i'm ok with size limitations vs fps. can definitely work with that.

#

it's a very promising start! thank you Gamblor!

#

thank you for the stream foamyguy. awesome stuff today.

modern night
#

Thanks for the stream! Great Gif progress today! Have a great one all!

inner spade
#

Thanks!

sand lotus
#

Everyone have a great Superb 🦉 weekend!

light stump
#

👀

teal river
#

?showtimes

arctic abyssBOT
#

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

teal river
#

@gentle jacinth here’s the full lineup of shows!

open girder
#

LIVE! around 9pm ET! Desk of Ladyada - PiCowbell silk & Toy Hacking proto https://youtu.be/lY6355eiP5Q

Desk of Ladyada - PiCowbell silk & Toy Hacking proto

This week at the Desk of Ladyada we also are getting ever closer to releasing the PiCowbell adalogger board, and worked on the silkscreen and demo firmware. We also put together our I2S BFF prototype which allowed us to A) test a cute new BFF that could be very handy for audio projects and B)...

▶ Play video
teal river
#

I got confused and thought y’all were going live now XD

#

Wonder if the Superb Owl will be over by then…

sand lotus
#

It should be over by then unless it goes into overtime.

open girder
#

WE ARE LIVE! Desk of Ladyada - PiCowbell silk & Toy Hacking proto https://youtu.be/lY6355eiP5Q

Desk of Ladyada - PiCowbell silk & Toy Hacking proto

This week at the Desk of Ladyada we also are getting ever closer to releasing the PiCowbell adalogger board, and worked on the silkscreen and demo firmware. We also put together our I2S BFF prototype which allowed us to A) test a cute new BFF that could be very handy for audio projects and B)...

▶ Play video
teal river
#

hiiiii

#

BabyAda is best assistant

#

Ohhh, I need this...

viral sail
#

Good evening.

inner spade
unkempt shoal
#

I have a BME688 but it always seems to show 10 degrees too warm vs my wall thermostat. Any way to recalibrate it?

sand lotus
#

super bowl is still like 30 mins from being over. I forgot there's a 30 min halftime show only for the super bowl.

teal river
#

Question -- @gentle jacinth wishes to know, LadyAda, what's your favorite microcontroller board?

teal river
#

"Not the cool we were looking for, but cool nonetheless"

upper sandal
#

it was a question on the forum

teal river
#

The streaming software is having a mental breakdown XD

viral sail
#

Where in the world is LadyAda's desktop?

sand lotus
#

ohh i like that backdrop, very cool

upper sandal
#

someone on the forums was asking about an adapter to use feather wings with the QT PY, and I was thinking that it could take the form of a feather doubler or tripler, with a QT PY slot connecting it to the I2C, SPI, UART, and some of the pins (maybe with jumpers to select some alternatives)

waxen fulcrum
#

Any watching the Super Bowl

teal river
#

Someone else mentioned preferring the S2 over S3 due to stability issues on the S3

sand lotus
#

I'll delete my question in favor of Neradoc's, he knows more about that question than i do.

upper sandal
#

yeah the S2 is still better supported in CP too

#

although it's more about little issues now I guess like I2C

sand lotus
#

i2s BFF <3, i want one

sand lotus
#

i was actually going to post that one, beat me to it 🙂

teal river
#

OpenOffice Dance

#

Cowbell! Hehe

sand lotus
#

i love the cowbell logo. are we allowed to use that in open source designs?

open girder
#

@sand lotus yep, drop me a note pt@adafruit.com and we'll send details so it's all good

teal river
#

What's the difference between SPI and SDIO?

teal river
grand tusk
#

Street Chicken!

teal river
#

Is that the same connector as the PyGamer speaker?

#

Is it common for color options to be random? I've noticed many Adafruit products with JST connectors have a notice of "the connector color may vary"

#

Do not skimp on crimpers! It's worth spending $100 on a high quality set because it'll last you an eternity

proven crow
#

2 1/2 questions: What code editor does Ladyada use? Should I stick with KiCad or learn Eagle? I know Eagle is considered more "professional", but is it woth the cost/free plan limitations?

upper sandal
#

I found it a little hard to get JST PH 3-pins cables to use with STEMMA ports on boards like the Fun House (I mean plugs with pre-assembled cables, both male and female for extension for example)

teal river
#

I have successfully imported EAGLE to KiCAD Dance so nice

#

In my experience there are very very few instances where there's only ONE way to do a thing...

#

Usually comes up in particle physics

viral sail
#

Thanks @open girder and good night. 🌗

sand lotus
#

You can import Eagle to EasyEDA too. Eagle is the standard. It doesn't matter what format it is as long as I can import it to some program to work with. I wouldn't have learned nearly as much as I have since joining here because I can actually look at the schematic.

teal river
#

Great show! And yes, computers get confused, lol

desert ravine
#

I work in the elevator industry I don't think there will ever be a open elevator firmware

proven crow
#

Awesome, thanks @open girder and good night!

sand lotus
#

Shot you an email PT. Thanks for the show. 🙂

upper sandal
sand lotus
#

and the super bowl just started the 4th quarter. i swear football games say 15 minutes a quarter but it's more like 45 minutes.

teal river
#

15 minutes of game clock, but there can be a minute between plays that take 10-20 seconds XD

#

Plus the half hour half-time show

nimble mural
sand lotus
#

hey foamyguy live again. monday streamday. missed your stream this morning.

sand lotus
#

Hue is the phillips smart lighting ecosystem

#

finished my logitech c510 camera housing

inner spade
#

Liking the white-on-green grid in the real life rendering.

#

Very realistic.

sand lotus
#

thanks for the stream, mqtt stuff is fun to play with. the webcam will be for the 3d printer running octoprint and mqtt. stuff you're working on today is directly related to that webcam housing print in a way. 🙂

#

lol yes it looks super real. upping my 3d game. 😛

#

either that or my iphone 5 camera is so old it could be confused for 3d :/

#

same, my printer is in a different room and there's always that thing in the back of your mind that they're possible fire hazards.

#

like i can't babysit a 24 hour print

#

hoping to figure out a way to get the camera to feed to a mobile device too, somehow maybe

inner spade
#

A good application for AI

sand lotus
#

tr-cowbell sections take about 15-25 hours each

#

pop in anytime, always enjoy learning from your streams

inner spade
#

Thanks!

echo canopy
#

?showtimes

arctic abyssBOT
#

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

inner spade
#

Is Lars in the booth today? Pain and suffering: 5 cents.

teal river
#

Lars is always ready to deliver pain and suffering… the price is whatever he can steal from your wallet

sand lotus
#

Whew someone messed up there. For a second the discounted price was $0.00 👀

#

It's at $2.98 now all good.

teal river
#

Hiiiii

sand lotus
#

Got another quick photoshop for ya this week. 🙂

grand tusk
#

Has it started? YT is still waiting.

teal river
#

Also waiting

#

On YT

sand lotus
#

Not yet no, we're in pre-broadcast right now

haughty quiver
#

sorry, broadcast difficulties

grand tusk
#

ok no problem

teal river
#

Dang it Lars!

teal river
grand tusk
#

...aside from the sloth of course

teal river
#

I bet he chewed a fiber line again

inner spade
#

Lars offered to hold the broadcast “football” again today?

teal river
#

I imagine a Technical Difficulties screen with JP screaming and trying to run from a giant Lars in a giant robot suit with lasers

#

Does Lars know BSD systems? Maybe you should move to an OS family he doesn’t know so he can’t cause as much trouble…

haughty quiver
#

​just a bit of the ol' restart everything and now it may just work!

teal river
#

Fingies crossed!

grand tusk
#

i hear drums

drowsy inlet
#

👋

cinder wind
#

oh yeah time for Tuesday afternoon dance party

teal river
#

Boopadoops!

sand lotus
glass stag
#

Ahh, here is the chat.

teal river
#

Multiple???

#

Gasp

#

Question: could you have 3 of these drivers, each with 16x9 LEDs, one red, one green, one blue, and have them display an image together?

#

QT Py with one of those for a little text badge…

sand lotus
#

Plan on setting up some of these on my octoprint webcam as lights on my 3D printer. This will be perfect!

#

Got 8, going to play with some for text display instead of the 7-segment backpacks. They use the same I2C address range as the 7-segment backpacks too.

drowsy inlet
#

made me think of the 5x5 neopixel bff, but can it control the individual leds at the same level as this driver?

sand lotus
#

You can control individual LED's np MikeP

teal river
#

8-bit PWM for each LED

sand lotus
#

It's how he was able to get the heart to display.

drowsy inlet
#

sorry, i meant pwm on the 5x5

sand lotus
#

You can chain more with the PCA multiplexer.

cinder wind
#

yeah you can use multiple buses with the CircuitPython library

teal river
#

Ordered 3 controllers, 2 red and one blue panel :D

teal river
sand lotus
teal river
#

Ah, yeah, single 3-channel controller would be easier instead of 3 1-channel controllers, lol

sand lotus
#

If you want a bigger RGB matrix go with a matrix panel and featherwing matrix driver yeah. These are good for lighting or scrolling text displays (with a couple of them) instead of the 7-segment or 14-segment backpacks.

teal river
#

Predication: both will run at lower brightness maybe

sand lotus
#

The PRO of these is that they're a small footprint, if you want a small scrolling display.

cinder wind
#

red LEDs turn on at a lower voltage than white, so I think it won't work

teal river
#

Yeah, not enough friction from contact, lol

cinder wind
#

maybe try two reds

#

but even then it's still a bad idea

#

diodes in parallel == always bad idea

teal river
#

It looked like the yellow flashed when you pulled it off!

inner spade
#

Red LEDs have a lower forward voltage.

glass stag
#

Sometimes bad ideas are the best ideas.

teal river
#

All the half off LED panels were in stock when I was ordering

cinder wind
#

parallel LEDs where each LED has their own current-limit resistor is great

sand lotus
#

Gotta be quick Kyoshii 😉

teal river
wind spoke
#

Where (or Who) is Charlie?

teal river
#

Could you use the controller to power super high power LEDs with an external power source?

#

For like, giant billboard

#

Good show!

cinder wind
#

Charlie Plex was the 3rd Neo in The Matrix

drowsy inlet
#

thx!

grand tusk
#

thanks JP

haughty quiver
#

@wind spoke Charles "Charlie" M. Allen

sand lotus
#

Been loading my cart up all week. I usually order during JP's product pick of the week and throw in some half off stuff at the same time. Because you can usually use the coupon code from ask an engineer at the same time... which this week is twobffs 😉

haughty quiver
#

Charlieplexing (also known as tristate multiplexing, reduced pin-count LED multiplexing, complementary LED drive and crossplexing) is a technique for driving a multiplexed display in which relatively few I/O pins on a microcontroller are used e.g. to drive an array of LEDs.
The method uses the tri-state logic capabilities of microcontrollers in ...

sand lotus
#

Thanks JP, I'll definitely get some use out of the charlieplexed backpacks.

teal river
sand lotus
#

never hurts to try 😉

#

PT usually let's it slide for an entire week until the next ask an engineer 😉

teal river
#

I shall attempt this in the future when I’m planning a big order… I usually do BIG orders to get the free shipping and the discount code

sand lotus
#

When they were out on maternity leave I was using an ask an engineer discount code for an entire month 😉

teal river
#

We just can’t do it all the time… we don’t want to bankrupt them!

sand lotus
#

PT the real mvp. It really helps with allowing a regular schedule of shopping for a week then pulling the trigger during JP's product pick of the week.

haughty quiver
sand lotus
#

hahahaha it was my little secret

waxen bough
#

I want! But what would I use it for???

sand lotus
#

There's always a 10% off discount code available somewhere either from JP, 3D Hangouts, or Ask an Engineer. If one doesn't work go back through the youtube videos and try another. It's really a perk of regularly watching the livestreams. Basically free shipping if you order a lot and I do, so I need it every time.

#

Pick up a couple Rufus and use it as a text scrolling display. I plan on using it as a webcam light. The amount of light they produce alone could be useful.... circuit python powered headlamp perhaps?

waxen bough
#

blue and green are gone.

sand lotus
#

It's best to buy stuff at the beginning of the show if possible. They set aside a certain amount just for JP's show and if it's a good product they'll run out of stock fast.

waxen bough
#

Kudos to Adafruit for also discounting the led boards for the show!!!

teal river
#

At least one of the ones I got I’m gonna make a little badge with

lavish patrol
#

Greetings, good people.

rocky reef
#

good morning folks!

#
wise iris
#

good morning

rocky reef
#

Today's coupon code “tftstand” gets you 10% off your order!

lavish patrol
#

Tufty Stand. 😄

rocky reef
shell mason
#

some could design the floppy planter like that

rocky reef
shell mason
#

any good usb-c pd

rocky reef
shell mason
#

would be interesting if the magnetic tips could helps for power delivery

#

fancy 3d project to have boost power for smart soldering iron for example

rocky reef
shell mason
#

very nice octubus

digital crescent
#

anyone know why buttons d1 and d2 are pull down on the rev tft board?

shell mason
#

one could add squid arms for one usb connection other could be for buttons perhaps

digital crescent
#

how many adafruit io feeds is your octoprint code on the tft rev using?

rocky reef
shell mason
rocky reef
#

thanks so much for hanging out folks!

hard hollow
#

thanks folks! cya tonight

wise iris
#

thanks guys

tulip canyon
#

Howdy folks 👋

nova totem
#

Good evening!

dim wigeon
#

Hi everyone!

upbeat coral
#

Hey Y'll

open surge
#

good evening folks!

sand lotus
#

Good evening everyone blinka_heart_circle

teal river
#

Hiiiiiii

open girder
viral sail
#

Good evening everyone.

open girder
sand lotus
#

Haven't seen you in a while Paul. Hope you're doing well. I miss the podcasts.

open surge
#

Been busy at the $day_job 😦

rapid hornet
#

hi all!

sand lotus
#

are we going to see some pysigrok stuff tonight?

rapid hornet
#

nope, just watching. only been bug fixing pysigrok as I use it

sand lotus
#

😦

rapid hornet
#

needs to push and release

steep mica
#

Hihi

sand lotus
#

that project is going to be awesome i can feel it

verbal river
#

Hi! I have some modular synth stuff to show. Mouse in Streamyard

teal river
#

All TRON is good TRON

teal river
#

OctoPrintPus!

teal river
#

Print ALL the octopi

teal river
drowsy shoal
#

love me octopi 🐙

nova totem
#

running up and down my stairs to check on my 3d prints is half my exercise for the week

teal river
#

Octopi > octopuses

sand lotus
#

I'm actually much more active since getting a 3D printer dashing back and forth ensuring I'm not starting a fire.

#

Liz's guide is extremely helpful. Still waiting on my Pi 4.

teal river
#

I will make a controller for all 5 of my printers

verbal river
#

Some of my "hardware" has turned into "retro hardware" 😕

sand lotus
#

all hardware becomes retro hardware eventually

teal river
#

I NEED THAT

#

I NEED IT YESTERDAY

gray obsidian
#

Only needs some retr0brite 🙂

teal river
#

That is GENIUS for the time

sand lotus
#

wait that was a real product?? woah.

reef dew
#

" My electronic is like a transformer" - Find the decepticon logo oofff RUN!!!!

open surge
#

I've had my partner scouring thrift shops for a boombox for me for the last couple years (so I can mod it)

verbal river
#

Placebo antenna?

teal river
#

Even without the Transformers being so popular at the time, the transforming boombox makes sense for the time

nova totem
#

I had the Transformers (original) movie memorized as a kid.

teal river
#

I want that so bad

#

+1 headphone cable as antenna lead

steep mica
#

Huh wow TIL

sand lotus
#

that's genius

tulip canyon
teal river
#

I would 100000000% get one of those not working just to have it and try to restore it

reef dew
#

The old technology I really want to do one day is the Duga radar but I feel like you can't do this even if you had unlimited tech with electronics scale watts

sand lotus
#

the headphones that clipped onto the ears actually helped to make those with cochlear implants normalized.

verbal river
#

😺🎹

gray obsidian
#

Could be a Miyazaki film character 😄

wind spoke
#

Time traveler know how to age plastic to avoid being detected...

tulip canyon
#

EDKM
Electronic
Dance
Kitty
Music

teal river
#

PANIC BOOP

slow spire
#

@haughty quiver Scratches > patches

sand lotus
#

uggh i didn't know about panic. i could have used that with so many vst's that got stuck. 🤯

teal river
#

What is the kitty keyboard product called?

sand lotus
#

Meowsic Toy Piano

teal river
#

yissss

haughty quiver
#

yes, Meowsic by B. Toys

#

available at Target stores primarily, but search online for other sellers

teal river
#

I found a mini one too!

sand lotus
#

sweet! that's awesome flyingthings!

teal river
#

ROBO FURRY

#

I hear the cops, they must be coming due to illegal levels of awesome

haughty quiver
#

love that fursuit head!

slow spire
#

Paw Control > Paw Patrol.

sand lotus
#

gotta be hot in there, looks very insulated. good idea with the fan.

teal river
#

Fursuits are invariably hot

sand lotus
#

good progress, sounds great!

steep mica
#

Snack size Perma proto!

sand lotus
#

love the patch switching mode.

slow spire
#

Progress > "finished"

verbal river
#

thanks @sand lotus

teal river
#

Spooooop

slow spire
#

Loving all of this.

drowsy shoal
#

the visor on my fursuit gets foggy before its get too hot. really needed a fan 😄

sand lotus
#

Meowsic Halloween...

teal river
#

Baby one

sand lotus
#

adafruit is my drug

tulip canyon
#

Moment of neener

verbal river
#

@split gazelle I heard you on the Embedded podcast last week!

haughty quiver
#

that baby one!!

nova totem
#

Great projects everyone!

tulip canyon
#

Thanks all for sharing. Great projects as always

verbal river
#

Bye!

dim wigeon
#

Great stuff, all!

teal river
#

Great projects!

upbeat coral
#

Thanks to all for taking time for us

drowsy shoal
teal river
#

@open girder y'all should consider adapting JP's project to the baby Meowsic for BabyAda

sand lotus
#

If you think canines are under represented here well... we've got Phil B.

dim wigeon
#

I feel like we need a MIDI-controlled Speak & Spell next 🙂

#

Which actually probably wouldn't be that hard...

sand lotus
#

I've actually used real speak & spell samples in some of my songs. This needs to happen.

#

I'm sure speak & spell circuit bending has been done plenty before but not sure about a midi controller.

slow spire
# drowsy shoal the visor on my fursuit gets foggy before its get too hot. really needed a fan �...

Might be interesting to look at some thin black organza, chiffon, or netting, maybe backed by your clear or smoky plastic, but perforated. That's what we used in this project a while back. https://github.com/oesterle/geekyjacket

GitHub

Adding Flutter to clothing. Contribute to oesterle/geekyjacket development by creating an account on GitHub.

reef dew
#

lol cat propulsion laboratory. Youtube commenters are funny

dim wigeon
wind spoke
#

Any news from the AdaBox?
I am not subscribed because it is not available in Belgium...
but I am interested anyway because of all the project that pop up for it.

sand lotus
#

Ohh how about a speak & spell USB keyboard... ahem Jepler.

open girder
#

@wind spoke "should" be shipping march-ish, we're back this year 2023 since the part shortage is "almost" over

drowsy shoal
robust horizon
#

I heard a rumor that JP will be making a "Bee%" keyboard soon

sand lotus
#

Buzz board

teal river
#

I heard Lars is trying to make a piano with teeth

open girder
teal river
#

nyoom manufacturing!

steep mica
#

Attinys at law

slow spire
teal river
#

Question: if one does not have 2FA enabled, what happens when you try to order something?

unkempt shoal
#

Depends on what you order.

teal river
#

Congrats on BBB accreditation!

teal river
verbal river
#

So the complaints gave you a better reputation? 😄

tribal vault
#

lmao the trolls got adafruit BBB accredited? 🤣

#

that's fantastic

teal river
#

They were hoisted by their own petard

sand lotus
#

Nice! Congrats adafruit !

teal river
#

It doesn't matter if you're right or wrong; it's never appropriate or OK to be cruel/mean/rude to business people

unkempt shoal
#

Will Pi's only show in stick if you are 2FA?

sand lotus
#

The amount of synth stuff lately is off the charts 🤤

teal river
#

I just haven't tried to order

tribal vault
#

I'm done hoarding picos, I have way too many already

dim wigeon
slow spire
# drowsy shoal ooo thanks

Here’s a video clip of how the thin mesh camouflages the neopixel strip. https://twitter.com/erico/status/1092261259544674304?s=20

Proud to win #devcamp’s “coolest hack”! @neil_c_heather & I demo #geekyjacket our @flutterio-controlled, blingy wearable.

Flutter controls an @adafruit Feather M0 MCU via Bluetooth LE. NeoPixel LEDs gently diffused w black chiffon (@JoAnn_Stores!)

Thx @dom & @iPhoneDevCamp.
🙏

▶ Play video
sand lotus
#

Well I think the point is the people who couldn't scalp Pi's were getting nasty because they got caught and banned.

teal river
#

[I have been the customer service person being yelled at for something that is not my fault and not something I can fix]

dim wigeon
sand lotus
#

Raising my nephew I thought I'd go insane if I heard Elmo one more time... and of course I heard it thousands of times more.

waxen fulcrum
#

what is the name of the screen that is used on the round tft display that is in the store

teal river
sand lotus
#

NIN Remix: "I want to bump you like an animal (goat sound), I want to feel you from the outside"

steep mica
#

Very very interested in that i2s bff

dim wigeon
# teal river Exactly! And faster. I had a huge snaffuu trying to order McDonald's the other d...

I watched a bunch of people in an airport a while ago screaming at the poor gate agent because the flight was late (and then canceled) because of a mechanical issue. I went up and thanked the agent for doing her best with a situation she had zero control over, and she started crying. She said "that's the first nice thing anybody's said to me since this started." And none of it was her fault.

unkempt shoal
#

Pi Model 4B shows out of stock for me.

tribal vault
#

wait, you can use twitter for nice things?!!?!

robust horizon
teal river
sand lotus
#

I love seeing circuit playgrounds in exactly the hands they were designed for. blinka_cooking

slow spire
teal river
wind spoke
#

Just in case, I found this about ATtiny816 vs ATtiny817:

  • I/Os 18 => 22
  • ADC 10-ch => 12-ch (, 10-bit, 115ksps)
  • QFN 20-pin => 24-pin
    But I guess this will be explained.
teal river
#

I am curious as to the reason for the recent ATTiny breakout explosion

sand lotus
#

Two of the lights in my dragon mask are basically LED rings which could be circuit playgrounds...

teal river
#

Licensing is hard

sand lotus
#

Wait the Pico W will do BT classic???

#

I don't think there's any implementation for classic in CP right?

slow spire
sand lotus
#

The python on hardware newsletter is 🔥

upbeat coral
#

Theres MMBasic on the Raspberry Pi Pico, is Python next?

teal river
# strange mantle seesaw

I saw they're all seesaw -- are there advantages for each chip? Or is it to make it so there are many choices in the event one or more goes out of stock?

dim knot
strange mantle
slow spire
teal river
#

Options good!

slow spire
# teal river Options good!

Not sure if you've watched Desk of Ladyada (usually on Sunday evenings), but she spends a lot of time there talking about specific chips in low supply, being retired, or part of the chip shortage, and work arounds.

teal river
#

Boxing glove surgery!

#

I'd love to know how durable that design is

#

Mmm fresh boards

robust horizon
#

'night all, have a good 💤

teal river
#

Question: do the picky place machines have names?

teal river
open girder
#

nite @robust horizon !

slow spire
teal river
#

The solder spouts are the coolest thing

dim wigeon
#

Watching the selective solder machine do its thing is one of my favorite parts of Ask an Engineer.

upper sandal
#

what I really want now is Adafruit to get into the business of making springs, those spring-making machines videos are amazing

#

I need a weekly does of that too

teal river
dim wigeon
verbal river
dim wigeon
teal river
#

I wish I'd been able to get the Reverse TFT Feather when I did my big order DX

sand lotus
#

helical heart is such a great design. looks satisfying to put together.

teal river
upper sandal
teal river
#

I really want the tiny UPS truck

sand lotus
#

🆕

dim wigeon
slow spire
# dim wigeon Have you seen the Inheritance Machining youtube channel? It's gold.

Watched this with family recently; really inspiring. Some of the machines are 100+ years old. https://blog.adafruit.com/2023/01/21/how-the-last-artificial-flower-factory-in-nyc-handcrafts-designs-for-celebrities/

Adafruit Industries - Makers, hackers, artists, designers and engineers!

Great video story about M&S Schmalberg from Insider Business as a part of their Still Standing series. M&S Schmalberg is a family-owned and operated NYC based factory that manufactures ar…

teal river
#

EyeSPI everything!

#

I love the black PCB

dim knot
teal river
sand lotus
#

I like the RFM vs actual LORA.

dim wigeon
#

(While i've been watching AAE I've been playing with my KIM Uno. I wrote a 24-bit counter - on paper - in 6502 assembly, and it's running right now - and it worked on the first try. 🥳 )

dim knot
sand lotus
#

PCB microscope 🔬

dim knot
#

5MP 25mm Telephoto Lens for Raspberry Pi - M12 - 18 Degree FOV https://www.adafruit.com/product/5697

2.7mm 12MP Wide Angle Lens for M12 High-Quality Camera https://www.adafruit.com/product/5698

echo canopy
#

Question @open girder

With all of the QTPY BFFs being created, will there be female headers? Is there a suppler that could produce them ?

sand lotus
#

you can use stacking headers...

dim knot
#

Adafruit ATtiny816 Breakout with seesaw - STEMMA QT / Qwiic https://www.adafruit.com/product/5681

Adafruit ATtiny1616 Breakout with seesaw - STEMMA QT / Qwiic https://www.adafruit.com/product/5690

verbal river
#

a tinier tiny?

unkempt shoal
sand lotus
slow spire
# echo canopy Question <@329767998380310538> With all of the QTPY BFFs being created, will t...

I'd probably try these, and carefully snip them. When I've done this before, I usually aim for having an extra pin, since the cut end may sacrifice a pin. https://www.adafruit.com/product/2940

teal river
#

All the options chaos

sand lotus
echo canopy
#

Question will there be an ATTINY board either Feather / QTPY / ItsyBitsy ? @open girder

sand lotus
#

and cut them to length for the BFF

waxen fulcrum
echo canopy
#

Well .. Clarification… a 7 pin header

stiff remnant
#

What are the dimensions of the ATtiny breakout boards?

teal river
#

Question: I'm looking into creating boards and kits for the company I work for, and want to make it open source if they'll allow. What all is involved in creating open source licensing for products? And how do you separate the open source nature of it from the protected parts, like Adafruit has the Feather name, Adafruit logos and characters, etc., or are all those open source too?

unkempt shoal
sand lotus
#

There's no learn guide for them yet so no dimensions which are usually in the schematics section of the learn guide.

teal river
tulip canyon
#

CAN = Automaker chips

nova totem
teal river
#

Ohhh chip zooms and musics

unkempt shoal
waxen fulcrum
#

Question-what is the name of the screen that is used on the round rect tft display that is in the store

tulip canyon
#

Question: What's the best way to parse small bits of xml in CircuitPython Requests?

teal river
#

Adafruit Chip Tunes is like Journey to the Microcosmos, but with electronics

teal river
cinder wind
#

chiptunes!

teal river
nova totem
upper sandal
#

Question: is it possible for a company to make a board with the same wifi module as the pico W ? Have you thought of doing that ?

unkempt shoal
teal river
#

It’s pretty amazing how good desktop camera microscope are now

upbeat coral
#

Explaining Computers has done a couple YT's.

unkempt shoal
#

So is my logo usage OK for the following?:

slow spire
#

Pro tip: When dimensions aren't shown, I count the header pin holes on the edge. There are 10 in 1 inch / 25.4 mm.

alpine nova
#

best use of desktop microscopes is by a twitch streamer called openset

teal river
#

I'm going to champion open source with my company because we can still profit on the hardware sales, but the community can benefit from the resources we generate, and we can benefit from community input

alpine nova
#

adafruit is best model for that

teal river
upper sandal
open girder
#

@unkempt shoal yup, all good

upper sandal
#

as far as I know, it's the only option we have

tulip canyon
#

I want a CircuitPython BeautifulSoup

slow spire
tulip canyon
echo canopy
viral sail
#

Thanks @open girder and good night. 🌘

upbeat coral
#

Thank you for taking time for us.

echo canopy
#

Thanks guys

slow spire
#

Thanks, @open girder !

teal river
#

Oh, question -- if we want to have a custom PCB made from Adafruit's stuff, can we still order with Adafruit logos if it's just for us?

haughty quiver
#

thanks guys!

tulip canyon
#

Thanks @open girder Thanks community!

dim wigeon
#

Thanks @open girder - take care, all!

echo canopy
#

Have a great night

alpine nova
#

thanks y’all

verbal river
#

Thanks!

teal river
#

Great show! G'night folks!

teal river
drowsy shoal
#

zen ☺

unkempt shoal
slow spire
#

@haughty quiver Will have to watch Super Troopers clips tonight. Can't believe that's 20+ years old.

teal river
haughty quiver
#

LOL

#

@slow spire that's amazing

slow spire
teal river
#

Try explaining when you had to dial a phone and put it onto a modem box

#

And then listen to the robots screech at each other to decide if they’d talk

teal river
#

Wonder how kids would react knowing that there used to literally be people moving wires around to connect phone calls…

slow spire
teal river
#

Patch modules are so cool

#

Especially with the 1/4” jacks

slow spire
#

The first computer I learned to program on was a PDP8/E. It had 8K of memory, shared by three users on teletypes. I "saved" my first programs on paper punched tape.

teal river
#

Mmmm punch tape

wind spoke
lavish patrol
#

👋

viscid bolt
#

Good afternoon.

split gazelle
#

good afternoon folks

haughty quiver
#

hi there all!

teal river
#

hiiiiii

drowsy inlet
#

hello all

teal river
#

I hear blerpblorps

clever summit
#

🇸🇪 👋

lavish patrol
#

Bleepage and Bloopage

clever summit
#

Good Evening mr. Callaway!

lavish patrol
#

@clever summit Greetings, and well met.

inner spade
#

👋

cinder wind
#

A crouton code!

#

oh... coupon

lavish patrol
#

🐝

#

🍯

inner spade
#

A sweet discount code.

tulip canyon
#

That bear looks a little sleepy

drowsy inlet
#

sugarsnaps?

tulip canyon
#

Sugar Smacks!

teal river
#

SugarCrisps?

#

I think Honey Combs had a sugar-coated version called Sugar Combs

#

So many sugar

tulip canyon
lavish patrol
#

That's perplexing, Charlie...

shell mason
#

there is some polytypes too

lavish patrol
#

Audio's now out of sync.

teal river
#

Sugar Smacks are still around :D

cinder wind
#

so audio sync out it is, is not just me

teal river
#

Ohhh, glowy

shell mason
#

audio sync yeah

teal river
#

Audio out of sync for me too

#

Yes, cereal forking chaos

drowsy inlet
#

yeah, couple secs out of sync

tulip canyon
#

n'sync

lavish patrol
#

Audio's back. 👍

teal river
#

Lars sucking up all the bandwidth again

drowsy inlet
#

yep, after quick video jump looks good now

lavish patrol
#

Lol

cinder wind
#

back N*SYNC!

teal river
#

Sync confirmed!

unreal bay
#

Smooth

teal river
#

Smoother than Commander Riker’s face

shell mason
#

lars downloading icecream cones with pitch bend

teal river
#

Sometimes it’ll auto reload like 4-6 times when i save code

unreal bay
#

useful. Is there anything else super-duper in the supervisor library, other than .runtime?

cinder wind
#

there are many useful things in supervisor

teal river
#

Is runtime only for auto reload?

unreal bay
#

cool, few gems in there, thanks

teal river
#

Who supervises the supervisor?

upper sandal
#

the hypervisor ?

cinder wind
#

e.g. if you want to know if your CircuitPython is both connected to a computer AND if someone has opened the REPL:

if supervisor.runtime.usb_connected and supervisor.runtime.serial_connected:
  print("ahah! I see you human")
lavish patrol
#

Who shall judge the judges?

unreal bay
#

oh I love that, the hypervisor, but its got to be the watchdog with the final word

tulip canyon
#

Love it has a Cereal Connection
(I might be hungry)

lavish patrol
#

Hypervisor - a hyperventilating supervisor...

shell mason
unreal bay
shell mason
#

Andy would lars be that hypervisor?

lavish patrol
teal river
#

JP, how many of those did you buy? XD

lavish patrol
#

@teal river I think he bought all of them.

shell mason
#

see one could be Lars face piano

teal river
inner spade
#

A photocell in the mic could be Thereminically fun, too.

lavish patrol
#

Try to loosen it with isopropyl alcohol.

teal river
#

If you can’t open the ice cream cone without sawing or melting, maybe 3D printing a clone is an option

#

I gotta go, ttyl!

inner spade
#

Jimi Hendrix playing a cat!

lavish patrol
#

Lol

#

Jimi Felix

spiral vale
#

instead of enable/disable - have a button re-zero the accelerometer

lavish patrol
#

Wasn't tht the Knight Rider theme music? 🤔

inner spade
#

The cone could be converted into a NeoPixel disco light wand.

lavish patrol
#

The possibilities are endless...

cinder wind
#

ooontz-ooontz-ooontz-ooontz-ooontz-ooontz

lavish patrol
tulip canyon
#

Floats are fun with Python

0.1 + 0.2 == 0.3
False

cinder wind
#

lol yeah floats in all languages have that issue

lavish patrol
#

0.1 does not equal 0.10000000000000000

cinder wind
#

it's why a lot of languages have a "Decimal" or "Fixed Decimal" data type. Important when dealing with money values

lavish patrol
#

True

inner spade
cinder wind
#

oh! didn't know it got ported to CirPy, nice! thx jepler!

sand lotus
#

Just downloaded AudioKit and getting a lightning to USB-A cable for the iPad.

cinder wind
#

AudioKit is really good. Thanks @haughty quiver for letting us know about it! I wish it was multitimbral so we could have a sequencer do multiple sounds from it

sand lotus
#

I don't have one already, will look in the adafruit store, sure np!

#

only apple adapter i own is lightning to ethernet, and that was for IT work.

cinder wind
#

I've been using my iPhone as a "record audio quickly, with video" device, using that Lightning USB adapter and a USB audio interface

sand lotus
cinder wind
#

pretty handy

inner spade
#

MIDI Note Be Gone!

sand lotus
#

the clapper for midi

lavish patrol
#

Audio's out again.

#

Out of sync, that is.

sand lotus
#

yeah serious sync issue between audio/video

cinder wind
lavish patrol
#

Thanks, @haughty quiver 👍

inner spade
#

Thanks for the stream @haughty quiver !

sand lotus
#

Thanks JP. I absolutely love your meowsic project. It's perfect.

strong acorn
tulip canyon
#

Thanks @haughty quiver 😺 🎹

haughty quiver
#

meow

sand lotus
#

ahh perfect timing with the discount code, definitely using that 🙂

haughty quiver
cinder wind
#

Thx JP! It was the real.. cat's pajamas

haughty quiver
#

lol

inner spade
#

👋

ancient grotto
#

Good afternoon

inner spade
#

Testing the newest StringCar racer FeatherWing today. Being able to choose almost any MCU and Stemma sensor will make this a fun and flexible robot.

lilac tusk
#

Lol

#

It’s an FPGA so probably much hard to use with but it would be interesting

upper sandal
#

🏎️ 💨

inner spade
#

The switches detect end-of-string

#

Yes, to trick them out for speed, smarts, autonomy, and longevity.

#

… and esthetics like lights and sound.

upper sandal
#

have we lost the stream ?

inner spade
#

Not working on YTube or Twitch for me.

smoky island
#

technical difficulties 😦 trying to get it back going

ancient grotto
#

back

#

YT

upper sandal
#

back on yt

#

uh oh

ancient grotto
#

oh no...

upper sandal
#

the computer gods heard you

#

they pulled the plug !

ancient grotto
#

is the car curse

#

back on yt

upper sandal
#

there and back again !

wind spoke
#

If 4 is 0.04 then 100 is 1.00 (and that is one second).

#

If you want to see frames, you can put digit 1 2 3 4 ... 30 as images, generate the gif, then display, then film at high speed (like with an iPhone).

clever summit
#

🇸🇪 👋

wind spoke
#

Orange is the new Black

#

That is called a green screen...

ancient grotto
#

make transparent is doing 0xFFFFFF

wind spoke
#

What is the index of green?

#

There might be 50 shades of Green... did you took the right one?

#

0xFF00 ?

inner spade
#

Index only works with palettes/lists, I think

#

The docs are confusing.

ancient grotto
#

john has a parsec wideo with make_transparent

inner spade
#

Animated GIFs have multiple palettes; one “master” and one for each frame?

wind spoke
#

I guess they would share the pallet for saving???

sand lotus
#

good evening

wind spoke
#

Per frame local palette... that is the key information here.

#

Maybe "our" gif player has limitation and will fail on those tricky gif that try to break the limit?

#

From what I remember, GIF had a lot of trick possible, like text, partial update, ...

nova totem
#

Did you break it? 🙂

#

I used ColorConverter for this

#

Palette support would be nice but I hadn't built it yet

#

yeah if it is there its leftover

#

Surprised the build didn't throw a warning about unused reference

#

It's not in the dictionary

#

yeah that thing

inner spade
#

Default animated GIF format has a separate palette for each frame. Apparently there’s an extension to the standard for using a single global palette, but that’s not the default mode.

nova totem
#

I didn't look at how tilegrid/bitmap handles that

inner spade
#

Each frame has its own transparency list; not shared.

nova totem
#

That is part of TileGrid/Bitmap drawing as opposed to the GIF

#

I'll take a look, I'd think the bitmap color is accessible so should be able to see

inner spade
nova totem
#

The color in the bitmap is 0x0 like looking at gif.bitmap[0] it returns 0

#

What are you expecting to show through the transpancy? Do you have something behind it?

#

Where's the green come from?

#

Glad that works 🙂

#

look at gif.bitmap[0] should show the color

#

And I had thought a learn guide page(s) to show how to use it will be good. And as we (meaning me) see what its being used for or not can add features

nova totem
#

With the swapped colorspace (maybe I should make it so we don't have to swap it or have the parser configure it) it may have to be flipped but pure green probably

#

The actual RGB565 value

#

0x00ff00 is 24 bit. We need the 565 value

sand lotus
#

that makes sense

wind spoke
#

0b0000011111100000 ?

#

What if you remove the first frame?

nova totem
#

it can have colors not a palette. I don't think it is documented much

wind spoke
#

Black is 0 and was at position zero...

nova totem
#

0x07e0

wind spoke
#

^^^Try that

sand lotus
#

is green some kind of special color that's hardcoded somewhere else not to be transparent?

noble grove
#

Maybe it always does black and the number is the transparency.

wind spoke
#

Try 0x07e0 in the make transparent...

nova totem
#

A lot of this isn't in the gif itself

#

in the python code sorry

noble grove
#

try 1 and see whether it is still transparent

nova totem
#

So example for Bitmaps without a Palette:

bitmap = displayio.Bitmap(50,50,65535) 
# 50x50 with 65535 possible colors 16 bit
cc = displayio.ColorConverter(input_colorspace=displayio.Colorspace.RGB565)
tile = displayio.TileGrid(bitmap, pixel_shader=cc)
strong acorn
#

is it a new thing that YouTube stops streaming if I switch to a different browser tab?

nova totem
#

Also can you toss the GIF into discord I can try it out if you want

strong acorn
#

not logged in?

wind spoke
#

You need a rainbow as first frame, and see what color goes transparent depending on the value you provide...

smoky island
strong acorn
#

it could be some weird internet glitch, had this happen last time too

sand lotus
#

yeah mobile requires youtube premium for that feature on mobile devices.

strong acorn
#

I'm on desktop, not logged in

sand lotus
#

works fine on desktop for me, on firefox

strong acorn
#

not logged in?

sand lotus
#

im logged in, maybe that's the difference?

wind spoke
#

I'll keep watching the recording. But that gif animation thing is really great addition to CP. I love it.

nova totem
#

I think I gave you the wrong color with the byte swapping and stuff going on

#

Big/Small endian hurts my brain

#

Try this!

#

cc.make_transparent(0xe007)

#

The color is 0x07e0 but things are byte swapped... so 0xe007

nova totem
#

gif.bitmap[0]

sand lotus
#

the name is Gamblor, Mark Gamblor

nova totem
#

its not swapping within them I may have made a typo earlier copying things

#

Human view: 07 E0
Swapping E0 07

#

yes

#

That would work if you don't know your background color.

#

Something to think about is how the bitmap stores the color vs what humans see it as

ancient grotto
#

you can use struct.unpack

sand lotus
#

i honestly never use REPL but now I can see why it's so useful for thrown small ideas at it.

#

i only use it for debugging output

nova totem
#

Long story short: the gif parser reads the GIF (which has a palette) and converts it to RGB565 little endian. That is what gets stored in the bitmap object. Reading left->right as a human it seems backwards. But that is how displays read them.

We could parse the GIF into RGB565 big endian which reads more like a human left->right but the ColorConverter has to swap the bytes.

I did it this way with an eye on a future optimization to TileGrid and the converters. If we don't have to convert the color it saves time.

sand lotus
#

yeah go with the optimized state and we can adjust it later to be more human readable, agreed.

#

because right now we need every miniscule amount of optimization we can get for like 1 more fps

#

however at some point we're going to throw human readable conversion at some point..

ancient grotto
#
>>> data = b'\xE0\x07'
>>> import struct
>>> struct.unpack(">H", data)[0]
57351
nova totem
#

ColorConverter can be kinda slow. Maybe it can be optimized to (at the expense of size) but for common conversions. Right now everything goes input->RGB888->RGB565 (I believe)

ancient grotto
#

it returns a tuple that is why we use [0]

sand lotus
#

i would have never thought to throw struct at something like that

ancient grotto
#

🙂

nova totem
#

It needs to pass it to the colorconverter so not sure if it's ideal or not

sand lotus
#

yeah that one needs to be in the library for easy color conversions or at least something like that.

nova totem
#

Probably could expand ColorConverter

sand lotus
#

then later people could converter to RGB, HSV, HEX, etc..

#

having conversions from something to something would make everyone's lives easier.

nova totem
#

GIFs are palettes. I saved them as RGB565 as the library converts them for a display

ancient grotto
#

just FYI ..Fancyled library has some color conversions

nova totem
#

I have to take off now, but feel free to ping me later about any questions/thoughts/ideas.

ancient grotto
#

Thank you very much

sand lotus
#

Thanks @nova totem This is AWESOME stuff. Great work!

nova totem
#

Great! I'm open to adding/tweaking things after it goes live and people use it too

sand lotus
#

Coffee with Tim, see you tomorrow ☕

inner spade
#

Super work @nova totem ! Also thanks to @smoky island for taking us along on his walk through animated GIF country.

smoky island
inner spade
#

‘Morning. Looking forward to understanding more about ColorConverter but will be needing some ☕

nova totem
#

Good luck, may drop by later but have to go look at appliances right now 😦

inner spade
#

Yes 2 ** 16

#

(Counting zero as a color)

inner spade
#

565 fits in two memory bytes

frank river
#

as says @inner spade - RGB888 occupies 24 bits and RGB565 occupies 16 bits

brazen chasm
#

heya guys. Tim, whats going on today? 🇸🇪 👋

#

sounds interesting, as per usual

inner spade
#

So does ColorConverter just strip least significant bits when converting from 8 to 5 bits unless dithering is True?

frank river
#
RGB888 to RGB565

r_565 = (red_888 >> 3) & 0x1F
g_565 = (green_888 >> 2) & 0x3F
b_565 = (blue_888 >> 3) & 0x1F
rgb_565 = r_565 << 11 | g_565 << 5 | b_565
inner spade
#

The dithering produces a small amount of red occasionally when the 888 value for red is 0x07 or less?

#

Rather than just black

#

Fill an object with rgb888 value of 0x070000, ColorConverter will fill all black when dithering is False. With dithering True, would there be random red pixels?

#

Is the number of possible bitmap color values not compatible with rgb888?

frank river
#

Isn't ColorConverter designed to load images in different formats? It's mentioned with the function OnDiskBitmap.

Bitmap - This is pretty much what you expect, a 2D array of pixels. Each pixel contains an index into a "pixel shader", typically a Palette, which is where the actual color information comes from.

OnDiskBitmap - This creates a Bitmap image (picture) from a file stored on a disk, like omg_cute_kitteh.bmp. It must also be used in conjunction with a pixel shader, typically ColorConverter, to provide the color information.

Palette - This is a simple list of colors. A Bitmap's pixel value is an index into this list.

ColorConverter - Use to convert between color formats.
nova totem
#

Imagine the bitmap with actual RGB values in it and color converter changes them to the RGB values the display needs

#

pixel_shader i believe is a word for either Palette or ColorConverter (not sure if its a good word for it)

#

Bitmaps only support palettes or RGB values of 8/16/32 bits (and some modes less then 8 bits like black and white for ink)

#

e.g. bitmap = displayio.Bitmap(10,10,65535) means each pixel has 16 bits. Not a huge fan of that API myself (which leads to the issues checked for 32 bits and overflowing ints in C)

#

But you could (its broke it won't work) do: bitmap = displayio.Bitmap(10,10,4294836225) to make a Bitmap with each pixel have 32 bits. 24 bits would also ber useful to be supported.

#

Then it is just how those bits map to RGB values. 16 bits is usually RGB565. 32 bits would be RGB888 with the first 8 bits 0 (or alpha channel). 24 bits would be RGB888.

#

(It was broken before I don't think it ever worked)

#

ColorConverter then lets you take that pixel (be it 8/16/24/32 bits) in your bitmap and change it to RGB565 for a display. ColorConverter's output is hardcoded for RGB565

#

So say bitmap[0] = 0x00FF0000 (bright red 32 bits).
ColorConverter(input=RGB888) would change that into 0xF800 (RGB565)

#

cosmic rays? 🙂

#

That's... strange

nova totem
#

What color were you trying to start?

#
>>> hex(cc.convert(0xff0000))
'0xf8'
>>> hex(cc.convert(0xff0000))
'0xf800'
#

I'm running KB2040 with my latest build. But that should return the same thing

#

I'm getting the opposite of you. Mostly the 0xf8 and rarely the 0xf800

#

To the C code!

shell mason
#

QCode?

nova totem
#

If you want we can find time and have a voice chat about it, may be easier to talk it through one day. (the bitmap/ColorConverter)

#

Extra fun... ColorConverter.c has not had a new commit in 2 years...

#

Oh the shared-bindings did

#

Last commit I see only changed the new object construction...

#

Printing shouldn't

#

ColorConverter seems slow in my testing - I think it's an area that could be improved for displayio speed

#

Only ColorConverter. I didn't test palettes (yet)

#

If it could be a timing issue try a quick sleep after each conversion

#

I ran 10,000 runs and got 4 wrong (without printing except if it didn't match)

frank river
#

it seems like conversion between RGB888 and RGB565

converter = displayio.ColorConverter(input_colorspace=displayio.Colorspace.RGB888)
for r in range(0, 255, 16):
    for g in range(0, 255, 16):
        for b in range(0, 255, 16):
            input_color = r << 16 | g << 8 | b
            rgb_convert = converter.convert(input_color)
            print(f"input: {input_color:#024b}, conv: {rgb_convert:#016b}")
nova totem
#

printf debugging the core now and the incorrect value is being returned from common_hal_displayio_colorconverter_convert

frank river
#

try it yourself - input: 0b111100001111000011110000, conv: 0b1001111011110111

nova totem
#

I think there may be something with an int vs uint in the core (could be wrong)

#

Okay see something

frank river
#

maybe different value is due to enabled dithering?

nova totem
#

colorspace->reverse_bytes_in_word if its not 0 you swap the bytes.

Not sure if it means anything but all the runs its set to 145.

But when its wrong it is set to 0

#

at 0 you don't swap the bytes which is what we are seeing

#

It looks like a rare memory overwrite error

#

Got it i think

#

In shared-bindings/ColorConverter.c line 76:

    _displayio_colorspace_t colorspace;
    colorspace.depth = 16;
    uint32_t output_color;
#

The colorspace depth is set to 16, that's cool, but the structure isn't initialized

#

and later we use colorspace->reverse_bytes_in_word

#

Which is random based on what memory the structure is placed in. C won't initialize it to 0 for you

#

Added: colorspace.reverse_bytes_in_word = true;

#

yup

#

It looks like that fixes it (maybe we should initialize the structure to 0 and then set it in case other values are ever used)

#

memset... i'l write it out in a moment

#

Zero errors now for me

#

memset(&colorspace, 0, sizeof(_displayio_colorspace_t));
That will blank the structure

#

Better yet that colorspace should be a constant. It is used on every call.

#

Like add it to the ColorConverter construct.

Also would allow it to easier change in the future to convert to arbitrary colorspaces

#

I'd put it in the displayio_colorconverter_t structure

#

we have input_colorspace just store output_colorspace

#
typedef struct displayio_colorconverter {
    mp_obj_base_t base;
    bool dither;
    uint8_t input_colorspace;
    uint32_t transparent_color;
} displayio_colorconverter_t;
#

The whole structure

#

_displayio_colorspace_t colorspace; And rename it ouput_colorspace

#

Yeah will do, or if I have a moment today/tomorrow I'll submit a PR to fix it

#

You still need the reverse_bytes_in_word to be true

#

You commented it out on line 77

#

That zeros it out. true will set it to 1.

#

It is consistent - but consistently wrong 🙂

#

yup

#

It is converting it to 565 little endian I think by default

#

Your bitmap bits look wrong. you have it set to 15 bits I think?

#

I think it is 65535

#

Yeah it works for me 65535 is a valid value

#
<Bitmap>```
#

Oh yeah 65536 I think

#

oh hmm

#

I think the reverse bytes swap should be false. Maybe... I may have made assumed it should be true because it had been, but in reality it should be false

inner spade
#

Is color converter converting twice, once when instantiated and again during .fill? Oh, I so don’t understand how the converter works.

nova totem
#

Yeah I will comment and test it more I need a break too myself

#

(and yeah that was the problem I built a version now it looks right - but haven't tested it besides the REPL)

inner spade
#

Thanks!

nova totem
#

👋

sand lotus
#

no hacker o'clock tonight?

ashen dove
#

I've seen hacker o'clock after 11pm

sand lotus
#

yes but things might be a little different now with babyada in the mix.

ashen dove
#

yeah, probably even later. lol

strong acorn
#

?showtimes

arctic abyssBOT
#

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

strong acorn
#

"random" hacker times

sand lotus
#

🤗 adafruit

teal river
#

I think LadyAda has reduced the randomness variable

open girder
#

LIVE IN 5 🙂 The Desk of Ladyada - More RP2040 Tester Brains https://youtu.be/Qg2qjeiy4pg

The Desk of Ladyada - More RP2040 Tester Brains

This week at the Desk of Ladyada, we spent more time on our RP2040 Tester Brains board: this is our board that is replacing the Teensy3.6-based testers that we've been using for years with an available chipset. We've now published the CAD files on github (https://github.com/adafruit/RP2040-Based-T...

▶ Play video
lilac tusk
#

Beeps and boops

#

Good evening AdaParents 🙂

teal river
#

bleepbloop!

lilac tusk
#

Crinkle paper hehe

#

Initial firmware seems to hold

#

Good good

sand lotus
#

is that a Pico with Stemma? 😯

lilac tusk
#

Yeah

#

I think the Pico H has them?

upper sandal
#

that's for SWD

sand lotus
#

no, on the pico h that's where swd is

open girder
#

we dont post photos of kiddo, but this one is OK 🙂

sand lotus
#

ohh it's just a different swd port

teal river
#

"Is this supported"? lol

sand lotus
#

i do like looking at a good tester jig. custom design for a single purpose is always cool.

teal river
sand lotus
#

Arduino based ESPTool, very nice. I like the web flasher but sometimes it has an issue of getting locked to the bus. When that happens I have to use ESPtools to brute force a race condition to beat the lockout.

open girder
#

yah, lots of photos and videos for sure 🙂

lilac tusk
#

Hehe

teal river
#

Baby! <3

#

God I'm just so happy for y'all and excited for her future

#

I can't imagine growing up with the coolest hacker parents ever

lilac tusk
#

Same

upper sandal
#

Question: speaking of PCB designs that can help but are not products, are the RP2040 Feather ‘bones’ files available or still in the works ?

teal river
#

I was confused about the bones -- it was previously stated that they were published, but I couldn't find them

lilac tusk
#

Hehe BabyAda in the background “hey!”

lilac tusk
#

I need to submit a PR to dap

#

I added support for the nRF52811

teal river
#

Ohhh

lilac tusk
#

Come soon ™️

teal river
#

Scorpio bones

#

Excited for bones for a slightly easier time XD

sand lotus
#

yeah i think it was specifically for the scorpio bones

#

which is still a feather though

lilac tusk
#

I’ve considered uploading a feather template with USB-C and LiPo stuff in place

teal river
#

Question: Is there any reason that an end user might want to re-flash what these tester/programmer boards are doing? Perhaps security issues for WiFi devices?

slow spire
sand lotus
#

Audio amps! who doesn't love audio amps?

teal river
#

mmm jelly beans

sand lotus
#

oh this is a buzzer not an amp.

teal river
#

bzzzz

sand lotus
#

classic PAM. yeah i think most stuff is going to a MAX variant now.

#

Class D is life... i'm biased though.

teal river
#

Don't wanna be class D personnel...

#

badoop

strong acorn
#

class D doesn't have a bias

#

:p

sand lotus
#

therefore, digikey's substitutes aren't always right.

#

that sounds like something digikey's web team would be interested in correcting.

teal river
#

Does logic voltage vs. power voltage matter? Like, you said you use bat/5V input and 3.3v logic, but would 3v input and 3.3v logic work?

sand lotus
#

BGA ok if you have pick & place but for the rest of small makers... BGA is kind of a no go. maybe someone like Skerr could deal with that but I can't do it.

unkempt shoal
#

With the EyeSPI connector, is there a lib or documentation to use the MemCS over SPI?

sand lotus
#

question: what's the difference between DFN, QFN, etc.. i don't understand the naming conventions for SMD footprints.

#

i actually miss some of the older designs that had a DIP switch you could change the gain manually easily.

slow spire
#

@open girder Question: why reduce the gain to one?

sand lotus
#

ohhhh

#

thank you that definitely helps make sense!

teal river
#

Oh, do the Charlieplex boards or controllers generate much heat? Is it safe to sandwich like this?

lilac tusk
#

Thanks for a great show AdaFamily

unkempt shoal
#

Is Mem Chip Select on EyeSpi supposed to allow access to the VRAM?

teal river
#

Sleepy baby 💜

slow spire
#

Thank you 🙏 @open girder

teal river
#

Nini!

verbal river
#

Bye

inner spade
#

Thanks!

teal river
#

I always miss my last question XD