Skip to content

MLX90641 16x12 FIR Array driver with MCP2221 USB to I2C adaptor -- python interface

License

Notifications You must be signed in to change notification settings

melexis-fir/mlx90641-driver-mcp2221-py

Repository files navigation

MLX90641 driver for MCP2221 USB I2C hub

GitHub release (latest by date) Lines of code

PyPI PyPI - Python Version PyPI - License

platform

MLX90641 is a thermal camera (16x12 pixels) using Far InfraRed radiation from objects to measure the object temperature.
https://www.melexis.com/mlx90641
The python package "mlx90641-driver" driver interfaces the MLX90641 and aims to facilitate rapid prototyping.

This package provide the I2C low level routines. It uses the I2C hub from MCP2221 chip which is connected via the USB cable to the computer.
https://www.microchip.com/wwwproducts/en/mcp2221
https://www.adafruit.com/product/4471

Getting started

Installation

pip install mlx90641-driver-mcp2221

https://pypi.org/project/mlx90641-driver-mcp2221
https://pypistats.org/packages/mlx90641-driver-mcp2221

Extra installation for linux based OS.

  1. install udev, libusb and libhidapi:
sudo apt update
sudo apt-get install libudev-dev libusb-1.0-0-dev libhidapi-dev
  1. Configure such that non-root users have access.

Place a file in /etc/udev/rules.d/20-microchip.rules:

KERNEL=="hidraw*", ATTRS{idVendor}=="04d8", MODE="0666"

You might use this command line to create that file:

echo 'KERNEL=="hidraw*", ATTRS{idVendor}=="04d8", MODE="0666"' | sudo tee /etc/udev/rules.d/20-microchip.rules >/dev/null

Note: Make sure to (re-)plug the MCP2221 after this file is written!

Running the driver demo

  • Connect the MLX90641 to the MCP2221 I2C port
  • Connect the MCP2221 to your PC with the USB cable.
  • Open a terminal and run following command:
mlx90641-mcp2221-dump mcp://mcp:2221/0

This program takes 1 optional argument.

mlx90641-mcp2221-dump <communication-port>

Note: this dump command is not yet available!