Bambu P1S PCB trace analysis

Bambu P1S Hacking

Bambu P1S Hacking contains firmware dumps, PCB analysis, and X-ray scans of the Bambu Labs P1S 3D printer’s ESP32-S3 controller board. The repository documents reverse engineering efforts to understand the printer’s firmware architecture and hardware implementation. The collection includes multiple firmware dumps processed through bin-voter to generate corrected flash images, detailed PCB trace analysis, and hardware documentation. This research provides insights into the printer’s embedded systems and potential modification opportunities.

July 13, 2025 · 1 min · Ian Foster

Bin Voter

Bin Voter reconstructs correct binary files from multiple corrupted firmware dumps by implementing a voting algorithm across byte positions. The tool compares corresponding bytes from multiple binary files and selects the most frequently occurring value at each position. This Python utility is designed for firmware recovery scenarios where multiple partial or corrupted dumps are available but no single dump is completely intact. Bin Voter can recover clean firmware images by leveraging statistical analysis across multiple corrupted sources.

July 13, 2025 · 1 min · Ian Foster

WebSerial Bruteforce

WebSerial Bruteforce automatically determines the correct baud rate for UART serial devices by testing common communication speeds and analyzing the returned data. The web application uses the WebSerial API to connect directly to serial devices from the browser without requiring additional software. The tool iterates through standard baud rates and measures the amount of ASCII data returned at each setting, selecting the configuration that produces the most readable output. This is useful for reverse engineering or troubleshooting unknown serial devices where the communication parameters are not documented.

September 22, 2022 · 1 min · Ian Foster

USB Meter

USB Meter is a web application that connects to Atorch power meters via WebBluetooth to log and display electrical measurements. The application reads real-time data including voltage, current, power, energy, capacity, resistance, and temperature from compatible Atorch USB power meters. The web interface provides data logging capabilities with the ability to reset, pause, and save measurement sessions. Using WebBluetooth API, the application eliminates the need for additional software installations, operating directly in compatible web browsers with Bluetooth support.

September 20, 2022 · 1 min · Ian Foster

Mag Encode

Mag Encode is a web-based magnetic stripe card encoder that generates audio signals for encoding data onto magnetic stripe cards. The application runs entirely in the browser, processing encoding operations client-side without transmitting data to external servers. The tool supports configurable encoding parameters including frequency settings, reverse swipe options, and various advanced configuration options for different magnetic stripe formats. It converts digital data into the appropriate audio waveforms that can be played through audio output devices to magnetically encode stripe cards.

August 3, 2022 · 1 min · Ian Foster

Homeplate

Homeplate is an ESP32-based e-ink dashboard that displays data from Trmnl and Home Assistant on an Inkplate 10 device. The firmware fetches and renders various dashboard widgets including sensor readings, WiFi QR codes, and system status information. The implementation uses FreeRTOS on ESP32 to manage display updates, network connectivity, and power management for the e-ink display. It supports multiple data sources and configurable display layouts for home automation monitoring.

January 22, 2022 · 1 min · Ian Foster

ESPHome Components

ESPHome Components is a collection of custom components that extend ESPHome functionality for ESP8266 and ESP32 microcontrollers. The repository contains C++ implementations of additional sensors, displays, and device integrations not available in the core ESPHome distribution. The components follow ESPHome’s standard architecture and configuration patterns, allowing them to be easily integrated into existing ESPHome projects through external component references. Each component includes the necessary C++ code and Python configuration validation.

October 4, 2021 · 1 min · Ian Foster

Sena WiFi Adapter Security Assessment & Vulnerabilities

This post outlines a security assessment of the new Sena Wifi Adapter I performed last summer for fun. With the world on lock-down due to COVID-19, I spent a lot of time last summer escaping the city going on motorcycle rides through the mountains and forests surrounding the bay area. It’s the perfect social distance activity because if you get within 6ft of someone you are likely to crash. One of my favorite motorcycle accessories is my Sena headset. It allows me to listen to navigation or music from my phone over Bluetooth while riding, and talk to other riders in my group. ...

March 9, 2021 · 18 min · Ian Foster

Programming Bare ESP-WROOM-02

A while ago I received a bunch of bare ESP-WROOM-02 chips on tape, but I could not find enough documentation to program them (partially out of laziness). With my recent interest in ESPHome, I decided to give them another try. This blog post contains the results of my research on how to program them. ESP-WROOM-02 The ESP-WROOM-02 is just a ESP8266 underneath. If you don’t have a breakout board like me, then you will need a UART adapter and make a few minimal solder connections to set the various boot modes to allow you to program the firmware. Once programmed for the first time, you can use OTA updates to allow flashing firmware over WiFi and not need to mess with the wiring every time you want to reprogram it. ...

January 20, 2021 · 4 min · Ian Foster

Xiaomi M365 Scooter Authentication Bypass

Sometime in the first half of 2018 there was an explosion of “Dockless e-scooters” appearing all over the Bay Area. These devices are electric scooters that anyone can rent for a one-way trip and find/leave them (at the time) anywhere you want. As one could guess this led to lots of issues but they where convenient and I wanted one of my own so I did a little research onto how to acquire one for private use. ...

May 15, 2019 · 8 min · Ian Foster

Badgy

A while ago I came into possession of a few HID iClass readers. After collecting dust in my project drawer for a few months I decided to find a fun use for them, which ended up in the project I call Badgy. Background The back of the HID readers have 10 colored wires coming out of them. Luckily the readers also had a nice sticker telling me which wire was what. ...

December 24, 2016 · 7 min · Ian Foster

Picture Frame Tablet PC

Backstory A few years ago when the local Circuit City was going out of business I decided to stop by to see if there where any good deals. Unfortunately most of their inventory was at a very low discount (if at all). However they where getting rid of some of their CRM and sales equipment. I picked up a 3M touch-panel LCD monitor for $20 or so, sold “as-is”. When I got home I realized that the LCD panel was only 800x600px, and had a broken back-light. I tried to get the touch panel working but for some reason it was not receiving power and I could not find any drivers for it. Into storage it went. ...

January 24, 2011 · 4 min · Ian Foster

Build Your Own Car Power Inverter

A car inverter will take the 12 volts DC from your car, usually from your cigarette lighter, and turn it into 110 volts AC, which is what you get out of your home power outlets. This allows you to plug household electronics into your car. The most common would probably be your laptop. Home UPS systems do the same thing, except instead of using a car outlet they use a 12 volt battery. I used a old home UPS system I had laying around that had a bad battery. (We don’t use the battery in this mod) ...

August 29, 2010 · 2 min · Ian Foster

HTC Incredible Video Out

I recently got a HTC Incredible to replace my aging LG Chocolate. One feature of the Incredible was video out. Specifically the ability to output composite video to a TV. The cable was first demoed by WireFly here: https://www.youtube.com/watch?v=eJyt463AoOA And since then threads like these have started trying to hunt down the cable. And it looks like one day it may be sold at HTC Pedia or at Ben’s Bazaar. But for the time being this cable is not being sold anywhere, and there is a rumor that it may never be commercially sold. ...

June 3, 2010 · 3 min · Ian Foster

Car Aux Mod

Here is how I added an AUX input to my Delco Radio/CD player and a nice mount for my N810. Part 1 - Adding The AUX Input First off This worked on my Delco radio. It may work on yours, it may not. On My radio there is a nice AUX button right under the CD button. This goes to an AUX connector on the back of the unit. This is a Delco AUX plug. It was meant to go to a separate tape deck. Unfortunately, this AUX plug requires an intelligent device to be connected in order to function. There is also a device you can buy that will plug into this AUX port and give you a normal RCA connection. However, the goal of this project is to spend as little money as possible while having the fun of doing it yourself. ...

November 15, 2009 · 4 min · Ian Foster