Gus Workman @gworkman.bsky.social · 10/10/2026I am absolutely over the moon about this 😁 The #Goatmire badge (running #AtomVM) controlling the Goatmire balance bot (running #Nerves and #BeamBots, rendering display with #Emerge) via #Erlang distribution Thanks @lawik.bsky.social for the display PR 🫶 73813
Gus Workman @gworkman.bsky.social · 14/09/2026The cat is out of the bag: we’re doing badges again for #Goatmire 2026! Each attendee will get a digital badge in their goodie bag, powered by #AtomVM and #ElixirLang. Featuring an ESP32, LCD, keyboard and some fun onboard sensors Join us for Goatmire in Varberg, SE Sept 27th - Oct 3rd to get one! 65119
Gus Workman @gworkman.bsky.social · 20/08/2026It’s always a fun day when your boards arrive 😄 #Goatmire #ElixirLang 3142
Gus Workman @gworkman.bsky.social · 18/05/2026The Nerves Starter Kit hardware is really coming along nicely! I've recently been spending a lot of time on the case design. Just today I finally dialed in the buttons to the level of clicky-ness I wanted (and it's soooo satisfying) Here's the assembly process from start to finish: 1112
Gus Workman @gworkman.bsky.social · 01/05/2026A great way to kick off what is objectively the best month of the year* 120
Gus Workman @gworkman.bsky.social · 24/04/2026I had a blast speaking just now at @elixirconf.bsky.social! One of the things I prepped for this talk was a simulator for the Nerves Starter Kit simulator. Check it out: nsk.protolux.io #ElixirLang #Nerves 2205
Gus Workman @gworkman.bsky.social · 14/04/2026I updated my #ElixirLang dither library to support RGB and custom color palettes! It comes with several built-in palettes, my favorite being the 16-color `:cga` palette This library will have a few mins of spotlight in my @elixirconf.bsky.social talk next week! github.com/protolux-ele... 2152
Gus Workman @gworkman.bsky.social · 08/03/2026Bagels pt ??? Fun fact: bagel dough is basically the same as pizza dough, and one batch of dough could yield: - 8 bagels - 4 pizzas - 4 bagels and 2 pizzas (the best of both worlds!) 3180
Gus Workman @gworkman.bsky.social · 12/02/2026I had the pleasure of revealing some of the latest updates for the Nerves Starter Kit project last night at the monthly @nervesmeetup.eu! There were some really good discussions, and I definitely woke up today really energized from the feedback we got :) #Nerves #ElixirLang 2197
Gus Workman @gworkman.bsky.social · 02/12/2025I always appreciate Advent of Code for reminding me of functions in the #ElixirLang standard library that I either didn't know about, or just forgot existed. Some examples from the last two days: - `Integer.mod/2` vs `rem/2` - `Integer.floor_div/2` vs `div/2` - `Integer.digits/2` - `Enum.scan/3` 062
Gus Workman @gworkman.bsky.social · 15/11/2025My apartment smells like bagels, and I couldn’t be happier 4171
Gus Workman @gworkman.bsky.social · 14/11/2025Here’s my best e-ink animation to date on an SPI panel :) 020
Gus Workman @gworkman.bsky.social · 11/10/2025Here’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 110
Gus Workman @gworkman.bsky.social · 11/10/2025Oh 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. 260
Gus Workman @gworkman.bsky.social · 07/10/2025I 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 😅 571
Gus Workman @gworkman.bsky.social · 21/09/2025The name badges have been a hit, but I realized that a lot of folks don't know that I'm doing a workshop using them at @codebeam.bsky.social in November! The workshop is gonna be lots of fun - includes assembling the hardware, set up a Nerves project, write some drivers, and personalize your badge 22811
Gus Workman @gworkman.bsky.social · 10/09/2025What a WILD day at #Goatmire! I finally unveiled the surprise that @lawik.bsky.social and I have been cooking up for the last few months - every attendee received a Nerves-powered e-ink name badge! I had a blast on stage presenting the project and the process of how to design hardware for Nerves 46612
Gus Workman @gworkman.bsky.social · 07/08/2025The guts of the first prototype. Had to solder on a few bodge wires to make it work. The final version has these issues fixed, and the order has been placed! #Nerves #Hardware #Electronics 163
Gus Workman @gworkman.bsky.social · 30/07/2025A little more context for the goal of this project… coming very soon 👀 feat. the official Nerves shirt by @lawik.bsky.social, from oswag.org! 041
Gus Workman @gworkman.bsky.social · 29/07/2025Recipe: - 1 e-ink display - one rev of custom PCB - 1500 mAh of battery - a splash of #ElixirLang (infused with Nerves) - a dash of rust(ler) 1495
Gus Workman @gworkman.bsky.social · 02/07/2025Chilling at the library today. It’s too hot for my brain to function in office or apartment 020
Gus Workman @gworkman.bsky.social · 25/06/2025Here's a video of what that looks like. Starts with floating window to run my compile/upload command for Nerves (though that's not necessary, just wanted to show the floating window). Then `Space +d` for warnings in current file, and `Space + D` for warnings in the workspace 110
Gus Workman @gworkman.bsky.social · 19/06/2025Booting into an IEx shell on Trellis 🌱 A huge thank you to @fhunleth.bsky.social for putting in a ton of time with debugging! #ElixirLang #Nerves 173
Gus Workman @gworkman.bsky.social · 20/05/2025Here’s what the guts look like. There’s a Raspberry Pi Zero 2W with a Soleil board on top for power management. The eink display came with an SPI driver board, so there’s a bunch of wires soldered directly to connect them Mechanically it is held together with tape and superglue 😅 050
Gus Workman @gworkman.bsky.social · 20/05/2025I had a ton of fun exploring Kraków with this device after the conference. A few pics from the city :) 151
Gus Workman @gworkman.bsky.social · 20/05/2025If you saw me last week at ElixirConf, you might have seen my Nerves-powered eink name badge It can show a couple of static images and take a picture with the camera to display on the screen Working on putting everything in a GitHub repo this week in case anyone wants to make one of their own! 5367
Gus Workman @gworkman.bsky.social · 17/05/2025Every time google tries to shove AI down my throat by offering to "polish" my emails, I keep reading it as the noun "Polish", as in the language of Poland. Which maybe actually would have made a bit of sense for the last couple of days here in Kraków for #ElixirConf? 120
Gus Workman @gworkman.bsky.social · 12/05/2025Here's a higher-quality still frame of the board up close. Seriously, the matte solder mask looks great and this might be the sharpest silkscreen I've seen on a PCB 😍 010
Gus Workman @gworkman.bsky.social · 12/05/2025Really excited to share this one - I arranged the PCB factory tour in China because I ordered the first production batch of Soleil boards there. This clip shows me unboxing the boards in the shipping room of the factory. They turned out absolutely great, really impressed with the quality 152
Gus Workman @gworkman.bsky.social · 10/05/2025Okay this was a really cool machine that I hadn't seen before. For certain through hole components, there is a machine which will dip the through hole legs into a small well of solder. It's better in some cases because it doesn't require tooling to create a mask for wave soldering 141
Gus Workman @gworkman.bsky.social · 09/05/2025This one is called wave soldering, and it is used to solder through hole components (which have "legs" that poke through the PCB) Basically, the PCB is loaded on a conveyor and slowly moves over a bath of melted solder. The legs drag through the liquid metal, and get soldered to exposed copper pads 110
Gus Workman @gworkman.bsky.social · 08/05/2025New clip from my factory tour of a PCB assembly shop in China this past week - showing a pick and place (PNP) machine. The toolhead on this machine has multiple vacuum nozzles which pick up the tiny components, move them to the correct spot on the PCB, then place and release them 121
Gus Workman @gworkman.bsky.social · 06/05/2025Automated optical inspection (AOI) of a circuit board in a PCBA assembly line This machine detects bad solder joints and flag boards for rework. Critical for quality assurance in PCB assembly 020
Gus Workman @gworkman.bsky.social · 04/05/2025After a bunch of debugging, I determined the issue was due to a bad ground connection `sunxi-fel --list` now outputs the chip ID. @nerves-project.org bringup via uboot and buildroot is next! 050
Gus Workman @gworkman.bsky.social · 14/04/2025The fix here is to rip out the reset controller, and use the charging of the RC circuit to drive the reset pin. Based on the calculator linked, I want: 140k resistor 1uF capacitor We'll see what I have on hand, but I'll try the already-mounted 10k / 1uF to start ladyada.net/library/rcca... 210
Gus Workman @gworkman.bsky.social · 14/04/2025It looks like it is option 1 - reset is steady at 0.393V The reset timing is a little complicated, but it essentially needs to hit 3.3V after at least 64ms after the other power rails have stabilized. I designed for 240ms of delay. But looks like that's not working, so time for some solder surgery 220
Gus Workman @gworkman.bsky.social · 14/04/2025Fortunately there are no issues: 5.11V on the 5V output 3.32V on the 3.3V output 0.904V on the 0.9V output And the power LED lights up! In total, with the board powered but no code running we are consuming 27mA @ 6V input, or about 150mW 210
Gus Workman @gworkman.bsky.social · 14/04/2025Meetings are almost done for the day, which means it's time to start @nerves-project.org bring-up ⚡️🌱 Will be documenting progress here 294
Gus Workman @gworkman.bsky.social · 05/04/2025Love the new autocomplete! Any chance it could support prefixes/suffixes in the near future? I'd love to add a '@' as an inner suffix to this input 200
Gus Workman @gworkman.bsky.social · 31/03/2025Ever wanted to build a custom embedded device but felt stuck with off-the-shelf boards? Meet Trellis! 🌱 A Nerves-first, open-source hardware platform that gives you a solid starting point for your custom hardware projects I'm beyond excited to speak about it at @elixirconf.bsky.social EU in May! 12910
Gus Workman @gworkman.bsky.social · 30/03/2025⚡another sneak peek - open source hardware designed for @nerves-project.org 2171
Gus Workman @gworkman.bsky.social · 28/03/2025I've been working heads down this week using @kicad.org to finish up the layout on my next open source hardware project - designed to run Elixir via @nerves-project.org Here's a sneak peek from the 3D render, more info coming very soon! ⚡ 2172
Gus Workman @gworkman.bsky.social · 19/03/2025They hide it in the "advanced options" section of the PCBA quote page. I think they'll do them by default for a subset of boards if you have BGA or other fine pitch components - for this batch I just asked since I had one bad solder joint on a BGA component 010