Python Practice with an LLM

I’ve been tinkering with Python more recently.  When used on a MCU1 or a PC, it’s such a nice experience being able to write some code, run it without having to compile, see what happens, and adjust as necessary.  Now, since I’m a newb at this, I’m getting help from… *shudder* LLM’s.2 Now, in the past I’d turn to Googling, looking at reliable and friendly forums such as Adafruit and Arduino, but I’d invariably need to check out Stack Overflow as well.3

As you might imagine, Stack Overflow was something of a victim of it’s own success.  It’s content was good enough to train the LLM’s of the world – and those LLM’s can parrot / offer all the insights gleaned from Stack Overflow without the caustic haughty  condescending replies typical of the comment sections on Stack Overflow / SlashDot / HackADay.  Thus, it’s no small wonder the following graphic was circulating on Reddit:

Stack Overflow vs Time

Where was I?  Oh, yeah…  I was using some LLM’s to help with Python.  I don’t have any fancy GPU’s, BitCoin mining rigs, etc, so I’m just using my non-gaming PC’s modest 16 GB VRAM to run the smaller local LLM’s.  I can run things up to about 8B parameters, like the various Llama flavors, at 8 bit quantization with reasonable speed.  I’ve found for my system that Qwen3 4B to be fast, thoughtful, and helpful.

I’ve realized this blog post is woefully low on actual Python related content.  Here’s some things for future-me to remember:

  • pip list
    • Will give me all the names of all packages installed
  • pip install requests Pillow reportlab PyPDF2
    • Will install multiple packages, one after another
Python Programming Practice
  1. Python Practice with an LLM
  1. Microcontroller unit []
  2. Large language models such as []
  3. I bought their April Fool’s joke keyboard turned real product and once I’d remapped the keys, got significant use out of it for a long time.  Between the construction, packaging, and accessories, at $30 this is still a total no-brainer if you need a small extra keyboard dedicated to some specific tasks. []

QR Codes and Avatars

Not me at all

I’m not really big on social media, especially Facebook.  While I used Twitter for a long time, I pretty much abandoned it after their re-brand.  For a variety of reasons, mostly privacy related, I actively avoid associating my online moniker with my real name or photographs of myself.  Plus, I can be a lot more candid here where a comment won’t have to be associated with my work persona. 1  Anyhow, instead of using my real name and birthday, I fed Facebook the above photograph and use a totally different birthday and other information.  Later on, I used a very small version of this photograph as my “avatar,” but that changed when Bre drew a super cool secret agent looking version of my avatar for use on the MakerBot blog.

Anyhow, I was thinking about the “evolution” of my online avatar recently and some other projects when I remembered I’d seen some cool instances of people distorting a QR code in such a way that it appeared to be an image of something – but the contrasting light and dark patterns would be interpreted as a QR code.  I found a website (QRBTF) that will automate most of the process for you.

This isn’t the first time I’ve played with QR codes.  One of the first was waaaay back in the day.  Thingiverse has over 7 million “things” uploaded to the site as of right now.  But, Thing #5000 was this gem by yours truly.

Where was I?

MakerBlock’s Avatar QR Code of MakerBlock’s Blog

The process is … fiddly, even with lots of nice dials and buttons to adjust the image.  I don’t think I’ll keep this as the last version of this QR / avatar.  There needs to be either way higher error correction, larger QR code, or lower resolution, or higher contrast or… something to make scanning the image more reliable.

Anyhow, the reason why I’m even messing with this at all is so that when our projects are (hopefully!!!) accepted to Maker Faire, I can put this on my “maker badge” as a way for people who know me by my pseudonym / avatar to recognize me and for everyone else to be able to scan it and check out my website with more information about our projects.

Here’s another variation with some modifications:

