Gus Workman
@gworkman.bsky.social
240 followers 170 following 290 posts
Hardware/software engineer currently hacking with #ElixirLang and #Nerves. Founder of protolux.io - currently available for B2B contracts in Elixir (including Phoenix and Nerves), embedded firmware, and custom PCB design
Posts Media Videos Starter Packs
gworkman.bsky.social
As I understand you’re pretty deep into the python/micropython side of things.

If you ever want to give Elixir/Nerves a try, I would be happy to help out where I can! It’s a really neat framework :)
gworkman.bsky.social
Yeah it’s certainly an annoying problem. I really think Elixir/Erlang binary pattern matching does it in one of the best possible ways. Works in case statements, match operator, even function heads.
gworkman.bsky.social
Makes sense! The BMP280 is a great example library :)
gworkman.bsky.social
Here’s some examples of how you would see the bitmapping in a datasheet.

Values can be integers, enums, booleans, signed, unsigned, etc etc. That’s where elixirs binary pattern matching is really powerful! In the end, your code just looks how it is defined in the manufacturers documentation
Except of a datasheet from MCP7940M, an RTC chip. It shows the RTCHOUR register definition Except of a datasheet from MCP7940M, an RTC chip. It shows the RTCSEC register definition Except of a datasheet from LSM6DSV, an IMU chip. It shows the WAKE_UP_THS register definition Except of a datasheet from LSM6DSV, an IMU chip. It shows the CTRL_2 register definition
gworkman.bsky.social
Oh man I got called out in this one 😂

But this is actually a perfect example. Chip designers love putting random config bits in unrelated registers. Adding additional registers requires more transistors, more processing, more verification, etc so they cram it all into as few as possible.
A screenshot of Peter’s blog post which calls me out specifically 😂
Reposted by Gus Workman
peterullrich.com
🚨 New Blog Post 🚨

EXTRA EXTRA! Hot off the press! The power of binary pattern matching revealed! The in-depth investigation you don't wanna miss! Get your copy now! #ElixirLang

peterullrich.com/binary-patte...
Binary Pattern Matching in Elixir
Decode bits and bytes into meaningful parts using the magic of Elixir pattern matching.
peterullrich.com
gworkman.bsky.social
Elixir’s binary pattern matching syntax is absolutely amazing for working with embedded stuff. Looking forward to the blog post!!
Reposted by Gus Workman
codebeam.bsky.social
Hands-on hardware with Nerves! Writing e-ink drivers in Elixir, learning SPI protocols with @gworkman.bsky.social .Build firmware, take home your board! Save your spot! codebeameurope.com/trainings/di...
gworkman.bsky.social
😭 we missed you! Next time :)

The recording is already up if you want to see what you missed:
nervesmeetup.eu
Thanks everyone for coming out last night to our inaugural meetup! We had a great discussion about running containers on Nerves by @steffend.me. Hope to see everyone for the next one on Nov. 12!

Another thanks to @captchrisd.bsky.social for uploading the recording so quickly! You can watch below:
www.youtube.com
gworkman.bsky.social
It really was! About 90% attendance rate from the registered participants, which is amazing.

I hope if people enjoyed it, we can spread the word!
gworkman.bsky.social
Me either! Hoping that we can develop a strong Nerves community :)

❤️🧡💛💚💙💜
gworkman.bsky.social
Very very very happy with how the first Nerves Meetup EU turned out. Thanks everyone for joining :)

@steffend.me knocked it out of the park with his presentation. The twist at the end was amazing! Recording will hopefully be up soon
gworkman.bsky.social
Huh I’ve never tried a magnet. I think the real solution though is that I need one of those blue ESD mats. Will solve the visibility problem while also being safer for the sensitive chips
gworkman.bsky.social
Nice find! Yeah it just blends right in 🥲
gworkman.bsky.social
Great you’re hired. Next time I lose a bunch of resistors on the table I’ll send you some photos to find em for me 😜
gworkman.bsky.social
Here’s the answer for the 5th one
gworkman.bsky.social
Yea that looks like the type of thing which gets swallowed up by the earth only to be spit out again 5m away from where you dropped it. And probably right under your bare foot, somehow poking it 😂
gworkman.bsky.social
You’re close! The 5th was flipped upside down, which is a white-ish gray color instead of black. It’s slightly to the right of your question mark
gworkman.bsky.social
Also note that resistors are typically black on one side and white-ish grey on the other 🥲
gworkman.bsky.social
Fingers crossed that they BlueSky image compression didn’t turn this difficult task into an impossible one lol 🤞🏻
gworkman.bsky.social
I was soldering a new board design yesterday on what is quite possibly the worst possible table to use for the job - off white with black and grey speckles.

There’s five 0402 resistors (1mm x 0.5mm) in this photo. See if you can find them 😅
A photo of a table which is largely grey base with black and grey speckles everywhere. Among the speckles somewhere are 5 tiny resistors, which guess what, are black and grey and about the size of a speckle. They might as well be invisible
gworkman.bsky.social
We're up to 30 registered participants!! A lot of names I recognize from Goatmire, and a lot of new friends-to-be.

Can't wait - come join us tomorrow at 7pm CET!
nervesmeetup.eu
Reminder: our inaugural meetup is tomorrow at 7pm CET! @steffend.me will be presenting on the topic of running containers on Nerves.

You can register for the event here:
nervesmeetup.eu/meetup/conta...

#ElixirLang #Nerves #Meetup
gworkman.bsky.social
Pretty sure there’s no bugs here 😄
Reposted by Gus Workman
lawik.bsky.social
Phew. Big Nerves Newsletter for issue 100. Covering Erlang CVE fixes, NervesConf EU, NervesConf US video releases, Nerves Meetup EU launching and much more.

You can sign up for it and get it roughly bi-weekly. Sign up now to get issue 100.
nerves-project.org#newsletter

#elixirlang #embedded
Nerves Project
Nerves is the open-source platform and infrastructure you need to build, deploy, and securely manage your fleet of IoT devices at speed and scale.
nerves-project.org