Members | Sign In
Legacy MOVI User Community Forum (readonly) > MOVI Question & Answers

Questions with MOVI in Arduino

posted Feb 24, 2017 20:35:20 by DanongKantatero

I'm interested on this product for my robotic project as I see in the YouTube and I need it.

I read the main feature that can handle 150 sentences. I saw the example code around two sentences and it's within Arduino sketches, I'm just wondering how the Arduino UNO can handle such 150 sentences which Arduino UNO has only 32Kb of flash memory?

Did someone try and know how much estimated memory will be consumed in 150 sentences that will be included in the sketch of Arduino UNO?

page   1
15 replies
GeraldFriedland said Feb 27, 2017 03:49:07

This is an excellent question. The answer is three-fold:
1) The amount of memory consumed per sentence depends on the length of the sentences. Our Eliza library example stores a little more than 70 full language sentences in an Arduino Uno. The IDE tells me the sketch uses 15112 bytes (46%) of program storage space. Maximum is 32256 bytes. Global variables use 720 bytes (35%) of dynamic memory, leaving 1328 bytes for local variables. Maximum is 2048 bytes.
Take a look:
So that makes it about double, i.e. 150 sentences, for an Arduino Uno to use all the memory.
2) MOVI is compatible with more than just the Arduino Uno. Other Arduino-compatible boards have more memory (for example Arduino Mega or Arduino Zero). So you are not restricted to 32kB for your application unless you absolutely require an Arduino Uno.
3) Even if you use the Arduino Uno, you can train sentences manually using the Serial Monitor with the TRAIN command. This allows you to enter sentences one by one and send them directly to MOVI without having to compile them into your program. So you waste 0 bytes on the sentences.

Hope that helped,
DanongKantatero said Mar 01, 2017 19:12:37
Hi... I bought already from Amazon. Can you give me a link that might help me to start? My first help needed is on how to change the beep to an answer like if if calling the device with its configured name and it will answer me like "yes" instead of beep.
GeraldFriedland said Mar 01, 2017 20:14:36

The best thing to do to learn MOVI is to go through the examples provided with the Arduino library. These appear in your IDE under File/Examples/MOVI/. From there you see 'beginner', 'debug', 'intermediate', 'proficient' and 'sdcard_hacks'.

If you look under 'intermediate' you will see the example 'YesSir' which is implementing exactly what you are asking for.

DanongKantatero said Mar 05, 2017 14:43:13
Hi Gerald,

Thank you soo much for your reply. I got the MOVI now from Aramex which I bought from Amazon. Before I will use it, I just read the users manual that I downloaded here (in this site) and I found this "Note: You cannot connect 4 ohm or 8 ohm speakers. Especially high-wattage speakers require an amplifier and might damage the board. Note: Only connect 3-conductor (stereo) headphone jacks to MOVI. 2-conductor (mono) and 4-conductor jacks (stereo plus microphone), require an adapter.", may I know what it means? because I have a small speakers with 4 ohm and planning to use it with MOVI as I will connect the speaker to a headphone jack and connect to MOVI board, is it mean that I can't do that?

[Last edited Mar 05, 2017 14:44:07]
DanongKantatero said Mar 05, 2017 20:12:48
Hi Gerald,

I try it already, I am confused with the user manual regarding the jumper #1, I have two Arduino UNO board one with IOREF and the other is without IOREF, I use and attach the MOVI shield to the board which is without IOREF, now do I have to put/connect the jumper 1 to the MOVI shield or not?

I try it without putting the Jumper 1, put the shield to the Arduino UNO without IOREF, I open the Arduino IDE and load the sample sketch "lightswitch", connect the power supply 9V from power supply Lab, and connect the USB cable to Arduino and upload the sketch. I connect a headphone jack and to computer speaker.

the response is barely not understandable. its like saying, MOVI is booting, then call sign, then sentenses etc... and there is no beep...

then I try to upload the sketch again and I hear a message but its not that understandable, then it seems the message at the last is "MOVI interrupted, the call sign is not Arduino!", may I know what is it?

[Last edited Mar 05, 2017 20:38:35]
GeraldFriedland said Mar 06, 2017 04:19:58
I would say: Check your speaker.

IF AND ONLY IF you don't have IOREF AND you have a 5V Arduino board, you need to set the jumper.

If MOVI is loading the call sign and the sentences then your jumper settings are correct.

DanongKantatero said Mar 06, 2017 06:26:26
Hi Gerald,

The speaker is okay because I try it with my phone. the thing that I'm mentioning that it cant be understand because of the voice. I need a clear voice like a female voice maybe.