This latest version required some post-processing:

  1. Trial and error to position the original image and then see how it looked when turned into a QR code.  Obviously, this also involved tinkering with the brightness and contrast settings.  I kept the error correction at maximum throughout.
  2. I downloaded the image in SVG format which was kinda messy.  Every black or white pixel was a separate element.  I laid a rounded corner set of squares over the four alignment blocks, obscuring the sharp corners usually associated with QR codes.  Then, I duplicated the central figure, and in the copy above I deleted the four alignment blocks and the figured, then made all the black speckled pixels slightly larger – to make it easier to read at small sizes.
  3. Centered the QR code on the white background, then rotated it 45 degrees for a diamond shape.

This version scans much more reliably and faster than any prior version.  I’m fairly happy with this result and will allow myself to fall down the rabbit hole of my next project… Or prior project.  Projects.0

Thermal Sticker Printer
  1. QR Codes and Avatars
  2. Sticker Printer
  3. Thermal QR Code Sticker Success!
  1. While my work-name and work-face are the same as my real name and real face, that’s just the professional responsible adult I pretend to be in order to pay the bills. []

Papercraft Phone Stand

I recently saw an Instagram post from someone I follow who makes cardboard furniture in India.  His story of building cardboard furniture while in college during COVID, building hand sanitizer dispensers out of cardboard, licensing this, and then pivoting to creating a business around making cardboard furniture is pretty cool.  One part of the story is how this guy’s designs started getting ripped off by others who saw it was an inexpensive and easy to produce product.  Even with patent protections, ideas get ripped off all the time.  Anyhow, this IG post was about how he had invented a business card which opens into a phone stand and apparently rejected an offer for the equivalent of $1M to sell his patent.

When they won’t license the design or sell the business card itself, I’m not at all sure why it was patented at all.1 They apparently got 10,000 produced, gave most away, and turning down offers to buy individual cards.

This slideshow requires JavaScript.

Sometimes when I see something interesting, I think about how it’s constructed and how I could build one using my own resources.  Just a quick glimpse at the video reveals pretty much everything one would need to build one.  A quick mockup in Inkscape and I had a version printed out on copier paper.  It was slightly flimsy, but it works just fine.  If I did this again out of cardstock, 300GSM paper, or even thin cardboard, I bet it would even better.

This slideshow requires JavaScript.

It’s a neat little tool – and I think I will make a few more for personal use.  Mine has a rounded front “nub” rather than the angled one in the video.  I could see adding an RFID tag/sticker, QR code for info, and other minor functional augments to be more useful to me.  I think there’s even a few ways to improve my design a little.

  1. I tried looking up the patent, but couldn’t find it anywhere []

Smol Fonts for E-Ink Displays

Posts are so much more interesting with pictures, don’t you think?

I’ve been playing with different screen designs for my e-ink display.  After initially going with some “to do” style items, I quickly pivoted to playing with some more interesting screens while I was working out the best way to update the display with new content from lists.  This wasn’t a totally worthless chase, however.  Fiddling with various ideas and tests about updating the display and coming up with different images lead me to chase down good looking fonts (Futura variants and Roboto being attractive and friendly fonts) and fonts that look good at very small scale (UNSCII, Tom Thumb, TinyFont for TinyGo displays, and Terminus).  Adafruit has a great toolchain for converting a font from an PC recognizable font to a BDF format font which is much smaller and can fit into a microcontroller.1 It involves2 using FontForge to remove unused glyphs, restrict the font to a specific bitmap size, exporting the font, then using an online tool to convert it to a BDF format.

For extra visual interest, here’s the first Fallout themed screen I uploaded and the latest:

Things are not looking up, my dude

The main screen was inspired by the work of CrowTeeRobot on the RPF.  I took a few screens, jammed them together, added and deleted a bunch of stuff.  After all that, there was still a fair bit of negative space, so I kept adding in more things.  A low battery indicator, life point indicator, a GPS lost / map indicator, an increasingly worrying radiation counter, and a “low ammo” indicator.  If these end up getting installed into a PIP-Boy, I’ll probably try to add a green transparency over it to give a more retro feel.

For working with an e-ink display to go into a PIP-Boy, it really only needs to cycle through a set number of screens.  This could just be done by having the MCU just play new screens every few minutes (keeping in mind the Adafruit guides recommend updates be no more frequently than every 3 minutes) or having it be slightly interactive and update the screen way less often (say every 10 minutes) but can be set to a new screen manually by pressing an associated button.  However, this just requires building a few static screens, saving them as BMP files, tossing them in, and letting the MCU detect button presses, capacitive touches, or some other kind of input.  There wouldn’t be any kind of need for a text overlay.  That said, while I was playing with the screen, I discovered that some of the graphic text I had included was surprisingly readable at very small scale.  This lead me back to my main project…

For my note / reminder / task purposes, I’m still toying with how the workflow would go.   Since I want a device that is untethered from a USB cable and has

Here are some ideas I’ve gotten to work and played with:

  1. ESP32C3 as a WiFi access point and provides an HTML form which the phone or my computer can connect to.  The problem with this is then I have to disconnect my phone/computer from the network, connect to the ESP, send an update through the HTML form, disconnect and reconnect to the router.
  2. Cell phone as a WiFi access point, the ESP32C3 connects and fetches data from the phone.  The problem with this is then I would have to disconnect the phone from the router, let the device connect, pull data, then I would reconnect the phone to my router for regular usage again.  This is pretty clunky.
  3. ESP32C3 connects to same WiFi network, then tries to push/pull data from a local IP address.  Also possible is for the ESP32C3 to connect to a webservice via an API, but then this makes the device dependent upon proximity/access to both my home router and internet access.
  4. The best way forward is probably a Bluetooth connection to my phone and an associated app.  I’ve written some small apps using the MIT App Inventor, so this looks like the best way forward.  I’m thinking, something along the lines of:
    1. Use the app to create an ordered list of items
    2. Press a button on the device, to “wake” it – which also makes it try to connect over Bluetooth to the device it’s been paired with, and pull the latest list
    3. The device disconnects from Bluetooth, displays the topmost list item, and goes to sleep
    4. I can can press a button to start a timer until X seconds has elapsed
    5. When the time elapses, the device buzzes, vibrates, and/or lights up an LED
    6. I can then press a button to sleep or another button to advance the task to the next item
    7. Possibly an interval timer as well to remind me to get up and walk around / move :)
Sticky Note Timer
  1. Ah, just what I need! A new project!
  2. Sticky Note Timer, parts arrived!
  3. Seeed Studio XIAO ESP32C3 and a small sticky note display
  4. Brainstorming More E-Ink Stuff
  5. Smol Fonts for E-Ink Displays
  6. Tap Light Focus Timer System
  1. This one, League Spartan Bold 16, looked particularly good []
  2. as best as I understand it… []

Brainstorming More E-Ink Stuff

I’ve been on vacation for a few weeks and a big part of that was completely leaving work and a computer/laptop entirely behind.  If I had a computer handy, I would have been tempted to noodle around on some project, jot down some notes on some new harebrained scheme, and potentially slide sideways into working.  And, even if I didn’t do any of that, I would have been looking at a screen – rather than the scenery I had worked so hard to go and see.

Even so, I couldn’t help but notice things that still helped germinate ideas.  In Europe lots of grocery stores and especially pharmacies made use of e-ink price tags.  Pretty nifty since they could probably be updated wirelessly via Bluetooth or perhaps with an IR protocol of some kind.  These tags were often the really cool tri-color variants1 and I only l learned of the quad color variants just today.2

With the weather heating up, it might be neat to have a weather display – but I don’t just want another weather display.  I would prefer something that had data I’m interested in – just the one task I have to be working on right now, the time I’ve allotted myself to work on it, maybe the weather, a timer button that can start/stop lights and/or a buzzer.  I dunno, this is all very much in the “brainstorming” stage while I’m still fumbling around with e-ink code.

