Posted in Uncategorized

2022 Ford Maverick Bed Lights

If all you want is the Thingiverse link to the STL files for the clips, it’s at the bottom of the post. ūüĎáūüŹľ

After having installed a tonneau cover on my Ford Maverick, I realized that sometimes it can be a bit difficult to see inside when it’s dark out! So, I wanted to do some bed lights.

Figuring out the right way to mount bed lights was interesting, though, as there didn’t seem to be a specific “best” way to mount them. So here’s what I’ve devised! It involves some 3d printing of some custom clips, to avoid having to use any adhesives (which can easily soften and come unstuck into a gooey mess in the hot summer heat, especially in a bed with a black tonneau cover trapping extra heat inside).

Looking under the edges of the bed, I noticed some “clips” showing. They seemed to be a part of the plastic cover that protects the paint along the top of the bed — what is marked as <29038B on this diagram on the Ford Parts website. These little clips had a hole in the middle to grant them some flex, so they could pop through the holes in the unibody construction and lock in place — so my brain wondered if I could design a part that could hold the LED light strip securely, by latching onto that clip (and ideally with a little more elegance than just using a zip tie to attach a light rope to it).

It took several revisions to properly measure and design a shape that worked well in the space, but I finally came up with a silhouette that seemed to work comfortably.

In the fourth attempt, in an attempt to figure out how to properly affix the mount to the clips, I left a hole in the top inset, thinking I’d run a M3 screw through it, but I wasn’t quite happy with it, and especially with the idea of only having plastic on one side of the hook — it felt like it could bend and warp if it wasn’t encompassed from both sides.

I knew the LED light strip I’d wanted to use. It seemed a solid option with good reviews, and didn’t mess around with complex RGB lighting — I picked up a five meter length of this lighting, and used the surplus around the house (adding a light to the cabinet my 3d printer lives in, doing a bit in the kids rooms, etc)

So, I designed a shape that could be mirrored and would join with itself to hold the LED Light Strip against the outside wall of the bed. I came up with the following in Fusion 360:

It worked marvelously! The clips on the bed were about 7mm wide, so I designed the shape to have a 2mm solid back, and to extrude up 4mm, leaving 1mm of play in it, so it wouldn’t be overly tight.

However, there was the question of how keep both halves together! I’d considered using some CA glue, which works well on the PETG filament that I’d used to print the clips, however that felt … permanent, and I’d like to be able to disconnect them if I had to without destroying them. So, time for another revision.

This time, I changed the curve to account for a through-hole sized for a 6-32×3/4″ bolt, with small divots on the outsides to allow a small washer to nestle into the parts. For ease of use in some tight spots (and to not need a very tiny wrench to hold it as I tightened) I went with wingnuts on the far end, as they’re much easier for me to reach in and hold with a stray finger and tighten against.

Practically, if you’d rather, you could probably also hold them in place using cotter pins, however I’d advise keeping the washers to distribute the pressure so there’s less stress directly on the 3d printed part.

The final parts looked something like this:

The inside and outside angles of both mirrored sides.

With eight clips on each side of the bed, I had to do sixteen of each half. The final mounting of the LED strip looked stupendous, and I couldn’t be happier.

For the curious, I used this switch from Amazon, using a faceplate I also designed to control the lights to replace the FlexBed 12v faceplate by the tailgate. I’ll include the faceplate in the Thingiverse project as well.

And here’s the Thingiverse project:

For anyone interested in doing a similar project for their 2022 Ford Maverick, if you have access to a 3d printer or a friend that does — give it a shot! Just remember to print in PETG or ABS, as PLA probably can’t hold up to the heat in your car on a hot summer day.

Posted in Uncategorized

2022 Ford Maverick Cubby

The Ford Maverick has a small cubby next to the entertainment console.

Here’s some cardboard cut to fit the bottom, top, left, and right of that cubby.

It is scanned on graph paper where each cell measures 0.25″ (for scale)

Hope these may be useful to someone! I’d love to build something cool that nestles well into it.

Posted in Uncategorized

Defcon28: Crypto Hunt Clues

Just accumulating what I’ve got from the Defcon 28 badge and such:

This is the cipher on the back of the lanyard. Proper orientation (if there is one) unknown.
This is the outside spine of the cassette’s cover. The color cipher seems to decode to DEF CON SAFE MODE.
These are the three interior ciphers. Orientation for the colors is unknown.


Transcription of the arced text with the skull

Xbaw maek wzme pgty zvxy izwk iwhk lnhy agrl rrlp fsis xadh uflx dsqh rzrg qegu itwb wveq aslo moii xmzx mvea rtil yekd lvks jrbo arvy nmjz wodi gcxe tkrr cyir xbsu rwyf slwr ixyk lrwz sbzr zbpg rrrw hjsi alXX 1o57

