Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mdaeron/micropython-zacwire
MicroPython implementation of the ZACwire protocol used in TSic 506F temperature sensors.
https://github.com/mdaeron/micropython-zacwire
Last synced: about 2 months ago
JSON representation
MicroPython implementation of the ZACwire protocol used in TSic 506F temperature sensors.
- Host: GitHub
- URL: https://github.com/mdaeron/micropython-zacwire
- Owner: mdaeron
- License: other
- Created: 2023-02-25T09:58:16.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-05T14:43:38.000Z (almost 2 years ago)
- Last Synced: 2024-04-22T13:30:49.917Z (9 months ago)
- Language: Python
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
- awesome-micropython - micropython-zacwire - MicroPython driver for the ZACwire protocol used in TSic 506F temperature sensors. (Libraries / Sensors)
README
# ZACwire protocol for MicroPython
MicroPython implementation of the ZACwire protocol used in the [TSic 506F](https://docs.rs-online.com/e2fb/0900766b81690bb9.pdf) temperature sensor. One useful property of these sensors is that their nominal accuracy is excellent (±0.1 °C), which is necessary for some scientific applications (e.g., ensuring precise *and* accurate control of a chemical reaction's temperature).
The pyboard implementation is based on IRQs and a Timer, and seems to work reliably.
The esp32 implementation is also based on IRQs and a Timer. It stores a buffer of the 15 past readings and reports a temperature corresponding to the median of these readings. To change the buffer length, simply edit `MEM_LEN` and `MEM_HALF_LEN in `zacwire.py`.
The RP2040 implementation uses two PIO state machines and also seems quite reliable. Thanks to Robert Hammelrath for his [RP2040 Examples](https://github.com/robert-hh/RP2040-Examples).