# Touch Tone Phone Dial-a-Song

## Overview

https://www.youtube.com/watch?v=nJn_ZE5cV6Y

Build a self-contained Dial-a-Song using a Western Electric 2500DM telephone and a Feather RP2040 + mono amplifier. People can dial a number to hear a song or message played through the handset earpiece. The CircuitPython keypad library makes it simple to read the Touch Tone keypad matrix.

It's a fun conversation piece -- especially with its accurate dial tone, touch tones, and other teleco messages -- and perfect for escape rooms or other puzzle games.

I'm not going to tell you how to live your life. However, should you choose to put some [They Might Be Giants songs](https://dialasong.com/about/) on there, you'll be a hero.

## Parts
### Adafruit Feather RP2040

[Adafruit Feather RP2040](https://www.adafruit.com/product/4884)
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather Treatment" and so we did! This Feather features the&nbsp; **RP2040** , and all niceties you know and...

In Stock
[Buy Now](https://www.adafruit.com/product/4884)
[Related Guides to the Product](https://learn.adafruit.com/products/4884/guides)
![Angled shot of black rectangular microcontroller "Feather RP2040"](https://cdn-shop.adafruit.com/640x480/4884-04.jpg)

### FeatherWing Doubler - Prototyping Add-on For All Feather Boards

[FeatherWing Doubler - Prototyping Add-on For All Feather Boards](https://www.adafruit.com/product/2890)
This is the **FeatherWing Doubler** - a prototyping add-on and more for all Feather boards. This is similar to our [FeatherWing Proto](https://www.adafruit.com/products/2884) except there are two! The magic of the Doubler comes when stacking a Feather and another...

In Stock
[Buy Now](https://www.adafruit.com/product/2890)
[Related Guides to the Product](https://learn.adafruit.com/products/2890/guides)
![Double prototyping feather wing PCB with socket headers installed](https://cdn-shop.adafruit.com/640x480/2890-01.jpg)

### Adafruit Mono 2.5W Class D Audio Amplifier - PAM8302

[Adafruit Mono 2.5W Class D Audio Amplifier - PAM8302](https://www.adafruit.com/product/2130)
This super small mono amplifier is surprisingly powerful - able to deliver up to 2.5 Watts into 4-8 ohm impedance speakers. Inside the miniature chip is a class D controller, able to run from 2.0V-5.5VDC. Since the amp is a class D, its very efficient (over 90% efficient when driving an...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2130)
[Related Guides to the Product](https://learn.adafruit.com/products/2130/guides)
![Angled shot of an Adafruit Mono 2.5W Class D Audio Amplifier assembled to a speaker and white breadboard. ](https://cdn-shop.adafruit.com/640x480/2130-00.jpg)

### Lithium Ion Battery - 3.7V 2000mAh

[Lithium Ion Battery - 3.7V 2000mAh](https://www.adafruit.com/product/2011)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of 2000mAh. If you need a larger (or smaller!) battery,&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/2011)
[Related Guides to the Product](https://learn.adafruit.com/products/2011/guides)
![Lithium Ion Polymer Battery 3.7v 2000mAh with JST 2-PH connector](https://cdn-shop.adafruit.com/640x480/2011-05.jpg)

### Terminal block - 4 pin Euro-Style

[Terminal block - 4 pin Euro-Style](https://www.adafruit.com/product/677)
Connect this to that **without soldering** using these quick terminal blocks. They allow connecting of two sets of four wires together using just a flat-head screwdriver. These are UL rated to carry up to 15 Amps, so they're great for high current LED strips! Can be used with wires from...

In Stock
[Buy Now](https://www.adafruit.com/product/677)
[Related Guides to the Product](https://learn.adafruit.com/products/677/guides)
![Euro-Style Terminal block with 4 pins ](https://cdn-shop.adafruit.com/640x480/677-02.jpg)

### Wire Ferrule Kit - 800 pieces

[Wire Ferrule Kit - 800 pieces](https://www.adafruit.com/product/5131)
Crimping's not just for 80s hair metal bands! When your project requires&nbsp;repeated insertion and removal with minimal strain, why not check out the reliable wire ferrule?&nbsp;A wire ferrule is a tinned sleeve that&nbsp;once crimped, neatly holds all the pesky, individual strands of a...

In Stock
[Buy Now](https://www.adafruit.com/product/5131)
[Related Guides to the Product](https://learn.adafruit.com/products/5131/guides)
![Top view of a clear plastic storage box opened up with several compartments of variously sized wire ferrules.](https://cdn-shop.adafruit.com/640x480/5131-09.jpg)

### USB Type A Plug Breakout Cable with Premium Female Jumpers

[USB Type A Plug Breakout Cable with Premium Female Jumpers](https://www.adafruit.com/product/4448)
If you'd like to connect a USB-capable chip to your USB host, this cable will make the task very simple. **There is no converter chip in this cable!** Its basically a plain USB cable that's cut in half and with jumper sockets on the power and data lines. Simple to use,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4448)
[Related Guides to the Product](https://learn.adafruit.com/products/4448/guides)
![Angled shot of Black, USB-A plug cable with four socket jumpers.](https://cdn-shop.adafruit.com/640x480/4448-01.jpg)

### Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40

[Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40](https://www.adafruit.com/product/4482)
These premium male-male jumper wires are handy for making wire harnesses or jumpering between headers on PCBs. They're&nbsp;200mm (~7.8") long and come loose as a pack of 40&nbsp;(10&nbsp;pieces of red, blue, yellow, and Adafruit black). They have 0.1" male header contacts on...

In Stock
[Buy Now](https://www.adafruit.com/product/4482)
[Related Guides to the Product](https://learn.adafruit.com/products/4482/guides)
![Bundle of Premium Silicone Covered Male-Male Jumper Wires - 200mm x 40](https://cdn-shop.adafruit.com/640x480/4482-01.jpg)

### Through-Hole Resistors - 220 ohm 5% 1/4W - Pack of 25

[Through-Hole Resistors - 220 ohm 5% 1/4W - Pack of 25](https://www.adafruit.com/product/2780)
ΩMG! You're not going to be able to resist these handy resistor packs!&nbsp;Well, axially, they&nbsp;do all of the resisting for you!

This is a **25 Pack of 220Ω Resistors.** More specifically, they are **carbon film** , through-hole...

In Stock
[Buy Now](https://www.adafruit.com/product/2780)
[Related Guides to the Product](https://learn.adafruit.com/products/2780/guides)
![Angled shot of 25 Through-Hole Resistors - 220 ohm 5% 1/4W.](https://cdn-shop.adafruit.com/640x480/2780-00.jpg)

### Through-Hole Resistors - 1.0K ohm 5% 1/4W - Pack of 25

[Through-Hole Resistors - 1.0K ohm 5% 1/4W - Pack of 25](https://www.adafruit.com/product/4294)
ΩMG! You're not going to be able to resist these handy resistor packs!&nbsp;Well, axially, they&nbsp;do all of the resisting for you!

This is a **25 Pack of 1.0KΩ Resistors.** More specifically, they are **carbon film** , through-hole...

In Stock
[Buy Now](https://www.adafruit.com/product/4294)
[Related Guides to the Product](https://learn.adafruit.com/products/4294/guides)
![Angled shot of 25 Through-Hole Resistors - 1.0K ohm 5% 1/4W.](https://cdn-shop.adafruit.com/640x480/4294-00.jpg)

You'll also need a 2.2µF electrolytic capacator for the RC noise filter circuit, although in a bind you can use [this 10µF one](https://www.adafruit.com/product/2195).

## Western Electric 2500DM Telephone

The classic! Grab a vintage Touch Tone phone out of your attic/basement or hit a flea market or yard sale. In a bind, you can find them on an online auction site for a reasonable amount.

Some older phones will come with a mechanical switching matrix, in which case you'll need to get a "newer" (early-1980s) electronic keypad, such as [this one](https://www.oldphoneshop.com/products/touch-tone-dial-for-2500-and-2554-telephones-new.html).

I haven't opened up the modern Cortelco ITT 2500, so I can't say if it can be wired the same way the older phones could.

![hacks_WesternElectric2500DM.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/315/medium640/hacks_WesternElectric2500DM.jpg?1645764897)

# Touch Tone Phone Dial-a-Song

## Install CircuitPython

[CircuitPython](https://github.com/adafruit/circuitpython) is a derivative of [MicroPython](https://micropython.org) designed to simplify experimentation and education on low-cost microcontrollers. It makes it easier than ever to get prototyping by requiring no upfront desktop software downloads. Simply copy and edit files on the **CIRCUITPY** drive to iterate.

## CircuitPython Quickstart

Follow this step-by-step to quickly get CircuitPython running on your board.

[Download the latest version of CircuitPython for this board via circuitpython.org](https://circuitpython.org/board/adafruit_feather_rp2040/)
 **Click the link above to download the latest CircuitPython UF2 file.**

Save it wherever is convenient for you.

![install_circuitpython_on_rp2040_RP2040_UF2_downloaded.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/655/medium640/install_circuitpython_on_rp2040_RP2040_UF2_downloaded.jpg?1618943202)

![](https://cdn-learn.adafruit.com/assets/assets/000/102/705/medium800/adafruit_products_FeatherRP_buttons_highlighted.jpg?1623167565)

To enter the bootloader, hold down the **BOOT/**** BOOTSEL button**(highlighted in red above), and while continuing to hold it (don't let go!), press and release the**reset button**(highlighted in red or blue above).&nbsp;**Continue to hold the BOOT/BOOTSEL button until the RPI-RP2 drive appears!**

If the drive does not appear, release all the buttons, and then repeat the process above.

You can also start with your board unplugged from USB, press and hold the BOOTSEL button (highlighted in red above), continue to hold it while plugging it into USB, and wait for the drive to appear before releasing the button.

A lot of people end up using charge-only USB cables and it is very frustrating! **Make sure you have a USB cable you know is good for data sync.**

You will see a new disk drive appear called **RPI-RP2**.

&nbsp;

Drag the **adafruit\_circuitpython\_etc.uf2** file to **RPI-RP2.**

![install_circuitpython_on_rp2040_RP2040_bootloader_drive.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/656/medium640/install_circuitpython_on_rp2040_RP2040_bootloader_drive.jpg?1618943666)

![install_circuitpython_on_rp2040_RP2040_drag_UF2.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/657/medium640/install_circuitpython_on_rp2040_RP2040_drag_UF2.jpg?1618943674)

The **RPI-RP2** drive will disappear and a new disk drive called **CIRCUITPY** will appear.

That's it, you're done! :)

![install_circuitpython_on_rp2040_RP2040_CIRCUITPY.jpg](https://cdn-learn.adafruit.com/assets/assets/000/101/658/medium640/install_circuitpython_on_rp2040_RP2040_CIRCUITPY.jpg?1618943864)

## Safe Mode

You want to edit your **code.py** or modify the files on your **CIRCUITPY** drive, but find that you can't. Perhaps your board has gotten into a state where **CIRCUITPY** is read-only. You may have turned off the **CIRCUITPY** drive altogether. Whatever the reason, safe mode can help.

Safe mode in CircuitPython does not run any user code on startup, and disables auto-reload. This means a few things. First, safe mode _bypasses any code in_ **boot.py** (where you can set **CIRCUITPY** read-only or turn it off completely). Second, _it does not run the code in_ **code.py**. And finally, _it does not automatically soft-reload when data is written to the_ **CIRCUITPY** _drive_.

Therefore, whatever you may have done to put your board in a non-interactive state, safe mode gives you the opportunity to correct it without losing all of the data on the **CIRCUITPY** drive.

### Entering Safe Mode
To enter safe mode when using CircuitPython, plug in your board or hit reset (highlighted in red above). Immediately after the board starts up or resets, it waits 1000ms. On some boards, the onboard status LED (highlighted in green above) will blink yellow during that time. If you press reset during that 1000ms, the board will start up in safe mode. It can be difficult to react to the yellow LED, so you may want to think of it simply as a slow double click of the reset button. (Remember, a fast double click of reset enters the bootloader.)

### In Safe Mode

If you successfully enter safe mode on CircuitPython, the LED will intermittently blink yellow three times.

If you connect to the serial console, you'll find the following message.

```terminal
Auto-reload is off.
Running in safe mode! Not running saved code.

CircuitPython is in safe mode because you pressed the reset button during boot. Press again to exit safe mode.

Press any key to enter the REPL. Use CTRL-D to reload.
```

You can now edit the contents of the **CIRCUITPY** drive. Remember, _your code will not run until you press the reset button, or unplug and plug in your board, to get out of safe mode._

## Flash Resetting UF2

If your board ever gets into a really _weird_ state and CIRCUITPY doesn't show up as a disk drive after installing CircuitPython, try loading this 'nuke' UF2 to RPI-RP2. which will do a 'deep clean' on your Flash Memory. **You will lose all the files on the board** , but at least you'll be able to revive it! After loading this UF2, follow the steps above to re-install CircuitPython.

[Download flash erasing "nuke" UF2](https://cdn-learn.adafruit.com/assets/assets/000/101/659/original/flash_nuke.uf2?1618945856)
# Touch Tone Phone Dial-a-Song

## Code the Dial-a-Song

## Text Editor

Adafruit recommends using the **Mu** editor for editing your CircuitPython code. You can get more info in [this guide](https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor).

Alternatively, you can use any text editor that saves simple text files.

## Download the Project Bundle

Your project will use a specific set of CircuitPython libraries, folders of .wav file assets, and the&nbsp; **code.py** &nbsp;file. To get everything you need, click on the&nbsp; **Download Project Bundle** &nbsp;link below, and uncompress the .zip file.

Drag the contents of the uncompressed bundle directory onto your Feather board's **CIRCUITPY** &nbsp;drive, replacing any existing files or directories with the same names, and adding any new ones that are necessary.

![](https://cdn-learn.adafruit.com/assets/assets/000/109/316/medium800/hacks_dtmffiles.jpg?1645804647)

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Dial-a-Song/code.py

## Custom Phone Numbers

Create your own directory of valid numbers and their associated .wav files in the `numbers` dictionary:

```auto
numbers = {
            "8675309" : "songs/beepbox.wav",
            "6358393" : "songs/streetchicken.wav",
            "5551212" : "songs/carpeter.wav",
            "7654321" : "songs/daisy.wav"
}
```

## Custom Songs and Messages

To create your own song and message files (great for granting/denying entrance to your secret speakeasy) convert your audio files to 16-bit mono WAV files at 22KHz sample rate. [This guide](https://learn.adafruit.com/microcontroller-compatible-audio-file-conversion/check-your-files) shows how.

# Touch Tone Phone Dial-a-Song

## Build the Dial-a-Song Circuit

![](https://cdn-learn.adafruit.com/assets/assets/000/109/091/medium800/hacks_dtmf_circuit.jpg?1645227772)

## The Circuit

The circuit above is the breadboarded version of the circuit you'll build on a FeatherWing Doubler. You may want to test it on a breadboard before moving to soldering it together.

The sections of the circuit are:

- Feather RP2040 **A1-M0** connected to keypad matrix
- Feather RP2040 **TX** pin connect to audio RC filter circuit to reduce noise, then to **A+** input of the amp breakout
- Amp output connect to phone handset speaker
- Phone switch hook connected to Feather **En** and **GND**
- USB cable breakout **power** and **GND** to Feather **USB** and **GND**  

![](https://cdn-learn.adafruit.com/assets/assets/000/109/314/medium800/hacks_schematic_dtmf.jpg?1645764788)

## FeatherWing Proto Area Circuit

Transfer the circuit from breadboard to the proto area of the FeatherWing Doubler.

The seven position header will be soldered to the underside of the board so it can be plugged into the back of the matrix keypad later (see below).

Solder two black lead wires with ferrule crimped ends to the Doubler GND.

Solder another wire to En (this will enable/disable the board, essentially powering it off when the handset is in the cradle).

Solder a red wire with ferrule end to the **USB** pin on the Doubler. This will be connected to USB power for battery charging.

![hacks_dialasong-5513.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/182/medium640/hacks_dialasong-5513.jpg?1645654940)

![hacks_dialasong-5514.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/183/medium640/hacks_dialasong-5514.jpg?1645655046)

![hacks_dialasong-5511.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/184/medium640/hacks_dialasong-5511.jpg?1645655068)

![hacks_dialasong-5510.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/185/medium640/hacks_dialasong-5510.jpg?1645655076)

Fit the amp and Feather onto the Doubler.

![](https://cdn-learn.adafruit.com/assets/assets/000/109/188/medium800/hacks_dialasong-5508.jpg?1645655457)

## Keypad Preparation

The keypad assembly is composed of two assemblies -- the DTMF circuit board, and the keypad matrix itself. We don't need the DTMF board, so we'll desolder the ribbon cable and then add header pins to connect to the FeatherWing.

Use a solder sucker and/or desoldering wick to remove the ribbon cable cleanly.

![hacks_dialasong-5301.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/150/medium640/hacks_dialasong-5301.jpg?1645644172)

![hacks_dialasong-5295.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/151/medium640/hacks_dialasong-5295.jpg?1645644181)

![hacks_dialasong-5296.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/152/medium640/hacks_dialasong-5296.jpg?1645644197)

![hacks_dialasong-5298.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/153/medium640/hacks_dialasong-5298.jpg?1645644238)

![hacks_dialasong-5299.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/154/medium640/hacks_dialasong-5299.jpg?1645644298)

![hacks_dialasong-5300.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/155/medium640/hacks_dialasong-5300.jpg?1645644310)

Here you can see how the keypad works -- the plastic buttons press down on the elastomer pads, causing the conductive rubber pills to short the associated row/column traces.

Note, the pcb is single-sided with the exception of the row two and row three bridges routed as wires through the back of the board!

![](https://cdn-learn.adafruit.com/assets/assets/000/109/175/medium800/hacks_dialasong-keypadmatrix.jpg?1645646467)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/174/medium800/hacks_dial_matrix_2.jpg?1645646454)

## Keypad Header Pins

Solder in the header pins -- the matrix pcb has eight pads, but we only need to connect to the first seven, based on how the matrix is designed, using three columns and four rows.

![hacks_dialasong-5507.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/213/medium640/hacks_dialasong-5507.jpg?1645655784)

## Attach the Boards

Plug in a LiPo battery to the Feather, then fit it behind the keypad.

Press the Doubler socket in to the first seven pins of the keypad.

![hacks_dialasong-5505.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/214/medium640/hacks_dialasong-5505.jpg?1645655893)

![hacks_dialasong-5504.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/215/medium640/hacks_dialasong-5504.jpg?1645655901)

![hacks_dialasong-5503.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/216/medium640/hacks_dialasong-5503.jpg?1645655926)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/222/medium800/hacks_dialasong-5502.jpg?1645655949)

Next you'll integrate the Feather board with the rest of the phone.

# Touch Tone Phone Dial-a-Song

## Assemble the Dial-a-Song

The 2500 has a network block (potted bolus of electronics that make it tick) with all of the wiring we need attached via screw terminals.

You'll disconnect some of these wires to connect the switch hook and receiver earpiece to the Feather.

## Earpiece Connection

Locate the wires running to the earpiece from the RJ9 jack. You can unscrew the handset mouthpiece or earpiece to see which wires run to the speaker, in this case, green and white wires.

Unscrew those two wires from the phone's network block and screw them into the terminal block on the amplifier board.

![hacks_dialasong-5499.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/223/medium640/hacks_dialasong-5499.jpg?1645656206)

![hacks_dialasong-5500.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/224/medium640/hacks_dialasong-5500.jpg?1645656213)

![hacks_dialasong-5398.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/225/medium640/hacks_dialasong-5398.jpg?1645656299)

![hacks_dialasong-5399.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/226/medium640/hacks_dialasong-5399.jpg?1645656307)

![hacks_dialasong-5402.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/227/medium640/hacks_dialasong-5402.jpg?1645656340)

## Switch Hook Connection

Use a multimeter to find two connection points on the network block that are opened and closed when the switch hook is engaged.

Run two blue wire leads with ferrule connectors on their ends to these two points and screw them in place. (Fragile bits of plastic snapped off on mine, hence the Kapton tape).

Use the Euro block connector to connect the two blue switch hook wires to the two black En/GND wires.

![hacks_dialasong-5401.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/228/medium640/hacks_dialasong-5401.jpg?1645656429)

![hacks_dialasong-5488.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/229/medium640/hacks_dialasong-5488.jpg?1645656546)

![hacks_dialasong-5498.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/230/medium640/hacks_dialasong-5498.jpg?1645656595)

![hacks_dialasong-5497.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/231/medium640/hacks_dialasong-5497.jpg?1645656603)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/236/medium800/hacks_dialasong-5496.jpg?1645656636)

## USB Power

You'll run USB power to the Feather in order to charge the LiPo battery when needed.

Prepare a black jumper wire and a red jumper wire with ferrule ends that can be used in the Euro block on one end and DuPont connector pins on the other ([premium silicone jumper wires](https://www.adafruit.com/product/4482) work well for this).

Run the header end of the USB breakout cable through the RJ11 jack, then connect the two power extension wires. You can ignore the USB data lines.

Connect the power and ground lines to their respective leads on the Feather Doubler using the Euro block.

![hacks_dialasong-5496.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/280/medium640/hacks_dialasong-5496.jpg?1645757707)

![hacks_dialasong-5493.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/281/medium640/hacks_dialasong-5493.jpg?1645757723)

![hacks_dialasong-5490.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/282/medium640/hacks_dialasong-5490.jpg?1645757860)

![hacks_dialasong-5495.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/283/medium640/hacks_dialasong-5495.jpg?1645757889)

![hacks_dialasong-5478.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/292/medium640/hacks_dialasong-5478.jpg?1645762840)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/285/medium800/hacks_dialasong-5484.jpg?1645762474)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/289/medium800/hacks_dialasong-5483.jpg?1645762712)

The receiver and USB power are now connected to the Feather, which is plugged into the keypad. You should test the following:

- switch hook works to enable/disable the Feather
- audio comes through the earpiece speaker
- keypad entry is properly registered
- USB charges the battery

You can now start re-assembling the phone.

## Mount the Keypad

Secure the keypad in the metal brackets, then tighten the screws.

![hacks_dialasong-5482.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/290/medium640/hacks_dialasong-5482.jpg?1645762755)

![hacks_dialasong-5481.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/291/medium640/hacks_dialasong-5481.jpg?1645762762)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/296/medium800/hacks_dialasong-5477.jpg?1645762861)

## Shell

Place the shell onto the base, making sure the RJ jacks fit their respective places.

Tighten the two captive screws in the base.

![hacks_dialasong-5476.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/297/medium640/hacks_dialasong-5476.jpg?1645762880)

![hacks_dialasong-5474.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/298/medium640/hacks_dialasong-5474.jpg?1645762930)

![hacks_dialasong-5475.jpg](https://cdn-learn.adafruit.com/assets/assets/000/109/299/medium640/hacks_dialasong-5475.jpg?1645762936)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/301/medium800/hacks_dialasong-5472.jpg?1645762985)

![](https://cdn-learn.adafruit.com/assets/assets/000/109/308/medium800/hacks_dialasong-5473.jpg?1645763003)

## Use the Dial-a-Song

Using the phone is simple! Pick up the receiver, wait for the dial tone, and then call one of the seven digit numbers in the directory.

The phone will ring a randomized number of times and then "pick up", playing the song you wanted!

If you dial a wrong number you'll hear either a busy signal or the "not in service" message.

https://www.youtube.com/watch?v=nJn_ZE5cV6Y


## Featured Products

### Clear Digg Button Cover

[Clear Digg Button Cover](https://www.adafruit.com/product/44)
This is just the cover for a digg button kit, no electronics included.

Clear front with clear back, with all hardware and a long-stem button included.

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/44)
[Related Guides to the Product](https://learn.adafruit.com/products/44/guides)
### Adafruit Feather RP2040

[Adafruit Feather RP2040](https://www.adafruit.com/product/4884)
A new chip means a new Feather, and the Raspberry Pi RP2040 is no exception. When we saw this chip we thought "this chip is going to be awesome when we give it the Feather Treatment" and so we did! This Feather features the&nbsp; **RP2040** , and all niceties you know and...

In Stock
[Buy Now](https://www.adafruit.com/product/4884)
[Related Guides to the Product](https://learn.adafruit.com/products/4884/guides)
### FeatherWing Doubler - Prototyping Add-on For All Feather Boards

[FeatherWing Doubler - Prototyping Add-on For All Feather Boards](https://www.adafruit.com/product/2890)
This is the **FeatherWing Doubler** - a prototyping add-on and more for all Feather boards. This is similar to our [FeatherWing Proto](https://www.adafruit.com/products/2884) except there are two! The magic of the Doubler comes when stacking a Feather and another...

In Stock
[Buy Now](https://www.adafruit.com/product/2890)
[Related Guides to the Product](https://learn.adafruit.com/products/2890/guides)
### Adafruit Mono 2.5W Class D Audio Amplifier - PAM8302

[Adafruit Mono 2.5W Class D Audio Amplifier - PAM8302](https://www.adafruit.com/product/2130)
This super small mono amplifier is surprisingly powerful - able to deliver up to 2.5 Watts into 4-8 ohm impedance speakers. Inside the miniature chip is a class D controller, able to run from 2.0V-5.5VDC. Since the amp is a class D, its very efficient (over 90% efficient when driving an...

Out of Stock
[Buy Now](https://www.adafruit.com/product/2130)
[Related Guides to the Product](https://learn.adafruit.com/products/2130/guides)
### Terminal block - 4 pin Euro-Style

[Terminal block - 4 pin Euro-Style](https://www.adafruit.com/product/677)
Connect this to that **without soldering** using these quick terminal blocks. They allow connecting of two sets of four wires together using just a flat-head screwdriver. These are UL rated to carry up to 15 Amps, so they're great for high current LED strips! Can be used with wires from...

In Stock
[Buy Now](https://www.adafruit.com/product/677)
[Related Guides to the Product](https://learn.adafruit.com/products/677/guides)
### Wire Ferrule Kit - 800 pieces

[Wire Ferrule Kit - 800 pieces](https://www.adafruit.com/product/5131)
Crimping's not just for 80s hair metal bands! When your project requires&nbsp;repeated insertion and removal with minimal strain, why not check out the reliable wire ferrule?&nbsp;A wire ferrule is a tinned sleeve that&nbsp;once crimped, neatly holds all the pesky, individual strands of a...

In Stock
[Buy Now](https://www.adafruit.com/product/5131)
[Related Guides to the Product](https://learn.adafruit.com/products/5131/guides)
### USB Type A Plug Breakout Cable with Premium Female Jumpers

[USB Type A Plug Breakout Cable with Premium Female Jumpers](https://www.adafruit.com/product/4448)
If you'd like to connect a USB-capable chip to your USB host, this cable will make the task very simple. **There is no converter chip in this cable!** Its basically a plain USB cable that's cut in half and with jumper sockets on the power and data lines. Simple to use,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4448)
[Related Guides to the Product](https://learn.adafruit.com/products/4448/guides)
### Lithium Ion Battery - 3.7V 2000mAh

[Lithium Ion Battery - 3.7V 2000mAh](https://www.adafruit.com/product/2011)
Lithium-ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light, and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery has a capacity of 2000mAh. If you need a larger (or smaller!) battery,&nbsp;<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/2011)
[Related Guides to the Product](https://learn.adafruit.com/products/2011/guides)

## Related Guides

- [Introducing Adafruit Feather RP2040](https://learn.adafruit.com/adafruit-feather-rp2040-pico.md)
- [Adafruit PAM8302 - Mono 2.5W Class D Audio Amplifier](https://learn.adafruit.com/adafruit-pam8302-mono-2-5w-class-d-audio-amplifier.md)
- [MIDI Laser Harp with Time of Flight Distance Sensors](https://learn.adafruit.com/midi-laser-harp-time-of-flight-sensors.md)
- [MP3 Playback on RP2040 with CircuitPython](https://learn.adafruit.com/mp3-playback-rp2040.md)
- [Cup o' Sound](https://learn.adafruit.com/cup-o-sound.md)
- [An Introduction to RP2040 PIO with CircuitPython](https://learn.adafruit.com/intro-to-rp2040-pio-with-circuitpython.md)
- [Quickstart - Raspberry Pi RP2040 with BLE and CircuitPython](https://learn.adafruit.com/quickstart-raspberry-pi-rp2040-with-ble-and-circuitpython.md)
- [Deco Two-Key Feather Macro Pad](https://learn.adafruit.com/deco-two-key-keypad-macropad-circuitpython-feather.md)
- [Discord and Slack Connected Smart Plant with Adafruit IO Actions](https://learn.adafruit.com/discord-and-slack-connected-smart-plant-with-adafruit-io-triggers.md)
- [Talking Computer from Star Trek](https://learn.adafruit.com/talking-computer-from-star-trek.md)
- [PiGlass](https://learn.adafruit.com/piglass-wearable-raspberry-pi-computer.md)
- [Raspberry Pi Selfie Bot](https://learn.adafruit.com/raspberry-pi-selfie-bot.md)
- [Introducing Adafruit Feather](https://learn.adafruit.com/adafruit-feather.md)
- [Adafruit CAN Bus FeatherWing](https://learn.adafruit.com/adafruit-can-bus-featherwing.md)
- [Feather RP2040 DVI Video Synth](https://learn.adafruit.com/feather-rp2040-dvi-video-synth.md)
- [Pulse Oximeter Wireless Data Logger](https://learn.adafruit.com/pulse-oximeter-wireless-data-logger.md)
