Skip to the content
2 layers104 × 104 mmAudio shield, the printed circuit board in 3D

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

2

README

README.md

Audio 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:

text
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.

  1. ROS processing pipeline for processing audio for tasks such as obstacle detection and sound source localization.
  2. Audio deck firmware (this repository), which also includes the PCB files for reproducing the audio deck.
  3. Public datasets, for audio-based localization on the e-puck2 robot and the Crazyflie drone.
  4. Crazyflie firmware (fork from official vendor firmware), with an added audio deck driver.
  5. 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:

text
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)

text
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):

text
F. Dümbgen, "Blind as a bat: spatial perception without sight", Ph.D. disseration, 
École Polytechnique Fédérale de Lausanne, 2021.

Parts

127
QtyValueFootprintReferences
34Conn_01x02_MaleConnector_PinHeader_1.00mm:PinHeader_1x02_P1.00mm_Vertical_SMD_Pin1LeftJ10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, J24, J25 +18
23TestPointaudio_shield:TestPoint_Loop_D2.50mm_Drill1.0mm_LowProfile3V0_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
13100nCapacitor_SMD:C_0603_1608MetricC2, C3, C4, C5, C6, C7, C11, C13, C15, C17, C21, C23, C25
10JumperJumper:SolderJumper-2_P1.3mm_Bridged_Pad1.0x1.5mmJP1, JP2, JP3, JP7, JP8, JP9, JP10, JP11, JP12, JP13
810kResistor_SMD:R_0603_1608MetricR1, R2, R4, R6, R8, R12, R14, R16
7220pCapacitor_SMD:C_0603_1608MetricC10, C12, C14, C16, C20, C22, C24
768Resistor_SMD:R_0603_1608MetricR3, R5, R7, R9, R13, R15, R17
7SPH0645LM4H-Baudio_shield:MIC_SPH0645LM4H-BMK1, MK2, MK3, MK4, MK6, MK7, MK8
6mic_connectoraudio_shield:6288_series_8_posJ3, J4, J5, J6, J7, J8
3JumperJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP4, JP5, JP6
24.7uCapacitor_SMD:C_0603_1608MetricC1, C9
11uCapacitor_SMD:C_0603_1608MetricC8
12.2uH/15mAInductor_SMD:L_0603_1608MetricL1
1CONN_10_LEFTaudio_shield:BF090-10-X-B1J1
1CONN_10_RIGHTaudio_shield:BF090-10-X-B1J2
1DS28E05PPackage_SO_J-Lead:TSOC-6_3.76x3.94mm_P1.27mmU2
1STM32F446RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SWD_TC2030Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_VerticalJ9

More from LCAV/crazyflie-audio

2
  • 2 layers119.8 × 119.7 mmAudio shield, the printed circuit board in 3D

    Audio shield

    LCAV/crazyflie-audio

    Code for recording audio on Crazyflie

    64 parts9MIT
  • 2 layers76.2 × 76.2 mmAudio shield, the printed circuit board in 3D

    Audio shield

    LCAV/crazyflie-audio

    Code for recording audio on Crazyflie

    52 parts9MIT

Similar boards

  • 4 layers55 × 100.5 mmOSS Radio Hardware Design, the printed circuit board in 3D

    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 mmOpenAirScope, the printed circuit board in 3D

    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 mmMic, the printed circuit board in 3D

    Mic

    douggilliland/FPGA_Games

    FPGA Games Gathered from GitHub in one place

    9 parts23
  • 2 layers187 × 152 mmKiss masterboard, the printed circuit board in 3D

    Kiss masterboard

    squarewavedot/ledcubeelectronics

    LEDCube battery and masterboard electronics

    163 parts22
  • 2 layers43 × 43 mmBadge, the printed circuit board in 3D

    Badge

    oshwabadge2020/Badge-PCB

    Open Hardware Summit 2020 wrist-watch badge

    78 parts19
  • 2 layers50 × 50 mmNoisemeter, the printed circuit board in 3D

    Noisemeter

    CivicTechTO/tRacket-sensor

    Design files and source code for the tRacket noise sensor

    32 parts11
  • 4 layers102.4 × 27.5 mmGLARE, the printed circuit board in 3D

    GLARE

    RR-CREATOR/GLARE

    Glasses Linked Augmented Reality Engine

    102 parts10MIT
  • 2 layers53 × 85 mmAcousticDetection HW, the printed circuit board in 3D

    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).