

Audio shield
Code for recording audio on Crazyflie
- Size
- 104 × 104 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 127
- Nets
- 159
- Pads
- 435
- Tracks, vias
- 1,554, 211
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 15 Jul 2020
- Updated
- 16 Jan 2023
Overview
Audio shield is an open-source printed circuit board by LCAV, from the LCAV/crazyflie-audio repository on GitHub, published under the MIT licence. It is a 2-layer board of 104 × 104 mm with 127 parts on 159 nets, routed with 1,554 tracks and 211 vias.
It is built around the DS28E05P+T and SPH0645LM4H-B. Its parts include 43 connectors, 23 capacitors, 15 resistors, 2 ICs and 1 inductor. It belongs with the audio and music boards and the STM32 boards of this library.
Main components
2README
README.mdAudio processing for Crazyflie drone
This repository contains the hardware files, firmware and other documentation for the audio deck of the Crazyflie drone.
Overview
This repository is part of the experimental framework described in the paper:
F. Dümbgen, A. Hoffet, M. Kolundžija, A. Scholefield, and M. Vetterli, "Blind as a bat: audible
echolocation on small robots", IEEE Robotics and Automation Letters (Early Access), 2022.The framework includes all components listed below. The components are kept modular so that researchers may focus only on what's relevant to them. For instance, to recreate the audio extension deck and perform more research on audio-based navigation on drones, only repository 2. is necessary; to run the audio-based algorithms in ROS but for a different robot, only repository 1. is enough as a starting point.
- ROS processing pipeline for processing audio for tasks such as obstacle detection and sound source localization.
- Audio deck firmware (this repository), which also includes the PCB files for reproducing the audio deck.
- Public datasets, for audio-based localization on the e-puck2 robot and the Crazyflie drone.
- Crazyflie firmware (fork from official vendor firmware), with an added audio deck driver.
- Gtsam extension for performing factor-graph inference using the echolocation measurements.
Contents
firmware/: Firmware to run on the audio shield, which extracts and transmits microphone data to the Crazyflie PCB.hardware/: KiCad PCB design files for audio shield.python/: Helper functions to generate hard-coded sweeps etc.flight_control/: Simple scripts to fly the Crazyflie drone for testing.doc/: Some documentation and helpers.
Audio deck driver
The driver of the audio deck, running on the Crazyflie, is available in this fork of the official firmware.
Contributors
In alphabetical order:
- Isaac Bernardino Dinis
- Frederike Dümbgen
- Adrien Hoffet
License
All material in this repo is provided with the MIT license.
EEPROM
Parameters to set in crazyflie-lib-python/examples/write_ow.py:
mems[0].vid = 0xBC
mems[0].pid = 0xFF
board_name_id = OWElement.element_mapping[1]
board_rev_id = OWElement.element_mapping[2]
mems[0].elements[board_name_id] = 'Audio Shield'
mems[0].elements[board_rev_id] = 'V2'References
Please refer to the below publications for more information.
[1] RA-L paper (main reference)
F. Dümbgen, A. Hoffet, M. Kolundžija, A. Scholefield, and M. Vetterli, "Blind as a bat: audible
echolocation on small robots", IEEE Robotics and Automation Letters (Early Access), 2022. [2] Ph.D. dissertation (including additional methods and experimental analysis):
F. Dümbgen, "Blind as a bat: spatial perception without sight", Ph.D. disseration,
École Polytechnique Fédérale de Lausanne, 2021.Parts
127| Qty | Value | Footprint | References |
|---|---|---|---|
| 34 | Conn_01x02_Male | Connector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical_SMD_Pin1Left | J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, J24, J25 +18 |
| 23 | TestPoint | audio_shield:TestPoint_Loop_D2.50mm_Drill1.0mm_LowProfile | 3V0_1, 3V0_2, 3V0_3, 3V0_4, GND1, GND2, GND3, GND4, I2S1_CK1, I2S1_SD1, I2S1_WS1, I2S3_CK1, I2S3_SD1, I2S3_WS1, PA2, PC3 +7 |
| 13 | 100n | Capacitor_SMD:C_0603_1608Metric | C2, C3, C4, C5, C6, C7, C11, C13, C15, C17, C21, C23, C25 |
| 10 | Jumper | Jumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mm | JP1, JP2, JP3, JP7, JP8, JP9, JP10, JP11, JP12, JP13 |
| 8 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R4, R6, R8, R12, R14, R16 |
| 7 | 220p | Capacitor_SMD:C_0603_1608Metric | C10, C12, C14, C16, C20, C22, C24 |
| 7 | 68 | Resistor_SMD:R_0603_1608Metric | R3, R5, R7, R9, R13, R15, R17 |
| 7 | SPH0645LM4H-B | audio_shield:MIC_SPH0645LM4H-B | MK1, MK2, MK3, MK4, MK6, MK7, MK8 |
| 6 | mic_connector | audio_shield:6288_series_8_pos | J3, J4, J5, J6, J7, J8 |
| 3 | Jumper | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP4, JP5, JP6 |
| 2 | 4.7u | Capacitor_SMD:C_0603_1608Metric | C1, C9 |
| 1 | 1u | Capacitor_SMD:C_0603_1608Metric | C8 |
| 1 | 2.2uH/15mA | Inductor_SMD:L_0603_1608Metric | L1 |
| 1 | CONN_10_LEFT | audio_shield:BF090-10-X-B1 | J1 |
| 1 | CONN_10_RIGHT | audio_shield:BF090-10-X-B1 | J2 |
| 1 | DS28E05P | Package_SO_J-Lead:TSOC-6_3.76x3.94mm_P1.27mm | U2 |
| 1 | STM32F446RETx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U1 |
| 1 | SWD_TC2030 | Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical | J9 |
More from LCAV/crazyflie-audio
2- 2 layers119.8 × 119.7 mm

- 2 layers76.2 × 76.2 mm

Similar boards
- 4 layers55 × 100.5 mm

OSS Radio Hardware Design
Arkos-Engineering/HT-15_hardware
We can split this out into separate repos later, right now its very convenient to have everything here.
256 parts72 - 4 layers100 × 75 mm

OpenAirScope
emertcakir/OpenAirScope
Open-source air quality and environmental monitoring node with STM32H743 + ESP32-C3, LoRaWAN, RS485, USB-C, Li-ion charging, and multi-sensor support.
282 parts26MIT - 2 layers36.4 × 16.1 mm

- 2 layers187 × 152 mm

Kiss masterboard
squarewavedot/ledcubeelectronics
LEDCube battery and masterboard electronics
163 parts22 - 2 layers43 × 43 mm

- 2 layers50 × 50 mm

Noisemeter
CivicTechTO/tRacket-sensor
Design files and source code for the tRacket noise sensor
32 parts11 - 4 layers102.4 × 27.5 mm

- 2 layers53 × 85 mm

AcousticDetection HW
matrn/AcousticDetection
System for Acoustic Detection and Localization Based on Two Microphones
41 parts8MIT
Questions
How big is the Audio shield PCB?
It measures 104 × 104 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Audio shield use?
127 parts, built around the DS28E05P+T and SPH0645LM4H-B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Audio shield KiCad files?
From the LCAV/crazyflie-audio repository on GitHub, at the commit this page was made from: the board is hardware/audio_shield_prod/audio_shield.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Audio shield design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).