Random ideas:

  • It would be neat to have exercise, stretching, standing, eating, drinking, etc breaks built into the display.  (I do realize there are circular themed smart-watch systems…)
  • My job requires various tasks with various timelines and monthly-ish metrics.  It might be neat to have various trackers for that kind of data.
  • I know various wearables display neat graphics like circles that get completed, achievements, etc, when the person reaches a certain number of steps or level of activity.  That would be neat to incorporate as a way to “gamify” certain aspects of my life / job.  Additional colors would certainly add to this kind of flair.
  • I haven’t given up on the idea of feedback from the sticky-e-note via buzzer,  speaker, vibration motor, haptic feedback, and LED’s or with inputs from buttons or touch capacitive sensors.  However, the more of these things I pack into a device, the more unwieldy it becomes and longer it would take to learn / build.  There’s certainly something to be said for a stripped down, elegant solution versus building a chunk pile of wires tethered to a USB cable.

Having just come back from vacation, my home office / lab area is an absolute catastrophe.  It’s a tangle of all the things I might have packed, almost packed, unpacked, and the remnants of all the things I kind did while walking around all the aforementioned stuff.  At a glance, I’m probably operating on about 10% of the normal surface area – mostly now devoted to a thin, windy, and treacherous path from the door to my desk.

Sticky Note Timer
  1. Ah, just what I need! A new project!
  2. Sticky Note Timer, parts arrived!
  3. Seeed Studio XIAO ESP32C3 and a small sticky note display
  4. Brainstorming More E-Ink Stuff
  5. Smol Fonts for E-Ink Displays
  6. Tap Light Focus Timer System
  1. Black, red, white-gray []
  2. Black, red, yellow, white-gray! []

OpenSCAD Club Cookies

@raster wanted to make cookie cutters.  This has been something of a solved problem for about 12 years now, through Thingiverse’s Cookie Cutter Customizer.  Except, it’s been totally non-functional for probably a decade now.  :(

My solution is basically to make a solid for the thin brim + tall cutting edge and then subtract the original SVG shape.  I tried it with each of @raster’s SVG’s for the teddy bear, cloud, hexagon, and pacman and they seem to work.  Anyhow, here’s the code I wrote instead of doing the work my employer pays me to do:

//  Settings
    $fn = pow(2,7);
    nozzleD = 0.4;
    th = nozzleD*pow(2,2);
//  Measurements
    cutterH = 15;
    cutterW = 10;


cutter() import("TeddyBear.svg");

module cutter()
    {
    difference()
        {
        union()
            {
            //  Thin, tall cutter wall
            linear_extrude(height=cutterH, center=false)
                offset(r=th)
                children();
            //  Wide, short cutter holder
            linear_extrude(height=th, center=false)
                offset(r=cutterW)
                children();
            }
        //  Cutting out the shape
        linear_extrude(height=cutterH*3, center=true)
            children();
        }
    }

Should we have a club motto?  I vote for “Vive la différence!”

#OpenSCADClub
  1. OpenSCAD 3D Printed Spring
  2. OpenSCADClub Week 2: Directional Pad
  3. OpenSCAD Render Times
  4. One Simple Trick Can Save You 30 Minutes…
  5. OpenSCAD Club Cookies

Seeed Studio XIAO ESP32C3 and a small sticky note display

The chief benefit of the XIAO ESP32C3 appears to be it’s very low cost.  $5 for a microcontroller which can run Arduino or CircuitPython and has WiFi and Bluetooth sounds like a smoking deal.  As I’m fumbling my way through this project, I’m finding some little hiccups learning experiences along the way.

  1. The XIAO ESP32C3 doesn’t support USB file transfer, which is going to make putting CircuitPython on the board more interesting.
    1. One of the most convenient aspects of CircuitPython is being able to update the MCU over USB.  In an ideal world, I would have worked out the kinks on this project and then transferred the program to a cheaper Board.
    2. I went with this particular board since that’s what the author of the Hacksterio article used.  For $2.50 more I could have gotten a XIAO ESP32S3 which would support native USB rather than the ESP32C3.  I’ll just make sure to order some S3’s next time!  :)
  2. Using the guide linked above, you need to enable “Experimental Web Platform features” in Chrome.
  3. My “XIAO ESP32C3” showed up in the Adafruit web based ESPTool.  I noted the MAC address, erased the MCU (~15 seconds), and uploaded the new firmware BIN file from CircuitPython.org (~12 seconds).
  4. After futzing with Mu for a while, I ended up following an Adafruit guide and installing the portable version of Thonny on my PC which allowed me to update the board’s settings.toml file as described in the Adafruit guide.
  5. I wasn’t having a lot of success figuring out the MCU’s local IP address, so I used the Adafruit code for having print the IP address to the terminal.  For some reason I found the MCU’s MAC address appearing on my router’s wireless client page.
  6. Uploading files from my PC to the MCU using Thonny wasn’t quite intuitive.  There’s a file navigator on the left side of the screen.  On the top you can use to find files on the local PC and on the bottom navigate to the target MCU folder.  Once you’ve got these, you can right click on the local files and upload them to the target folder.  Later, I discovered I could select multiple files and upload them all at once, which made adding libraries way faster.
  7. After installing CircuitPython on the XIAO, I keep bumping into the error “ValueError: D8 in use”.  It took WAY longer to figure out this problem than I was anticipating.  After much hand wringing and rending of clothes, it turns out that if you don’t call “displayio.release_displays()” when initializing the board, it will claim this or that particular pin is in use and won’t let you do anything interesting.
  8. Even after solving that problem, it turned out that I was trying to use the wrong driver for the board.  I started with “il0373” which wouldn’t display anything, then “uc8151d” which also displayed nothing, and finally “ssd1680” which did work.

Here’s the pin connections I’m using, going from the label on the e-paper display, to what the acronym means, to the color of the wire on the cable, to the XIAO pin, to what that pin means:

E-Paper Meaning Color XIAO Meaning
BUSY Busy purple D4 D4 / SDA / GPIO6
RST Reset white D3 D4 / A3 / GPIO5
DC Data Command1 green D2 D2 / A2 / GPIO4
CS Chip select2 orange D1 D1 / A1 / GPIO3
CLK SPI SCK pin3 yellow D8 D8 / SCK / GPIO8
DIN SPI MOSI pin blue D10 D10 / MOSI / GPI10
GND Ground brown GND Ground
VCC 3.3 volts gray 3V3 3.3 volts

Here’s the code I could get working:

import displayio
displayio.release_displays()
import time
import board
import wifi
import socketpool
from adafruit_display_text import label
import adafruit_requests
from fourwire import FourWire
import board
import busio
import digitalio
from adafruit_ssd1680 import SSD1680
#import terminalio 
#import ipaddress
#These last two commented out as I try to figure out what's still necessary to get this project to run
spi = busio.SPI(clock=board.D8, MOSI=board.D10) display_bus = FourWire( spi, command=board.D2, chip_select=board.D1, reset=board.D3 ) display = SSD1680( display_bus, width=296, height=128, rotation=270, busy_pin=board.D4 ) # 🔧 Set custom hostname BEFORE connecting to Wi-Fi wifi.radio.hostname = "Sticky" # change this to whatever name you want print("Connecting to Wi-Fi...") if wifi.radio.ipv4_address: print("Connected to Wi-Fi!") print("My hostname:", wifi.radio.hostname) print("Connecting to SSID...") print("My IP address is", wifi.radio.ipv4_address) ipad = wifi.radio.ipv4_address else: print("Failed to connect to Wi-Fi.") # Fetch the IP address if wifi.radio.ipv4_address: ip_text = str(wifi.radio.ipv4_address) ip_text = "19.2.168.0.1" etext = f"Hello! It's me! \nA TOTALLY \nresponsible \nadult!" else: etext = "Hello eInk!\nWi-Fi not connected." from adafruit_bitmap_font import bitmap_font # Load a larger font (adjust path as needed) font = bitmap_font.load_font("/lib/Junction-regular-24.bdf") splash = displayio.Group() text = label.Label( font, text=etext, color=0x000000, x=10, y=15, line_spacing=0.7 ) bg_bitmap = displayio.Bitmap(296, 128, 1) bg_palette = displayio.Palette(1) bg_palette[0] = 0xFFFFFF # White background bg_sprite = displayio.TileGrid(bg_bitmap, pixel_shader=bg_palette) splash.append(bg_sprite) splash.append(text) print(etext) try: display.root_group = splash display.refresh() print("Waiting for refresh to complete...") time.sleep(5) print("Display refresh called.") except Exception as e: print("Error during display refresh:", e)

Here’s the progress so far:

This slideshow requires JavaScript.

Having gotten this to work, I’m pretty excited about the possibilities.  I would love to have a Doctor Who psychic paper display4 , an addition to my kid’s Pip-Boy, or a physical desktop widget that displays interesting / useful information.

With this setup I can manually hardcode a new message and update the e-paper display.  Not super useful in and of itself. However, with some elbow grease and a few late nights, I’m hopeful I can add the ability to connect to a Bluetooth device and update the screen, set off a buzzer, or set off a small vibration motor.  Right now there are 5 pins left unused:  D0, D5, D6, D7, D9.  I figure I’ll need one to wake the device from a deep sleep, one for an RGB / NeoPixel LED to provide a little instant visual feedback, one for a buzzer, one for a vibration motor, and then maybe one more for another button.

Sticky Note Timer
  1. Ah, just what I need! A new project!
  2. Sticky Note Timer, parts arrived!
  3. Seeed Studio XIAO ESP32C3 and a small sticky note display
  4. Brainstorming More E-Ink Stuff
  5. Smol Fonts for E-Ink Displays
  6. Tap Light Focus Timer System
  1. Data / Command selection [high for data, low for command] []
  2. SPI chip selection, low active []
  3. Clock []
  4. Thus, the “responsible adult” above []

Where is the Othercutter? [Draft 06/08/2015]

[This is a post I’ve revisited so often that I really have no idea when I began writing it – and couldn’t figure it out without digging deep into the WordPress database.  Suffice it to say, I’ve wanted a cardboard cutting CNC for a long time.  Originally a collaboration between DARPA and OtherLabs, most of the interesting parts of this project have been removed from Otherlabs’ website and many other resources the victim of linkrot.  As a project funded by a federal agency, there’s a slight possibility some semblance of documentation for this machine might still kinda exist somewhere accessible via FOIA requests…  The operation isn’t exactly arcane, a reciprocating blade, that can be rotated through 360 degrees, on a rail, and a bed that moves a sheet of cardboard back and forth – like a suped up craft cutter.]

I can’t help it – I love cardboard and I love CNC tools. 1  Cardboard is free or cheap, lightweight, strong, but can look unfinished and is very susceptible to moisture.  This makes it ideal for prototypes and temporary projects.  However, when a cardboard structure is covered, it can be incredibly strong and durable.

The promise of the Othercutter was a simple CNC machine kit using an off the shelf x-acto blade to cut cardboard or foamcore.  

