ESP32 phone?

jc2020
Posts: 12
Joined: Thu Dec 03, 2020 8:59 am

ESP32 phone?

Postby jc2020 » Fri Dec 04, 2020 10:21 am

Hello Community,

I am looking to develop an 'emergency phone' that has these basic functionalities:

- Microphone
- Speakers
- Camera
- Screen to display text (slow refresh is OK)
- 2 buttons
- Ethernet connectivity
- Bluetooth connectivity

Based on the ESP-ADF and other peripheral examples I have seen online, I am finding it difficult to fit all of this onto the ESP32- especially considering many GPIOs are used internally for flashing, JTAG etc.

Has anyone embarked on such a project before?

Would it be wiser to use 2 ESP32's or just use another chip altogether?

Could this be done with a single ESP32 if being clever with the peripherals?

Your guidance is deeply appreciated!

becorey
Posts: 92
Joined: Sat Mar 28, 2020 4:18 pm

Re: ESP32 phone?

Postby becorey » Sat Dec 05, 2020 6:13 am

It sounds like an interesting project. Have you started to go through and identify specific devices you could use for each function (display, mic, etc.), or are you in an earlier stage?

For each device you'd like to connect, identify how it will connect to the esp32. SPI, I2C, I2S, or GPIO. Some of them you'll have an option of spi or I2C, either within a single device, or by picking a variant component.

Worst case, nothing can share pins. So just add up how many pins your devices needed, and see if it exceeds those available on the esp32.

If not, you're all good and can start designing. If so, the next step is to get more creative by either combining devices on shared spi or I2C lines, or by finding other dedicated ic's that might help you combine. For example, maybe there is an ic dedicated to handling mic in and speaker out, and providing a single spi interface. LyraT uses ES8388 for exactly this.

Make a spreadsheet of the available esp32 pins, and track how they'll be used in your design.

I've heard that getting 2 esp32's to communicate would be complicated. And you'd need a two programmer interfaces, two firmwares, and their wireless signals nearby could interfere (I guess one could be "offline"). Probably better to look for dedicated purpose IC's before reaching for two general purpose esp32's.


- Microphone
I2S: 3 pins SCK, WS, SD. https://diyi0t.com/i2s-sound-tutorial-for-esp32/
- Speakers
Built in DAC but it's only 8 bit, low quality sound
I2S to an audio driver. 3 pins
- Camera
Probably SPI, 4 pins
- Screen to display text (slow refresh is OK)
Probably SPI, 4 pins
- 2 buttons
One GPIO each, 2 pins
- Ethernet connectivity
Check out https://docs.espressif.com/projects/esp ... et%20(PoE).
---- also, why do you want ethernet? Most phones don't plug in an ethernet cable. Esp32 already has wifi built in.
- Bluetooth connectivity
Built in to esp32, no pins used

I count 16 pins plus ethernet, doesn't seem unreasonable.

This doc from espressif is perfect for you:
https://docs.espressif.com/projects/esp ... esign.html

I think the LyraT does everything you want except the display, that would be a great start to study:
https://docs.espressif.com/projects/esp ... lyrat.html

Espressif also has made a phone example product already:
https://www.espressif.com/en/news/ESP32_WiPhone

chegewara
Posts: 2309
Joined: Wed Jun 14, 2017 9:00 pm

Re: ESP32 phone?

Postby chegewara » Sun Dec 06, 2020 5:19 pm


jc2020
Posts: 12
Joined: Thu Dec 03, 2020 8:59 am

Re: ESP32 phone?

Postby jc2020 » Sun Dec 06, 2020 6:21 pm

Hey @becorey thank you for your insightful reply.

I haven't identified specific components yet- I'm at the stage of deciding on a suitable MCU based on the features I mentioned.

What sort of dedicated IC's are you aware of that could drive a Camera module or ethernet? My search hasn't been fruitful, that's mainly why I thought to use 2 ESP32's...I could use it to drive the camera and communicate over SPI.

Thanks for the tip regarding the spreadsheet and the docs- those have been very helpful.

becorey
Posts: 92
Joined: Sat Mar 28, 2020 4:18 pm

Re: ESP32 phone?

Postby becorey » Mon Dec 07, 2020 7:33 am

Ethernet: the reference below uses the IP101GRI as a PHY chip

https://docs.espressif.com/projects/esp ... et%20(PoE).

Camera: looks like a lot of people are using the OV2640 camera with esp32, so that would be a good place to start.

This pin-out guide says it uses 15 GPIO pins for connecting to the OV2640. Yikes, it's a lot of pins. Although 3 are spi so that could be shared with another spi device.
I would look more for a "smaller" solution. I haven't done any work before with cameras or image processing , just googling.
https://www.google.com/amp/s/embedgyan. ... ained/amp/

Maybe something like this module, it has it's own micro, and it can send you the images using just 2 digital pins.
https://www.adafruit.com/product/397

Who is online

Users browsing this forum: Baldhead, Bing [Bot] and 161 guests