RoadTest: Matrix VOICE Dev Board
Author: MARK2011
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: MATRIX Creator NODE ESP ESP8266 & ESP32
What were the biggest problems encountered?: Issue during initialization, Getting confused when faced changes in exercises/ examples; errors trying to run OTA
Detailed Review:
I couldn’t suppose that Matrix Voice especially its ESP32 version differ so much from matrix creator. Honestly, I was sure, Voice is the little brother of Creator,
I was thinking wrong, Probably these boards shouldn’t be compared anymore, nevertheless, communication features, independency (from RPi motherboard) made Voice outstanding device.
Moreover I’m impressed by activity of matrix staff, and all supporting community. It was difficult for me to keep the pace of improved documentation,
changes in tutorials and supporting examples (Hackster). The creativity (despite the fact that we are talking of Voice) is on highest level.
Excuse my language, sorry for too many words and - on the other hand lack of professionalism sometimes.
I assure I have tried to do my best experimenting with Matrix Voice.
Despite the fact, all the Matrix Voice project was exciting for me, the Unboxing phase was one of the most pleasant.
May I present you: very nice looking and poverful SPARTAN 6 ON-BOARD
encircled with LEDs and microphones
All above is widely advertised with the pride by MATRIX
and the new friend - ESP 32
Which seems to be the headquarter of modern communication of our board
What else?
The attached, adapter… thanks for it!
is necessary to simply and safely connect our disc with the Raspberry
That project can't be run (or at least initialized) without Raspberry.
In our Roadtest program unlike standard Matrix Voice, the ESP32 model was delivered without RPi
Frankly I have some expectant to be exercised together with our Voice
The first sight just after powering the couple.
all above make quite comprehensive system:
Raspberry Pi 3 features:
Some more documentation,
https://matrix-io.github.io/matrix-documentation/
http://www.farnell.com/datasheets/2608207.pdf
For additional documentation and support please refer to:
● http://community.matrix.one/
● https://matrix-io.github.io/matrix-documentation/
● https://github.com/matrix-io
It would by siny at all to copy here, in my reports technical description, features and specifications list etc
all these materials are easily available, even linking them is unnecessary IMO.
following resources links from the Matrix site:
Nevertheless, let me put here only:
Dealing with RPi + Matrix Voice in the "software" way only above information is not important very much.
But starting experiments with I/Os peripheral instrumentation etc, we must be carry about above voltage and current levels.
Above drawing I hope to use building appropriate housing. Until now it was only for overall sight of the device.
Except, the ESP32 model focuses on wireless communication and connecting
we have still conventional GPIOs RPi compatible
Starting the adventure with the MATRIX VOICE I simply went at matrix site
https://www.matrix.one/products/voice
It is full of documentation instruction and all required resources to start and experiment with the Voice and Creator.
I decided to check matrix voice capabilities taking exercises from Hackster
https://www.hackster.io/matrix-labs
which seems IMHO to be official resource with, worth to emphasize!, very helpful support!
During my roadtest the content of the above sites have changed quite often.
Which looks great from the point of view of further development
but on the other hand it was confusing when the base concepcion is shifted onto different software resources.
Anyway it was well documented and supported. details - below.
I shouldn't neglect one more source of knowledge and ideas for my experiments - there are good materials on GitHub as well!
And
Matrix Voice blogs on Element14
Description of installation and setup as well as previously commented technical specification, are not needed to be copied here.
Matrix gather all information in their "MATRIX Ecosystem overview " https://matrix-io.github.io/matrix-documentation/
with three programming concepts ("Layers" : Lite / HAL / Core)
MATRIX Lite https://matrix-io.github.io/matrix-documentation/matrix-lite/overview/
MATRIX Hardware Abstraction Layer https://matrix-io.github.io/matrix-documentation/matrix-hal/overview/
MATRIX CORE (MALOS) https://matrix-io.github.io/matrix-documentation/matrix-core/overview/
Well, plenty - and here is the point I was first time confused a little with the "simple" question... Which way would be most convenient form me?...
The ESP32 model gives even more alternatives…
frankly, I had a little experience with dealing with MATRIX boards
My previous tests of Matrix Creator was helpful
On the other hand, I must admit, the technology is in development all the time, It is necessary to update hardvare/ software resources and refresh your knowladge.
Anyway, I went on the sure path thanks to the " Device Setup" described on the "matrix.one" site.
The aim of that phase is to update Matrix Voice FPGA firmware
and install necessary tools to flash the ESP-WROOM-32.
following you can see selected screens from the ESP32 Setup and my remarks from the installation phase.
https://matrix-io.github.io/matrix-documentation/matrix-voice/esp32/
Success and no warnings - as you can see above
But at the very beginning, attempting to matrix initialization installig MATRIX CORE I got
Trying matrixio-creator-init the error persists
when "update" "upgrade" I get following failures:
Hit:1 http://archive.raspberrypi.org/debian stretch InRelease
Hit:2 http://raspbian.raspberrypi.org/raspbian stretch InRelease
Reading package lists... Done
E: The method driver /usr/lib/apt/methods/https could not be found.
N: Is the package apt-transport-https installed?
E: Failed to fetch https://apt.matrix.one/raspbian/dists/stretch/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead.
I was sure the solution will be easy available and vell described on Raspberry or Matrix forums
but after weeks of surfing/digging I have nothing!
proposal from the MATRIX community
https://community.matrix.one/t/solved-matrix-creator-hal-not-work/831/5 - doesn't work...
I noticed, that I’m not alone, founding the similar problem:
My issue remained unsolved for several days...
Then I decided to refresh my Raspberry, downloading the raspbian again
It was the only and the best solution!
Additionally, thanks to the internet/ forums etc I finally found the solution, following line was necessary:
sudo apt-get install apt-transport-https
And now it works fine!
There was no obstacles to run
Downloading https://files.pythonhosted.org/packages/5c/85/5654e7b9019739d3d89af0adf528c9ae57a9a26682e3aa012e1e30f20674/esptool-2.6.tar.gz (80kB)
100% |████████████████████████████████| 81kB 425kB/s
Collecting ecdsa (from esptool)
Downloading https://files.pythonhosted.org/packages/23/a8/8aa68e70959e1287da9154e5164bb8bd5dd7025e41ae54e8d177b8d165c9/ecdsa-0.13.2-py2.py3-none-any.whl (59kB)
100% |████████████████████████████████| 61kB 812kB/s
Collecting pyaes (from esptool)
Requirement already satisfied: pyserial>=3.0 in /usr/lib/python2.7/dist-packages (from esptool)
Building wheels for collected packages: esptool, pyaes
Running setup.py bdist_wheel for esptool ... done
Stored in directory: /root/.cache/pip/wheels/cf/1f/62/7ad4e47843affd4f5b7032a39f1ef8a153c6d27533614d21aa
Running setup.py bdist_wheel for pyaes ... done
Stored in directory: /root/.cache/pip/wheels/bd/cf/7b/ced9e8f28c50ed666728e8ab178ffedeb9d06f6a10f85d6432
Successfully built esptool pyaes
Installing collected packages: ecdsa, pyaes, esptool
Successfully installed ecdsa-0.13.2 esptool-2.6 pyaes-1.6.1
Please restart your Raspberry Pi after installation
Processing triggers for libc-bin (2.24-11+deb9u4) ...
and finally:
according to instruction I run reset command
The Matrix Voice ESP32 model is ready now!
Then I started to modify my arduino environment on the PC to continue the resources setup and make the base for further experiments.
In the middle of that task, I realized, that new idea arose and matrix Voice with ESP32 module
could be run using Platformio instead of Arduino IDE .
Here we're installing all required stuff needed to allow the PC to develop and compile ESP32 projects.
as described in the instructions I had to balance between:
Platformio https://platformio.org/ is / among others/ developed as the addon to Visual Studio Code
It is well described and supported
https://github.com/matrix-io/esp32-platformio
installation is quite easy as well
Soon I was ready to conduct first tests following example instructions
Simplest exercises from Matrix are just "plug and play"
the only requirement is to individually customize the platformio.ini file
inside the esp32-platformio folder
I must admit, there was unpleasant issues regarding these relative simple settings
Finally I managed it, according to the last remark from Hackstar:
using Windows, I had to replace the upload_port parameter with the IP of the MATRIX VOICE ESP32.
upload_port = 192.168.0.46 ; 'MVESP.local' ; MatrixVoice ESP32 LAN name
and save the project
installation using ./install.sh and IP number:
password to the raspberry is required
conducting update:
and lib update
finally:
pio run --target upload
The first setup and "Initial" upload must be conducted through Raspberry as described above.
After that the doors (windows at least) to OTA are opened!
Matrix Voice board can be powered directly.
As mentioned above, deploying after "Initial Upload" all further uploads can be done using Over the air concept.
Upload using OTA seems to be simple way indeed
the only thing I need is to open a terminal, go into the project directory,
and run the following command.
pio run --target upload
Well that stage works fine
but honestly, exploring the Voice deeper more questions or even issues arised.
Nevertheless it is fascinating and very instructive experience!
The next task was to employ both WiFi as well as Bluetooth technology delivered by ESP32
I went to
Get Started with Bluetooth on MATRIX Voice ESP32
https://www.hackster.io/matrix-labs/get-started-with-bluetooth-on-matrix-voice-esp32-d7a648
Initially I was a little confused, thinking, that having "platformio - related" environment
I need to go to the ARDUINO IDE/ ESP32 toolchain installation
Fortunately, at the beginning of september 1019 (thanks clem57 for perceptivity
)
september 2019 new (revolutionary) instruction appears on Hackster
It shows how to conduct BT/WiFi example using Platformio
Create a Bluetooth Mesh of MATRIX Voices
https://www.hackster.io/matrix-labs/create-a-bluetooth-mesh-of-matrix-voices-3748ba
in the folder bluetooth
Run Platformio
Installation via Raspberry went smooth...
but my attempts to upload OTA fails!
according to instructions, running the command.
pio run --target upload
I got error
Despite my efforts, that issue still remains unsolved.
In the meantime I tried to set voice direction detection - ODAS system
Using my experience from Matrix Creator https://www.element14.com/community/roadTestReviews/2773/l/matrix-creator-for-the-raspberry-pi-review#jive_content_id_Di…
and following instructions https://www.hackster.io/matrix-labs/direction-of-arrival-for-matrix-voice-creator-using-odas-b7a15b
I confirmed that Voice and Creator works fine in that sphere.
Conducting other exercises from Hackster, I realized, that description and support is significantly helpful,
I don't want to say,it was worse at the beginning of my adventure with MATRIX anyway, I feel much more comfortable now.
The troubleshooting instructions have been improved and extended.
There are new sections in online manuals as "Reinstall MATRIX Init Package and Reflash FPGA" & “Reinstall MATRIX Kernel Modules”
https://matrix-io.github.io/matrix-documentation/matrix-voice/troubleshooting/
Above you can find also very handy "Hardware Tests".
Thank you for giving me the chance to work with Matrix Voice - indeed - very interesting tool with impressive functions.
It is hard to express everything in simple words. I hope my report above, could help to imagine advantages of the Matrix Voice board.
It is outstanding, comprehensive and gives the great opportunity for interesting experiment or projects.
Combination of microphones array and LEDs enhanced now with ESP32 wireless device give truly new power
and let go beyond barriers. The independence - possibility to run and program the board without the raspberry can’t be overemphasized!
Regarding my assessment:
Top Comments
Great review. Although I could like the device from Matrix, the support issue(s) would scare any reasonable person. It appears if you are not tenacious or have good skills debugging, then the device would…