Transcription of the text on the maroon background with either an 8 or ‚ąě symbol.

Here’s my first attempt at recording the cassette:

Posted in home-hacking

Home Hacker Project: Battery Powered Water Fountain

Howdy!  Welcome to the first weekly electronics tutorial — I’m going to be aiming to do this out front of my house every Friday for students walking home from Donegal Intermediate School or folks visiting our Little Free Library to check out!

Parts for today’s build:

  • Small Water Pump — from Amazon, $12.99 for 5
  • 6 inch length of ¬ľ inch inner diameter tubing
  • Some variety of power supply — I’m using a rechargeable 18650 Lithium Ion battery as that’s what I’ve got lying around, but you could just as easily use 3 AA batteries in a holder like this one from Amazon that costs $7.99 for 4
  • Hot glue gun
  • A small container you’ve pulled from your recycling bin
  • Water (food dye optional for fun coloring)
  • A plastic baggie (to hold your batteries and wires to keep them nice and dry)

First thing we’re going to do is to take our container that will become our fountain, and punch a small hole in the side of it, just above the bottom.  This will be what we’re going to feed our wires from the pump out of, so that the pump can be submerged!

Next, we’re going to attach the small length of tubing to the pump (this is what’s going to squirt water up in the air), and use our hot glue gun to attach the base of the pump to the inside base of our container.  Thread the wires through the hole we made in the container (or just let them drape over the side if you’d rather), and attach them to the wires from our power supply.  No switches today!

Add water, and see it pump!  It’ll run for a while until your batteries die off, then you’ll need to recharge or replace them.  In future projects, we’ll learn to integrate cheap solar panels into our projects so they can keep running indefinitely!

Curious how water pumps work?  It’s kinda like a fan in your home!  A motor spins a propeller that then gets forced out and up a hose!

Neat, huh?

Posted in Modification, Modularity

Hacker Home Security Hardware Prototype!

Just wrote a post over on Hacker Home Security detailing the first prototype board for my project of the same name.

I’d expected initially to make it on the D1 Mini platform, but recently sorted out some of my prior problems with using a raw ESP8266, so I’ve since migrated to that. ¬†Plus it’s significantly more power efficient as it doesn’t need to run a usb-to-serial adapter as well, which can be an unnecessary drain on the D1 Mini.

I really enjoy designing circuit boards. ¬†There’s a certain artistry to them, an efficiency of space that really constrains the options and results in some results that I really take pride in. ¬†Let me know what you think!



Posted in Modification

Motion Sensor WiFi Light Switch

The downside of the old knob and tube style of wiring is that some off-the-shelf light switches, like the common Leviton motion-sensor switch, are totally non-functional without a ground wire — which knob and tube wiring doesn’t typically provide.

What is a hacker to do?

The smarter solution is probably to find a way to run a ground wire through the walls of half hour house and up two floors to go from your junction box to the switch in question.

My solution?  Build my own.

The simplest way to cobble together a motion detector light would be something like a PIR sensor attached to a power supply and a relay to safely control mains voltage, but that has no way to manually activate or deactivate the light.

To add a bit more granular¬†control to the system, I decided to build it on top of an Arduino base, so I could add more controls. ¬†For space constraints (as well as the fact that I had a spare one lying about), I used a Wemos D1 Mini — easily programmed via the Arduino IDE, and if I ever want to expand its capabilities, I can easily connect¬†it to my home wifi and attach it to¬†Blynk.

As an added bonus, I has a D1 Mini Relay Shield lying about as well.  This made one less thing I needed to wire up, and could just plug it in.  Add in a momentary switch for human input, and our circuit looks something like this:


(Note, that is the relay shield stacked on top of the D1 Mini, they can be hard to differentiate in the mockup)

Bill of Materials:

After some tinkering, here is my code to get the system working:

* PIR Closet Sensor, with kill switch.
const int relayPin = D1;
const int pirSensor = D2;
const int btnSensor = D8;
int pir = 0; // Variable for pir.
int pirState = LOW; // Start as off.
int btn = 0; // Variable for button.
int btnState = LOW; // Start as off.
void setup() {
Serial.begin( 9600 );
Serial.println( "Starting up…" );
pinMode( relayPin, OUTPUT );
pinMode( pirSensor, INPUT );
pinMode( btnSensor, INPUT );
void loop() {
btn = digitalRead( btnSensor );
pir = digitalRead( pirSensor );
// If a button is pushed, and motion is detected,
// turn off the light and wait until it resets.
if ( HIGH == btn && LOW == btnState && HIGH == pir ) {
digitalWrite( relayPin, LOW );
btnState = HIGH;
Serial.println( "Killswitch detected — turning off light." );
delay( 1000 );
// If the button was pressed, keep shorting
// until the pir goes low again.
if ( HIGH == btnState ) {
if ( LOW == pir ) {
Serial.println( "No motion, resetting state." );
btnState = LOW;
if ( HIGH == btn ) {
Serial.println( "Button pressed, turning light back on." );
digitalWrite( relayPin, HIGH );
btnState = LOW;
// If the pir senses light,
if ( HIGH == pir ) {
digitalWrite( relayPin, HIGH );
if ( LOW == pirState ) {
Serial.println( "Motion detected!" );
pirState = HIGH;
} else {
digitalWrite( relayPin, LOW );
if ( HIGH == pirState ) {
Serial.println( "Motion ended." );
pirState = LOW;

view raw


hosted with ❤ by GitHub

The code could probably be simplified by removing the logging messages, but I like to leave them there for further reference and debugging down the road.

So now that we’ve got the components gathered, it’s time to look at how we put it in! ¬†As luck would have it, the electrical box that the previous switch used was a double¬†gang box, so I had a bit of room to work with.¬†I picked up a solid 2-gang cover at my local Home Depot, and drilled two holes in it for the switch and the PIR sensor.

Now, all is right with the world, but we still have to actually power it! ¬†Through some creative wiring, we’ve thus far managed to avoid having to splice any wires together (by using both the 5v and 3v3 outs on the board for wiring to different peripherals, and only the PIR needed a ground wire) and to continue that trend, we’re¬†going to be powering it through the D1 Mini’s USB port, and to power that USB port via a 6″ USB cable, connected to a genuine Apple iPhone power adapter — they’re tiny, and very well built transformers (just don’t mess around with cheap knockoffs, they’re terrifyingly dangerous — especially if it’s going to be mounted inside a wall!).

To connect the 120v AC to 5v DC transformer (the aforementioned power adapter) to mains power, my plan is to connect it to home wiring via two crimp terminals¬†and some heat-shrink tubing around that as additional insulation to avoid any exposed metal, as there isn’t an outlet in the box to plug the adapter into.

Well, that’s the plan. ¬†As I said — far trickier than just running a ground wire across half my house, but hopefully more fun and I’ve learned a lot in the process. ¬†I’m expecting to hook it up in the next couple days, and will update here when it’s live and functioning!

Posted in Modulation

Electronic Conference Badges

Ever since attending Defcon 24 this past August, I’ve been enthralled with the idea of electronic event badges.

I’m also pondering and trying to sort out what exactly would be needed to accomplish them on a budget that could be done for a WordCamp, and have it be both hackable after the event, but also usable during — and of course, look cool.

From my experience running a WordCamp, I know that attendee gifts should normally be about or just under $10 per attendee, whereas speaker gifts should normally be about maybe $20 or so. ¬†One handy bit is that speaker gifts are in addition to attendee gifts that they get anyways, so it’s possible to have the speaker gift be an addition to their attendee badge — like an LED display and better battery or sensors or the like.

All this compiles to roughly the following requirements for attendees:

  • $10 per badge price limit.
  • Battery powered.
  • Blinky LEDs — either pretty or useful.
  • (optional) Reprogrammable after (or during) the event.

The programmability and interactivity aspect of the badge is particularly tricky, but there’s a variety of cheap microcontroller units (MCU) like the ESP-8266 12-F that can be had for under $1 per in quantity. ¬†Or, if you’d like something a bit easier for your attendees to reprogram, the Wemos D1 Mini which is based on the aforementioned ESP-8266 12-F¬†can also be had for under a dollar in quantity — while it would make your badge a bit bulkier as it would need to connect to your badge via pins, rather than just soldering SMD directly to the badge — it also provides a Micro USB port to make it easier for users to connect to, without having to supply their own UART adapter. ¬†The added bulk is likely worth it, in this case.

As an aside, the Wemos D1 Mini is also programmable via the Arduino IDE, so that may simplify the process for your attendees to hack on their badges.

The other tremendous advantage to using an ESP8266 based board as the brain of your badge is that the ESP8266 is actually a wifi chip! ¬†That’s right, it can reach out and connect to wifi networks, or make an ad hoc network between multiple badges so they can communicate!

This opens up a number of possibilities. ¬†Would you like to let your attendees sign up for specific sessions throughout the day, and have their badge light up an LED indicating which room they need to go to? ¬†Totally doable! ¬†Would you like to have every attendee’s badge light up and start blinking at the same time? ¬†Also doable!

The one downside with being cost-constrained is that you may wind up putting in more time than expected assembling the boards. ¬†It is possible to have your factory that manufactures the PCBs also pick and solder all the components, but that costs a bit more as well. ¬†If you’re doing a short run of maybe 10-20 boards for just speakers or the like, it’ll probably be easier to just make them yourself.

The other option that can be explored is to have the attendee gift be a cheap system-on-a-chip linux computer somewhat like to the $5 Raspberry Pi Zero — basically giving every attendee a computer that can operate as a WordPress Server — and then have the Speaker Gift be a badge with sensors and lights and batteries that can be powered by the attendee gift.

In my exploring of this option, it seems that the simplest option may actually be the C.H.I.P. — while there are other options such as the aforementioned Raspberry Pi Zero and Orange Pi Zero, they both would necessitate also picking up MicroSD cards which can add to the price significantly — however, there are other development boards like the C.H.I.P. that include sufficient storage space on-board to simplify supply chain management.

For $9, you get a 1GHz processor, 4GB of storage space, 512MB of RAM, and both Bluetooth 4.0 and WiFi b/g/n for connectivity. ¬†While it doesn’t have the mini-HDMI out that the Raspberry Pi Zero has, it does have composite video out on the board’s headphone jack — and the manufacturer also sells expansion boards that can add on either HDMI or VGA displays.

As an added bonus, when you need to flash your Chip, the maker also has a tremendously simple, browser-based flasher tool. For something you’re giving to attendees — many of whom may not be comfortable with flashing development boards — the visual flow can be tremendously useful as a jumping off point for many.

Then you simply need to design a badge with ¬†the pin headers for the C.H.I.P. to plug into, work up a firmware image with things such as the event’s wifi details preloaded, and a script running on a cronjob to operate the lights — and you’ve got yourself a badge for your speakers!

Or at least that’s the plan. ¬†At the moment, this is all theoretical, I’ve been puttering about and planning possibilities, but haven’t had occasion to actually put all of this into practice. ¬†If any of it catches your fancy and you’d be interested in doing digital badges for your WordCamp, drop me a line on Twitter at @daljo628 and I’d be happy to help as I can. ¬†ūüôā





Posted in Modularity

Nintendo’s Modular Switch

(apologies for the pun, but it was totally intended)

Last night, Nintendo officially announced details and games for their upcoming console, the Switch. ¬†This morning I waited outside of a GameStop to preorder mine. ¬†I’m excited.

Most of the technical details, while impressive, struck me as basically what was to be expected — nothing out of the ordinary. ¬†Better haptic feedback, new sensors, etc. ¬†One thing did surprise me, though.


The actual Nintendo Switch charges via USB-C.  The controllers also charge via USB-C.  This means a couple things, listed roughly in the sequence that they occurred to me:

  1. Huh, that’s interesting. ¬†I’ll be able to use the same charging cable that I have for my Pixel phone for the Switch as well! ¬†That’s certainly a change, Nintendo has a history of inventing proprietary connectors on, like, everything.
  2. Oh, so if I’m on a plane ride or a trip, I’ll be able to charge it on the go to extend its battery life.
  3. Wait wait wait, if the Switch charges via USB-C when it’s plugged into the TV Dock, I wonder if it uses that single connection for both charging, and the 1080p HDMI video out? ¬†It certainly could, I don’t see why it wouldn’t.
  4. Does that mean that the Nintendo Switch’s TV dock is just a glorified version of Apple’s¬†USB-C Digital AV Multiport Adapter¬†— piping the video out through the same single USB-C port that the power comes in via? ¬†I wonder if they’d be interchangeable.
  5. I wonder if it would support USB peripherals via a USB-C hub plugged into the Switch.

There’s a lot of tech questions that will only be answered on or about March 3rd, when the Nintendo Switch actually releases — but with Nintendo changing — err, switching — to more modular technology standards, I’m very excited to learn where we go from here.

Posted in Uncategorized


Most of y’all may not know, but I’ve been changing myself lately. ¬†Physically, I mean, and a lot more than my recent tendency of dying my hair blue.

For¬†almost a year now, I’ve been using Invisalign to fix my teeth, and tomorrow I go under the knife for a Gastric Sleeve surgery.

To be completely honest, I’m a bit scared. ¬†I know it’s considered a trivial procedure, very low risk, but it’s not nothing.

I’ve tried losing weight for years — both for self-image reasons, but also health. ¬†I have two kids, I’d like to do everything I can to make sure I’m around to see them both grow up.

So now, I’ve been on a liquid diet consisting of less than 1,000 calories per day for the last week, and that’s about to get cut down to practically nothing for a few days as I recover from surgery. ¬†And then I’ll make my way back to food.

The confusing bit is I’m not really hungry. ¬†I don’t know. ¬†Maybe I’m not good at listening to my body’s hunger cues. ¬†Or maybe protein shakes are magical and really do keep you full.

Anyway, tomorrow.

Tomorrow I go in for surgery, and then¬†I’ll get to miss gorging myself at holiday dinners this year. ¬†But egg nog is okay on a liquid diet, right?

Hopefully, as time passes, I’ll become myself again. ¬†Emotionally and physically.