Hardware Setup

This guide helps you connect the Pololu USB-to-I²C adapter to the RM3100-based sensor and prepare your Linux system.

Hardware

  • Pololu Isolated USB-to-I²C Adapter:

    • 5397 (with isolated power output)

  • RM3100 magnetometer board (e.g., TAPR/TangerineSDR magnetometer)

  • Appropriate wiring for SDA, SCL, GND, and optional +5V

Pololu Adapter and Sensor Setup Fig. 1: Pololu USB-to-I²C adapter connected to the RM3100 magnetometer sensor.

Wiring

  • Connect:

    • SDA ↔ SDA

    • SCL ↔ SCL

    • GND ↔ GND

    • +5V (the USB C connection must providepowre at or near +5V to power the remote sensors and overcome resistive losses.)

Sensor Wiring Detail Fig. 2: Close-up of the sensor wiring and connector pinout.

Pololu Adapter Detail Fig. 2a: Detail of the Pololu adapter connections.

  • Confirm pull-ups are present on SDA/SCL (many boards include them).

Linux device path

  • The adapter appears as a ttyACM device (e.g., /dev/ttyACM0).

  • The full setup should configue a device named /dev/ttyMAG0 that symlinks to the correct ACM device, but you can also use the ACM path directly.

  • If the adapter doesn’t appear, try replugging it and check dmesg or lsusb for clues. You should see a new device with a name like “Pololu USB-to-I²C Adapter” and an associated ACM device number.

  • Check dmesg or lsusb for details; examples are in assets.

Stable permissions and naming

  • A sample udev rule is provided at install/99-PololuI2C.rules. To install:

sudo cp install/99-PololuI2C.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
  • After replugging the adapter, confirm permissions and any symlink names defined in your rule.

Verifying connectivity

  • Use mag-usb’s quick check flag:

./mag-usb -Q                      # uses default /dev/ttyMAG0
./mag-usb -O /dev/ttyACM0 -Q      # override if udev rule not installed
  • If you see permission errors, check your udev setup and group membership (dialout or equivalent on your distro), or run temporarily with sudo (not recommended long-term).