Skip to content

Buzzer Wireling Tutorial

buzzer product picture

This Wireling uses the AST7525MATRQ buzzer to give you the ability to add a variety of tones to your next project!

Technical Details

 AST7527MATRQ Specs

  • Oscillation frequency 2700Hz
  • Sounds pressure level 85 dB/min at 10cm

    TinyDuino Power Requirements

    • Voltage: 3.0V - 5.5V 
    • Current:  100mA (Max Rating).

    Pins Used

    • A5/SCL - I²C Serial Clock line
    • A4/SDA - I²C Serial Data line 


    • 10mm x 10mm (.394 inches x .394 inches)
    • Max Height (from the lower bottom of Wireling to upper top Wireling Connector): 6.25mm (0.25inches)
    • Weight: 1 gram (.04 ounces)




    Hardware Assembly

    Assembly of buzzer wireling and WirelingZero with cables

    Depending on the development system you choose, you will need to put together a TinyDuino stack using the 32-pin tan connectors, or you will just need to plug in your Wireling to Port 0 using a Wireling Cable. (You can change this port in the included Arduino Sketch by editing the Analog pin used as noted in the program)

    Software Setup

    For this Wireling, you need the example Arduino program included above under the Software section. Open up the program in the Arduino IDE, and upload it to your board. There should be a tones.h file included in this program, and you should see the tab for it in the Arduino IDE.

    Make the correct Tools selections for your development board. If unsure, you can double check the Help page that mentions the Tools selections needed for any TinyCircuits processor.

    Upload Program

    After uploading, you should hear a short pattern of notes.

     * TinyCircuits Buzzer Wireling Example
     * This program plays a little melody on the buzzer based on notes found 
     * in pitches.h.
     * Based heavily on the Arduino toneMelody sketch found here: 
     * Hardware by: TinyCircuits
     * Written by: Zachary Lee for TinyCircuits
     * Initialized: 7/31/19 
     * Last updated: 12/04/19
    #include <Wireling.h> // Interface with Wirelings 
    #include "pitches.h"
    const int pin = A0; // A0 for port 0 on Wireling Adapter, A1 for port 1, etc
    // Notes in the melody:
    int melody[] = {
      NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
    // Note durations: 4 = quarter note, 8 = eighth note, etc.:
    int noteDurations[] = {
      4, 8, 8, 4, 4, 4, 4, 4
    void setup() {
      // Power & initialize Wireling
      // Iterate over the notes of the melody:
      for (int thisNote = 0; thisNote < 8; thisNote++) {
        // To calculate the note duration, take one second divided by the note type.
        // Ex. quarter note = 1000 / 4, eighth note = 1000/8, etc.
        int noteDuration = 1000 / noteDurations[thisNote];
        tone(pin, melody[thisNote], noteDuration);
        // To distinguish the notes, set a minimum time between them.
        // the note's duration + 30% seems to work well:
        int pauseBetweenNotes = noteDuration * 1.30;
        // Stop the tone playing:
    void loop() {
      // Put tones here if you want them to loop repeatedly

    Notice that the pattern of notes will only play once. This is due to it being in the setup() loop. You can move the code into the loop() function if you want it to play repeatedly.

    Contact Us

    If you have any questions or feedback, feel free to email us at or make a post on the forum.

    Show us what you make by tagging @TinyCircuits on Instagram, Twitter, or Facebook so we can feature it!

    Thanks for making with us!