Back to projects
Case study · 2024 · Completed

Vibro-Volt — Piezoelectric Energy Harvester

PVDF-based vibrational energy harvesting with interrupt-driven charge control.

Arduino NanoPVDF PiezoBMSEmbedded CProteusADC
Vibro-Volt — Piezoelectric Energy Harvester cover
Role
Hardware lead — analog front-end, firmware, team lead
Timeline
Aug 2024 – Dec 2024 (5 months)
Team
Led 3 engineers (analog, firmware, BMS)
Status
Completed
TL;DR

A PVDF-piezo energy harvester with interrupt-driven charge control that turns ambient vibration into usable DC for battery-powered IoT nodes — characterised in Proteus before any hardware was built, cutting iteration cycles dramatically.

3 engineers
Team led
Significantly reduced
Iteration cycles
via Proteus simulation pre-build
/ Overview

Problem & motivation

Problem

Battery-powered IoT nodes deployed in vibration-rich environments still need maintenance trips to swap cells. Most of that mechanical energy goes uncaptured.

Motivation

PVDF piezo elements convert mechanical vibration directly to charge. A small harvester + BMS can meaningfully extend battery life on the right kind of device — if the rectification and charge control are done carefully.

Objectives
  • 01Convert vibrational energy from PVDF into usable DC.
  • 02Manage charge / discharge with interrupt-driven firmware.
  • 03Characterise frequency response before hardware build.
  • 04Lead a small team through bench → board iteration.
/ System architecture

How the pieces fit together

PVDF strips feed a full-wave rectifier bridge into a storage cap and BMS. An Arduino Nano monitors voltage via ADC and drives charge / discharge state transitions on interrupt.

  1. Step 01
    PVDF piezo deflects under vibration
  2. Step 02
    Full-wave bridge rectifies AC → pulsed DC
  3. Step 03
    Smoothing cap + voltage regulator
  4. Step 04
    Arduino ADC monitors bank voltage
  5. Step 05
    Interrupt-driven state machine: harvest → charge → discharge
  6. Step 06
    Load supplied via BMS
/ Technologies used

Hardware, software & frameworks

Hardware
  • Arduino Nano
  • PVDF piezo strips
  • Schottky rectifier bridge
  • Storage cap bank
  • BMS
Software
  • Embedded C
  • Interrupt-driven ADC sampling
Frameworks & libs
  • Proteus (simulation)
  • Multisim
/ Development process

How it was built

Phase 01
Planning

Modeled expected vibration spectrum and back-of-envelope harvested power. Defined acceptance criteria before touching hardware.

Phase 02
Simulation

Characterised PVDF + rectifier in Proteus across a sweep of input frequencies to pick the operating range.

Phase 03
Development

Built the harvesting board, wrote the interrupt-driven ADC loop on the Arduino, and integrated the BMS.

Phase 04
Testing

Bench-tested with a vibration table and iterated on cap sizing until the system held a steady voltage under representative load.

/ Features

What it does

  • PVDF vibration energy harvesting
  • Full-wave rectification + smoothing
  • Interrupt-driven ADC charge control
  • BMS-managed charge / discharge transitions
  • Simulated frequency response before build
/ Challenges

Problems faced & how I solved them

Problem 01

ADC sampling jitter caused false state transitions.

Solution

Moved sampling to a hardware timer interrupt with a small rolling-average filter; eliminated false triggers without adding latency.

Problem 02

Cap sizing was off in first iteration — sag under load.

Solution

Re-derived from the simulated waveform; doubled the bank and added a Schottky stage. Voltage held within spec.

/ Learnings

What I'd take into the next build

  • 01Simulating the analog front-end first is always faster than soldering twice.
  • 02Interrupt-driven sampling beats polling for any energy-constrained system.
  • 03Owning the team's debugging loop is as much of the work as designing the circuit.
Future roadmap
  • Move to a dedicated piezo-harvester IC (LTC3588) for production efficiency.
  • Add wireless telemetry of harvested-power statistics.

Like what you see?

I'm open to embedded, IoT, and edge-AI roles — full-time, internship, or freelance.