Developer Documentation
Local protocols, open interfaces.
Connect directly over Web BLE or subscribe to local MQTT topics. Zero vendor lock-in, zero cloud dependencies.
1. Web BLE Browser Commissioning
Commission and test microcontrollers directly from your browser without installing third-party mobile apps or cloud authentication tokens.
// GATT Service & Characteristic UUIDs
SERVICE: 19b10000-e8f2-537e-4f6c-d104768a1215
RELAY_CTRL: 19b10002-e8f2-537e-4f6c-d104768a1215
SENSOR_DATA: 19b10001-e8f2-537e-4f6c-d104768a1215
const device = await navigator.bluetooth.requestDevice({
filters: [{ namePrefix: 'Homies-' }],
optionalServices: ['19b10000-e8f2-537e-4f6c-d104768a1215']
});
const server = await device.gatt.connect();
const service = await server.getPrimaryService(
'19b10000-e8f2-537e-4f6c-d104768a1215'
);
const relay = await service.getCharacteristic(
'19b10002-e8f2-537e-4f6c-d104768a1215'
);
await relay.writeValue(new Uint8Array([0x01]));2. Local MQTT Telemetry Topics
Real-time state of the solid-state pump relay. Payload returns 1 (active) or 0 (idle).
MQTT Last Will payload. Retained broker message for immediate disconnection detection.
Inbound recovery topic. Commands an isolated 1-second pulse on GPIO 6 to cold-reset attached peripheral buses.
Explore Open Repositories
All firmware and KiCad schematics are available on GitHub.