Maker Pro
Configurable Logic Block

Smart-Wearable device for hand-tremor Correction

NA
July 08, 2025 by Natnael Abdissa
Share
banner

A modular, real-time motion anomaly detection framework using hardware logic acceleration on PIC16F13145.

Project overview

This project was developed with a clear purpose: to empower individuals affected by Parkinson’s disease and similar conditions to reclaim expressive freedom. People living with tremors often struggle to write or draw accurately on digital interfaces. Our system provides a real-time hardware-accelerated solution that detects tremor-induced motion and distinguishes it from intentional gestures.


By using Configurable Logic Blocks (CLBs) to filter out unintended micro-movements, we enable users to interact with drawing applications more naturally—so their strokes reflect intent, not interference. This bridges embedded innovation with assistive technology, offering a more inclusive and dignified digital experience.


This project implements a real-time hand tremor detection system using the Configurable Logic Block (CLB) of the PIC16F13145. The design integrates MPU6050 motion sensor data processing, UART streaming, and dynamic tremor window resets driven entirely by a CLB logic core. The logic complexity leverages LUTs, edge-detection, synchronous event handling, and threshold-based interrupt output.


Rather than software-based polling or heavy interrupt scheduling, the system offloads threshold detection and anomaly recognition to the hardware logic fabric, enabling both energy efficiency and millisecond-scale responsiveness. Even though final integration with visual display is ongoing, the logic core is modular, scalable, and already time-synchronized via timer-driven CLB reset pulses.

CLB Design Breakdown

1.Inputs:

  • CLBSWIN0-CLBSWIN1 used for real-time binary tremor activity pulses
  • Timer-triggered CLBSWIN1 edge to reset internal counters.

2. Logic Modules:

  • A 4-bit synchronous counter increments on each motion pulse
  • Comparator block triggers once tremor exceeds threshold
  • CLB IRQ0 output routed to MCU interrupt vector for alert response

3.Output Behavior:

  • Logic-high CLB1I0 indicates tremor burst in active window
  • Automatically resets every 1 second using a precision timer interrupt

4. Timing Engine & Reset Logic

  • Timer0 configured for 1-second periodic interrupts
  • ISR outputs a pulse on CLBSWIN1
  • This pulse clears the CLB counter, creating a hardware refresh window
  • Prevents false detection carry-over between time slices



CLB design in MCC Melody

Why CLB?

  1. Offloads processing from main CPU
  2. Enables event-driven logic, no polling required
  3. Minimizes power usage, ideal for wearable battery-powered systems
  4. Modular logic allows reuse in multi-sensor wearable platforms


Known Limitations(future improvements)

-Due to flash constraints and code-size optimization, floating-point operations were replaced with fixed-point integer math. While this improves execution speed and resource efficiency, especially on the PIC16F13145, it introduces minor trade-offs in tremor detection accuracy, particularly in threshold sensitivity and magnitude resolution. Future versions may reintroduce floating-point filtering or adopt scaled fixed-point filtering with higher bit depth for improved dynamic range.


-While the system successfully detects tremor events in real time and communicates them via UART, it does not yet interface with a host application such as a drawing or note-taking tool. This limits its ability to directly enhance user expression through visual output. Without software integration, the tremor detection remains demonstrative rather than transformative—highlighting functional capability but stopping short of delivering a seamless, assistive end-user experience.

Related Content

Categories

Comments


You May Also Like