So if I understand correctly, they used hard coded constants to generate keys that only have 44 bits of entropy, which is brute forcible for $10, but you have to do it per device. They presumably did this to make pairing the bridge and sensor easier while not using a static key for all devices. Not the worst compromise I guess.
I've been working on an open source solution on and off for a number of years called http://y-drip.com. It uses Wi-Fi so battery life is only a few months and range is limited. My next design is probably going to use LoRa, but this complicates things a lot because now I have two devices (bridge and sensor) that need to be paired, support over-the-air updates, etc.
What's the best way to have them share keys without adding expensive hardware like Bluetooth or NFC. The sensor also needs to be waterproof so there's no exposed ports. Increasing from 44 bits to 128 would help, but if the key generation is done over the air it can be sniffed right?
I think most ZigBee and Thread chips use 2.4 GHz which limits distance. A lot of water meters are underground on the front yard somewhere so sub gigahertz radio would penetrate better. The modulation scheme of LoRa also allows for greater distance at the cost of data rate. It's also super low power.
I built (and currently testing) a 4 port automated PCB test & programming tool. I needed a way to produce a bunch of PCBs efficiently and couldn't find a solution that was flexible and didn't cost many thousands of dollars. I made a simple tool to solve this.
Features
- 4-channel DUT interface with individual power control via TPS22992
- JTAG multiplexer for programming (not exclusive to JTAG)
- Power monitoring using PAC1954 for per-channel current/voltage measurement
- Raspberry Pi Pico for control logic and automation
- USB interface through Pi Pico USB-CDC for host communication (1 port for each DUT)
- 1.8V - 5V IO support
- MicroPython support for test script automation
XTEink isn't using ESP32-S3 but C3. That S3 dev board from OP also comes with 8MB PSRAM (xteink/C3: 384kB RAM only) which IIUC makes quite the difference when it comes to building an embedded OS.
Super impressive project, especially for what seems to be your first embedded project. I haven't played with microPython/uOTA so this was an interesting read.
Since you mentioned the water meter Flume, I wanted to shamelessly plug my open source water meter that I'm currently developing. It also uses the ESP32 so I thought you might be interested.
I started working on my opensource water meter again (https://y-drip.com/). Hardware is basically done so I'm working on the backend website for those that don't want to setup their own server. More technical details here: https://hackaday.io/project/191398-ydrip
I'm a seasoned software engineer with extensive experience in embedded systems, real-time communication, and full-stack development. My background includes designing innovative hardware and software solutions for various applications.
Key Projects:
- Real-time Audio Communication Device: Developed a device supporting 16 participants over 700 meters with 18-hour battery life using STM32 and Silicon Labs EFR32.
- Android ROM Customization: Customized Android ROM for a video kiosk, added native USB camera support, and developed an over-the-air A/B update method.
- Innovative Water Meter Solution (Y-Drip): Designed a product for real-time water usage data and leak detection with ultra-low power consumption.
- Full Stack Development (Scalp Radar): Created a SAAS website for futures traders using Python, Django, and C#, with an automated license management system.
I'm currently seeking opportunities to leverage my skills in innovative projects, whether in embedded systems, software development, or full-stack applications. Open to remote work or on-site positions.
I recently launch a side project selling software on Shopify and needed a way to for users to manage their software license. Shopify's sample Django app was out dated and didn't implement all of the security features so I've improved it and wrote a guide on how to set it up.
I've found Shopify to be a good platform for selling software minus a few things like subscriptions. It's nice to have most of the e-commerce features like discount codes, analytics, order management taken care of. The only limitation is their free subscription management app is very limited so you might need to pay or build an app to take care of that.
Hopefully, this should give you a head start on adding custom functionality to your next Shopify side project.
https://netliststudio.com/articles/2026/02/23/claude-oscillo...