Skip to content

Knvgpt/CapstoneProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CapstoneProject

Embedded signal-processing prototype with ESP32 firmware, a React Native companion app, PCB design files, and enclosure/CAD assets.

C++ Arduino ESP32 React Native

Overview

CapstoneProject brings together embedded firmware, mobile UI work, and hardware design files for a capstone prototype. The ESP32 code samples signal data, runs FFT analysis, stores result output on an SD card, serves a small local web flow, and controls a DFPlayer Mini module. The React Native app mirrors the user-input flow with screens for profile details and result viewing.

Features

  • ESP32 access-point web server with form submission and results routes.
  • FFT processing pipeline using a local ESP_fft implementation and a 2048-sample signal buffer.
  • SD card read/write flow for storing submitted names and FFT result output.
  • DFPlayer Mini integration for audio playback from embedded firmware.
  • React Native mobile app with Home, Details, and Results screens.
  • Hardware artifacts including Eagle board/schematic files, SolidWorks parts, and a parts list.

Demo

Screenshots and hardware photos are not included yet. Add images here when available:

Firmware / Hardware Mobile App
docs/hardware-demo.png docs/mobile-demo.png

Tech Stack

  • Embedded: ESP32, Arduino/C++, SPI, SD, ESPAsyncWebServer
  • Signal processing: FFT over sampled signal data
  • Audio: DFRobot DFPlayer Mini
  • Mobile: React Native, React Navigation
  • Hardware design: Eagle board/schematic files, SolidWorks part files

Project Structure

.
├── ESP32/        # ESP32 firmware, FFT helper, and sample signal data
├── mobileApp/   # React Native companion app
└── Others/      # PCB, schematic, CAD, and parts-list assets

Installation

ESP32 firmware

  1. Install the Arduino IDE or PlatformIO with ESP32 board support.
  2. Install the firmware dependencies used in ESP32/fullcode.ino, including SD/SPI support, ESPAsyncWebServer, SoftwareSerial, and DFRobotDFPlayerMini.
  3. Open ESP32/fullcode.ino.
  4. Connect the ESP32 and required SD/DFPlayer hardware.
  5. Build and upload the sketch.

Mobile app

cd mobileApp
npm install
npm start

In a second terminal, run the target platform:

npm run android
# or
npm run ios

Usage

  1. Power the ESP32 prototype and connect to the local access point configured in ESP32/fullcode.ino.
  2. Open the served form, enter the available profile fields, and submit.
  3. Use the results route to read the generated FFT output from the SD card.
  4. Run the React Native app to test the companion mobile flow.

Lessons Learned

  • Coordinating firmware, storage, web serving, audio playback, and mobile UI requires clear boundaries between hardware control and user-facing flows.
  • Embedded prototypes benefit from simple, inspectable data paths such as SD-card output while the signal-processing flow is still being validated.
  • Keeping hardware assets, firmware, and mobile code in one repository makes capstone review easier, but good documentation is essential so each layer is understandable on its own.

Contact

Built by Kanav Gupta. For questions or collaboration, reach out through GitHub.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors