1
Projects, Designs, and Technical Stuff / Re: Bluetooth rotary phone from PTT T65
« Last post by Zipdox on Today at 08:40:41 pm »About the schematic, it can do with some improvements to make it a mix between what Benta is stating and what you made. Connecting everything with wires might make it unreadable too, due to a mishmash of wires. For this busses can be used, but labels work too.I'll take it into consideration.
But that aside, the capacitors you used on the switches (dial is a switch too) might be a bit high. Maybe run some tests starting with 10nf up to 100nf. The switches might also work better with more current through the contacts, so also experiment with the pullup resistors.I plan to do some debouncing tests with the switches before I finalize the design.
Another thing, the bell driver, if you are using the original bell, it depends on how high VCC is, if it will ring. If I'm not mistaken, old phones used about 90V AC for ringing the bell. You can't have your VCC this high, and even half that will be to much for the TPS5430DDAR.The bell already works with 10V. I tested it with a DRV8833 I had on hand at 12V and it's plenty loud. VCC will be 12V.
But a fun project none the less. Please post some pictures of the old phone and when finished the new insides.I also already tested the microphone. It's a carbon microphone. I tested it with a 1k resistor and 3V bias supply. The output signal is pretty strong, so I'm pretty confident that it'll work. As for the speaker, it's 100 ohms, so I might need to look into that. Maybe using the speaker output instead of the mono output is a good idea.
Edit: Also look into what the microphone and speaker in the original form need to be driven. It might not work with the modern IC you choose.
I don't know what you're planning to use for the software component but I successfully wrangled Espressif's bluetooth stack to provide telephony services in my weeBell project. I did things a bit differently than you are planning to but just in case you'd like someone else's code to look at: https://github.com/danjulio/weeBell_bluetoothThank you for the link, I'll definitely look into that. I already did some research regarding Bluetooth capabilities, and saw that many ESP32 variants don't support Bluetooth classic, only Bluetooth LE. So I successfully avoided a possible disaster of HSP/HFP not being possible. As a side note, have you considered using a hybrid transformer instead of echo cancellation in your device?
The hardware my code ran on is at: https://github.com/danjulio/weeBell_hardware
I had to deal with echo cancellation which you shouldn't have to as you're interfacing separately to the handset speaker and microphone.
I second pcprogrammer's comment: Make sure your DC input can ring the bell if you haven't already (they will ring, less loudly, on lower voltages). Also make sure the levels into and out of your codec are ok. The codec looks like it wants to drive a 8-16 ohm load. Your old phone speaker might be higher impedance. Fortunately the codec has an amp on the input for the microphone. You might have to adjust that some however.Yeah I'll look into the datasheet. I might end up using the speaker output rather than the mono output.
I think you should include a 1uF cap between EN and ground. Espressif recommends (IIRC) a 22 uF + 0.1 uF bypass cap on the input which you more-or-less have with two distributed 10 uF caps on 3V3. If you're running I2C at 400 kHz then I'd lower the values of the I2C pullups to something like 2.2 kohm.The reset button and pullup resistor will be right next to the enable pin of the ESP32 module on the PCB, are you sure that's necessary. Espressif doesn't mention this practice in the datasheet either. As for the I2C pullups, I think I'll use 3.3k so I don't add another BOM entry. The line won't be long anyway.
Also, I'd recommend to include the ubiquitous 2-transistor auto-programming circuit using DTR# and RTS# from your USB UART (bring them out on H2) so you won't always have to be doing the BOOT/RESET button dance when you load code.I don't even know if I have a USB-UART adapter that has those pins. I've been pressing boot and reset on my dev boards for ages anyway, and I'd like to save on board space and number of different components.