This week, we made substantial progress on both the hardware and software components of the motion-sensing shoe sole project. The hardware team focused on finalizing component selections, while the software team concentrated on developing a functional app prototype. The goal is to ensure that both the hardware and software align with our design specifications and operational requirements.
Progress Summary:
Hardware Component Finalization:
- Inertial Measurement Unit (IMU): We selected an IMU that includes both an accelerometer and gyroscope, crucial for real-time motion tracking.
- Pressure Pad: Chosen for accurate foot pressure detection to enhance user feedback.
- Bluetooth Low Energy (BLE) Module: We opted for a BLE module to ensure low-power wireless communication between the insole and external devices.
- Battery: After calculating the power requirements, we confirmed the use of a rechargeable LIPO battery. This will support extended use, and the calculations have been documented in the design report.
- ESP32 Microcontroller: Following a meeting with the CLIMB team (working on a similar project), we decided to use the ESP32 microcontroller for its low power consumption, integrated BLE, and ease of interfacing with sensors and the battery.
IMU Testing and Simulation:
- We connected an Arduino to the Bosch IMU sensor and began collecting data.
- A preliminary simulation in MATLAB helped us identify issues such as sensor drift and saturation, which will be addressed during future sensor calibration and firmware development.
Software Development (App Prototype):
- We developed a functioning prototype of the mobile app with the three key sections outlined in our design presentation:
- A main page showing real-time stats from the IMU.
- A history and trends page displaying past performance.
- A settings page allowing users to set customizable thresholds and receive alerts when metrics fall below specified limits.
- We encountered issues with the iOS simulator due to dependency conflicts, which delayed testing. The app is now functional on iOS, but further testing on Android is needed to ensure smooth operation across both platforms.
Risks:
- Sensor Calibration: The IMU data may have issues with drift and saturation, identified through our simulation. We are working to address these issues through calibration in the next phase.
- Power Optimization: Battery life could be impacted by sensor performance, and optimizing the balance between power consumption and functionality remains a key focus.
- Cross-Platform Testing: Although the app runs on iOS, the Android version needs more attention to ensure functionality on both platforms.
Changes to the Design:
- After discussions with the CLIMB team, we made the decision to use the ESP32 microcontroller. This change improves power efficiency and integration simplicity at the cost of some initial setup challenges, but we believe the benefits outweigh these costs.
Next Steps:
- Hardware:
- Continue sensor calibration and integrate the IMU with the ESP32.
- Finalize the communication protocol between the insole and external devices.
- Refine the simulation model to reduce sensor drift.
- Software:
- Collaborate with Vansh to receive IMU data via Bluetooth and integrate it into the app.
- Work on presenting the IMU data graphically within the app.
- Address remaining Android testing issues to ensure smooth cross-platform functionality.
Updated Schedule:
With the hardware components finalized and the app prototype functioning on iOS, we remain on schedule. The next major milestone will involve testing the integration of real-time IMU data with the app and addressing any power or sensor-related challenges.
Conclusion:
We are progressing well on both the hardware and software fronts. The finalized hardware components—Bosch IMU, ESP32, and BLE module—are ready for integration, and the software app is functioning on iOS with pending improvements for Android. The upcoming focus will be on sensor calibration, app refinement, and Bluetooth integration to complete the motion-sensing system.