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!
ESP32 phone?
Re: ESP32 phone?
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
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
Re: ESP32 phone?
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.
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.
Re: ESP32 phone?
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
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: No registered users and 51 guests