Skip to content

Commit

Permalink
doc: thingy53: remove GSG guide
Browse files Browse the repository at this point in the history
Moved information about updating precompiled firmware to device guide.
Transferred detailed steps for programming with the Programmer app
to the tool documentation.
Added a new page about precompiled firmware.
Reorganized information about programming methods for clarity.
NCSDK-29643.

Signed-off-by: Grzegorz Ferenc <[email protected]>
  • Loading branch information
greg-fer committed Jan 10, 2025
1 parent 852ae66 commit 8659c0b
Show file tree
Hide file tree
Showing 16 changed files with 257 additions and 9,271 deletions.
7 changes: 4 additions & 3 deletions doc/_utils/redirects.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,10 @@
("device_guides/working_with_nrf/nrf70/gs", "gsg_guides/nrf7002_gs"),
("device_guides/working_with_nrf/nrf53/nrf5340_gs", "gsg_guides"), # Getting started with nRF5340 DK (removed in v2.8.0)
("gsg_guides/nrf5340_gs", "gsg_guides"),
("ug_thingy53_gs", "gsg_guides/thingy53_gs"), # Getting started with Thingy:53
("working_with_nrf/nrf53/thingy53_gs", "gsg_guides/thingy53_gs"),
("device_guides/working_with_nrf/nrf53/thingy53_gs", "gsg_guides/thingy53_gs"),
("ug_thingy53_gs", "app_dev/device_guides/thingy53/thingy53_precompiled"), # Getting started with Thingy:53 (removed in v3.0.0)
("working_with_nrf/nrf53/thingy53_gs", "app_dev/device_guides/thingy53/thingy53_precompiled"),
("device_guides/working_with_nrf/nrf53/thingy53_gs", "app_dev/device_guides/thingy53/thingy53_precompiled"),
("gsg_guides/thingy53_gs", "app_dev/device_guides/thingy53/thingy53_precompiled"),
("ug_nrf52_gs", "gsg_guides"), # Getting started with nRF52 Series (removed in v2.8.0)
("working_with_nrf/nrf52/gs", "gsg_guides"),
("device_guides/working_with_nrf/nrf52/gs", "gsg_guides"),
Expand Down
89 changes: 86 additions & 3 deletions doc/nrf/app_dev/device_guides/thingy53/building_thingy53.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ The build process generates firmware in two formats:
For more information about files generated as output of the build process, see :ref:`app_build_output_files`.

See the following sections for details regarding building and programming the firmware for Thingy:53 in various environments.
See :ref:`thingy53_app_update` for more detailed information about updating firmware on Thingy:53.

.. _thingy53_build_pgm_targets_wifi:

Expand All @@ -64,6 +63,52 @@ For example, you can use the following command when building on the command line
For the compatible Wi-Fi samples in the |NCS|, see the :ref:`wifi_samples` section.

.. _thingy53_app_update:

Programming methods for Thingy:53
*********************************

You can program the firmware on the Nordic Thingy:53 using an external debug probe and 10-pin JTAG cable, using :ref:`Visual Studio Code <thingy53_build_pgm_vscode>`, :ref:`command line <thingy53_build_pgm_command_line>`, :ref:`command line <thingy53_build_pgm_command_line>`, or the `Programmer app <Programming Nordic Thingy:53_>`_ from nRF Connect for Desktop.
You can also program applications running on both the network and application core using the built-in MCUboot serial recovery mode, using the `Programmer app`_ from nRF Connect for Desktop or `nRF Util <Programming application firmware using MCUboot serial recovery_>`_.

Finally, you can use the `Programmer app`_ from nRF Connect for Desktop, the `nRF Programmer`_ mobile app for Android and iOS, or nRF Util to update the :ref:`preloaded application images <thingy53_precompiled>`.

.. _thingy53_app_update_debug:

Firmware update using external debug probe
==========================================

You can program the firmware on the Nordic Thingy:53 using an external debug probe and 10-pin JTAG cable.
In such cases, you can program the Thingy:53 the same way as nRF5340 DK.

The external debug probe must support Arm Cortex-M33 (such as the nRF5340 DK).
You need a 10-pin 2x5 socket-socket 1.27 mm IDC (:term:`Serial Wire Debug (SWD)`) JTAG cable to connect to the external debug probe.

This method is supported when programming with :ref:`Visual Studio Code <thingy53_build_pgm_vscode>`, :ref:`command line <thingy53_build_pgm_command_line>`, or the `Programmer app <Programming Nordic Thingy:53_>`_ from nRF Connect for Desktop.

See also :ref:`ug_nrf5340` for additional information.

.. _thingy53_app_update_mcuboot:

Firmware update using MCUboot bootloader
========================================

Samples and applications built for Thingy:53 include the MCUboot bootloader that you can use to update the firmware out of the box.
This method uses signed binary files :file:`app_update.bin` and :file:`net_core_app_update.bin` (or :file:`dfu_application.zip`).
You can program the precompiled firmware image using one of the following ways:

* Use the :doc:`MCUboot<mcuboot:index-ncs>` feature and the built-in serial recovery mode of Thingy:53.
In this scenario, the Thingy is connected directly to your PC through USB.
For details, refer to the :ref:`thingy53_app_mcuboot_bootloader` section.

See `Programming Nordic Thingy:53`_ in the `Programmer app`_ for the detailed procedures on how to program the Thingy:53 using nRF Connect for Desktop.
* Update the firmware over-the-air (OTA) using Bluetooth® LE and the nRF Programmer mobile application for Android or iOS.
To use this method, the application that is currently programmed on Thingy:53 must support it.
For details, refer to :ref:`thingy53_app_fota_smp` section.
All precompiled images support OTA using Bluetooth.

See the :ref:`thingy53_gs_updating_ble` section for the detailed procedures on how to program a Thingy:53 using the `nRF Programmer`_ mobile app for Android or iOS.

.. _thingy53_build_pgm_vscode:

Building and programming using |VSC|
Expand All @@ -80,8 +125,15 @@ Complete the following steps to build and program using the |nRFVSC|:
3. Program the sample or application:

a. Connect the Nordic Thingy:53 to the debug out port on a 10-pin external debug probe, for example nRF5340 DK, using a 10-pin JTAG cable.
#. Connect the external debug probe to the PC using a USB cable.

.. figure:: ./images/thingy53_nrf5340_dk.svg
:alt: Nordic Thingy:53 connected to the debug port on a 10-pin external debug probe

Nordic Thingy:53 connected to the debug port on a 10-pin external debug probe

#. Connect the external debug probe to the PC using a micro-USB cable.
#. Make sure that the Thingy:53 and the external debug probe are powered on.
(On the Thingy:53, move the power switch **SW1** to the **ON** position.)
#. Click :guilabel:`Flash` in the :guilabel:`Actions View`.

.. _thingy53_build_pgm_command_line:
Expand Down Expand Up @@ -119,12 +171,43 @@ To build and program the source code from the command line, complete the followi
#. Program the sample or application:

a. Connect the Nordic Thingy:53 to the debug out port on a 10-pin external debug probe, for example nRF5340 DK, using a 10-pin JTAG cable.
#. Connect the external debug probe to the PC using a USB cable.

.. figure:: ./images/thingy53_nrf5340_dk.svg
:alt: Nordic Thingy:53 connected to the debug port on a 10-pin external debug probe

Nordic Thingy:53 connected to the debug port on a 10-pin external debug probe

#. Connect the external debug probe to the PC using a micro-USB cable.
#. Make sure that the Nordic Thingy:53 and the external debug probe are powered on.
(On the Thingy:53, move the power switch **SW1** to the **ON** position.)
#. Use the following command to program the sample or application to the device:

.. code-block:: console
west flash
The device resets and runs the programmed sample or application.

.. _thingy53_gs_updating_usb:
.. _thingy53_gs_updating_external_probe:

Programming using the Programmer app
************************************

