Requested
— Edited
Echo M5 Atom Support. (Smart Speaker/Mic) Score 751
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.
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.
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
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.
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?
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:
Connectivity and Expansion:
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.
@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?
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.
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:
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.
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.
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:
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.
Create API Endpoints: Define endpoints for different audio functions (e.g.,
/play
,/record
,/stop
).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:
Considerations:
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.
@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?
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:
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:
Tools and Resources:
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.
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.
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.
That's too bad - but glad you figured it out for us!