This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Thingy:91 related questions

Hello, guys!

We are excited to start a new product prototyping by using Thingy:91 board. Consequently, I would have a few questions related to Thingy:91 configuration and possibilities:

1) According to some threads (e.g. here), nRF9160 SiP should be programmed/debugged with nRF9160-DK board. Can we use the same nRF9160-DK board to program/debug nRF52840 BLE SoC that is on the Thingy board?

2) We develop a firmware for nRF9160 by the help of nRF Connect SDK whereas the code for nRF52840 is developed by using nRF52 SDK. We can develop the code for those two units (nRF9160 and nRF52840) separately and mutually independently. Do we need to use the switch SW2 on the Thingy:91 board to select which of the two modules we want to debug/program?

3) How nRF9160 SiP and nRF52840 SoC module can communicate between each other? I see there is an I2C bus that connects many peripherals on the board with both nRF9160 and nRF52840 modules. Can those modules use I2C link to communicate with each other? I also see some connection between the modules through MCU_IF and COEX pins. Can I use those pins to establish communication between nRF9160 and nRF52840 modules? What is the purpose of COEX pins?

4) We would need some more GPIOs of nRF9160 and/or nRF52840 modules to connect some external devices to the Thingy:91. I imagine we can connect some more devices on I2C network through the test points TP9 and TP10 on the Thingy:91 board. Is that correct? nRF52840 GPIOs can be accessed through P6 connector (nRF52_SPARE)? What about nRF9160 GPIOs that we can use for a connection with external devices? I don't see any connector (I don't count P7). Can we cut the jumpers SB7 - SB11 on the Thingy:91 board, break the connection between nRF9160 and nRF52840 and use those points as nRF9160 GPIOs?

5) Finally, there is an on-board LTE-M/NB-IOT/GPS antenna but also a connectors for external LTE and GPS antennas. Can you recommend us some appropriate external antennas (for the case we want to have better sensitivity)?

Thank you very much for your time and efforts. It is really appreciated.

Sincerely,

Bojan.

Parents
  • Hi,

    Can we use the same nRF9160-DK board to program/debug nRF52840 BLE SoC that is on the Thingy board?

    Yes.

    Do we need to use the switch SW2 on the Thingy:91 board to select which of the two modules we want to debug/program?

    Yes.

    How nRF9160 SiP and nRF52840 SoC module can communicate between each other

    I would recommend to use the MCU_IF pins.

    Can those modules use I2C link to communicate with each other?

    If one of them is acting is slave, yes. Might be easier to use MCU_IF pins and UART, so I would recommend that instead.

    Can I use those pins to establish communication between nRF9160 and nRF52840 modules?

    Yes.

    What is the purpose of COEX pins?

    See this link.

    I imagine we can connect some more devices on I2C network through the test points TP9 and TP10 on the Thingy:91 board. Is that correct?

    Yes.

    nRF52840 GPIOs can be accessed through P6 connector (nRF52_SPARE)?

    Yes.

    What about nRF9160 GPIOs that we can use for a connection with external devices?

    Test-points, I2C bus, route it through the nRF52, N-MOS transistors. Depends on the external device.

    I don't see any connector (I don't count P7)

    On P7 you have the N-MOS transistors. See this link.

    Can we cut the jumpers SB7 - SB11 on the Thingy:91 board, break the connection between nRF9160 and nRF52840 and use those points as nRF9160 GPIOs?

    No, then you just break the connection between the nRF9160 and nRF52840. These pins are not routed out to a connector.

    Can you recommend us some appropriate external antennas (for the case we want to have better sensitivity)?

    We do not have any recommendations for external antennas. For on-board antennas, check out the e.g. Fractus Antennas.

  • Hi, .

    Thanks for your explanations.

    I would like you to clarify just a few more little things:

    1. I develop the application for nRF52840 with nRF5 SDK - completely independently from nRF9160 SiP module. Of course, I can benefit from COEX pins that can help me synchronize BLE and LTE/GPS RX/TX activities. nRF9160 SiP can be considered as one more peripheral device from nRF52840 point of view. I communicate with nRF9160 through MCU_IF pins by using one of the communication interfaces available (I2C, SPI, UART, I2S...). Is that correct?
    2. Thingy:91 ships with the Asset tracker application that runs on nRF9160 SiP and USB-UART bridge sample which runs on nRF52840 SoC (link). To the best of my understanding, this USB-UART bridge enables communication with nRF Connect LTE Monitor app. Do I need to develop my nRF52840 firmware on the top of this app - use that sample as a starting point for my app development?

    Best regards,

    Bojan.

  • 1)

    I communicate with nRF9160 through MCU_IF pins by using one of the communication interfaces available (I2C, SPI, UART, I2S...). Is that correct?

    Yes, that is correct. In my post here, I used 4 MCU_IF pins to run HCI_UART between nRF52840 and nRF9160, 1 MCU_IF pin to reset the nRF52840 from the nRF9160 and 2 MCU_IF pins for the USB-UART bridge(only UARTE0)

    2)

    Do I need to develop my nRF52840 firmware on the top of this app - use that sample as a starting point for my app development?

    If you are developing on the Thingy:91 hardware, and want to send/receive UART data(e.g. AT-commands, UART logging, etc) between computer and nRF9160, then yes, you need this USB-UART bridge sample to run on the nRF52840. The USB-UART bridge sample can easily be integrated into other samples. E.g. in my post here, I added/merged the USB-UART bridge into the hci_uart sample.

Reply
  • 1)

    I communicate with nRF9160 through MCU_IF pins by using one of the communication interfaces available (I2C, SPI, UART, I2S...). Is that correct?

    Yes, that is correct. In my post here, I used 4 MCU_IF pins to run HCI_UART between nRF52840 and nRF9160, 1 MCU_IF pin to reset the nRF52840 from the nRF9160 and 2 MCU_IF pins for the USB-UART bridge(only UARTE0)

    2)

    Do I need to develop my nRF52840 firmware on the top of this app - use that sample as a starting point for my app development?

    If you are developing on the Thingy:91 hardware, and want to send/receive UART data(e.g. AT-commands, UART logging, etc) between computer and nRF9160, then yes, you need this USB-UART bridge sample to run on the nRF52840. The USB-UART bridge sample can easily be integrated into other samples. E.g. in my post here, I added/merged the USB-UART bridge into the hci_uart sample.

Children
  • Hello, .

    After reading your nRF Connect SDK tutorial, the things are clearer.

    Few more doubts:

    1) I was following Getting Started Assistant from nRF Connect app in order to properly install nRF Connect SDK environment. I decided to work with the latest tagged release (v1.1.0) instead of the latest state of development (master branch). When I try to open some samples project for nRF52840 on the Thingy board, I can not find proper board directory under ncs/zephyr/boards/arm/ . There is no nrf52840_pca20035. Am I missing something here or I should use nrf52840_pca10090?

    EDIT:

    I can find nrf52840_pca20035 or nrf9160_pca20035 under ncs/nrf/boards/arm/ Should I use those for Thingy:91?

    2) If I don't want to use USB-UART bridge for debugging/sending AT commands, can I use Segger Embedded Studio and nRF9160-DK board to debug either nRF9160 or nRF52840 (selected by sw2) on Thingy:91 board? Do I need to enable debugging somehow inside Segger Embedded Studio to be able to see debug messages on the SES terminal (something similar we did within sdk_config.h file in nRF5 SDK)?

    Thanks in advance.

    Sincerely,

    Bojan.

  • 1)

    bojan said:
    Should I use those for Thingy:91?

     Yes. That is correct.

    2)

    bojan said:
    can I use Segger Embedded Studio and nRF9160-DK board to debug either nRF9160 or nRF52840 (selected by sw2) on Thingy:91 board?

     Yes.

    bojan said:
    Do I need to enable debugging somehow inside Segger Embedded Studio to be able to see debug messages on the SES terminal (something similar we did within sdk_config.h file in nRF5 SDK)?

     You need to enable RTT as logging backend. See this link. Try setting something like this in prj.conf:

    CONFIG_UART_CONSOLE=n
    CONFIG_RTT_CONSOLE=y
    CONFIG_HAS_SEGGER_RTT=y
    CONFIG_USE_SEGGER_RTT=y

  • Thank you very much, !

    I will not bother you anymore on this thread. I am now moving to try some examples with Thingy:91 and nRF9160-DK boards. If I face some difficulties there, I will open new tickets.

    Cheers,

    Bojan.

Related