Close

1. Hardware Deep Dive: The 'Stray' v1 Prototype (and all its quirks)

A project log for Stray

ESP32-based digital walkie-talkie (VoIP) for local Wi-Fi networks.

alexAlex 10/22/2025 at 18:160 Comments

Hello everyone! Welcome to the first proper hardware log for the `stray` project.

My goal here is to walk you through the v1 prototype hardware: why we chose certain parts, how it's all connected, and (most importantly) all the "features" and quirks you'll find if you dig into the design files.

Design Philosophy

The main driver for this design was ergonomics. We wanted a device that felt comfortable to hold, with all the main functions "at your fingertips." This led to some... interesting design choices.

 Core Components

Here’s a quick rundown of what's on the board:

---

Here's how it looks inside

The Enclosure (A "Hybrid" Approach)

The case is a 2-part custom assembly:

---

 "Features, Not Bugs" (The Quirks)

This is the fun part. This board has character.

---

Hardware <-> Software Integration (The BSP Layer)

To make this (and any future) hardware manageable, I created a Board Support Package (BSP) layer. The idea is to separate the physical pinouts from the main application logic.

All the init code, pin definitions, and low-level hardware functions are in one place. If we (or you) make a `rev2` board, you'd just create a `bsp_rev2.c` file with the new pin map, and the main code wouldn't have to change.

These are the key functions the main app uses from the BSP:

Source Files & Final Notes

The PCB source files were created in DipTrace. It's a free-for-small-projects tool, but it's not very common, so you'll have to download it if you want to poke around.

Honest admission: The Bill of Materials (BOM) in the design file is probably incomplete. I don't have the mental energy to go back and fix that old design, just like I didn't want to maintain the old code. *However*, if you are serious about building this exact version, reach out, and I'll do my best to help.

All design files are now available on my GitHub.

I think that's everything! My next log post will dive into the software architecture.

I'd be happy to hear any feedback. See you in the next post!

Discussions