Pete's Log: Grand Ambitions

Entry #1987, (Coding, Hacking, & CS stuff, Meta, Smokepacking)
(posted when I was 43 years old.)

I feel like I'm finally mostly clear of my cold. Only took about three weeks to run its course. JB is at Jamie's parents. We don't feel like dealing with people right now. We've fought back the chaos in the house. Time to self-indulge.

I was starting to write a diatribe about why I want to get back to "doing stuff" but I was starting to get bogged down, so to summarize: I bought some stuff from Adafruit. It got here today. I'm hoping it helps me get back into my "doing stuff" groove. Here's what I bought and then below that is what I'm hoping to work on.

Some 22 AWG solid core wire in six colors. I've already got spools of 18 AWG solid core and 24 AWG stranded core (plus some 12 AWG, but that's not for these kinds of projects), but I felt like something was missing.

No alt text found for this picture. Please email to complain.

Some port-extendy type ICs. As fun and silly as my 74HC165 obsession is, these seem more useful. On the left are two MCP3008 8-Channel 10-Bit ADCs with SPI interface. On the right are two MCP23017 I2C 16 port I/O expanders. Now that I'm writing those descriptions down, I'm realizing maybe I should have tried to find both with I2C, but that's OK. Both of them are supported by ESPHome.

No alt text found for this picture. Please email to complain.

A 16 MHz crystal, an 8 MHz crystal, and a Si5351A Clock Generator Breakout Board that can generate signals from 8KHz to 160MHz. I don't have any specific projects in mind for these, but didn't really have any clock generating capability in my toolchest and I felt that I should. Especially since the two crystals were only 75 cents each.

No alt text found for this picture. Please email to complain.

This next one might have been a mistake, now that I'm seeing the humidity warning on the bag. It's a pack of 100 surface mount 1N4148 diodes. No project in mind for them, but it caught my eye while I was browsing and I impulsively decided to add them to my growing collection of SMD components in case I make a PCB at some point that needs signal diodes. I dunno, but now I've got them...

No alt text found for this picture. Please email to complain.

A bunch of PN2222 NPN transistors. I've used these a lot lately, and four of them are now permanently part of my XOR Gate PCB, which was a decent chunk of my inventory. So I figured I'd stock up.

No alt text found for this picture. Please email to complain.

A wired and enclosed AHT20 temperature and humidity sensor. My DHT11 sensor I use in the solar library has been finicky at times, and this one caught my eye as a potential replacement. It's relatively new and doesn't appear to have ESPHome support yet, but looks fun to play around with.

No alt text found for this picture. Please email to complain.

bq24074-based solar charger circuit. Discussed in more detail under solar library below.

No alt text found for this picture. Please email to complain.

A 555 timer replica soldering kit. This thing has been calling my name ever since I first spotted it on Adafruit some months ago. I don't know why I'm developing a 555 obsession, it seems like a nerd cliché. I will be playing with this later.

No alt text found for this picture. Please email to complain.

And that's all.

I've been keeping notes on recent Pete's Log enhancements and I'm going to sandwich them in here. I suspect Pete's Log might be more meta than the average web log.

  • I converted all my tables (as well as the KLUE4 tables) to unicode (utf8mb4). They were still latin1 and it's been bugging me for a while, in part because the image url at the bottom of this post about Slovenia was broken and I couldn't update it because of the special characters. Not sure how I managed that, but unicode seemed like the easiest fix. Also now I can finally use emoji. 🍻
  • I updated the modal picture preview feature to actually properly resize for the image it is showing. And I also completely got rid of this feature for small screens, since on my phone I've found I actually prefer to just go straight to the image.
  • Added a streaks section to the statistics page. My longest streak of years with at least one entry was 16 (dang you, 2014 Pete). My longest streak of months with at least one entry was 49. And my longest daily streak was 68. I don't really feel a need to break any daily streak records, but it sure would be nice to keep a monthly streak going. I'm currently at 16 months in a row. So I just need to keep writing one post a month through May of 2024 and I'll beat my previously monthly streak record. No biggie.

Anyway, what am I working on and/or want to work on? Well, one big one is wanting to redo Home Assistant, since it's being a butt. But that feels like something I need to do when I have a big chunk of time to focus on it. So instead, here's a list of things. Pete's Log is full of projects that never got completed, so we shall see how these fare.

  • I want to write an ESPHome component for the 74HC165. HA being a butt has kind of dampened my enthusiasm for this one, but I should be able to just install ESPHome locally on Esgerbeastie.
  • I also think it would be fun to write an ESPHome component for HUB75 displays. I didn't realize until recently that ESPHome supports displays, but it does. But not HUB75. Which would be fun, since I have one. This would probably be a much more complex undertaking than the 74HC165 component...
  • The solar library has been chugging along fairly well, but there are a number of improvements I'd like to implement, so let's do sub-bullets.
    • The visit counter needs re-implementing since HA is being dumb
    • I need to find a more permanent way to attach the reed sensor that detects door openings. Maybe hot glue. Also, the breakout board with the reed sensor has a LED on it that turns on when the door is closed, and I don't want that shining inside the library at night. So maybe I need a new reed sensor or maybe I can desolder the LED from this board.
    • The Neopixel strips also need to be better attached to the walls of the library.
    • I want to maybe swap out the charging circuit with the new one mentioned above. Originally I had this dream of designing my own PCB for the library, integrating the Adafruit charger design into my board (thanks for being open hardware, Adafruit!) But then I discovered that both the "brains" chip in the current charger circuit and in the new one only come in surface mount packages that can't be hand soldered. So I gave up on that dream. But I'd still like to make the overall design more compact, and for several reasons, this charger circuit will allow that. And maybe I can still design a custom PCB that the charger PCB just plugs into. I've got some things to figure out here.
    • I need to figure out if I want to replace the DHT11 temperature sensor with something else. Like maybe the AHT20 one I bought.
    • Try using the external ADC so I can track both the panel voltage and the battery voltage at the same time.
  • Desk lights. I love my Neopixel desk lights. And I sort of enjoy the crazy breadboard with tons of wires coming out of it that controls it. But I think it's time to replace this with a more compact, permanent solution. And maybe integrate one of 74HC165 PCBs I made.
    No alt text found for this picture. Please email to complain.
  • Secret project A: this project is currently requiring me to do some OAuth and I always get real bored real quick when I have to deal with OAuth. Gonna have to power through it one of these days.
  • Dice lights! Recently while hanging out in the basement with JB, she discovered it was real fun to take translucent dice and put them on top of a flashlight to watch them glow. And I agree with her that it looks pretty neat. So now I have this half-formed idea in my head of a glowing case to hold a set of dice.
  • I recently added a feature to my RhythmBox MQTT Plugin to allow it to publish messages with the retain flag. I did this since if my music display happened to be disconnected from MQTT when the playing song changed, the display wouldn't update to the current song even after reconnecting to MQTT. This works great, except now if the display is in idle mode because the motion sensor says I'm not in the basement, but then MQTT reconnects, it'll start scrolling the song name again, lighting up the basement for no good reason. Need some enhancements to the logic there.
  • And on top of all that, I just got notified that Hackerbox 70 is shipping.

Anyway, it does feel good to write that all down, since I'm not really tracking it terribly well anywhere, other than a couple bullets on my dry erase board...

Enough about all that. Let's solder.

No alt text found for this picture. Please email to complain. No alt text found for this picture. Please email to complain. No alt text found for this picture. Please email to complain.

Took about an hour to solder and assemble, plus a little longer to put together the test LED blinker circuit. You'll have to take my word for it that the blue LED in that last picture is blinking. There's an actual 555 chip in the second and third pictures for scale.

I cannot get over how cool I think this thing is. And I'm also real excited it worked on the first try, because now I need sleep.