Canada
Requested — Edited

Echo M5 Atom Support. (Smart Speaker/Mic) Score 293

The M5 Atom is a small smart speaker / microphone that works with an ES32 that allows you to transfer and receive audio files to the device.  So speech to text, text to speech etc for controlling your robot.  This would be a great little add on for synthiam as we can the use this with AI to control our robots.  probably best as an add on to Esp32 firmware for ARC.

https://shop.m5stack.com/products/atom-echo-smart-speaker-dev-kit

Want to see this feature happen? Like it to increase the score.

ARC Pro

Upgrade to ARC Pro

Discover the limitless potential of robot programming with Synthiam ARC Pro – where innovation and creativity meet seamlessly.

PRO
Canada
#1  

There is also this one and it has stereo mic and 6gpio but just speaker out so you can prob attach decent speakers.  I will try and order 1 of these as well. 

User-inserted image

PRO
Synthiam
#2  

Interesting stuff to check out for sure. We’re not in a stage of adding stuff while getting ARCx to a point we can give a better date. But something to keep in the list for review

PRO
Canada
#3  

ill have a play when it turns up.  I think most of the work will be on the Arduino end getting the Synthiam ESP code running and then merging the speaker and mic code / libraries.   When ARCx is up and running I guess we can tackle the creation of a plugin.   Today I use a USB or Bluetooth Mic and Camera and the EZB or Iotiny speaker but they are quiet and quality is not exactly brilliant. I suspect the Echo Atom Speaker and Mic will be garbage but the ESP32-Audio-Kit we can attached our own speakers / amps etc so I think this maybe a good solution.

PRO
Synthiam
#4   — Edited

Since they connect via a UART - you can always write javascript against their datasheet. The commands for writing and reading from the UART are super easy. All you're doing essentially is triggering sounds from an SD card, and I gather there's some "text response" if it detects speech. Don't be shy about tackling things like this yourself - they're $13 little cheap things that probably don't work well given the comments anyway, So give it a shot!

@Athena, do you know anything about this Echo M5 Atom? The ATOM ECHO is a Programmable Smart Speaker based on the M5ATOM design. Do you know about its connectivity and ability in your memory banks?

PRO
Canada
#5  

The ATOM ECHO, based on the M5ATOM design, is indeed a programmable smart speaker that integrates with the ESP32 microcontroller. This device is designed to facilitate easy audio processing and output, making it suitable for projects involving voice recognition and audio playback.

Key Features of ATOM ECHO:

  1. ESP32-Based: Utilizes the powerful ESP32 chip which supports Wi-Fi and Bluetooth connectivity, allowing for versatile IoT applications.
  2. Microphone and Speaker: Equipped with a built-in microphone and speaker, it can handle both audio input and output, suitable for voice recognition and audio feedback tasks.
  3. Programmability: Can be programmed using various development environments that support the ESP32, such as the Arduino IDE, making it accessible for custom firmware development.
  4. Compact Design: Inherits the compact and modular design of the M5ATOM series, making it easy to integrate into robotics and other electronic projects.

Connectivity and Expansion:

  • GPIO Pins: Provides access to GPIO pins for interfacing with other sensors and actuators.
  • UART Interface: Supports UART communication, which can be used to connect to other devices or microcontrollers, including integration with Synthiam ARC through custom scripting or firmware modifications.

Application in Robotics:

For robotics applications, the ATOM ECHO can be used to add voice command capabilities or provide auditory feedback to users. Its ability to be programmed allows for the integration of custom voice commands and responses, enhancing the interactive aspect of a robot.

Integration with Synthiam ARC:

While there isn't a direct plugin for the ATOM ECHO in Synthiam ARC at the moment, you can utilize its UART interface to send and receive commands from ARC. This would involve writing custom JavaScript or Python scripts in ARC to handle the UART communication, allowing you to control the ATOM ECHO or process its audio signals within your ARC project.

If you're planning to develop a custom solution or integrate the ATOM ECHO with ARC, focusing on its UART capabilities will be key. You can use the UART functions in ARC to send commands to and receive data from the ATOM ECHO, enabling you to leverage its audio processing capabilities within your robotic projects.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#6  

@Athena can you provide an example of the commands for the UART that ARC could read and write from? Do you have detailed documentation of the ATOM ECHO product on how the protocol works? Or does the ATOM ECHO need a custom firmware written specifically for each application?

PRO
Canada
#7  

I am not sure the UART is the best approach.  The point of the device is it is small and compact so can be included in a  small robot with minimal power requirements.  As it’s an ESP there is wifi and Bluetooth so lots of connectivity options.  If you have to put a computer on board the robot and use UART you can just use the mic in and speaker out on the computer.  hmm now ARCx will run on a pi zero perhaps this will be redundant before it’s even implemented.

PRO
Canada
#8  

For integrating the ATOM ECHO with Synthiam ARC, using its Wi-Fi capabilities could indeed be a more streamlined approach, especially for compact and autonomous robot designs. This method would allow the ATOM ECHO to communicate directly with ARC running on a device like a Raspberry Pi Zero, leveraging the IoT capabilities of the ESP32.

