Install and Verify the Sensor
Install the Paxini SDK, connect the Gen3 over USB-C, write a 5-line streaming script, and verify all taxels are working with the live heatmap visualizer.
Unit 1 of 5 · Install & Verify · ~1 hour
In this unit you will install the Paxini SDK, connect the Gen3 sensor over USB-C, write a 5-line Python streaming script, and run the built-in heatmap visualizer to confirm every taxel is responding correctly.
Step 1 — SDK Install
Install the Paxini SDK
Activate your virtual environment (created in Unit 0), then install the SDK:
source paxini-env/bin/activate # Install SDK with visualization extras pip install "paxini-sdk[viz]" # Verify installation python -c "import paxini; print(paxini.__version__)" # Expected: 1.2.x or later
No driver installation needed The Gen3 enumerates as a standard USB HID device. Windows, macOS, and Linux all support it automatically. If you are on Linux, run sudo python -m paxini.install_udev once to set USB permissions, then unplug and replug the sensor.
Step 2 — USB Connection
Connect the Sensor
Plug the Gen3 into your computer using the included USB-C cable. At this point, the sensor does not need to be mounted on a gripper — you can hold it in your hand or lay it flat for testing.
Verify the sensor is detected:
python -m paxini.discover # Expected output: # Found 1 Paxini device(s): # [0] PX-6AX-GEN3 serial=PX3A0042 firmware=1.2.4 variant=fingertip
Empty result? First: try a different USB-C cable — some cables are charge-only. Second: on Linux, run the udev rule installer as noted above. Third: check the sensor LED — solid means ready, blinking means firmware update mode (hold reset 5 seconds to exit).
Step 3 — First Reading
Your First 5-Line Streaming Script
Create a file called first_reading.py and paste this:
import paxini sensor = paxini.Sensor() sensor.start() for frame in sensor.stream(): print(f"Force: {frame.total_force_n:.3f} N | Contact: {frame.in_contact}")
Run it and press the sensor surface with your finger. You should see the force reading increase and in_contact switch to True. Press Ctrl+C to stop.
# Example output when pressing the sensor: Force: 0.001 N | Contact: False Force: 0.002 N | Contact: False Force: 0.241 N | Contact: True Force: 1.872 N | Contact: True Force: 3.105 N | Contact: True Force: 0.024 N | Contact: False
Step 4 — Heatmap Verification
Live Heatmap Verification
The built-in visualizer shows the full taxel array as a color-coded heatmap. This is how you verify that every taxel is functional and calibrated:
# Launch live heatmap (press Q to quit) python -m paxini.visualize
With the heatmap open:
- With no contact, the entire array should be a uniform dark blue (near-zero pressure). Any taxels that appear bright yellow at rest indicate a calibration issue — run
sensor.calibrate()in Python to zero-offset. - Press the sensor surface with your fingertip. A localized region should light up bright yellow/red corresponding to the contact area. Move your finger around — the pressure centroid should follow.
- Press evenly across the full sensing area. Every taxel should respond. Any taxel that remains dark when pressed is defective — contact Paxini support.
What a healthy heatmap looks like Resting state: uniformly dark (0–2 kPa background noise). Contact with one finger: a 2–4 taxel bright region at the contact point, smooth falloff. Full-palm press: a large bright region with no dead zones.
Unit 1 Complete When...
You can run python -m paxini.discover and see your sensor listed. The live heatmap shows a dark resting state and a localized bright region when you press the sensing surface. Every taxel responds to contact — no permanent dark zones.







