NDP120 Processor Firmware Update problem

I have got stuck trying to update the NDP120 processor iwith Nicla Voice. I have unzipped the file and created a terminal but get the error message as below. Have copied the command from the manual so should not be a typo.
Am I doing something stupid? Would appreciate help.

C:\Users\johnp\OneDrive\Documents\Arduino 2024\Nicla voice\nicla_voice_uploader_and_firmwares\ndp120>./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 mcu_fw_120_v91.synpkg
'.' is not recognized as an internal or external command,
operable program or batch file.

Hi @Munrap. It looks like the command was written under the assumption that the Windows PowerShell terminal would be used. I see you are instead using Windows "Command Prompt" (cmd), which has some differences in syntax.

Try running this command:

syntiant-uploader-win send -m "Y" -w "Y" -p COM4 mcu_fw_120_v91.synpkg

Hopefully that one will work as expected.

Thanks for your help. I have also tried Powershell but get this result

PS C:\Users\johnp> ./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 mcu_fw_120_v91.synpkg
./syntiant-uploader-win : The term './syntiant-uploader-win' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:1 char:1

  • ./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 mcu_fw_120_v91.syn ...
  •   + CategoryInfo          : ObjectNotFound: (./syntiant-uploader-win:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

Please provide a link to where you found the manual. I think that will provide me with the context I need to more effectively assist you with this problem.

Nicla Voice User Manual | Arduino Documentation

That command should work fine. I suspect the problem occurred at this part of step (4):

Open a new terminal in the location where the .zip file was extracted

The instruction is a bit vague. I'll provide more detailed instructions you can follow.

Please try this:

  1. Click the following link to download the firmware update package:
    https://docs.arduino.cc/eb3909ae150b93f6804ff42901ce0301/nicla_voice_uploader_and_firmwares.zip
  2. Wait for the download to finish.
  3. Start Windows "File Explorer".
  4. Open the folder to which the firmware update package was downloaded.
  5. Right click on the downloaded nicla_voice_uploader_and_firmwares.zip file.
    A context menu will open.
  6. Select "Extract All..." from the menu.
    The "Extract Compressed (Zipped) Folder" dialog will open.
  7. Click the "Extract" button in the dialog.
  8. You will now see a folder named ndp120 in File Explorer. Hold the Shift key while clicking the right hand button on the mouse on that folder.
    A context menu will open.
  9. Select "Open PowerShell window here" from the context menu.
    PowerShell will now open with the current directory set to the ndp120 folder that contains the firmware update package.
  10. Type the following command:
    ./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 mcu_fw_120_v91.synpkg
    
  11. Press the Enter key.
  12. Wait for the process to complete with a "... mcu_fw_120_v91.synpkg sent successful" message.
  13. Type the following command:
    ./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 dsp_firmware_v91.synpkg
    
  14. Press the Enter key.
  15. Wait for the process to complete with a "... dsp_firmware_v91.synpkg sent successful" message.
  16. Type the following command:
    ./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 dsp_firmware_v91.synpkg
    
  17. Press the Enter key.
  18. Wait for the process to complete with a "... alexa_334_NDP120_B0_v11_v91.synpkg sent successful" message.
  19. Close the PowerShell window.
1 Like

Thanks. Making good progress. The key is how to open Powershell which I have not used before. However, now saying access denied.

PS C:\Users\johnp\OneDrive\Documents\Arduino 2024\Nicla Voice B\nicla_voice_uploader_and_firmwares (3)\ndp120> ./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 mcu_fw_120_v91.synpkg
2024/04/02 08:52:16 main.go:30: Access is denied.

1 Like

This error indicates that some other application has the COM4 serial port of your Nicla Voice open. Do you have Arduino IDE running? The port might be open in Serial Monitor. If so, close it by clicking the X icon on the "Serial Monitor" tab in the bottom panel of the Arduino IDE window:

image

3 Likes

Thanks again. Switched off the serial monitor. Now able to load lines 10 and 13 from your message. However your lines 13 and 16 seem to be identical.
There is a third upload given in the Nicla manual

./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 model_name.synpkg

and I get this error message The system cannot find the file specified.

So unable to upload the third instruction.

I apologize. Step (16) of the instructions should have been this:

  1. Type the following command:
 ./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 alexa_334_NDP120_B0_v11_v91.synpkg

Yeah, that confused me also. Unfortunately the instructions are not very well written. The author intended model_name to be understood as a placeholder for the name of the machine learning model firmware you want to upload. In this case the model name is alexa_334_NDP120_B0_v11_v91.

Nearly there, Unfortunately I get the same error message The system cannot find the file specified.

The Alexa file is listed in the npd120 folder. I am opening Powershell from the NPD120 folder.

Confusingly, in addition to the obvious cause of the specified .synpkg file not being present, which we have already eliminated, this error can also occur when the serial port specified via the -p flag in the command is not present. Please check to see if the serial port of your Nicla Voice board is still COM4. You can see the list of serial ports in the Tools > Port menu in Arduino IDE. One of them should be labeled like "COM4 (Arduino Nicla Voice)".

Nicla Voice is still connected to COM4

Just solved it. I have opened Powershell in an opened npd120 folder i.e. when the alexa program is visable.

So I have now been able to upload the 3 instructions. Thanks again I will press on with Nicla Voice. I am familiar with Arduino but this is a whole new area for me.

You are welcome. I'm glad it is working now.

Regards,
Per

Hi its me again. I have created a Model in Edge Impulse and now have a Sintiant zip file, extracted and I am now trying to load this to Nicla......

./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 ei_model.synpkg

You have taught me how to open a windows shell correctly but I get this error message (Nicla Voice is attached to COM4)

Didn't get a nak when expected

I have tried re-booting my laptop but the same error message

Any ideas ?

I am getting somewhere.

Before flashing the various synpkg uploads the Nicla Voice must first be reloaded with the sketch
Syntiant_upload_fw_ymodem.ino

The Serial Monitor must be closed. So I am now able to use Powershell to flash these programs

./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 mcu_fw_120_v91.synpkg
./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 dsp_firmware_v91.synpkg
./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 ei_model.synpkg
./syntiant-uploader-win send -m "Y" -w "Y" -p COM4 alexa_334_NDP120_B0_v11_v91.synpkg

Then I have then uploaded the AlexDemo sketch program. The serial monitor shows that the synpackages have been loaded.

However, Nicla Voice is not responding to 'Alexa' or other sounds in my model.

NB the ei_model.synpkg is from the zip file created by Edge Impulse.

Further help welcome particularly where I am going wrong!

Hi its me again. I have used the AlexDemo program and replace the alexa load with

NDP.load("ei_model.synpkg");

Now working and responding to my sounds modelled in Edge Impulse. So the Alexa program does not work for me I do have Nicla doing what I bought it for!

Hope my struggles may help others..........