IsaacMAllen / mlx90640-RPI-Pico

Driver connecting mlx90640 thermal sensor to RPI Pico

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mlx90640 RPI Pico

This project provides a driver for communication between a raspberry pi pico and an mlx90640 thermal sensor.

The api can be found in the include and src folders.

The sample folder contains example code showing how to use the api, along with a header only library ThermalCamera.h that provides a simple to use wrapper.

Hardware setup:

Using the api or sample requries the following hardware setup.

Connect the mlx90640 camera pins as follows:

(mlx90640 pin) -> (pico pin)
sda -> gp4
scl -> gp5
gnd -> gnd
3-6v -> 3v3

Using the api in your project:

git submodule add https://github.com/VianPatel/ThermalCamera-RPI-Pico.git (or git clone if you prefer to not use submodules)

Put the following in your CMakeLists.txt:

# MLX90640 api
add_subdirectory("pathToSubmoduleRepoRoot" mlx90640api)
target_link_libraries(${CMAKE_PROJECT_NAME} mlx90640-RPI-Pico)

replace pathToSubmoduleRepoRoot with the path to the submodule root

Compiling sample:

install gcc-arm-none-eabi from:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads or with: sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib

git clone https://github.com/VianPatel/ThermalCamera-RPI-Pico.git
cd ThermalCamera-RPI-Pico
git submodule update --init pico-sdk/
cd pico-sdk
git submodule update --init lib/tinyusb/
cd ../
mkdir build
cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_C_COMPILER:FILEPATH="fullPathToCompiler" -DCMAKE_CXX_COMPILER:FILEPATH="fullPathToCompiler" ../sample

With fullPathToCompiler filled in, this command might look something like:

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_C_COMPILER:FILEPATH="/usr/bin/arm-none-eabi-gcc" -DCMAKE_CXX_COMPILER:FILEPATH="/usr/bin/arm-none-eabi-g++" ../sample
cmake --build .

Sample usage:

Copy ThermalCamera.uf2 from the build folder to the pico's root folder

Establish a connection to the pico's com port (this can be done via putty on windows)

About

Driver connecting mlx90640 thermal sensor to RPI Pico

License:Apache License 2.0


Languages

Language:C++ 90.5%Language:C 8.6%Language:CMake 0.9%