diff --git a/.github/workflows/balena-app.yml b/.github/workflows/balena-app.yml
index 26a1e25..fec18c1 100644
--- a/.github/workflows/balena-app.yml
+++ b/.github/workflows/balena-app.yml
@@ -19,7 +19,7 @@ jobs:
       - name: Random sleep (balena API workaround)
         run:  sleep $[ ( $RANDOM % 600 ) + 1 ]s
       - name: Balena Deploy
-        uses: nebraltd/balena-cli-action@v16.7.6
+        uses: nebraltd/balena-cli-action@v17.1.1
         with:
           balena_api_token: ${{secrets.BALENA_API_TOKEN}}
           balena_command: "deploy nebraltd/helium-${{ env.miner }}-app --debug --nocache --build"
diff --git a/.github/workflows/build-open-fleet.yml b/.github/workflows/build-open-fleet.yml
index 1642888..a9bd961 100644
--- a/.github/workflows/build-open-fleet.yml
+++ b/.github/workflows/build-open-fleet.yml
@@ -6,15 +6,17 @@ on:
   workflow_dispatch:
 
 env:
-  balena-cli: v16.7.6
-  raspberrypi3-64: 3.1.12
-  raspberrypi4-64: 3.1.12
+  balena-cli: v17.1.1
+  raspberrypi3-64: 4.0.7
+  raspberrypi4-64: 4.0.7
   raspberrypicm4-ioboard: 2.112.12
   rockpi-4b-rk3399: 2.108.25+rev1
   balena-bobcat-px30-image: 2023.07.17
   bobcat-px30: 2.115.3
   balena-bobcat-rk3566-image: 2023.08.15
   bobcat-rk3566: 2.115.3
+  balena-linxdot-rk3566-image: 2023.08.15
+  linxdot-rk3566: 2.115.3
   cloud: nebra-cloud
 
 jobs:
@@ -155,6 +157,16 @@ jobs:
           target: 'images/balena-base-${{ github.event.repository.name }}.img.zip'
           token: ${{ secrets.MR_BUMP }}
 
+      - name: Download Linxdot RK3566 base Balena OS image
+        uses: dsaltares/fetch-gh-release-asset@master
+        if: github.event.repository.name == 'helium-linxdot-rk3566' && env.BRANCH == 'master'
+        with:
+          repo: 'NebraLtd/balena-linxdot-rk3566'
+          version: 'tags/${{ env.balena-linxdot-rk3566-image }}'
+          file: 'balena-image-linxdot-rk3566-${{ env.balena-linxdot-rk3566-image }}.img.zip'
+          target: 'images/balena-base-${{ github.event.repository.name }}.img.zip'
+          token: ${{ secrets.MR_BUMP }}
+
       - name: Generate a Balena OS image for the given board, variant, frequency
         if: env.BRANCH == 'master'
         run: |
@@ -204,6 +216,9 @@ jobs:
           elif [ ${{ github.event.repository.name }} == 'helium-bobcat-rk3566' ] ; then
             balena_os="rockpro64"
             balena_os_version="${{ env.bobcat-rk3566 }}"
+          elif [ ${{ github.event.repository.name }} == 'helium-linxdot-rk3566' ] ; then
+            balena_os="nanopc-t4"
+            balena_os_version="${{ env.linxdot-rk3566 }}"
           elif [ ${{ env.ROCKPI }} == 'YES' ] ; then
             balena_os="rockpi-4b-rk3399"
             balena_os_version="${{ env.rockpi-4b-rk3399 }}"
@@ -219,7 +234,7 @@ jobs:
           fi
 
           if $NODRYRUN ; then
-            if [ ${{ github.event.repository.name }} != 'helium-bobcat-px30' ] && [ ${{ github.event.repository.name }} != 'helium-bobcat-rk3566' ]; then
+            if [ ${{ github.event.repository.name }} != 'helium-bobcat-px30' ] && [ ${{ github.event.repository.name }} != 'helium-bobcat-rk3566' ] && [ ${{ github.event.repository.name }} != 'helium-linxdot-rk3566' ]; then
               # Download the base image
               balena os download "$balena_os" \
                 -o "$base_image_path" \
@@ -281,7 +296,7 @@ jobs:
           fi
 
           if $NODRYRUN ; then
-            if  [ ${{ github.event.repository.name }} != 'helium-bobcat-px30' ] && [ ${{ github.event.repository.name }} != 'helium-bobcat-rk3566' ]; then
+            if  [ ${{ github.event.repository.name }} != 'helium-bobcat-px30' ] && [ ${{ github.event.repository.name }} != 'helium-bobcat-rk3566' ] && [ ${{ github.event.repository.name }} != 'helium-linxdot-rk3566' ]; then
               balena os configure "$image_path" \
                 --fleet "nebraltd/$fleet_name" \
                 --config-network ethernet \
@@ -315,7 +330,7 @@ jobs:
             sudo balena config inject $final_json_filename --drive "$image_path"
           fi
 
-          if  [ ${{ github.event.repository.name }} == 'helium-bobcat-px30' ] || [ ${{ github.event.repository.name }} == 'helium-bobcat-rk3566' ]; then
+          if  [ ${{ github.event.repository.name }} == 'helium-bobcat-px30' ] || [ ${{ github.event.repository.name }} == 'helium-bobcat-rk3566' ] || [ ${{ github.event.repository.name }} == 'helium-linxdot-rk3566' ]; then
             # Overwrite device type from bobcat specific to balena specific
             if $VERBOSE ; then
               echo "Overwriting device-type"
@@ -331,6 +346,8 @@ jobs:
                 sudo sed -i 's/"slug": "bobcat-px30"/"slug": "isg-503"/' ${tmpdir}/device-type.json
               elif [ ${{ github.event.repository.name }} == 'helium-bobcat-rk3566' ]; then
                 sudo sed -i 's/"slug": "bobcat-rk3566"/"slug": "rockpro64"/' ${tmpdir}/device-type.json
+              elif [ ${{ github.event.repository.name }} == 'helium-linxdot-rk3566' ]; then
+                sudo sed -i 's/"slug": "linxdot-rk3566"/"slug": "nanopc-t4"/' ${tmpdir}/device-type.json
               fi
 
               sudo umount ${tmpdir}
diff --git a/.github/workflows/update-files.yml b/.github/workflows/update-files.yml
index 3cc9eb9..5033a9b 100644
--- a/.github/workflows/update-files.yml
+++ b/.github/workflows/update-files.yml
@@ -46,7 +46,7 @@ jobs:
             wget https://raw.githubusercontent.com/NebraLtd/helium-miner-software/production/balena/config/config.txt.syncrobit -O config.txt
           elif [ $miner == 'risinghf' ] ; then
             wget https://raw.githubusercontent.com/NebraLtd/helium-miner-software/production/balena/config/config.txt.risinghf -O config.txt
-          elif [ $miner == 'nebra-indoor2' ] || [ $miner == 'nebra-outdoor2' ] || [ $miner == 'linxdot-rkcm3' ] || [ $miner == 'syncrobit-rkcm3' ] || [ $miner == 'bobcat-px30' ] || [ $miner == 'bobcat-rk3566' ] ; then
+          elif [ $miner == 'nebra-indoor2' ] || [ $miner == 'nebra-outdoor2' ] || [ $miner == 'linxdot-rk3566' ] || [ $miner == 'syncrobit-rkcm3' ] || [ $miner == 'bobcat-px30' ] || [ $miner == 'bobcat-rk3566' ] ; then
             echo "No config.txt file needed - not RasPi based."
           else
             wget https://raw.githubusercontent.com/NebraLtd/helium-miner-software/production/balena/config/config.txt.rak -O config.txt
@@ -105,7 +105,7 @@ jobs:
             wget https://raw.githubusercontent.com/NebraLtd/helium-miner-software/master/balena/config/config.txt.syncrobit -O config.txt
           elif [ $miner == 'risinghf' ] ; then
             wget https://raw.githubusercontent.com/NebraLtd/helium-miner-software/master/balena/config/config.txt.risinghf -O config.txt
-          elif [ $miner == 'nebra-indoor2' ] || [ $miner == 'nebra-outdoor2' ] || [ $miner == 'linxdot-rkcm3' ] || [ $miner == 'syncrobit-rkcm3' ] || [ $miner == 'bobcat-px30' ] || [ $miner == 'bobcat-rk3566' ] ; then
+          elif [ $miner == 'nebra-indoor2' ] || [ $miner == 'nebra-outdoor2' ] || [ $miner == 'linxdot-rk3566' ] || [ $miner == 'syncrobit-rkcm3' ] || [ $miner == 'bobcat-px30' ] || [ $miner == 'bobcat-rk3566' ] ; then
             echo "No config.txt file needed - not RasPi based."
           else
             wget https://raw.githubusercontent.com/NebraLtd/helium-miner-software/master/balena/config/config.txt.rak -O config.txt
diff --git a/workflows/update-action-prod.yml b/workflows/update-action-prod.yml
index e32e079..f5b0d07 100644
--- a/workflows/update-action-prod.yml
+++ b/workflows/update-action-prod.yml
@@ -59,7 +59,7 @@ jobs:
 
       - name: Balena Deploy
         if: env.LATEST == 'FALSE'
-        uses: nebraltd/balena-cli-action@v16.7.6
+        uses: nebraltd/balena-cli-action@v17.1.1
         with:
           balena_api_token: ${{secrets.BALENA_API_TOKEN}}
           balena_command: "deploy ${{ env.fleet }} --debug --nocache --build"
diff --git a/workflows/update-action-test.yml b/workflows/update-action-test.yml
index 7a16b0f..8452aee 100644
--- a/workflows/update-action-test.yml
+++ b/workflows/update-action-test.yml
@@ -59,7 +59,7 @@ jobs:
 
       - name: Balena Deploy
         if: env.LATEST == 'FALSE'
-        uses: nebraltd/balena-cli-action@v16.7.6
+        uses: nebraltd/balena-cli-action@v17.1.1
         with:
           balena_api_token: ${{secrets.BALENA_API_TOKEN}}
           balena_command: "deploy ${{ env.fleet }} --debug --nocache --build"