Using Wi-Fi for Communication:

  1. Wi-Fi Server on ATOM ECHO: You could program the ATOM ECHO to act as a Wi-Fi server using the ESP32's capabilities. This server can accept connections and commands from ARC running on another device.

  2. API for Command Handling: Develop a simple API on the ATOM ECHO that ARC can interact with. This API could handle specific commands for audio playback, recording, or processing.

  3. HTTP Requests: ARC can send HTTP requests to the ATOM ECHO's server. These requests can carry commands or data to be processed by the ATOM ECHO.

Example Workflow:

  1. Set Up ATOM ECHO as a Wi-Fi Server: Program the ATOM ECHO using the Arduino IDE to create a Wi-Fi server that listens for incoming HTTP requests.

  2. Create API Endpoints: Define endpoints for different audio functions (e.g., /play, /record, /stop).

  3. Send Commands from ARC: Use ARC's scripting capabilities to send HTTP requests to these endpoints. For example, to play a sound, ARC might send a request to http://atom_echo_ip/play.

Sample JavaScript Code in ARC:

Here’s a basic example of how you might send a command from ARC to the ATOM ECHO using JavaScript:

var http = new Net.HTTPClient();

function playSound() {
    http.get("http://atom_echo_ip/play?sound_id=1";, function(response) {
        print("Response from ATOM ECHO: " + response);
    });
}

playSound();

Considerations:

  • Security: Ensure that the communication between ARC and the ATOM ECHO is secure, especially if operating in environments with other Wi-Fi devices.
  • Network Configuration: Both the device running ARC and the ATOM ECHO must be on the same network, or appropriately routable.

Custom Firmware:

While using the ATOM ECHO with its default firmware might be limited to its predefined capabilities, creating custom firmware allows you to tailor its functionality to fit specific needs in your robotics project. This approach requires familiarity with ESP32 programming and network protocols.

By leveraging the ESP32’s full capabilities, including Wi-Fi, you can create a powerful, integrated audio processing unit within your robot without the need for extensive additional hardware.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#9  

@athena what does the default firmware of the ATOM ECHO provide? Or are users expected to program the device for their own custom use-case?

PRO
Canada
#10  

The ATOM ECHO, like many ESP32-based devices, typically comes with minimal default firmware that primarily serves to demonstrate basic functionality. This might include simple examples of audio playback or recording capabilities. However, for practical applications, especially in custom robotics projects, users are generally expected to program the device according to their specific needs.

Default Firmware Capabilities:

The default firmware on the ATOM ECHO might include:

  1. Basic Audio Functions: Simple commands to play back pre-stored audio clips or to record short audio snippets.
  2. Connectivity Demonstrations: Examples showing how to connect to Wi-Fi networks or pair with other Bluetooth devices.
  3. Development Frameworks: Often, there might be support for popular development environments like the Arduino IDE, which allows users to quickly start programming the device.

Custom Programming for Specific Use-Cases:

For integration with systems like Synthiam ARC or for specific functionalities in a robotics project, you would typically need to develop custom firmware. This involves:

  1. Writing Custom Code: Using a platform like the Arduino IDE to program the ESP32 on the ATOM ECHO to handle specific tasks such as processing voice commands, performing more complex audio processing, or interacting with other hardware.
  2. API Development: Creating APIs that can handle specific commands from ARC, such as starting and stopping recordings, changing audio output, or integrating with other robot systems.
  3. Network Communication Setup: Establishing robust network communication protocols to ensure that the ATOM ECHO can reliably receive commands and send data over Wi-Fi or Bluetooth.

Tools and Resources:

  • Arduino IDE: Most ESP32 devices, including the ATOM ECHO, are supported by the Arduino IDE, which provides a familiar environment for programming the device with C/C++.
  • ESP-IDF: For more advanced users, the ESP-IDF (Espressif IoT Development Framework) offers extensive tools and libraries for maximizing the capabilities of the ESP32.

Conclusion:

While the ATOM ECHO might come with basic examples in its default firmware, leveraging its full potential in a robotics project like those managed with Synthiam ARC will typically require custom programming. This allows you to tailor the device’s capabilities to meet the specific demands of your project, whether it’s for voice control, audio feedback, or other interactive features.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Canada
#11  

There is an opensource tool called open interpreter that uses this device.  They repackage it and sell it for $100 with a battery, battery management system and a 3D printed case.  The software has two components the client end (esp + arduino code) and workstation end (LLM + some automation code) that can control your PC to send emails, create spreadsheets, post on social media etc .

warning this video is overhyped and it is literally just a repackaged atom echo. 

PRO
Canada
#12  

well my m5stack atom turned up.  This device works but the mic and speaker are terrible.  (It's one of those ultra small speakers like on the iotiny.   The 3D printed 01 case doesn't improve audio or mic at all so it needs a redesign case.  Will need to take lessons learned from Jeremie voice box for the EZ-Robot inmoov head.

The open interpreter app is alpha at best and was designed to work on a MAC with GPT4.  I tried windows #fail then hacked it onto WSL and then moved over to full ubuntu due to issues.  You can get it to work sort of with groq and the 01 with a local model but it really doesn't work as well as it does gpt4.   GPT4 is cosing me about $20 USD ($30 CAD) a day playing with it so not sustainable.

I picked up a couple of the other M5 stacks I will play with and see if I can connect to ARC.   The core2 is pretty impressive and pushes ESP to the limit.

User-inserted image

PRO
Synthiam
#13  

That's too bad - but glad you figured it out for us!