Deep Rock Galactic in VR!

I had figured it wouldn’t happen once Ghost Ship Games said they weren’t going to tackle it, but it turns out it’s viable to mod in! It’s in open beta currently, and there are rough edges throughout the experience, but the core of it – being in a huge cave and fighting bugs – is just as incredible as I had hoped it might be. It lets VR do what it’s good at – intensify already-good experiences. A far cry from the stereoscopic screenshots NVIDIA’s Ansel provided! I’m very pleased.

Home Assistant Button

I made button-poe to allow using an Adafruit Feather as a light switch via Home Assistant:

It’s not super clear that it’s doing anything, so check the shadow the cable casts from the lamp in the lower right.
Categorized as Maker

Invention through annoyance

Here’s the problem – my neighbor’s HVAC closet is doing this, and it’s preventing me from sleeping:

Audacity spectrogram with primary component around 55 Hz
This is the highlighted section

I’ve submitted a maintenance request, sure, but more data more better, right? There are three states here: not buzzing, buzzing, and buzzing without the higher component. 55 Hz primary, 220 Hz higher component. FFTs away!

I was hoping this would be the part where I link to the code, but boy howdy is it harder than I anticipated to get a microcontroller to do this.

Categorized as Maker

Power Supplies

Not for computers – for other electronics. I’d glossed over the “it can supply 600mA peak” part for my microcontroller board’s 3.3V regulator, and assumed I wouldn’t hit it. Then I spent a great deal of time trying to diagnose strange nondeterministic behavior. The OLED display would quickly go blank. The SCD40 CO2 sensor would quickly stop providing data. These problems all immediately stopped when I used an external power supply capable of higher amperage. Go figure.

Categorized as Hardware

Feit Electric LED Strip Light Pinout

Tested on Costco item #1528979, which is in a black box. They’re still selling one in a white box online. (On further inspection its pinout seems the same.)

  • +: GND
  • B: D-
  • R: D+
  • G: VBUS
  • W: CC2, SBU1, CC1, SBU2
Categorized as Hardware

Maker Stuff!

It turns out that it’s pretty dang gratifying to build embedded systems. Don’t like the power LED that’s always on? It’s your code that turns it on! You can turn it off!

I have three projects that are functional so far. One logs temperature to a MicroSD card, which helped convince the leasing office that my fridge was not cooling well enough to be food safe. Another displays CO2 sensor readings. The third sends door close/open events over MQTT.

Currently I’m working on giving a kitchen scale the MQTT treatment so I can make detailed cat food consumption graphs over time instead of manually weighing for two inconsistently timed data points per day. Next will probably be designing and printing a case for the CO2 thing, which is currently just a bunch of components taped to a power bank, and is very flimsy.

Headphone Recovery

I moved my computer, and with a new setup comes new hazards. My headphone cable was wrapped around my foot when I tried to get up, and it ripped the headphones out of the jack. Both the jack and the plug were damaged – the jack was no longer in one piece, and pieces of plastic had flown off its housing, and the plug was bent but still in one piece. We were able to bend the plug back into shape with a vice, but the damaged jack would only provide audio to the left ear. Enter jack retasking in the Realtek Audio Console:

I was able to use the remaining front panel jack, and made sure to run the headphone cable with less slack to try to prevent a repeat performance. There’s a bug here, too: even though I’ve requested separate playback devices for the front and rear panel, it only gives me two if the normally-output jack is set to output. Close enough, and if I really wanted to work around it I could probably rewire the remaining jack to appear as the output one by moving cables in the front panel connector.

Categorized as Hardware

Indoor Air Sensors

I got a Metriful indoor air sensor, and wrote some code to expose it as JSON. It’s definitely not much:

Firefox renders JSON nicely

Looking again at the website, I see that 8 days ago they added what is hopefully a much better version of what I started. Yay!

EDIT: Yep, it’s way better:

Here you can see the light levels as the sun set, followed by turning on a lamp in that room for about an hour.

Categorized as Hardware

Dance Like An Idiot

For the 8th grade talent show at the end of the year, I made a Flash animation to Lemon Demon‘s Dance Like An Idiot. As you may be aware, Flash hasn’t aged super well, so I tried making a video of it at modern resolutions. It now has a height of 1080 pixels, compared with its original mid-2000s 548×400, but is still 12 FPS. I noticed some problems such as duplicated frames, but deemed it good enough for a first published attempt.

This video rendition is over 25x the size of the original SWF at around 33 MiB.

Server Move

With heavier services removed, it turns out this site can run on a Raspberry Pi! It’s a bit low in RAM headroom, mainly due to MySQL, but it cut my network and server hardware power usage by about 2/3! Ubuntu 20.04 works quite nicely on it, and I ran into a certbot bug while I was at it. An interesting experience!