#embedded-hal-driver #temperature #thermocouple #embedded-devices #max6675

no-std max6675-hal

An embedded-hal driver for the MAX6675 digital thermocouple converter

4 releases (2 stable)

new 1.0.1 Mar 12, 2025
1.0.0 May 2, 2024
1.0.0-rc.1 Feb 2, 2024
0.4.0 May 1, 2024
0.3.1 Dec 20, 2023

#1566 in Embedded development

MIT license

18KB
110 lines

max6675-hal

An embedded-hal driver for the MAX6675 digital thermocouple converter.

license badge docs.rs badge crates.io badge GitHub badge GitHub Actions badge

Usage

This example code will change depending on which HAL device driver you're using. An arduino-hal project's SPI isn't like that of an esp32-hal project.

However, you only need to focus on your device's SPI implementation! (thanks, embedded-hal 1.0 ☺️)

Your SPI settings should use MSB (most significant bit) first, target a clock speed of at least 4mhz, and utilize SPI Mode 1.

// first, define what pins you're connecting to
let so_pin = pins.("your miso pin").into_pull_up_input();
let cs_pin = pins.("your cs pin").into_output();
let sck_pin = pins.("your sck/clock pin").into_output();

// you may need a mosi pin for your device's SPI, though the max6675 doesn't use one.
// if so, just pick some pin that you're not using ☺️
let dummy_mosi = pins.("some pin you're not using").into_output();

let (spi, _) = device-hal::spi::Spi::new(
    sck_pin, dummy_mosi, so_pin, cs_pin,
    device-hal::spi::Settings {
        // pick some settings that roughly align like so:
        data_order: MostSignificantFirst,
        clock: 4MhzClockSpeed,
        mode: embedded_hal::spi::MODE_1,
    }
);
let mut max = Max6675::new(spi)?; // your spi and chip select here

let temp = max.read_celsius()? // ayo! we got the temperature

Note

This crate re-exports a Temperature type from another crate, simmer. You can change and play with the temperatures in various ways, so feel free to check out its docs for more info.

Contributions

Contributions are welcome to this project! Since it's pretty small, feel free to submit a PR whenever. You can also make an issue - I'll likely get to it soon!

Help

Please don't hesitate to make an issue if you experience any problems!

If you can, please submit a hw-probe report alongside any error messages or useful logs you have!

Dependencies

~2MB
~41K SLoC