Skip to content

About

Local Python dashboard for TI TMP117 and TMP119 temperature sensors, with live plots, CSV logging, and TMP117EVM configuration.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

TI TMP Sensor Monitor

Watch live temperature readings from a TI TMP117 or TMP119, browse recent history, and save measurements to CSV. The dashboard runs locally in your browser, with Python handling the connected sensor.

USB temperature sensor evaluation board

The recommended setup is a TMP117EVM connected by USB on Windows. You can also inspect registers and change the TMP117's conversion settings, limits, and temperature offset.

Quick start

Install uv, open a terminal in the repository folder, and run:

uv sync --extra usb
uv run --extra usb python app.py

Close TI's EVM GUI, connect one TMP117EVM, and open the dashboard. The defaults are USB (recommended), TMP117, and address 0x48. Click Start monitoring to begin, then Record to save new readings.

Keep the terminal running while you use the app. Only one app process should use the board at a time. The USB backend works with 64-bit Python and does not need TI Cloud Agent or USB2ANY.dll. Installation needs an internet connection to download dependencies; monitoring runs locally.

Live temperature, statistics, history plot, and CSV controls

Live TMP117EVM session with a 1-second conversion cycle, 8-conversion averaging, and zero temperature offset.

For a guided tour, start with the illustrated usage guide.

Using the dashboard

  • Connect opens the sensor without collecting samples. Start monitoring connects automatically or resumes sampling.
  • Stop pauses sampling and keeps the board connected. Disconnect releases it for another application.
  • The plot follows the latest five minutes. Drag to browse history, scroll to zoom, and click Follow live · 5 min to return to the newest readings.
  • The app keeps up to 7,200 samples in memory. Statistics cover this whole buffer, even when the plot is zoomed in. Clear data clears the buffer without deleting recordings.
  • Record saves new samples under recordings/. It does not export earlier readings. Click Stop recording, then wait for Download last CSV to become available once the file has finished saving.

You can switch between Monitor and Device settings without interrupting recording or losing your plot view and unapplied edits. The dashboard uses your computer's local time; CSV timestamps use UTC.

Device settings

Settings are available for TMP117 with USB (recommended). Connect the board and open Device settings to load its current values.

A conversion-cycle edit awaiting Apply changes

Changing the cycle from 1 s to 4 s marks the field as edited. This screenshot shows a draft that was discarded without applying it.

Edit the fields you need, review the draft summary, and click Apply changes. The app writes changed values and reads them back to check the result. Revert edits discards your draft; it does not undo a change already applied to the sensor.

The page also shows sensor status, board identity, and a read-only register inspector. You can select the I²C target and frequency, take a one-shot measurement in Shutdown mode, or reset the sensor to its stored startup settings.

Changes are temporary: reset or power cycling reloads stored startup values. EEPROM must be idle and locked before writes. The app does not program EEPROM or update firmware. Settings changes and their outcomes are saved in recordings/settings-events.jsonl.

See the settings walkthrough for details, including how sampling, cycle, and averaging interact.

Hardware choices

Connection Setup and support
USB (recommended) Install with uv sync --extra usb. Tested on Windows with TMP117EVM, including settings. TMP119EVM and other operating systems have not been verified.
Linux I²C Install with uv sync --extra i2c, enable your I²C controller, and connect the sensor directly. Monitoring only; default sensor address is 0x48.
USB (legacy DLL) Requires Windows, TI's USB2ANY.dll, and matching Python architecture. The documented DLL is 32-bit. Enter its full path if needed. Monitoring only; this transport was not hardware-validated.

The legacy backend requires TI's firmware-check suppression function before scanning for devices. See the validation report for the tested environment and remaining limitations.

Tests

Run the unit suite without opening hardware:

uv run --extra usb python -m unittest discover -s tests -v

For checks on a connected TMP117EVM, close TI's GUI and Disconnect any dashboard session first. Stop alone keeps the board open.

uv run --extra usb python -m tmpsensor.hardware_test --samples 30 --interval 1

This checks acquisition, CSV contents, shutdown, and reopening the board. It saves measurements and a JSON report under recordings/. It does not measure calibrated temperature accuracy.

The settings test makes temporary changes, checks their results, and restores the original controls, address, and frequency:

uv run --extra usb python -m tmpsensor.settings_hardware_test

Check its report for any restoration failure. See hardware validation for previous results and the faster packet-sequence test.

Documentation

  • Usage guide: monitoring, recording, settings, and troubleshooting.
  • Architecture: device ownership, background workers, and settings validation.
  • Hardware validation: measured results and what remains untested.

Licensed under the MIT License.

TI references

About

Local Python dashboard for TI TMP117 and TMP119 temperature sensors, with live plots, CSV logging, and TMP117EVM configuration.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages