Introduction
Welcome to the SensEdu documentation!
SensEdu is an ultrasonic ranging and detection development shield for Arduino GIGA R1, designed as an open-source educational project to lower the barrier to ultrasonic sensing and research.
Based on the STM32H747 Microcontroller and runs on the Arduino GIGA R1 WiFi development Board, providing industry-standard embedded development experience while remaining beginner-friendly. SensEdu is perfect for students looking for a smooth introduction to this field, offering an easy-to-understand yet highly modifiable software and hardware environment.
This project is completely open source and comes with quick support from the development team.
If you like the project, consider contributing. Any input from both experienced developers and beginners is highly appreciated!
Features
SensEdu includes:
- 4x MEMS microphones, sensitive well into the ultrasonic range
- 2x Ultrasonic transducers with a ~33 kHz center frequency
- 4x Dual-channel instrumentation amplifiers
- Barometric air pressure sensor
- Humidity & temperature sensor
You can find detailed information about each component in the PCB Chapter. With these components, you can build a variety of projects, such as:
- Pulse-Echo and FMCW ultrasonic ranging
- Ultrasonic 3D Tracking
- Ultrasonic chirp generation
- Doppler Velocimeter
- FSK communication
- Audio recorder
- EMG controls
- Weather Station
Many of these are already fully implemented and documented in the Projects chapter.
Where to Start
Follow the Getting Started guide to mount the shield, install the Arduino board package and the SensEdu library, and upload your first sketch. If something does not work as expected, the Help section collects the most common issues.
Repository Structure
The SensEdu repository is divided into four main parts:
- Shield PCB – Located in
pcb\ - Hardware Abstraction Library – Located in
libraries\SensEdu\ - Full Projects – Located in
projects\ - Documentation – Located in
docs\, rendered into this wiki
Each part is thoroughly documented in this wiki, allowing you to modify both software and hardware using the provided examples.
Acknowledgments
SensEdu was made possible thanks to these tools and libraries:
- Arduino, Arduino IDE 2.x and the Arduino Mbed OS Giga Core
- STM32H747 Documentation and STM32CubeMX
- CMSIS-DSP for on-board signal processing
- XENSIV™ Digital Pressure Sensor Arduino Library and Sensirion SHT4x Arduino Library for the environmental sensors
- KiCad for the shield hardware
- MATLAB and Python for the host-side scripts
- Manim Community for the animated figures
- Jekyll and the Just the Docs template for this wiki
Thank You to All Contributors!