MAX31855(9)
π MAX31855(9) β the HAL Component glow-up π
okay bestie, sit down, we're learning about max31855 today and honestly? it's giving β¨temperature divaβ¨. this one lives in the HAL Component section of the manual, so you already know it's a real-time legend. no cap.
πΈ NAME πΈ
max31855 β support for the MAX31855 Thermocouple-to-Digital converter, using bitbanged spi. yes. bit*banged*. we said what we said. π
β¨ SYNOPSIS β¨
loadrt max31855 [count=N|names=name1[,name2...]] [personality=P1,P2,...]
that's the whole vibe right there. load it, name it, give it a personality (literally, there's a personality param, we'll get there).
π¦ DESCRIPTION π¦
so this component needs at least 3 pins to bitbang the spi protocol. like, minimum. three. it's not asking for much. example time, bestie:
loadrt max31855 personality=1
setp hm2_6i25.0.gpio.023.is_output true
setp hm2_6i25.0.gpio.024.is_output true
net spi.clk.in hm2_6i25.0.gpio.023.out max31855.0.clk.out
net spi.cs.in hm2_6i25.0.gpio.024.out max31855.0.cs.out
net spi.data0.in hm2_6i25.0.gpio.033.in_not max31855.0.data.0.in
addf max31855.0.bitbang-spi servo-thread
look at that wiring glow-up. observed. π₯
now the tea β β the MAX31855 itself supports a range of -270C to 1800C, but linearization data is only available for the -200C to 1350C range. beyond that? raw temperature gets returned. so if you're out there past 1350C, the numbers stop being cute and start being feral.
temperature pins are provided for readings in Celsius, Fahrenheit and Kelvin β trio energy, we love a multilingual icon π. temperature values are not updated while a fault condition is present. remember that. fr fr.
and the personality parameter? that's how you tell it how many sensors you've got. multiple sensors share the clk and cs pins, but each one connects to its own discrete data input pin. and the ceiling? a maximum of 15 sensors are supported. fifteen. that's your limit, don't push it. π
π FUNCTIONS π
max31855.N.bitbang-spiβ requires a floating-point thread. it's high maintenance like that, and honestly? deserved.
π PINS π
max31855.N.data.M.inbit in (M=0..(personality & 0xf)) β pin(s) connected to data out. the data girlies. π©·max31855.N.cs.outbit out β pin connected tocs. pulled low to shift data, pulled high for data refresh. so it's lowkey the on/off switch of the whole situationship. πmax31855.N.clk.outbit out β pin connected toclk. the heartbeat. the metronome. the main character. β°max31855.N.temp-celsius.Mfloat out (M=0..(personality & 0xf)) β temperature output values in Celsius. π¨π¦ energymax31855.N.temp-fahrenheit.Mfloat out (M=0..(personality & 0xf)) β temperature in Fahrenheit. πΊπΈ energymax31855.N.temp-kelvin.Mfloat out (M=0..(personality & 0xf)) β temperature in Kelvin. π§ science girlie energymax31855.N.fault.Mbit out (M=0..(personality & 0xf)) β fault condition detected. the alarm bell, the red flag, the π©max31855.N.fault-flags.Mu32 out (M=0..(personality & 0xf)) β fault flags:0x1= open sensor,0x2short to gnd,0x3short to vcc. three ways to be broken, pick your fighter π
note that every single one of those M ranges is literally written as M=0..( personality & 0xf ) β that's the exact mask, don't come for me, that's what the page says and we're keeping it. π
π AUTHOR π
Joseph Calderon β the actual genius behind this component. put some respect on the name. π«Ά
π LICENSE π
GPL β free as in freedom, share the love, etc etc. π
and that's the whole page, bestie. this was MAX31855(9), straight out of the LinuxCNC Documentation, dated 2026-03-17. go forth and bitbang your spi responsibly. mwah. πβ¨π
π¦ where this page comes from
- ubuntu resolute: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- ubuntu stonking: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms