Get started

Build the interface, wire it to a battery, and flash the firmware — then read your pack with OBI-1. Everything runs in your browser.

What you need

A handful of parts, no soldering required for a first test.

  • Chrome, Edge, Opera or Firefox on desktop Web Serial works in these browsers on desktop (Firefox 151+). Safari isn't supported.
  • An Arduino Uno or ESP32-C3 with a USB cable A genuine or compatible Uno with the optiboot bootloader, or an ESP32-C3 SuperMini. The uploader flashes either automatically.
  • A few jumper wires and resistors The Arduino OBI interface is just a one-wire link with two pull-up resistors — see the schematic below.
  • A supported battery Currently the Makita LXT 18 V packs (BL18xx / BL14xx) via the Arduino OBI interface.

The wiring

The Arduino OBI interface bridges your board's serial port to the battery's one-wire data line.

Arduino OBI interface wiring diagram
The Arduino OBI interface, from the upstream open-battery-information project.

Arduino Uno

SignalPinNotes
Data (one-wire)D6Pulled up to 5 V through the schematic's resistor.
Enable (EN)D8Drives the battery's enable line when a command runs.
Power5 V / GNDThe interface is powered from the Uno's 5 V rail.

ESP32-C3 (SuperMini)

SignalPinNotes
Data (one-wire)GPIO1Pulled up to 3.3 V — never 5 V.
Enable (EN)GPIO0Drives the battery's enable line.
Power3.3 V / GNDThe interface is powered from the ESP's 3.3 V rail.

On the battery side, connect the interface's data and enable wires to the corresponding pads of your pack's communication connector (typically labelled D1 and D2) and a common GND. Exact pad positions vary between packs — check the upstream documentation for your model.

Read this before you wire anything

On an ESP32-C3 the pull-up resistors must be connected to the 3.3 V pin — connecting them to 5 V will fry the GPIOs and destroy the module.

Batteries store a lot of energy. Work with one hand in your pocket, never short the terminals, and double-check every connection before powering anything up. Incorrect wiring can damage the battery or your board.

Use this software at your own risk. It is provided as open source (GPL-3.0) with no warranty and is not affiliated with or endorsed by Makita.

Next steps

Once the interface is built and wired, you're minutes away from a diagnosis.

Flash the firmware

Plug your board into USB and flash the Open Battery Information firmware straight from the browser — no Arduino IDE needed.

Open the uploader →

Connect the board

Open OBI-1, pick your board, and press Connect. It resets and identifies itself automatically.

Open OBI-1 →

Read the battery

Insert a battery, press Read battery, and see cell voltages, temperatures, charge cycles, and status at a glance.