You can program the Nordic Thingy:53 using the `Programmer app`_ from nRF Connect for Desktop and MCUboot's serial recovery feature.
This application can also be used to program precompiled firmware packages.

You can program the Thingy:53 using the Programmer app using either USB-C or an external debug probe.
See the `Programming Nordic Thingy:53`_ in the tool documentation for detailed steps.

Programming using nRF Util
**************************

You can use the nRF Util utility to program Thingy:53, including programming precompiled firmware packages.
See `Programming application firmware using MCUboot serial recovery`_ in the tool documentation for detailed steps.

Using the nRF Programmer mobile app
***********************************

You can use the `nRF Programmer`_ mobile app on your Android or iOS device to program precompiled firmware packages.
For detailed steps, see :ref:`thingy53_gs_updating_ble`.
1 change: 1 addition & 0 deletions doc/nrf/app_dev/device_guides/thingy53/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,6 @@ The nRF5340 is augmented with the nRF21540 RF FEM (Front-end Module) Range exten
:maxdepth: 2
:caption: Subpages:

thingy53_precompiled
building_thingy53
thingy53_application_guide
Original file line number Diff line number Diff line change
Expand Up @@ -14,53 +14,15 @@ See the following sections for details of what is configured by default and what

.. _thingy53_serialports:

Connecting to Thingy:53
***********************
Connecting to Thingy:53 for logs
********************************

Applications and samples for the Nordic Thingy:53 use a serial terminal to provide logs.
By default, the serial terminal is accessible through the USB CDC ACM class handled by application firmware.
The serial port is visible right after the Thingy:53 is connected to the host using a USB cable.
The CDC ACM baudrate is ignored, and transfer goes with USB speed.

.. _thingy53_app_update:

Updating firmware image for Thingy:53
*************************************

You can program the firmware on the Nordic Thingy:53 using an external debug probe and 10-pin JTAG cable, as described in :ref:`thingy53_building_pgming`, using either :ref:`Visual Studio Code <thingy53_build_pgm_vscode>` or :ref:`command line <thingy53_build_pgm_command_line>`.
You can also update applications running on both the network and application core using the built-in MCUboot bootloader and the `Programmer app`_ for desktop or the `nRF Programmer`_ app for Android and iOS.
You can also update the prebuilt application images that way.

See :ref:`thingy53_gs_updating_firmware` for details about updating firmware image.

.. _thingy53_app_update_debug:

Firmware update using external debug probe
==========================================

If you are using an external debug probe, such as the nRF5340 DK, or any J-Link device supporting ARM Cortex-M33, you can program the Thingy:53 the same way as nRF5340 DK.
See :ref:`ug_nrf5340` for details.

.. _thingy53_app_update_mcuboot:

Firmware update using MCUboot bootloader
========================================

Samples and applications built for Thingy:53 include the MCUboot bootloader that you can use to update the firmware out of the box.
This method uses signed binary files :file:`app_update.bin` and :file:`net_core_app_update.bin` (or :file:`dfu_application.zip`).
You can program the precompiled firmware image using one of the following ways:

* Use the :doc:`MCUboot<mcuboot:index-ncs>` feature and the built-in serial recovery mode of Thingy:53.
In this scenario, the Thingy is connected directly to your PC through USB.
For details, refer to the :ref:`thingy53_app_mcuboot_bootloader` section.

See the :ref:`thingy53_gs_updating_usb` section in the :ref:`ug_thingy53_gs` guide for the detailed procedures on how to program the Thingy:53 using the `Programmer app`_.
* Update the firmware over-the-air (OTA) using Bluetooth® LE and the nRF Programmer mobile application for Android or iOS.
To use this method, the application that is currently programmed on Thingy:53 must support it.
For details, refer to :ref:`thingy53_app_fota_smp` section.
All precompiled images support OTA using Bluetooth.

See the :ref:`thingy53_gs_updating_ble` section in the :ref:`ug_thingy53_gs` guide for the detailed procedures on how to program a Thingy:53 using `nRF Programmer`_ for Android or iOS.
For more information, see :ref:`thingy53_app_usb`.

.. _thingy53_app_partition_manager_config:

Expand Down
113 changes: 113 additions & 0 deletions doc/nrf/app_dev/device_guides/thingy53/thingy53_precompiled.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
.. _thingy53_precompiled:
.. _thingy53_gs_updating_firmware:

Preloaded and precompiled Thingy:53 firmware
############################################

.. contents::
:local:
:depth: 2

The Nordic Thingy:53 comes preloaded with the following firmware:

* `Edge Impulse`_ application firmware
* MCUboot bootloader
* SoftDevice controller on the network core

This page describes how to connect with Edge Impulse Studio or update Nordic Thingy:53 with precompiled firmware provided by Nordic Semiconductor.

.. _thingy53_gs_machine_learning:

Connecting with Edge Impulse Studio
***********************************

The Nordic Thingy:53 is preprogrammed with Edge Impulse firmware.
The Edge Impulse firmware enables data collection from all the sensors on the Nordic Thingy:53.
You can use the collected data to train and test machine learning models.
Deploy the trained machine learning model to the Nordic Thingy:53 over Bluetooth LE or USB.

Complete the following steps to get started with Edge Impulse:

1. Go to the `Edge Impulse`_ website.
#. Create a free Edge Impulse account.
#. Download the `nRF Edge Impulse mobile app`_.
#. Follow the instructions in the `Nordic Semi Thingy:53 page`_.

Precompiled Thingy:53 firmware
******************************

If you want to program your Nordic Thingy:53 with other precompiled firmware, you can download the latest precompiled firmware from the following sources:

* The `Nordic Thingy:53 Downloads`_ page (the Precompiled application firmware section).
The package contains a :file:`CONTENTS.txt` file listing the locations and names of different firmware images.
* The `nRF Programmer`_ mobile application (available for Android and iOS).
The application lists the available precompiled firmware images when you open it.

.. _thingy53_gs_updating_ble:

Updating precompiled firmware
=============================

You can update the precompiled firmware using any of the following methods:

.. tabs::

.. tab:: Over Bluetooth LE using nRF Programmer

You can update the Nordic Thingy:53 application and network core over Bluetooth LE using the nRF Programmer mobile application for Android or iOS.

Complete these steps to update the firmware:

1. Open the nRF Programmer app.

A list of available samples appears.

.. figure:: ./images/thingy53_sample_list.png
:alt: nRF Programmer - list of samples

nRF Programmer - list of samples

#. Select a sample.

Application info appears.

.. figure:: ./images/thingy53_application_info.png
:alt: nRF Programmer - Application Info

nRF Programmer - Application Info

#. Select the version of the sample from the drop-down menu.
#. Tap :guilabel:`Download`.

When the download is complete, the name of the button changes to :guilabel:`Install`.
#. Tap :guilabel:`Install`.

A list of nearby devices and their signal strengths appears.
#. Select your Nordic Thingy:53 from the list.
It is listed as **El Thingy:53**.

The transfer of the firmware image starts, and a progress wheel appears.

.. figure:: ./images/thingy53_progress_wheel.png
:alt: nRF Programmer - progress wheel

nRF Programmer - progress wheel

If you want to pause the update process, tap :guilabel:`Pause`.
If you want to stop the update process, tap :guilabel:`Stop`.

The image transfer is complete when the progress wheel reaches 100%.
The Nordic Thingy:53 is reset and updated to the new firmware sample.
#. Tap :guilabel:`Done` to return to Application info.

.. tab:: Over USB using the Programmer app

See the `Programming Nordic Thingy:53`_ in the tool documentation for detailed steps.

.. tab:: With an external debug probe using the Programmer app

See the `Programming Nordic Thingy:53`_ in the tool documentation for detailed steps.

.. tab:: Using nRF Util

See `Programming application firmware using MCUboot serial recovery`_ in the tool documentation for more information.
Loading

0 comments on commit 8659c0b

Please sign in to comment.