`
+
+{{< figure src="ngrok-webhook.png" alt="Webhook settings for ngrok" >}}
+
+5. In **Enabled event types** select `Uplink message` and `Join request`. You can also select all message types.
+
+6. Click **Add webhook**.
+
+#### Sending Uplinks
+
+If all the previous steps were successful, you now have a local HTTP server to which {{% tts %}} will forward uplink data via Webhooks. To test this, press the button on your end device. The HTTP Server will log this uplink JSON. An example is shown below.
+
+```bash
+INFO : Received device data
+INFO : {
+ "end_device_ids": {
+ "device_id": "eui-70b3d52dd600035a",
+ "application_ids": {
+ "application_id": "starter-kit"
+ },
+ "dev_eui": "70B3D52DD600035A",
+ "join_eui": "EC656E0000000001",
+ "dev_addr": "27FE87F6"
+ },
+ "correlation_ids": [
+ "gs:uplink:01JRZ767CVCHBZW1Y8YG9PZ3TS"
+ ],
+ "received_at": "2025-04-16T11:54:13.995136483Z",
+ "uplink_message": {
+ "session_key_id": "aAixKtmNZUKQXd4GqpHDsw==",
+ "f_port": 2,
+ "f_cnt": 14,
+ "frm_payload": "sQAAEAHlANcB",
+ "decoded_payload": {
+ "batteryVoltage": 3.4,
+ "pressEvent": 1,
+ "sensorTemperature": 21.5,
+ "singlePressEventCounter": 16,
+ "thermistorProperlyConnected": true
+ },
+ "rx_metadata": [
+ {
+ "gateway_ids": {
+ "gateway_id": "ttig-52ec",
+ "eui": "58A0CBFFFE8052EC"
+ },
+ "time": "2025-04-16T11:54:13.697237014Z",
+ "timestamp": 1276394164,
+ "rssi": -31,
+ "channel_rssi": -31,
+ "snr": 9.5,
+ "uplink_token": "ChcKFQoJdHRpZy01MmVjEghYoMv//oBS7BC09dDgBBoMCOW0/r8GEO6mnPcCIKCelfiSJQ==",
+ "received_at": "2025-04-16T11:54:13.758247461Z"
+ }
+ ],
+ "settings": {
+ "data_rate": {
+ "lora": {
+ "bandwidth": 125000,
+ "spreading_factor": 7,
+ "coding_rate": "4/5"
+ }
+ },
+ "frequency": "867700000",
+ "timestamp": 1276394164,
+ "time": "2025-04-16T11:54:13.697237014Z"
+ },
+ "received_at": "2025-04-16T11:54:13.787593298Z",
+ "confirmed": true,
+ "consumed_airtime": "0.061696s",
+ "version_ids": {
+ "brand_id": "mclimate",
+ "model_id": "mc-button",
+ "hardware_version": "1.2",
+ "firmware_version": "1.2",
+ "band_id": "EU_863_870"
+ },
+ "network_ids": {
+ "net_id": "000013",
+ "ns_id": "EC656E000010181D",
+ "tenant_id": "docs-test-account",
+ "cluster_id": "eu1",
+ "cluster_address": "eu1.cloud.thethings.industries",
+ "tenant_address": "docs-test-account.eu1.cloud.thethings.industries"
+ },
+ "last_battery_percentage": {
+ "f_cnt": 14,
+ "value": 90.118576,
+ "received_at": "2025-04-16T11:54:13.787593298Z"
+ }
+ }
+}
+```
+
+{{< /tabs/tab >}}
+
+{{< /tabs/container >}}
+
+Now that we have experimented with different methods of collecting uplinks, let's use {{% tts %}} to send downlink messages to the end device.
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/config.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/config.png
new file mode 100644
index 0000000000..04712af698
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/config.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-api-token.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-api-token.png
new file mode 100644
index 0000000000..19f9933cf9
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-api-token.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-data.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-data.png
new file mode 100644
index 0000000000..36116ab18c
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-data.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-webhook.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-webhook.png
new file mode 100644
index 0000000000..e0ee47ec03
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/datacake-webhook.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/device-details.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/device-details.png
new file mode 100644
index 0000000000..7cbd8ec864
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/device-details.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/lorawan-device.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/lorawan-device.png
new file mode 100644
index 0000000000..6b40173352
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/lorawan-device.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/mclimate-button.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/mclimate-button.png
new file mode 100644
index 0000000000..f165848027
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/mclimate-button.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/ngrok-webhook.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/ngrok-webhook.png
new file mode 100644
index 0000000000..9fa4bf69a6
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/ngrok-webhook.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-disabled.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-disabled.png
new file mode 100644
index 0000000000..490564436d
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-disabled.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-enabled.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-enabled.png
new file mode 100644
index 0000000000..189024c132
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-enabled.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-filled.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-filled.png
new file mode 100644
index 0000000000..4f6a4c6516
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/storage-filled.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/tts.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/tts.png
new file mode 100644
index 0000000000..404836acb2
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/tts.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/url.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/url.png
new file mode 100644
index 0000000000..077c62b94a
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/url.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-created.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-created.png
new file mode 100644
index 0000000000..6f2bcf0a83
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-created.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-event-types.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-event-types.png
new file mode 100644
index 0000000000..586b90e5a0
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-event-types.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-general-settings.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-general-settings.png
new file mode 100644
index 0000000000..4f94d9ca6c
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-general-settings.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-healthy.png b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-healthy.png
new file mode 100644
index 0000000000..dddba1c04d
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/collect-visualize-data/wh-healthy.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/control-remotely/_index.md b/doc/content/getting-started/3-try-starter-kit/control-remotely/_index.md
new file mode 100644
index 0000000000..7f8cbe7b69
--- /dev/null
+++ b/doc/content/getting-started/3-try-starter-kit/control-remotely/_index.md
@@ -0,0 +1,78 @@
+---
+title: "Step 3: Remotely control the end device behavior"
+description: ""
+weight: 3
+---
+
+LoRaWAN® is a full-duplex protocol, which means that we can both receive data from and send data to the end device. So far, we've only worked with uplink data from the end device. In this guide, let's look at interacting with the end device using downlinks.
+
+
+
+The mClimate Multipurpose button is a Class A device. This is a special mode of operation where the end device listens for downlinks only after sending an uplink. This allows the end device to control when the radio is turned on, which helps preserve battery.
+
+This means, when you schedule a downlink via {{% tts %}}, it's not immediately sent, but queued until the device sends an uplink.
+
+In {{% tts %}} Console, select your application and navigate to the end device overview page.
+
+Select the **Messaging** tab. The default option here is **Schedule Downlink** and that's what we are going to use.
+
+In {{% tts %}} Console, select your application and go to the end device overview.
+
+Click the **Messaging** tab. The default option is **Schedule Downlink**. We’ll use that to send a message to the device.
+
+{{< figure src="downlink-view.png" alt="Downlink view" >}}
+
+This view has a few options. For the sake of this example, we can leave the following defaults in place.
+
+- **Insert mode**: `Replace downlink queue`
+- **FPort**: `1`
+- **Payload type**: `Bytes`
+
+We will only be adding different values to the **Payload** field for different types of downlinks.
+
+#### Activate LEDs
+
+In this example, we will make the **Green** LED blink fast for 20 seconds remotely.
+
+1. Enter the value `05 02 02` in the **Payload** field and press **Schedule Downlink** and this downlink will be queued.
+
+{{< figure src="blink-green.png" alt="Blink Green LED" >}}
+
+2. Now, press the button on the end device. This will trigger an uplink to the {{% tts %}} and {{% tts %}} in turn will send this downlink to the device via the gateway.
+
+3. The Green LED button should now blink for 20s and then turn off. You can experiment with different button configurations from the table above.
+
+#### Request Hardware and Software Version
+
+Now, let's move on to more practical use cases for sending downlinks to end devices. We are now going to request the hardware and software version of the end device.
+
+1. Enter the value `04` in the **Payload** field and press **Schedule Downlink**.
+2. Press the button. The device will send an uplink and receive the downlink command.
+3. The device will now send another uplink with the device version in the payload. You can see these values in the decoded payload.
+
+{{< figure src="hardware-version.png" alt="Hardware Version" >}}
+
+#### Fetch Stored Button Press Counters
+
+The mClimate Multipurpose button for LoRaWAN stores button press event counters; i.e., how many times the button was single pressed, double pressed and triple pressed.
+
+
+
+| Payload value | Counter type |
+| ------------- | -------------------- |
+| 0xB1 | Single press counter |
+| 0xB2 | Double press counter |
+| 0xB3 | Triple press counter |
+
+
+
+
+1. Let's first fetch the single press counter. Enter the value `b1` in the **Payload** field and press **Schedule Downlink**.
+2. Press the button. The device will send an uplink and receive the downlink command.
+3. The device will now send another uplink with the counter value in the payload. You can see the counter value in the decoded payload.
+
+{{< figure src="single-press-counter.png" alt="Single press counter" >}}
+
+You can explore this further by double pressing and triple pressing the button and fetching the corresponding counter.
+
+Now that you're familiar with LoRaWAN and have seen it in action, check out what the [next steps]({{< ref "/getting-started/4-next-steps" >}}) are.
diff --git a/doc/content/getting-started/3-try-starter-kit/control-remotely/blink-green.png b/doc/content/getting-started/3-try-starter-kit/control-remotely/blink-green.png
new file mode 100644
index 0000000000..7f4270e1d5
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/control-remotely/blink-green.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/control-remotely/downlink-view.png b/doc/content/getting-started/3-try-starter-kit/control-remotely/downlink-view.png
new file mode 100644
index 0000000000..5a70d634dc
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/control-remotely/downlink-view.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/control-remotely/hardware-version.png b/doc/content/getting-started/3-try-starter-kit/control-remotely/hardware-version.png
new file mode 100644
index 0000000000..bd50e7ed78
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/control-remotely/hardware-version.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/control-remotely/single-press-counter.png b/doc/content/getting-started/3-try-starter-kit/control-remotely/single-press-counter.png
new file mode 100644
index 0000000000..534e4c6f74
Binary files /dev/null and b/doc/content/getting-started/3-try-starter-kit/control-remotely/single-press-counter.png differ
diff --git a/doc/content/getting-started/3-try-starter-kit/troubleshooting/_index.md b/doc/content/getting-started/3-try-starter-kit/troubleshooting/_index.md
new file mode 100644
index 0000000000..02c416ff9d
--- /dev/null
+++ b/doc/content/getting-started/3-try-starter-kit/troubleshooting/_index.md
@@ -0,0 +1,33 @@
+---
+title: "Troubleshooting"
+description: ""
+---
+
+This page lists solutions to common issues.
+
+
+
+#### The end device does not join. What do I do now?
+
+1. Make sure the gateway is connected and online. You can check this in the Gateway overview page in the {{% tts %}} console.
+2. Check that the end device is at least 1-2 meters away from the gateway.
+3. Wait for a few minutes before pressing the button.
+
+#### What else can I do with end device downlinks?
+
+The following table explains the available options for different types of downlinks
+
+##### Controlling LED Behavoir
+
+
+
+| Byte Number | Value and Meaning |
+| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 0 | 0x05 |
+| 1 | 0x01 - Turn the LED ON;
02 - Blink fast (100ms on, 100ms off);
03 - Blink slow (100ms on, 1000ms off);
04 - Turn the LED OFF. |
+| 2 | XX - Duration for the LED behavior.
Duration, [seconds] = XX \* 10.
If zero, do it until next LED related command is received
or the verify button is pressed. |
+
+
+
+
+The mClimate Multipurpose button has a few other downlink options that you can explore. The full downlink reference can be found on [mClimate's documentation page](https://docs.mclimate.eu/mclimate-lorawan-devices/devices/mclimate-multipurpose-button-lorawan/mclimate-button-lorawan-device-communication-protocol).
diff --git a/doc/content/getting-started/next-steps/_index.md b/doc/content/getting-started/4-next-steps/_index.md
similarity index 72%
rename from doc/content/getting-started/next-steps/_index.md
rename to doc/content/getting-started/4-next-steps/_index.md
index d8d57256fb..fb30d3f076 100644
--- a/doc/content/getting-started/next-steps/_index.md
+++ b/doc/content/getting-started/4-next-steps/_index.md
@@ -1,19 +1,17 @@
---
-title: "Next steps"
+title: "Step 4: Next steps"
description: ""
weight: 4
+aliases: [/getting-started/next-steps]
---
-Once you have your first LoRaWAN® Network setup, here are the next steps.
+Now that you are familiar with the basics of LoRaWAN and you've setup your first network and experimented with an end device and a gateway, this guide gives you some options on what to do next.
-1. Get {{% ttigpro %}} or any other LoRa® gateway
-2. [Connect the gateway]({{< ref "/hardware/gateways/concepts/adding-gateways" >}}) to your netowrk.
-3. [Add LoRaWAN end devices]({{< ref "/hardware/devices/adding-devices" >}}) to send LoRaWAN traffic to your network.
-4. [Create an integration]({{< ref "integrations" >}}) to send your LoRaWAN sensor data to external integrations or to your own private server.
-5. Learn how to get the most out of [{{% tts %}}]({{< ref "/enterprise/" >}}).
-6. Check out the [Glossary]({{< ref "/getting-started/glossary" >}}) for a disambiguation of some of these terms and [FAQ]({{< ref "/getting-started/faq" >}}).
+1. [Add other LoRaWAN end devices]({{< ref "/hardware/devices/adding-devices" >}}) to send LoRaWAN traffic to your network.
+2. Learn how to get the most out of [{{% tts %}}]({{< ref "/enterprise/" >}}).
+3. Check out the [Glossary]({{< ref "/getting-started/glossary" >}}) for a disambiguation of some of these terms and [FAQ]({{< ref "/getting-started/faq" >}}).
## Learn more
diff --git a/doc/content/getting-started/_index.md b/doc/content/getting-started/_index.md
index e4289d4185..3e2df87da3 100644
--- a/doc/content/getting-started/_index.md
+++ b/doc/content/getting-started/_index.md
@@ -1,6 +1,6 @@
---
title: "Getting Started"
-description: "Learn how to quickly get started with The Things Stack"
+description: "Learn how to quickly get started with LoRaWAN®"
menu:
main:
weight: 1
@@ -10,18 +10,19 @@ aliases:
/guides/getting-started/running-the-stack,
/guides/getting-started/quick-start,
/getting-started/quick-start/,
- /getting-started/what-is-tts/
+ /getting-started/what-is-tts/,
]
---
-{{% tts %}} is an enterprise-grade LoRaWAN® Network Server that provides services and tools to securely install and manage millions of LoRaWAN devices in production.
+Welcome to {{% tts %}} documentation! {{% tts %}} is enterprise-grade LoRaWAN® network software that provides services and tools to securely install and manage millions of LoRaWAN devices in production.
-This getting started section is divided into the following parts. You can either read these sequentially or skip ahead to the specific guide that you are looking for.
+This guide is structured in four steps.
-We first introduce basic [LoRaWAN]({{< relref "lorawan-basics" >}}) concepts. If you are very new to LoRaWAN, this is the place to start.
+1. [Step 1: Learn basic concepts of LoRaWAN]({{< ref "/getting-started/1-understand-lorawan" >}})
+2. [Step 2: Setup prerequisites]({{< ref "/getting-started/2-prerequisites" >}})
+3. [Step 3: Try the Starter Kit for LoRaWAN]({{< ref "/getting-started/3-try-starter-kit" >}})
+4. [Step 4: Next steps]({{< ref "/getting-started/4-next-steps" >}})
-We then introduce [{{% tts %}}]({{< relref "the-things-stack-basics" >}}) and its numerous features.
+This guide additionally contains an [FAQ]({{< ref "/getting-started/faq" >}}) and a [glossary]({{< ref "/getting-started/glossary" >}}) to provide quick answers to frequently asked questions and definitions of key LoRaWAN terms.
-With these basics covered, we can now [setup your first LoRaWAN network]({{< relref "setup-first-network" >}}).
-
-Finally, since LoRaWAN and {{% tts %}} are deep topics, we provide suggestions on the [next steps]({{< relref "next-steps" >}}).
+Let's get started with [Step 1]({{< ref "/getting-started/1-understand-lorawan" >}}).
diff --git a/doc/content/getting-started/faq/_index.md b/doc/content/getting-started/faq/_index.md
index c7b6769c55..941f3f28b3 100644
--- a/doc/content/getting-started/faq/_index.md
+++ b/doc/content/getting-started/faq/_index.md
@@ -1,7 +1,7 @@
---
title: "FAQ"
-description: ""
-weight: 5
+description: "Frequently asked questions about LoRaWAN® and The Things Stack"
+weight: 8
---
Check out frequently asked question about {{% tts %}} and learn how to get the most out of your deployment.
diff --git a/doc/content/getting-started/glossary/_index.md b/doc/content/getting-started/glossary/_index.md
index bf1831323b..4093ecf435 100644
--- a/doc/content/getting-started/glossary/_index.md
+++ b/doc/content/getting-started/glossary/_index.md
@@ -2,6 +2,7 @@
title: "Glossary"
description: "Common terms and definitions"
aliases: [/reference/glossary]
+weight: 9
---
This reference contains common terms and definitions to help you find your way around {{% tts %}}.
diff --git a/doc/content/getting-started/lorawan-basics/_index.md b/doc/content/getting-started/lorawan-basics/_index.md
deleted file mode 100644
index db2299210a..0000000000
--- a/doc/content/getting-started/lorawan-basics/_index.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-title: "LoRaWAN"
-description: ""
-weight: 1
----
-
-This guide briefly explains the architecture and key concepts of a LoRaWAN® network.
-
-
-
-LoRa is a wireless modulation technique derived from Chirp Spread Spectrum (CSS) technology. It encodes information on radio waves using chirp pulses - similar to the way dolphins and bats communicate! LoRa modulated transmission is robust against disturbances and can be received across great distances.
-
-LoRaWAN is a Media Access Control (MAC) layer protocol built on top of LoRa modulation. It is a software layer which defines how devices use the LoRa hardware, for example when they transmit, and the format of messages.
-
-The LoRaWAN protocol is developed and maintained by the LoRa Alliance. The first LoRaWAN specification was released in January 2015. At the time of this writing the latest specifications are 1.0.4 (in 1.0 series) and 1.1 (1.1 series).
-
-### Architecture
-
-{{< figure src="architecture.png" alt="LoRaWAN architecture" >}}
-
-A typical LoRaWAN network consists of the following basic elements.
-
-**End Devices**
- - Sensors or actuators send LoRa modulated wireless messages to the gateways or receive messages wirelessly back from the gateways.
-
-**Gateways**
- - Specialized devices that receive messages from end devices and forward them to the Network Server, as well as forward messages from the Network Server to the end devices.
-
-**Network Server**
- - A piece of software running on a server that manages the entire network.
- - Also referred to as LoRaWAN Network Server/LNS or simply Network software.
-
-**Application servers**
- - A piece of software running on a server that is responsible for securely processing application data.
-
-### Message Flow
-
-End devices communicate with nearby gateways and each gateway is connected to the Network Server.
-
-LoRaWAN networks use an ALOHA based protocol, so end devices don’t need to pair with specific gateways. Messages sent from end devices travel through all gateways within range.
-
-These messages are received by the Network Server. If the Network Server has received multiple copies of the same message, it keeps a single copy of the message and discards others. This is known as message deduplication.
-
-The Network Server separates the network settings related data from the separately-encrypted application (sensor) data and forwards the latter to the application server.
-
-The Application Server decrypts the application data and makes is available to the user via a multitude of options.
-
-The messages that originates from an end device are called an Uplinks.
-
-Messages flowing in the opposite direction (originating from the Network Server and/or Application Server and sent to end devices) are called Downlinks.
-
-{{< note "Sensor networks in LoRaWAN are deployed in a star-of-stars topology." />}}
-
-### Security
-
-All LoRaWAN data is encrypted using AES-128 symmetric keys. All devices have one or two unique AES-128 keys called the "root keys" associated with them, depending on the version of LoRaWAN they use.
-
-These root keys are used to derive separate keys for the application data and network data.
-
-Application data is encrypted using one of these derived keys. This key is known only to the Application Server and the End Device.
-
-Network (settings) data is encrypted using different key(s). These keys are known only to the Network Server and the End Device.
-
-{{< note "These keys are called Session Keys since they are rotated when a device session changes. Device sessions are a much deeper topic and is omitted from this basic guide in the interest of simplicity. See [LoRaWAN Security](https://www.thethingsnetwork.org/docs/lorawan/security/) for more information." />}}
-
diff --git a/doc/content/getting-started/lorawan-basics/architecture.png b/doc/content/getting-started/lorawan-basics/architecture.png
deleted file mode 100644
index 5ebeab01fc..0000000000
Binary files a/doc/content/getting-started/lorawan-basics/architecture.png and /dev/null differ
diff --git a/doc/content/getting-started/the-things-stack-basics/_index.md b/doc/content/getting-started/the-things-stack-basics/_index.md
deleted file mode 100644
index a5cebd5e20..0000000000
--- a/doc/content/getting-started/the-things-stack-basics/_index.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: "The Things Stack"
-description: ""
-weight: 2
-aliases: [/getting-started/what-is-tts/]
----
-
-{{% tts %}} is a LoRaWAN® Network Server stack which is the critical component for any LoRaWAN solution. This guide quickly gets the reader up to speed with the basics of {{% tts %}}.
-
-
-
-{{% tts %}} is an enterprise grade LoRaWAN server (that includes both the Network Server and Application Server functions mentioned in the LoRaWAN Reference architecture). In addition, {{% tts %}} contains services and tools to securely manage millions of LoRaWAN devices in production.
-
-{{% tts %}} offers the following options for LoRaWAN deployments in production.
-
-- {{< distributions "Cloud" >}} [{{% tts %}} Cloud]({{< relref "cloud" >}}): Our flagship, fully-managed, SLA-backed cloud subscription helping hundreds of companies around the world.
- By using {{% tts %}} Cloud, you can focus on providing value to your customers, while leaving the complexity of managing a production LoRaWAN Network Server to us. You can start evaluating {{% tts %}} Cloud by [signing up for the free discovery tier]({{< relref "setup-first-network" >}}) to get started.
-
-- {{< distributions "Enterprise" >}}[{{% tts %}} Enterprise]({{< relref "enterprise" >}}): Alternatively, if you prefer to take on the responsibility of installing and maintaining {{% tts %}} in addition to managing your LoRaWAN device fleet, {{% tts %}} is available to be installed on your own hardware or cloud infrastructure.
-
-For simple non-commercial projects and local testing, there are a few options.
-
-- {{< distributions "Sandbox" >}}[{{% ttss %}}]({{< relref "ttn" >}}): A free and limited version of {{% tts %}} _without any guarantees or SLA_ available to The Things Network community for non-commercial, small scale testing and experimentation.
-
-- {{< distributions "Open Source" >}}[{{% tts %}} Open Source](https://github.com/thethingsnetwork/lorawan-stack): For the DIY’ers, the core features of The Things Stack are open source. This is limited in features and is not suitable for production.
-
-{{% tts %}} is developed and maintained by [The Things Industries](https://thethingsindustries.com/).
-
-Now that we've covered some basics, let's go ahead and setup your first LoRaWAN network.
diff --git a/doc/themes/the-things-stack/layouts/index.html b/doc/themes/the-things-stack/layouts/index.html
index 9a6a65c8b7..59db8f840c 100644
--- a/doc/themes/the-things-stack/layouts/index.html
+++ b/doc/themes/the-things-stack/layouts/index.html
@@ -11,7 +11,7 @@ The Things Stack Documentation
The Things Stack is a robust, yet flexible LoRaWAN® Network Server that caters to the needs of demanding LoRaWAN deployments, from covering the essentials to advanced security configurations and device life cycle management.
{{ $lorawanbasics := dict "link" "Get to know LoRaWAN®" "url" (.Site.GetPage "/getting-started/lorawan-basics").RelPermalink}}
- {{ $lorawannetwork := dict "link" "Set up your first LoRaWAN® network" "url" (.Site.GetPage "/getting-started/setup-first-network").RelPermalink}}
+ {{ $lorawannetwork := dict "link" "Set up your first LoRaWAN® network" "url" (.Site.GetPage "/getting-started/2-prerequisites").RelPermalink}}
{{ $addgateways := dict "link" "Connect your first gateway" "url" (.Site.GetPage "/hardware/gateways/concepts/adding-gateways").RelPermalink}}
{{ $adddevice := dict "link" "Add your first device" "url" (.Site.GetPage "/hardware/devices/adding-devices").RelPermalink}}
{{ $certified := dict "link" "Get certified" "url" "https://www.thethingsnetwork.org/achievements"}}