Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

TPL5111 hardware watchdog timer not suppressible by firmware

Aperta
#27 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
30/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Tranquilla
Stack tecnologico
embedded-iot
Ambito
embedded-iot

Direzione di ricerca

Inspect the hardware schematic and PCB connections for the TPL5111, the DONE signal to the ATmega1284P, and the DELAY resistor. Verify the IC designator and resistor value, calculate the current timeout, and determine whether the revision should document firmware feeding or pursue the proposed firmware-controlled enable; done means the timeout and selected approach are confirmed.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Summary

The TPL5111 (nano-power timer) is used as a hardware watchdog that periodically resets the board if the MCU fails to strobe the DONE pin. Once the TPL5111 is active, firmware has no way to disable or extend the timeout beyond the hardware-set interval — if the board needs to perform a long-duration operation (e.g., writing a large log file, waiting for cellular registration, firmware OTA update), it must continuously strobe DONE or risk a spurious reset.

Specific concerns

OTA firmware update:
The Particle B-Series module supports OTA firmware updates. An update can take several minutes depending on cellular conditions. If the TPL5111 timeout is shorter than the OTA window and firmware is unable to strobe DONE while the modem is occupied, the board will reset mid-update, potentially corrupting the firmware image.

Cellular registration:
In poor-signal areas, initial cellular registration (attach + PDP context) can take 2–10 minutes. The ATmega must strobe DONE during this window, which means firmware must handle the TPL5111 feed loop separately from the cellular wait loop.

Long sensor acquisition:
Some sensor integrations (e.g., SDI-12 sensor with long command timeout) block the MCU for extended periods. If these exceed the watchdog interval, a reset occurs.

TPL5111 timeout setting

The timeout is set by a single resistor on the TPL5111 DELAY pin. This is a fixed hardware value and cannot be changed in software.

Recommended approaches

Option A — Firmware must always strobe DONE:
Accept the current design and require firmware to be structured around always being able to strobe DONE within the timeout period. Document the timeout value prominently for firmware authors.

Option B — Add a firmware-controlled enable on TPL5111 (preferred):
The TPL5111 has an active-low enable pin (!EN or equivalent — verify in datasheet). If connected to a GPIO rather than hard-wired to GND, firmware can:

  • Disable the watchdog before entering a long operation
  • Re-enable it afterward
    This is a hardware change requiring a PCB respin.

Option C — Increase the timeout resistor:
Set the DELAY resistor for a longer timeout (maximum is ~7200 s per the datasheet). Longer timeout reduces protection efficacy but reduces the risk of spurious resets during legitimate long operations.

Affected components

  • U? (verify designator): TPL5111 nano-power timer
  • DONE signal connection to IC1 (ATmega1284P) GPIO
  • DELAY resistor (verify designator and value)

Action required for current revision

Confirm the timeout value set by the DELAY resistor and document it. Ensure all planned firmware use cases (OTA, cellular registration, long sensor reads) can feed the watchdog within that interval.

🤖 Generated with Claude Code

Lingua principale
G-code
Stelle
8
Fork
2
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NorthernWidget/Project-Okapi

Tutte le issue di NorthernWidget/Project-Okapi

Issue simili

Altre issue su Embedded & IoT

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.