Thingy 91 X bring up.

Hi,

We recently purchased two Thingy:91X devices and are trying to run the nRF Cloud Multi-Service sample on the nRF9151 SiP onboard. To provision the Thingy:91X for communication with nRF Cloud, we need to run the nRF Util script and generate the certificates inside the chip through UART. However, I’m not sure whether the USB connector on the Thingy:91X provides access to the nRF9151 UART pins. When I tried running the device_credentials_installer.py script, I encountered a "port not available" error. I disabled hardware flow control in the Python script because that’s how I got it working with my custom board.

Can I get the schematics of the Thingy:91X? I couldn’t find any online except for a block diagram, which is not very helpful.

regards,

Parents
  • Hello, 

    Do you have the serial terminal open when trying to run the python script? Sounds like the UART is kept open by the computer.

    Did you test the out of box experience before programming the nRF Cloud Multi-service sample? 

    You can find the Thingy:91X hardware design files under the Downloads tab on the product page.

    Kind regards,
    Øyvind

  • Do you have the serial terminal open when trying to run the python script? Sounds like the UART is kept open by the computer

    No, No serial terminal is open. I even tried adding the device port like this in the python script,

    because this is how I managed to provision my custom borad through a USB-TTL converter. THINGY91X_C047544A57D is the name of the device as seen in nrf serial terminal.

  • As I am not familiar with the python script I will forward you to our nRF Cloud team. 

    Kind regards,
    Øyvind

  • Is it really possible to access the uart pins of nrf9151 in the thingy 91X board from outside? Looking at the schematics both VCOM0 and VCOM1 from nrf9151 are connected to nrf5340 SoC.

  • The nrf5340 has a USB interface but the nrf9151 does not. So, on the Thingy91:X, the nrf5340 acts as a USB to serial interface for the nrf9151. That is how logging output from any samples on board get sent to the Serial Terminal program or other terminal on your PC, and also how shell inputs (if the software you are running on the Thingy91:X includes the nrf_provisioning library, for example) or AT commands can be sent from the PC to the nrf9151.

    To troubleshoot this, I suggest that you do connect to the Thingy:91X using the nRF Connect for Desktop Serial Terminal, and observe the output. If you see none, even after power cycling the Thingy:91X, then please try reflashing the device. Also try connecting with the terminal program to any other serial ports associated with the Thingy:91X. Sometimes the one you think has the logging output is actually not the first port it offers, but the second.

    If you see output from the device, then check whether you have a shell running on the device or not. Typing "AT<enter>" (capital letters followed by the enter key) should result in the word "OK" being displayed (or ERROR if there was a junk character in the buffer -- in that case, type AT<enter> once more to see OK). If you instead get:
    AT: command not found
    then you are running a shell. Try typing "at AT<enter>" and you should then see "OK". In that case, add the parameter "--cmd_type at_shell" to the device_credentials_installer.py command line.

    Once you see that you are getting serial output from the Thingy:91X, definitely disconnect the terminal program from it or it definitely will cause trouble with device_credentials_installer.py.

    You do not need to remove the hardware handshaking from the device_credentials_installer. The error "port not available" means something else is using the port, or, you have other devices on your PC that have serial ports, and the script is trying to use one of those.

    Another thing you can try with the device_credentials_installer.py script is to use the -A option, which lists all serial ports and not only those it recognizes, then lets you select which one to use. Of course, it is helpful if you can tell from your PC operating system which ports are assigned to the Thingy:91X.

Reply
  • The nrf5340 has a USB interface but the nrf9151 does not. So, on the Thingy91:X, the nrf5340 acts as a USB to serial interface for the nrf9151. That is how logging output from any samples on board get sent to the Serial Terminal program or other terminal on your PC, and also how shell inputs (if the software you are running on the Thingy91:X includes the nrf_provisioning library, for example) or AT commands can be sent from the PC to the nrf9151.

    To troubleshoot this, I suggest that you do connect to the Thingy:91X using the nRF Connect for Desktop Serial Terminal, and observe the output. If you see none, even after power cycling the Thingy:91X, then please try reflashing the device. Also try connecting with the terminal program to any other serial ports associated with the Thingy:91X. Sometimes the one you think has the logging output is actually not the first port it offers, but the second.

    If you see output from the device, then check whether you have a shell running on the device or not. Typing "AT<enter>" (capital letters followed by the enter key) should result in the word "OK" being displayed (or ERROR if there was a junk character in the buffer -- in that case, type AT<enter> once more to see OK). If you instead get:
    AT: command not found
    then you are running a shell. Try typing "at AT<enter>" and you should then see "OK". In that case, add the parameter "--cmd_type at_shell" to the device_credentials_installer.py command line.

    Once you see that you are getting serial output from the Thingy:91X, definitely disconnect the terminal program from it or it definitely will cause trouble with device_credentials_installer.py.

    You do not need to remove the hardware handshaking from the device_credentials_installer. The error "port not available" means something else is using the port, or, you have other devices on your PC that have serial ports, and the script is trying to use one of those.

    Another thing you can try with the device_credentials_installer.py script is to use the -A option, which lists all serial ports and not only those it recognizes, then lets you select which one to use. Of course, it is helpful if you can tell from your PC operating system which ports are assigned to the Thingy:91X.

Children
No Data
Related