Device Library

The Axiom Device Library lets you teach Axiom to recognise new I²C sensors and actuators, change how its built-in device profiles behave, and switch off device types you don't want detected. Everything happens in a web browser over USB, without rebuilding or reflashing firmware.

Devlib Devices

What you can do

  • See what Axiom recognises. List every device profile on your Axiom, whether it is built in or one you added.
  • Add a new device. Copy a ready-made profile from the online catalogue, or write your own.
  • Customise a built-in profile. For example, poll a sensor less often.
  • Disable a device type so Axiom stops detecting it.
  • Test and tune. Scan the I²C bus, see which profile claimed each address, watch live readings and try settings temporarily.
  • Back up and share your library as a JSON file, or reuse it on another Axiom.

What you need

You need Details
An Axiom with Device Library firmware At the time of writing this is v0.1.16-devlib, the default version in the Axiom web updater. See Getting started.
A desktop or laptop computer Windows, Mac, Linux or Chromebook, running Google Chrome or Microsoft Edge.
A USB cable The Device Library connects over USB only. Bluetooth is not supported.
The device you want to use Its datasheet is useful if you need to write or check a profile.

Open the Device Library at updates.robotical.io/axiom/web-updater/library.html, or choose Open Device Library on the web updater page.

How it works

Axiom's firmware contains a set of built-in profiles. A profile describes one type of device: its I²C address, how to identify it, how to set it up, how often to read it and what the data means. The built-in profiles are always there, and you cannot delete them.

Your changes live in a small library file on Axiom (/local/devlib.json). It holds three kinds of entry:

  • Additions: profiles for devices Axiom doesn't know about.
  • Customised copies of built-in profiles. Your copy is tried first, and the built-in profile stays as a fallback.
  • Disabled types: device types Axiom should no longer detect.

You build up changes in a draft, which is saved in your browser. Nothing reaches Axiom until you choose Write to Axiom, and Axiom keeps using its current profiles until you choose Restart Axiom. Removing the library file and restarting always takes Axiom back to its built-in profiles.

The five tabs

Tab Use it to Needs Axiom connected?
Devices See every profile Axiom can recognise, view a definition, customise or disable it Yes
Catalogue Search ready-made profiles and add one to your draft No
Install Review what will change, write the library to Axiom, restart, check the result, export or remove the library Yes
Advanced JSON Edit profiles as JSON, create new ones, import and export files No
Test & tune Scan the bus, find profiles for unknown addresses, view readings, change polling temporarily, send test commands Yes

Guides in this section

Work through these in order the first time:

  1. Getting started: install the firmware, connect Axiom and find your way around.
  2. Adding a new sensor: a complete walkthrough, from plugging in a sensor to seeing it claimed.
  3. Customising and disabling built-in devices: change a built-in profile, or stop a device type being detected.
  4. Testing and tuning devices: scan the bus, watch readings and try settings temporarily.
  5. Writing device profiles: the profile format and the Advanced JSON editor.
  6. Backing up, sharing and removing your library: firmware updates, other Axioms and going back to built-ins.
  7. Troubleshooting: connection problems, devices that aren't detected, and refused profiles.

If you get stuck, see Troubleshooting or email support@robotical.io.

Task Runner