
RPI RP2040-MINIMAL R3-S1
JesseLevine727/AirNote
A touchless musical instrument built around a fully integrated RP2040, VL53L1X distance sensor and MAX98357A speaker amplifier. One hand selects eleven pentatonic notes over two octaves.

A touchless musical instrument built around a fully integrated RP2040, VL53L1X distance sensor and MAX98357A speaker amplifier. One hand selects eleven pentatonic notes over two octaves.
Bypass clean before shorter-22 is an open-source printed circuit board by JesseLevine727, from the JesseLevine727/AirNote repository on GitHub. It is a 4-layer board of 90 × 70 mm with 73 parts on 73 nets, routed with 764 tracks and 98 vias.
It is built around the RP2040, MAX98357AETE+T and VL53L1CXV0FY/1, with the W25Q16JVSSIQ, AP2112K-3.3 and M2.5 among its other parts. Its parts include 23 capacitors, 19 resistors, 5 ICs, 3 connectors and 3 switches. It belongs with the RP2040 boards of this library.
A touchless musical instrument built around a fully integrated RP2040, VL53L1X distance sensor and MAX98357A speaker amplifier. One hand selects eleven pentatonic notes over two octaves. The design uses a four-layer PCB and factory assembly, with an external 8 ohm speaker.
Engineering prototype, rev 0.2. The first-article order package has passed static review and is ready to order; nothing is ordered or physically validated yet. Use the independent review status for current failures, passes and pending evidence. A schematic check or firmware build does not establish that the assembled instrument works.
Open hardware/airnote.kicad_pro in KiCad 9.0.9 or newer. The project contains three schematic sheets and the PCB. Project libraries accompany the files. The generated schematic can also be read in hardware/outputs/airnote-schematic.pdf.
View the PCB render. Some parts, including the volume pot, mute switch and amplifier, have no installed 3D body model; the render shows their footprints. Use the BOM and assembly drawing for the fitted-part list, and verify mechanical dimensions from their drawings.
The BOM identifies exact components with their LCSC part numbers for JLCPCB assembly. The fabricator, stackup and USB geometry are recorded in the fabrication plan; stock and prices are a snapshot and must be re-checked on the day of ordering. Manufacturing outputs remain engineering review artifacts until the independent review of the current revision passes.
Listen to the synthesized scale. This WAV is rendered by the same software oscillator used in firmware; it is not a recording of the PCB, amplifier or speaker.
Run from this directory. Native behavioral tests need CMake and a C++17
compiler; the device build additionally needs arm-none-eabi-gcc, Python 3
and Git. KiCad's Python module is used by the hardware tools.
cmake -S . -B build/host
cmake --build build/host -j 4
ctest --test-dir build/host --output-on-failure
python3 tools/fetch_dependencies.py
cmake -S firmware -B build/firmware
cmake --build build/firmware -j 8The firmware build produces build/firmware/airnote.uf2 and airnote.elf.
The captured build is also available as artifacts/airnote.uf2,
with source and binary checksums in artifacts/firmware-evidence.json.
The SDK may fetch/build its own picotool utility on the first build. Runtime
dependencies are pinned in tools/fetch_dependencies.py; the vendored sensor
and audio transport adaptations retain their licenses and provenance.
To regenerate the software sound preview:
build/host/render_demo artifacts/synth-preview.wavIndependent reviewer tests and artifact checks live in reviews/. The
reviewer owns those checks separately from the implementation. Their result
reports distinguish logic/net-mapping evidence from routing and physical tests.
Normal PLAY operation uses a specified 5 V adapter; programming/USB diagnostics use the hardware MUTE position. Firmware also latches a USB host mute, starts peripherals only after configuration or a deliberate adapter PLAY sequence, and parks audio after USB suspend/deconfiguration until power-cycle. These policies do not replace current/inrush/suspend measurements. The initial distance correction is zero and has not been calibrated to a physical board.
The overseer coordinates the specification and integration, the implementer creates the hardware, and the reviewer independently checks the artifacts and tests. Neither factory assembly nor clean ERC/DRC counts as physical validation.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | 100n | Capacitor_SMD:C_0603_1608Metric | C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C15, C18, C19, C21, C23 |
| 6 | 10k | Resistor_SMD:R_0603_1608Metric | R2, R4, R10, R11, R14, R16 |
| 4 | 1k | Resistor_SMD:R_0603_1608Metric | R1, R3, R17, R18 |
| 4 | 1u | Capacitor_SMD:C_0603_1608Metric | C13, C14, C16, C17 |
| 4 | 5.1k | Resistor_SMD:R_0603_1608Metric | R6, R7, R12, R13 |
| 4 | M2.5 | MountingHole_2.7mm_M2.5 | H1, H2, H3, H4 |
| 2 | 15p | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 27 | Resistor_SMD:R_0603_1608Metric | R8, R9 |
| 2 | 4.7u | Capacitor_SMD:C_0805_2012Metric | C20, C22 |
| 1 | +1V1 | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | +3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | +5V | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | 1 | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 100k | Resistor_SMD:R_0603_1608Metric | R15 |
| 1 | 10k LINEAR VOLUME | Potentiometer_THT:Potentiometer_Bourns_PTV09A-1_Single_Vertical | RV1 |
| 1 | 12MHz ABM8-272-T3 | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 1M | Resistor_SMD:R_0603_1608Metric | R19 |
| 1 | 500mA hold PTC | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | AMP_SD | TestPoint:TestPoint_Pad_D1.5mm | TP11 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | BOOTSEL | Button_Switch_SMD:SW_SPST_TL3342 | SW1 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | GREEN STATUS | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | I2C_SCL | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | I2C_SDA | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | I2S_BCLK | TestPoint:TestPoint_Pad_D1.5mm | TP9 |
| 1 | I2S_DATA | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
| 1 | I2S_LRCLK | TestPoint:TestPoint_Pad_D1.5mm | TP10 |
| 1 | MAX98357AETE+T | AirNote:MAX98357A_T1633_ADI_90-0031 | U5 |
| 1 | MUTE / PLAY | Button_Switch_SMD:SW_DPDT_CK_JS202011JCQN | SW3 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_TL3342 | SW2 |
| 1 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U1 |
| 1 | SPEAKER 8ohm >=1W | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J3 |
| 1 | SWD 3V3 GND DIO CLK RUN | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J2 |
| 1 | USB-C USB2.0 | AirNote:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | D1 |
| 1 | VBUS_RAW | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | VL53L1CXV0FY/1 | Sensor_Distance:ST_VL53L1x | U4 |
| 1 | W25Q16JVSSIQ | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U2 |