The shortest possible version is that the Othercutter was the brainchild of Otherlabs (now Bantam Tools).  What started out as a project to cut cardboard morphed into the Othermill, a small capable desktop CNC mill initially released on Kickstarter.  I could never do justice to the Otherlabs and Bantam Tools story – it’s a wild ride and worth a read.

  • https://web.archive.org/web/20130209054433/http://blog.mentor.otherlab.com:80/
  • https://blog.bantamtools.com/loving-our-own-dog-food
  • https://otherlab.com/blog/post/the-othercutter-low-cost-cnc-machine
  • https://web.archive.org/web/20130122094442/http://blog.mentor.otherlab.com/the-othercutter-low-cost-cnc-machine/
  • https://web.archive.org/web/20130109063100/http://blog.mentor.otherlab.com:80/the-beginning-otherlab-and-the-mentor-project/
  • https://web.archive.org/web/20130131051839/http://blog.mentor.otherlab.com:80/architecture-and-the-othercutter/
  • https://web.archive.org/web/20130131175353/http://blog.mentor.otherlab.com:80/othercutter-update-speed-and-quality-control-testing/
  • https://web.archive.org/web/20130210080545/http://blog.mentor.otherlab.com:80/cardboard-in-the-wild-marty-morales
  • http://kimlyis.me/otherlab-otherfab/
  • https://sites.google.com/site/3dprinterlist/cnc-cutters/othercutter
  • https://ingriddragotta.com/Info
  • https://www.youtube.com/user/Otherlab/videos
  • https://arstechnica.com/information-technology/2013/05/a-day-at-the-bay-area-maker-faire-the-greatest-show-and-tell-on-earth/
  • https://www.mssm.org/uploaded/STEM_Collaborative/2013_Educators’_Camp_Course_Selections_.pdf
  • https://web.archive.org/web/20101231104932/https://www.fbo.gov/index?s=opportunity&mode=form&id=0248c338123e8b6f51d4dcf743196464&tab=core&_cview=1
Drafts Zero - The Lost Blog Posts
  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]
  19. Where is the Othercutter? [Draft 06/08/2015]
OtherLabs OtherCutter
  1. Where is the Othercutter? [Draft 06/08/2015]
  2. OtherCutter Epilog
  1. Gotta collect them all. []

Sticky Note Timer, parts arrived!

The parts have arrived for this project!  The three XIAO boards cost $17.33, were ordered on 04/10/2025 and landed on 04/17/2025. 1  The 2.9″ e-ink display cost $24.99 from Waveshare, were ordered on 04/11/2025 and landed on 04/14/2025.23

Parts!
Parts!

I’ll need to solder in the headers for one of the XIAO chips, connect it via jumpers to the e-ink display, and then see if I can update the screen with content.  For now, I’ll just power it with USB until I get it working, then solder in a LiPo connector.

Sticky Note Timer

  1. Ah, just what I need! A new project!
  2. Sticky Note Timer, parts arrived!
  3. Seeed Studio XIAO ESP32C3 and a small sticky note display
  4. Brainstorming More E-Ink Stuff
  5. Smol Fonts for E-Ink Displays
  6. Tap Light Focus Timer System

  1. This price includes shipping and after a $5 welcome coupon code for my first order []
  2. Again, this includes shipping []
  3. I’m not without some degree of self-reflection.  I’m ~$45 deep on this project which would buy four kitchen timers and 4,000+ sheets of off-brand sticky notes.  But, what price knowledge?  WHAT PRICE KNOWLEDGE?!?!? []

Trash to Treasure

Years ago, like more than a decade ago, I went on a tour of a Tesla facility, which was amazing, and I bought a t-shirt.  Now the idea that I gave that company any money turns my stomach.  While comfortable, the shirt was not cheap and the neck stretched out almost immediately.

Not my shirt, I just forgot to take a picture of it before I got started cutting...
Not my shirt, I just forgot to take a picture of it before I got started cutting…

My youngest had a craft / reuse class where the take-home project was to create a sock monkey.  Except we didn’t have any long socks that could be turned into a monkey and destroying something useful to make something less useful is kinda not the point.

I like to participate in these projects with her, so I decided to donate this t-shirt to the cause.  As with all good projects, I started with a detailed plan.

Detailed schematics for plushie
Detailed schematics for plushie

The rest isn’t super involved or interesting.  I sketched out the design on the outside of the shirt and got cutting. From there, ran it through the sewing machine, cut the rest of the shirt cutoffs into scraps, and stuffed the shirt with itself plus additional stuffing.

This slideshow requires JavaScript.

And, now, please meet “Alset” the spider plushie.

Alset the spider
Alset the spider

Honestly, a lot more comfortable than you’d expect.