How mnh-jansson/open-battery-information works
This repository now contains the Arduino firmware for Open Battery Information; the browser UI is maintained separately. The main workflow is for the OBI-1 web tool to send a serial request, have the firmware issue the corresponding Makita battery command over 1-Wire, and return response bytes for the tool to display as battery information. The sampled source shows the serial dispatcher and bus operations; README documents the reported battery fields, but their decoding is outside this repository’s sampled firmware. The firmware’s board-specific GPIO layer is included; other product wiring is not inferred.
Main entry points: main.cpp Serial command firmware · OneWire2.cpp OneWire protocol library · OneWire_direct_gpio.h Board GPIO access
Components 6
Serial interface
- Serial command firmware
ArduinoOBI/src/main.cpp
1-Wire bus
- OneWire protocol library
ArduinoOBI/lib/OneWire/OneWire2.cpp - Board GPIO access
ArduinoOBI/lib/OneWire/util/OneWire_direct_gpio.h
Other components
- Battery repairer
- OBI-1 web tool
- Makita battery
Connections 6
- Battery repairer → OBI-1 web tool: requests battery read
- OBI-1 web tool → Serial command firmware: sends serial command
- Serial command firmware → OneWire protocol library: issues bus operations
- OneWire protocol library → Board GPIO access: toggles bus pin
- OneWire protocol library → Makita battery: exchanges 1-Wire bytes
- Serial command firmware → OBI-1 web tool: returns serial response