JesseLevine727/AirNote
A touchless musical instrument built around a fully integrated RP2040, VL53L1X distance sensor and MAX98357A speaker amplifier. One hand selects eleven pentatonic notes over two octaves.

nthclrd/picflash
Programmeur PIC open source en Rust : remplace MPLAB IPE/XC8 pour les PIC16, pilote les PICkit 4/5/Basic ou une carte RP2040 maison (KiCad)

KarrarNawazkhan/rp2040-gamepad
USB-C HID game controller built around the RP2040 , full KiCad PCB design from schematic to fabrication-ready Gerbers

hghaken/ESP-iRadio
ESP32 internet radio with Bluetooth A2DP output (headphones/speaker), 1.69" display and web control

sini6a/internet-radio-speaker
An open-source ESP32 Internet Radio Player with simple programming, USB charging, and on-the-go capability using a single-cell Li-ion battery.

alph4345/test
TrinketCore puts everything a small rechargeable gadget needs on one 40 × 60 mm board, ready to order assembled from PCBWay:



ZachS07/RP2040-IMU-Altimeter-PCB
Custom PCB motion and altitude data logger. RP2040 microcontroller with onboard IMU, barometric sensor, and flash storage. It's suitable for model rockets, drones, and other applications.
It measures 90 × 70 mm and has 4 copper layers, 1.6 mm thick.
73 parts, built around the RP2040, MAX98357AETE+T, VL53L1CXV0FY/1 and W25Q16JVSSIQ. 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.
From the JesseLevine727/AirNote repository on GitHub, at the commit this page was made from: the board is hardware/reports/bypass-clean-before-shorter-22.kicad_pcb and its schematic hardware/airnote.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask JesseLevine727 before reusing the design.