~/workshop $ cat ./inventory/xiaoyztan-160ohm-passive-buzzer/README.md

Xiaoyztan 160Ω Passive Electromagnetic Buzzer

category
Actuator
qty
50
status
owned / untested
maker
Xiaoyztan (reseller brand; generic electromagnetic buzzer, no traceable original manufacturer datasheet)
Xiaoyztan 160Ω Passive Electromagnetic Buzzer

Overview

A small electromagnetic (coil-driven) passive buzzer — unlike an “active” buzzer, this type has no internal oscillator; it just moves a diaphragm in response to whatever AC/PWM signal is fed into it, so pitch is fully controllable by the driving signal’s frequency. Good for anything from a simple tone-generating alert to melody playback (e.g. tone() on Arduino), as opposed to active buzzers which only ever produce one fixed tone when powered.

Key specs

  • Impedance: 160Ω
  • Rated voltage: 3–5V DC
  • Terminals: 2, unmarked from the listing — electromagnetic buzzers of this type are commonly non-polarized (it’s a coil, not a diode-based piezo element), but polarity marking/behavior not confirmed for this specific unit
  • Drive requirement: needs an external audio/PWM signal (e.g. tone()/PWM square wave) — will not produce sound from steady DC, unlike an active buzzer
  • Dimensions, resonant frequency, SPL: not found in available listing data

Pinout

Terminal Function
1 Coil terminal A
2 Coil terminal B

No confirmed polarity requirement — treat as non-polarized unless testing shows otherwise.

Wiring / typical usage

Drive from a GPIO through a PWM/square-wave signal (e.g. Arduino tone(pin, frequency)), not a steady DC level — a passive buzzer stays silent on plain DC. For anything beyond a few mA of drive current, buffer through a transistor rather than driving directly from a GPIO, since exact current draw for this unit isn’t confirmed. Frequency sweeps let it produce different pitches/tones, unlike a fixed-tone active buzzer.

Code / libraries

  • Arduino: no library needed for basic use — tone(pin, frequency, duration) drives it directly for simple tones/alerts; melody libraries (e.g. NewTone, various “Arduino buzzer melody” sketches) work the same way for tune playback.
  • For PWM-based control on other platforms (ESP32/RP2350/etc.), any PWM-capable GPIO works the same way — set frequency to the desired pitch.

Source material

  • Product listing: https://www.amazon.com/Xiaoyztan-Electronic-2-Terminal-Loudspeakers-Applicances/dp/B07GBTJP9F
  • Comparable listings for cross-checking the “passive electromagnetic, needs external drive signal” behavior (same class of part, different resellers): search results for “50pcs passive electromagnetic buzzer 16ohm/160ohm 2kHz” consistently describe the same electromagnetic/coil-driven, externally-driven behavior
  • Local files: see /inventory/xiaoyztan-160ohm-passive-buzzer/amazon-order-list.jpeg (as-supplied order-history screenshot)
  • Product photo: /inventory/xiaoyztan-160ohm-passive-buzzer/product-photo.jpg — representative (bare 2-pin electromagnetic buzzer, same black-dome/2-pin class), sourced 2026-07-25 from https://www.addicore.com/cdn/shop/products/AD319-2.jpg

Verification

Inferred from vendor listing only — no manufacturer datasheet exists for this generic part. Impedance (160Ω), voltage rating (3-5V), and “passive/needs external drive signal” behavior are stated directly in the product title/description — reasonably high confidence on those specific points since they’re concrete claims, not marketing fluff. Dimensions, resonant frequency, and SPL are not available from any source checked — first physical measurement of one from the 50-pack would be the only way to fill those in.

Notes / gotchas

  • Passive, not active — it will stay silent if simply connected to DC power. Needs a PWM/AC drive signal (tone() or equivalent) to make any sound at all. Don’t mistake this for a “plug in and it beeps” active buzzer when picking parts for a project.
  • Polarity behavior unconfirmed — test with a low-current source before assuming either orientation is required or forbidden.
  • Selecting this part class means also picking a target frequency in firmware — unlike an active buzzer’s fixed tone, there’s no “default pitch” until code drives one.