so I'm using the board without IOREF, so I have to set the Jumper 1 you mean? I will try it again and come back to you...

DanongKantatero said Mar 06, 2017 21:14:48
Hi Gerald,

I try it all already, following the manual and I found that this product is not reliable at all. I try to run the example sketches and sometime it work and suddenly it will stop working by not listening. I have to reset several times and it will work again and after how many instruction if will not work again.

When its working, I try the call sign and answer me a beep, I did not say anything but still it executed the sentence #1 and say "and there was light!"... why? that's a big question.

I try to update the firmware to 1.1 and its successful based on the message but I think it became worst, after uploading the sketch you can't hear anything on it and you should reset it how many times so that it will work. I try to remove the USB because it has a power supply already 9V from power supply lab and suddenly stop working or listening.

I'm wondering in this case if I will put this into a robot then you will have a problem of accessing the reset button. Maybe that is why there is no or limited tutorial on this on the Youtube. I'm wondering also the videos posted in this site if it is okay or just edited they did not show how difficult this product to manage or handle. The truth is this product is very difficult to manage due to its unreliable performance.

I have high expectation on this product as I seen in the MOVI in the Youtube but is seems thats only a Marketing. Actually it should not difficult to me to undestand to find out because I'm a Computer Science and Computer Engineer graduate and I been doing programming for almost 20 years an I have a lot of systems implemented in many companies and electronically I can analyze and design a circuit as my knowledge of being computer engineer.

Sorry, I feel disapointed
GeraldFriedland said Mar 07, 2017 04:39:40

When you DO NOT HAVE IOREF and a 5V board, Jumper 1 should be set.

I am sorry you experienced instabilities. You probably used MOVI library 1.12 which had a serious bug. Please download the newest Arduino Library 1.13. We released 1.13 yesterday. See:
Make sure you actually delete library 1.12.

Also know that the current progress of the library is kept on Github:

None of our videos are edited and we can't speak for the videos from our users but I doubt they edited them to make our product look more reliable.

DanongKantatero said Mar 07, 2017 05:35:03
Dear Gerald,

I set already the jumper. I forgot also to mention that I already also update the Library to 1.13 as I downloaded also yesterday. I add it to Arduino by click the "Sketch|Include Library|Add .ZIP Library" and its not accepted and Arduino IDE is saying "A library name MOVI already exist". So I added it manually by Extrating from ZIP, copy and paste it to the "C:\Program Files\Arduino\libraries" overriding the current.

But I'm wondering when I check to Arduino IDE "Sketch|Include Library|Manage Libraries" I still see MOVI 1.12 Installed. Is it correct how I update the library?

GeraldFriedland said Mar 07, 2017 15:52:00

Yes, this might be the problem. We had people reporting to us MOVI being super unstable and behaving erratically when several libraries where installed above each other.

The only solution that worked for them was deleting the Arduino IDE and all libraries and re-installing the Arduino IDE and only the newest libraries. I am not happy about this but this is not our fault. It's Arduino not being able to manage libraries.

Another general recommendation that I have is: Use the old Arduino IDE 1.0.6, not the new 1.81. The old one is much more stable in general.

Let me know if this helps,
DanongKantatero said Mar 07, 2017 22:33:32
Yes Gerald,

I troubleshot it already, the reason is that the MOVI library is not in the "C:\Program Files\Arduino\libraries", its in the sketch library "~\Documents\Arduino\libraries", so I just deleted it and add the latest library by using the Arduino IDE Library "Add .ZIP" and becomes updated when I check it in the Manage Librabry in Arduino IDE.

when I try it again to upload the example sketch lightswitch still it failed to listen and I have to push the button reset and it works... still I found instability but this is okay than the last.

Ahmmmm I see, you recommend to Old Arduino IDE 1.0.6, I will do that and try and get back to you for what happened.

thank you for your usual support.

[Last edited Mar 07, 2017 22:35:02]
GeraldFriedland said Mar 08, 2017 04:28:11
Failing to listen seems odd. The usual error that I got as a result of library overlap was failing to train new sentences. Trying the older Arduino IDE is definitely a good idea. But also: Can you try a headset microphone and see if this works better?

DanongKantatero said Mar 14, 2017 17:43:12
Hello Gerald,

I removed my latest Arduino IDE and replace the version 1.0.6 and I'm surprised because even I load the ligthSwitch2 MOVI is not changed still the lighSwitch is with it, it will not change even what MOVI examples I will load.

May I know what is the problem?
DanongKantatero said Mar 18, 2017 09:38:48
I try to return it back to Arduino 1.8 and its working again... it will train or upload new sentences again...
Login below to reply: