[{"data":1,"prerenderedAt":63},["ShallowReactive",2],{"$f3dsfd021wscj6":3,"recommended":36},{"title":4,"path":5,"date":6,"updated":7,"tags":8,"excerpt":10,"readingMinutes":11,"commentCount":12,"html":13,"comments":14,"next":30,"prev":33},"Bakelite to the Future - 1950s rotary phone ESP32 bluetooth headset","\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F","2024-10-29T15:32:00.024Z","2024-11-02T13:48:39.070Z",[9],"hardware","Edit: since creating this post I've also created a video about this project on YouTube. See it below or jump straight into all the details below. Here's a very beautiful antique rotary phone. It's a Dutch PTT phone model…",7,4,"\u003Cp>Edit: since creating this post I've also created a video about this project on YouTube. See it below or jump straight into all the details below.\u003C\u002Fp>\n\u003Ciframe loading=\"lazy\" allowfullscreen=\"\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fl37sxSrmchw\">\u003C\u002Fiframe>\n\u003Cp>Here's a very beautiful antique rotary phone. It's a \u003Ca href=\"https:\u002F\u002Fdutchtelephones.com\u002Fvirtueel-museum\u002Ftoestellen-1930-1960\u002Ftype-1950\u002F\">Dutch PTT phone model called simply &quot;1950&quot;\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fcb14a1a8-img-20241027-164039596.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>But, what's this at the back? A USB-C port?\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F1dfebe40-img-20241027-162345309.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>A peek inside shows us some weird things! How did that LiPO battery get there?\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F2d1b7b16-img-20241027-103637192.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Ok let's quit the jokey intro, this was all me. I've had this phone for about 15 years and over the last couple of weeks I've converted into a fully functioning Bluetooth headset using an ESP32 microcontroller.\u003C\u002Fp>\n\u003Cp>In this post:\u003C\u002Fp>\n\u003Cp>- 1 - Features\u003C\u002Fp>\n\u003Cp>- 2 - Lessons Learned\u003C\u002Fp>\n\u003Cp>- 3 - \u003Cstrong>Pictures and story!\u003C\u002Fstrong> of how it got made \u003Cstrong>(scroll down!)\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>but first...\u003C\u002Fp>\n\u003Ch2>Does it work?\u003C\u002Fh2>\n\u003Cp>This morning was the first Google meet I've used it in:\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F87caf681-screenshot-from-2024-10-29-09-09-34.png\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>A participant reported on the sound quality\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>&quot;I didn't know how much I missed the different sound quality! Beautiful. We could hear you very well, not distorted. I wish I recorded your speech ehehe&quot;\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>I could hear them very well too, so I consider this a great success!\u003C\u002Fp>\n\u003Cp>Get the source code on Github \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjtwaleson\u002Fbakelite-to-the-future-esp32\">jtwaleson\u002Fbakelite-to-the-future-esp32\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch2>Features\u003C\u002Fh2>\n\u003Cp>If you count the hours and multiply it by my hourly rate, this is BY FAR the most expensive phone I've ever touched. But you get a lot:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>The \u003Cstrong>buzzer\u003C\u002Fstrong> works when you are dialed (but not if you are dialed on Whatsapp?)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The \u003Cstrong>rotary dial\u003C\u002Fstrong> can be used to dial complete phone numbers\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The \u003Cstrong>red button\u003C\u002Fstrong> connects \u002F disconnects my phone\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The \u003Cstrong>red button\u003C\u002Fstrong> connects \u002F disconnects my laptop\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The \u003Cstrong>two indicators\u003C\u002Fstrong> indicate Bluetooth usage (bottom) and an active audio connection (top)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Lifting \u003Cstrong>the horn\u003C\u002Fstrong> or putting it down picks up \u002F hangs up call. If no number is dialed you are connected too Google Assistant\u002FSiri.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>It has a 1500mAh battery lasting for about 1 day. I didn't implement any power savings. As it's mostly a gimmick and easily connected to usb-c for charging this is fine.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Most importantly: I can once again slam down the phone if I'm having an angry phone call. Which I never have, but still.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Lessons Learned\u003C\u002Fh2>\n\u003Cp>I have some new skills under my belt:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>I2S protocol and its many flavors, and how finding the right components is tricky (the software only supports variant left-shifted, but this chip only support Philips! So have to order new parts, look at datasheets and wait 3 days)\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>An oscilloscope and function generator are great tools!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>This is my first ESP-IDF project, so getting to use that stack was fun. It works quite well!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>You are on your own. Even though the ESP32 community has tens of thousands of people, there's not many people that have tried out this part of the stacks. Poorly documented functionality and missing integrations all around. However, Espressif has great people on Github.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Why flyback diodes are needed and what inductive loads are. (Yes I am a beginner).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The difference between MOSFETs (voltage controlled) and BJTs (current controlled) and NPN (low-side switching) and PNP (high side switching).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>How simple rotary dials are.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>How class-d amplifiers work. I vaguely knew this, but now I learned why there's no common ground in class-d amps and that you need that if you have a headset, because the mic and speaker will share a common ground over a three-wire connection.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Super glue can be removed with nail polish remover.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Pictures and the story\u003C\u002Fh2>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F0691c58d-img-20241005-103447137.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>The un-opened phone and connection box. I bought it for like 10 euros in a second hand shop 15 years back. Actually it had 3.5mm audio jacks because I already tried to convert it 10 years ago into a wired headset. Now we are going to do much better!\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F364c7a27-img-20241005-103628568.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>It's pretty full on the inside! You can see my wires for tapping off the audio signal made with UTP wires. The phone originally had two lines and you could switch between red and black. I don't know what the white buttons were used for. I'm going to use them for * and # DTFM codes and some other hacky stuff.\u003C\u002Fp>\n\u003Cp>The indicators on the bottom left look weird, but we'll get to that.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F3b39ad67-img-20241005-152408128.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>The speaker and microphone look like this. I suppose they can be upgraded later.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Feabac14c-img-20241005-103519643.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>It was made by a company Standard Electric in The Hague.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fb16b46c5-img-20241005-103552642.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>And of course the PTT (Dutch postal service, for Post, Telegraph and Telephone)\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F9fad7cca-img-20241005-103601327.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Was it made in 1965? The model is called 1950.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F2973f4f9-img-20241005-104053554.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Ok let's start dismantling it with my fantastic soldering iron that heats up in 4 seconds (pro-tip, buy this 150 euro Aixun T3A T245, it will blow your mind)\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F161e363b-img-20241005-111549404.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Wires are loose, I'll re-use them later.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F9bbf38d1-img-20241005-111917859.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>An old Capacitor.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F5566a0e8-img-20241005-111702340.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>And this? I don't know what it does but there were two of them. If you want them feel free to reach out.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F11d1aa09-img-20241008-220418753.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>There is no sensor for the horn, but I would like one, would this work? The answer is no.\u003C\u002Fp>\n\u003Cfigure>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fe64c232a-img-20241005-125121701.jpg\" alt=\"The indicators are really beautiful and mechanical. No lights! The white cross is normally hidden under the black but when powered on, turns and becomes visible. When powered off, it is pushed back by a little spring. Unfortunately they don't work so let's fix them.Taken apart and glued back. Time to re-install it. Here I didn't put the springs back yet, so the white is visible.\" loading=\"lazy\">\u003Cfigcaption>The indicators are really beautiful and mechanical. No lights! The white cross is normally hidden under the black but when powered on, turns and becomes visible. When powered off, it is pushed back by a little spring. Unfortunately they don't work so let's fix them.\u003Cbr>\u003Cbr>\u003Cbr>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fece054ba-img-20241005-115454597.jpg\">\u003Cbr>Taken apart and glued back. Time to re-install it. Here I didn't put the springs back yet, so the white is visible.\u003Cbr>\u003Cbr>\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fe9266ab8-img-20241008-201822968.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Hooking them up to power and controlling them with some simple BJTs. They also make a nice clicky sound when switching on\u002Foff.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F91c90df6-img-20241008-200500562.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>It works. The controlling wire (yellow) takes 0 mA. This is safe to use by the GPIO on the ESP32.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F4c6ec1c3-img-20241009-092053367.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Let's try a lot of switching with a signal generator. It works, but what are these huge voltage spikes I seen on my scope?\u003C\u002Fp>\n\u003Cfigure>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Ff390cf45-img-20241009-092709357.jpg\" alt=\"Ah, inductive loads. Learned something new. Let's add some flyback diodes.\" loading=\"lazy\">\u003Cfigcaption>Ah, inductive loads. Learned something new. Let's add some flyback diodes.\u003Cbr>\u003Cbr>\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n\u003Cfigure>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Ff6b1e33f-img-20241009-092634092.jpg\" alt=\"And no more voltage spikes.\" loading=\"lazy\">\u003Cfigcaption>And no more voltage spikes.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F67fa13e1-img-20241005-153431708.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Hmm, I could fit a usb-c port in there.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F631398d9-img-20241008-220409076.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Let's prepare all the buttons etc for connecting.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F7dccd520-img-20241008-190155875.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>My family was really happy with my maniacal focus on this project for three weekends straight.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fae943288-img-20241013-131825111.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Ok let's start to see if we can get sound to work with this INMP441.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F31506b01-img-20241019-100031500.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Ok the signal that the HFP_HF library sends is weird, the microphone is not compatible. I went with a \u003Ca href=\"https:\u002F\u002Fwww.audiophonics.fr\u002Fen\u002Fdevices-hifi-audio-adc\u002Fstereo-adc-board-wm8782-i2s-24bit-192khz-p-14897.html\">WM8782 ADC based board\u003C\u002Fa> instead. I also \u003Ca href=\"https:\u002F\u002Fwww.tinytronics.nl\u002Fen\u002Fcommunication-and-signals\u002Fsignal-generators-and-dacs\u002Fpcm5102-dac-audio-decoder-module-v2.0-i2s\">bought a DAC\u003C\u002Fa> , because the first I2S board I bought was a class D amp and I need a common ground one. The new DAC\u002FADC boards can both be figured to &quot;standard&quot; left-aligned 16 bit i2s signals and don't need any further amplification.\u003C\u002Fp>\n\u003Cp>The microphone in the headset was an electret and with +5V and a 4.7k Ohm resistor, hooked up via a tiny capacitor to the ADC, produced good results.\u003C\u002Fp>\n\u003Cp>I spent like two full days trying and learning about the microphone and I2S and could tear my hair out at some points. Without on oscilloscope to see what's actually going this would have been impossible.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F4b6b8488-img-20241005-134624492.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>On the other hand, the rotary dial was super simple. One power (or ground) and the other one line gives a long pulse (while not at rest position) and the other pulses for each digit. The code to interpret this was like 10 lines.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F85d87f29-img-20241026-154400767.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Starting the put everything together. I used an ESP32 T-Koala dev-board. The newer ESP32 chips (like C3\u002FC6 etc) don't have classic bluetooth so you'll need to pick one that has both BLE and classic BT.\u003C\u002Fp>\n\u003Cp>On the top you see the buzzer which needed 7 volts, so underneath there's a voltage booster from 5 to 7 volts configured with a switching NPN MOSFET.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F920994bb-img-20241027-193512562.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>Top view with the battery added.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002F263d719e-img-20241009-121501758.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>The bar in the middle has a spring underneath it which presses the horn up. I isolated the spring and the bar with some plastic and added solder. If the spring (hooked to a GPIO) is up it touches the bar (hooked to ground). Now it acts like a switch! It bounces around (literally) so I need to add some debounce in the software.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fef26221c-img-20241027-160526857.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>I modified the original back plate to add a USB-C and on\u002Foff switch. I had to cut off a bit of the steel with my Dremel, but it fit seamlessly into the original case. No bakelite was hurt during the making of this phone.\u003C\u002Fp>\n\u003Cp>In this picture you see a simple &quot;power-only&quot; usb port, but I switched it for a fully functioning one, so now I can update the ESP32 firmware without opening the phone again.\u003C\u002Fp>\n\u003Cp>\u003Cimg src=\"\u002Fimages\u002F2024\u002F10\u002Fbakelite-to-future-1950s-rotary-phone\u002Fd66b3dfb-img-20241027-164108724.jpg\" alt=\"\" loading=\"lazy\">\u003C\u002Fp>\n\u003Cp>The completed thing. It's wireless and has about 1 day of standby time. This one sparks joy :)\u003C\u002Fp>\n\u003Ch2>Links\u003C\u002Fh2>\n\u003Cp>- HFP_HF example code \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fblob\u002Fmaster\u002Fexamples\u002Fbluetooth\u002Fbluedroid\u002Fclassic_bt\u002Fhfp_hf\u002FREADME.md\">https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fblob\u002Fmaster\u002Fexamples\u002Fbluetooth\u002Fbluedroid\u002Fclassic_bt\u002Fhfp_hf\u002FREADME.md\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>- debug issue 1 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fissues\u002F14700\">https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fissues\u002F14700\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>- debug issue 2 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fissues\u002F14231\">https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fissues\u002F14231\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>- debug issue 3 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fissues\u002F13738\">https:\u002F\u002Fgithub.com\u002Fespressif\u002Fesp-idf\u002Fissues\u002F13738\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>- debug issue 4 \u003Ca href=\"https:\u002F\u002Fwww.esp32.com\u002Fviewtopic.php?t=40279\">https:\u002F\u002Fwww.esp32.com\u002Fviewtopic.php?t=40279\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>- my code \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjtwaleson\u002Fbakelite-to-the-future-esp32\">https:\u002F\u002Fgithub.com\u002Fjtwaleson\u002Fbakelite-to-the-future-esp32\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>- Hacker News post \u003Ca href=\"https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=41986452\">https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=41986452\u003C\u002Fa>\u003C\u002Fp>\n",[15,19,23,27],{"author":16,"date":17,"html":18},"Robert","2024-10-29T18:48:40.349+01:00","This is absolutely epic! I have one of those old phones as well, yearning for a make over.... (I also have an 18xx Olivetti typewriter, can we make that in a laptop ;)",{"author":20,"date":21,"html":22},"Jouke Waleson","2024-10-30T22:05:19.786+01:00","My brain is running at 200% trying to figure out how we could make a typewriter into a computer ;) Would be epic!",{"author":24,"date":25,"html":26},"Michel","2025-01-08T22:02:18.615+01:00","Hey, thats so cool. im blow away :-) i would try to rebuild a same phone.\u003Cbr \u002F>the loudspeaker with DAC is working fine, now im stuck at the adc for the mikrophone. have you mor photos from the connection or could you explan me how to setup the i2s and microphone connection.\u003Cbr \u002F>\u003Cbr \u002F>Best Regards\u003Cbr \u002F>Michel",{"author":20,"date":28,"html":29},"2025-01-08T22:08:43.220+01:00","Thank you! Wow, cool that you&#39;re actually trying it yourself.\u003Cbr \u002F>\u003Cbr \u002F>I used a bit of a hack because the ADC needs a separate master clock which the bluethooth hfp doesn&#39;t send. If you check the code you can see that i initialize a second i2s device with the same timing. I tested and the timing between the clocks doesn&#39;t have to be exactly synchronized. Then I only connected the MCLK of this I2S to a GPIO. That GPIO is connected to the ADC, while the rest of the ADC connections (CLK, etc) are linked to the I2S that the bluethooth hfk code is using.\u003Cbr \u002F>\u003Cbr \u002F>Hope it makes sense! If not email me at first name on this domain name :)",{"title":31,"path":32},"10x teams","\u002F2025\u002F02\u002F10x-teams\u002F",{"title":34,"path":35},"The Future of Programming Systems - four thoughts","\u002F2024\u002F09\u002Fthe-future-of-programming-systems-four\u002F",[37,42,47,50,52,55,58,60],{"title":38,"path":39,"note":40,"series":41},"Mapping out Dark Code","\u002F2026\u002F03\u002Fmapping-out-dark-code\u002F","2026",false,{"title":43,"path":44,"note":45,"series":46},"The software that I love","\u002F2022\u002F10\u002Fthe-software-that-i-love\u002F","Series · 36 posts",true,{"title":48,"path":49,"note":40,"series":41},"Navigating the Fog of War: Age of Empires, AI Agents, and the Rise of Dark Code","\u002F2026\u002F05\u002Fnavigating-fog-of-war-age-of-empires-ai\u002F",{"title":34,"path":35,"note":51,"series":41},"2024",{"title":53,"path":54,"note":51,"series":41},"Always Optimize the Feedback Loop","\u002F2024\u002F07\u002Falways-optimize-feedback-loop\u002F",{"title":56,"path":57,"note":51,"series":41},"\"Security Is Our Top Priority\" is BS","\u002F2024\u002F07\u002Fsecurity-is-our-top-priority-is-bs\u002F",{"title":31,"path":32,"note":59,"series":41},"2025",{"title":61,"path":62,"note":59,"series":41},"Hiring, from the Other Side","\u002F2025\u002F10\u002Fhiring-from-other-side\u002F",1792876808728]