Repository navigation
Atharv Final Project Video
This page provides an overview of Atharv More’s contribution to the AESD Final Project AviAlert.
AviAlert is a real-time, edge-AI system designed for acoustic classification of bird species. My primary focus was architecting the underlying embedded system, including the custom Buildroot Linux distribution, the development of a custom kernel character driver for hardware communication, and the integration of physical output peripherals.
The video demonstrates:
-
System Setup: Configuring a minimal custom Linux build using Buildroot for Raspberry Pi 4, including kernel customization and filesystem optimization.
-
Pipeline Integration: How the Python-based AI inference pipeline communicates with the kernel-space character driver (/dev/birdclassifier) to bridge the gap between software classification and physical hardware.
-
Hardware Feedback: The real-time triggering of the LED to provide immediate visual feedback upon bird species identification.
My most difficult challenge when implementing this project was:
- Architecting for Minimalism: Designing a truly "minimal" Linux architecture. It is easy to include unnecessary packages, but creating a lean, fast-booting system required a rigorous audit of the entire dependency tree to prune bloat and ensure only essential components were included.
The most important topics I learned from this project were:
-
Embedded System Orchestration: I gained a deep understanding of how build systems like Buildroot manage complex software stacks, specifically learning how to trace dependency chains and resolve issues within build recipes.
-
Hardware-Software Integration: I learned that the interface between software and physical hardware is where the most complex debugging occurs. Developing a character driver taught me to think about the system as a unified whole, rather than treating the kernel, driver, and application code as separate silos.
-
Efficiency as a Feature: I learned that in embedded development, minimalism is not just about saving storage space—it is about security, reliability, and boot performance. A system with fewer moving parts is significantly easier to debug and maintain.