Close

I2C Topology Solved

A project log for ATLAS

Built the tricorder I actually wanted in the field: one that warns, not just measures.

apollo-timbersApollo Timbers 01/31/2026 at 20:050 Comments

ATLAS Update: I2C Topology Solved, PCBs in Design

Quick update on ATLAS progress.

The I2C Clock Stretching Fix

Finally solved the bus contention issue. The SCD41 stretches the clock for up to 5 seconds during CO2 measurement, which was freezing everything else.

The solution is two separate I2C buses:

Bus 1 (Environmental): TCA9548A 8-channel mux

The mux isolates each sensor. SCD41 can hold its channel hostage while I poll the others freely.

Bus 2 (Navigation): TCA4307 hot-swap buffer

The buffer protects the external port so the water probe can connect/disconnect in the field without crashing the bus.

I2S (Audio): SPH0645LM4H MEMS mic on its own bus.

Three Custom PCBs

This has grown beyond breadboard territory. Three boards in design:

  1. MCU Board: Dual Pico 2, power management, RTC with supercap, SD card, audio amp
  2. Sensor Board: Both I2C buses, mux, buffer, all sensors, expansion ports
  3. Keypad Board: Six NKK tactile switches

Dual Pico 2 Architecture

Two RP2350 processors, each with a dedicated job:

Main Pico: Sensor polling, display, SD logging, keypad input, alert logic, UART TX to speech processor.

Speech Pico: Talkie synthesis, audio amp control, UART RX. Runs the voice alert queue.

Why two? Speech synthesis is blocking. While Talkie is generating audio, nothing else runs. Splitting it means the main system never stops monitoring while ATLAS is announcing "STORM APPROACHING" in that robotic voice.

RTC Addition

Added a DS3231 real-time clock with supercap backup. Timestamps need to survive power cycles for logging to make sense. The supercap charges when the device is on and keeps the clock running for weeks when it's off. No coin cell to leak or replace.

Water Probe

Designing an external water quality probe that connects via the hot-swap I2C port. Three sensors in a single stainless steel tube:

All three feed into an ADS1115 16-bit ADC inside the probe handle. One I2C address, one cable, clips to the case when not in use.

The goal isn't lab-grade water analysis. It answers one question: is this water source worth filtering, or should I find another? Dip, wait 3 seconds, ATLAS tells you.

Building a Team

I brought on Yasir Ahmad as a contract PCB designer to handle layout. I'm providing flowcharts, BOMs, and overview docs. He's delivering KiCad source, Gerbers, BOM, and pick-and-place files for all three boards.

PCBWay looks to be sponsoring the initial v1 board fabrication.

Timeline is about 6-8 weeks for design, then off to fab. Should have assembled boards in hand within four months.

More updates when schematics are ready for review.

Discussions