SPI Sensor Controller
Custom SPI master interfacing with onboard sensors and integrating with UART output.
Overview
Build a custom SPI master to interface with the Blackboard's onboard sensors including accelerometer, gyroscope, and compass. This project demonstrates real hardware peripheral interfacing and protocol implementation.
This completes Phase 1 of the learning roadmap, providing hands-on experience with a widely-used embedded communication protocol. The project integrates with the UART transceiver for data output.
Requirements
- Read accelerometer, gyroscope, and compass data via SPI
- Configure sensor registers for desired operating modes
- Display sensor data on 7-segment display
- Output sensor data via UART (integration with Project 1)
- Implement configurable SPI clock divider
- Support SPI modes 0, 1, 2, and 3 (CPOL/CPHA combinations)
Skills Demonstrated
- SPI Protocol Modes: CPOL, CPHA configuration
- Multi-byte Transactions: Register read/write sequencing
- Device Driver State Machines: Sensor initialization and polling
- Real Hardware Interfacing: Working with actual peripherals
- System Integration: Combining SPI and UART modules
Hardware
The RealDigital Blackboard includes onboard accelerometer, gyroscope, and compass sensors. No additional hardware is required for this project.
Deliverables
- GitHub repo with documented source
- Testbench for SPI master module
- Video demo showing live sensor data on display/terminal
- Block diagram showing SPI master + sensor interface
Resources
- Blackboard sensor datasheets (IMU part numbers in board manual)
- nandland.com SPI tutorial
- Hugg book state machine chapters
Architecture
Architecture will be documented as the project progresses.
Implementation Notes
Implementation notes will be added during development.
Resource Utilization
To be measured after implementation.
Progress Log
Not yet started
This project follows the UART Transceiver and completes Phase 1.