diff --git a/mbed6/.gitignore b/mbed6/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..3c20f054a225cf6d3338f786a52e8878a77af2bb
--- /dev/null
+++ b/mbed6/.gitignore
@@ -0,0 +1,3 @@
+/build
+/.flatpak-builder
+/auto-*.json
diff --git a/mbed6/Makefile b/mbed6/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..5b72326c3c6bbbd1f9d36b47e71fdf91bd07216e
--- /dev/null
+++ b/mbed6/Makefile
@@ -0,0 +1,45 @@
+TARGET=se.lth.control.mbed-cli
+FLATHUB_REPO="https://flathub.org/repo/flathub.flatpakrepo"
+
+.PHONY : build
+build:  auto-ignore-installed.json\
+        auto-simple.json \
+	manual-util-linux.json \
+	manual-arm-none-eabi-binutils.json \
+	manual-XmpX.json \
+	manual-arm-none-eabi-bootstrap-gcc.json \
+	manual-arm-none-eabi-newlib.json \
+	manual-arm-none-eabi-gcc.json \
+	manual-mbed-cli-wrap.json 
+	flatpak-builder --force-clean build $(TARGET).json
+	flatpak-builder --user --install --force-clean build/ $(TARGET).json
+
+.PHONY: setup
+setup:
+	flatpak remote-add --if-not-exists flathub $(FLATHUB_REPO)
+	flatpak install org.freedesktop.Platform//22.08
+	flatpak install org.freedesktop.Sdk//22.08
+
+manual-%.json: manual-%.install
+
+auto-ignore-installed.json: pip-ignore-installed.txt
+	cat $< | xargs flatpak run se.lth.control.pip-install-to-json \
+		--name $@ --extra-flag --ignore-installed > $@.tmp
+	mv $@.tmp $@
+
+auto-simple.json: pip-simple.txt
+	cat $< | xargs flatpak run se.lth.control.pip-install-to-json \
+		--name $@ > $@.tmp
+	mv $@.tmp $@
+
+.PHONY: clean
+clean:
+	rm -f auto-*.json
+	rm -rf .flatpak-builder/build
+
+.PHONY: distclean
+clean: clean
+	rm -rf build
+	rm -rf .flatpak-builder
+	rm -f *~ 
+
diff --git a/mbed6/manual-XmpX.install b/mbed6/manual-XmpX.install
new file mode 100755
index 0000000000000000000000000000000000000000..195994f8658d1e64ac502beab1aaf326397d9469
--- /dev/null
+++ b/mbed6/manual-XmpX.install
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -e
+
+tar -xf gmp-6.2.1.tar.xz
+(
+    cd gmp-6.2.1
+    ./configure --prefix=/app
+    make
+    make install
+)
+
+tar -xf mpfr-4.1.0.tar.xz
+(
+    cd mpfr-4.1.0
+    ./configure --prefix=/app
+    make
+    make install
+)
+
+tar -xf mpc-1.2.1.tar.gz
+(
+    cd mpc-1.2.1
+    ./configure --prefix=/app
+    make
+    make install
+)
diff --git a/mbed6/manual-XmpX.json b/mbed6/manual-XmpX.json
new file mode 100644
index 0000000000000000000000000000000000000000..40f0d381882b26dc823017bceacfe00f8e982c1a
--- /dev/null
+++ b/mbed6/manual-XmpX.json
@@ -0,0 +1,28 @@
+{
+    "name": "manual-XmpX.json",
+    "buildsystem": "simple",
+    "build-commands": [
+        "./manual-XmpX.install"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "path": "manual-XmpX.install"
+        },
+        {
+            "type": "file",
+            "url": "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz",
+            "sha256": "fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2"
+        },
+        {
+            "type": "file",
+            "url": "https://www.mpfr.org/mpfr-current/mpfr-4.1.0.tar.xz",
+            "sha256": "0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f"
+        },
+        {
+            "type": "file",
+            "url": "https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz",
+            "sha256": "17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459"
+        }
+    ]
+}
diff --git a/mbed6/manual-arm-none-eabi-binutils.install b/mbed6/manual-arm-none-eabi-binutils.install
new file mode 100755
index 0000000000000000000000000000000000000000..3aeb00d0471dde89c52d065d6bd08d294fd45af7
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-binutils.install
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+tar -xf binutils-2.37.tar.xz
+cd binutils-2.37
+./configure --prefix=/app \
+            --target=arm-none-eabi \
+            --enable-interwork \
+            --enable-multilib \
+            --enable-plugins \
+            --disable-nls \
+            --disable-shared \
+            --disable-threads \
+            --with-gcc \
+            --with-gnu-as \
+            --with-gnu-ld \
+            --with-system-zlib \
+            --disable-werror
+make
+make install
diff --git a/mbed6/manual-arm-none-eabi-binutils.json b/mbed6/manual-arm-none-eabi-binutils.json
new file mode 100644
index 0000000000000000000000000000000000000000..2ca93db568c2e620442f079c89e88e0e0b2707c4
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-binutils.json
@@ -0,0 +1,18 @@
+{
+    "name": "manual-arm-none-eabi-binutils.json",
+    "buildsystem": "simple",
+    "build-commands": [
+        "./manual-arm-none-eabi-binutils.install"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "path": "manual-arm-none-eabi-binutils.install"
+        },
+        {
+            "type": "file",
+            "url": "https://ftp.gnu.org/pub/gnu/binutils/binutils-2.37.tar.xz",
+            "sha256": "820d9724f020a3e69cb337893a0b63c2db161dadcb0e06fc11dc29eb1e84a32c"
+        }
+    ]
+}
diff --git a/mbed6/manual-arm-none-eabi-bootstrap-gcc.install b/mbed6/manual-arm-none-eabi-bootstrap-gcc.install
new file mode 100755
index 0000000000000000000000000000000000000000..fff8f8253426f3caa2a8cc6429af470e810f518f
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-bootstrap-gcc.install
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+set -e
+
+tar -xf gcc-12.2.0.tar.xz
+(
+    mkdir build-gcc-12.2.0
+    cd build-gcc-12.2.0
+    ../gcc-12.2.0/configure --prefix=/app \
+                            --target=arm-none-eabi \
+                            --enable-interwork \
+                            --enable-multilib \
+                            --with-multilib-list=rmprofile \
+                            --enable-plugins \
+                            --disable-decimal-float \
+                            --disable-libffi \
+                            --disable-libgomp \
+                            --disable-libmudflap \
+                            --disable-libquadmath \
+                            --disable-libssp \
+                            --disable-libstdcxx-pch \
+                            --disable-nls \
+                            --disable-shared \
+                            --disable-threads \
+                            --disable-tls \
+                            --enable-languages=c \
+                            --with-newlib \
+                            --disable-nls \
+                            --disable-shared \
+                            --disable-threads \
+                            --with-gnu-as \
+                            --with-gnu-ld \
+                            --with-gmp \
+                            --with-mpfr \
+                            --with-mpc \
+                            --without-headers \
+                            --with-system-zlib
+    make
+    make install
+)
diff --git a/mbed6/manual-arm-none-eabi-bootstrap-gcc.json b/mbed6/manual-arm-none-eabi-bootstrap-gcc.json
new file mode 100644
index 0000000000000000000000000000000000000000..4425d0d5701edd87be5c3250cdbd2ea55f52f446
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-bootstrap-gcc.json
@@ -0,0 +1,18 @@
+{
+    "name": "manual-arm-none-eabi-bootstrap-gcc.json",
+    "buildsystem": "simple",
+    "build-commands": [
+        "./manual-arm-none-eabi-bootstrap-gcc.install"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "path": "manual-arm-none-eabi-bootstrap-gcc.install"
+        },
+        {
+            "type": "file",
+            "url": "https://ftp.mpi-inf.mpg.de/mirrors/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc-12.2.0/gcc-12.2.0.tar.xz",
+            "sha256": "e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff"
+        }
+    ]
+}
diff --git a/mbed6/manual-arm-none-eabi-gcc.install b/mbed6/manual-arm-none-eabi-gcc.install
new file mode 100755
index 0000000000000000000000000000000000000000..74abf21977a3f5b26322b9eb07ee46a13efb7d82
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-gcc.install
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+set -e
+
+(
+    mkdir full
+    cd full
+    tar -xf ../gcc-12.2.0.tar.xz
+    mkdir build
+    cd build
+    ../gcc-12.2.0/configure --prefix=/app \
+                            --target=arm-none-eabi \
+                            --enable-interwork \
+                            --enable-multilib \
+                            --with-multilib-list=rmprofile \
+                            --enable-plugins \
+                            --disable-decimal-float \
+                            --disable-libffi \
+                            --disable-libgomp \
+                            --disable-libmudflap \
+                            --disable-libquadmath \
+                            --disable-libssp \
+                            --disable-libstdcxx-pch \
+                            --disable-nls \
+                            --disable-shared \
+                            --disable-threads \
+                            --disable-tls \
+                            --enable-languages=c,c++ \
+                            --with-newlib \
+                            --disable-nls \
+                            --disable-shared \
+                            --disable-threads \
+                            --with-gnu-as \
+                            --with-gnu-ld \
+                            --with-gmp \
+                            --with-mpfr \
+                            --with-mpc \
+                            --with-headers=yes \
+                            --with-system-zlib
+    
+    make
+    make install
+)
diff --git a/mbed6/manual-arm-none-eabi-gcc.json b/mbed6/manual-arm-none-eabi-gcc.json
new file mode 100644
index 0000000000000000000000000000000000000000..c9f0c2da7868423f1a562811a51afd3f8afd1390
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-gcc.json
@@ -0,0 +1,18 @@
+{
+    "name": "manual-arm-none-eabi-gcc.json",
+    "buildsystem": "simple",
+    "build-commands": [
+        "./manual-arm-none-eabi-gcc.install"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "path": "manual-arm-none-eabi-gcc.install"
+        },
+        {
+            "type": "file",
+            "url": "https://ftp.mpi-inf.mpg.de/mirrors/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc-12.2.0/gcc-12.2.0.tar.xz",
+            "sha256": "e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff"
+        }
+    ]
+}
diff --git a/mbed6/manual-arm-none-eabi-newlib.install b/mbed6/manual-arm-none-eabi-newlib.install
new file mode 100755
index 0000000000000000000000000000000000000000..e71791541160c2d01bad85ca7d0439d0dbecd919
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-newlib.install
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+tar -xf newlib-4.2.0.20211231.tar.gz
+(
+    cd newlib-4.2.0.20211231
+    export CFLAGS_FOR_TARGET="-g -O2 -ffunction-sections -fdata-sections"
+    ./configure --prefix=/app \
+                --target=arm-none-eabi \
+                --enable-newlib-io-long-long \
+                --enable-newlib-register-fini \
+                --enable-newlib-retargetable-locking \
+                --disable-newlib-supplied-syscalls \
+                --disable-nls \
+                --enable-multilib \
+                --disable-libssp \
+                --with-float=soft
+    make
+    make install
+)
diff --git a/mbed6/manual-arm-none-eabi-newlib.json b/mbed6/manual-arm-none-eabi-newlib.json
new file mode 100644
index 0000000000000000000000000000000000000000..57fc7d299e5374eeb4f4dcb42524bdab7aaea23f
--- /dev/null
+++ b/mbed6/manual-arm-none-eabi-newlib.json
@@ -0,0 +1,18 @@
+{
+    "name": "manual-arm-none-eabi-newlib.json",
+    "buildsystem": "simple",
+    "build-commands": [
+        "./manual-arm-none-eabi-newlib.install"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "path": "manual-arm-none-eabi-newlib.install"
+        },
+        {
+            "type": "file",
+            "url": "ftp://sourceware.org/pub/newlib/newlib-4.2.0.20211231.tar.gz",
+            "sha256": "c3a0e8b63bc3bef1aeee4ca3906b53b3b86c8d139867607369cb2915ffc54435"
+        }
+    ]
+}
diff --git a/mbed6/manual-git.install b/mbed6/manual-git.install
new file mode 100755
index 0000000000000000000000000000000000000000..06ddb77577000a5f7a4b0bce916a4390637f65e6
--- /dev/null
+++ b/mbed6/manual-git.install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+tar -xf git-2.38.1.tar.gz
+cd git-2.38.1
+make configure
+./configure --prefix=/app
+make
+make install
diff --git a/mbed6/manual-git.json b/mbed6/manual-git.json
new file mode 100644
index 0000000000000000000000000000000000000000..46f2f316bd93394906f85754c188cca5be29f505
--- /dev/null
+++ b/mbed6/manual-git.json
@@ -0,0 +1,18 @@
+{
+    "name": "manual-git.json",
+    "buildsystem": "simple",
+    "build-commands": [
+        "./manual-git.install"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "path": "manual-git.install"
+        },
+        {
+            "type": "file",
+            "url": "https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.38.1.tar.gz",
+            "sha256": "620ed3df572a34e782a2be4c7d958d443469b2665eac4ae33f27da554d88b270"
+        }
+    ]
+}
diff --git a/mbed6/manual-mbed-cli-wrap.install b/mbed6/manual-mbed-cli-wrap.install
new file mode 100755
index 0000000000000000000000000000000000000000..cc406f8fb61dbf9bf23adf5fe52d4e11b1c88f5b
--- /dev/null
+++ b/mbed6/manual-mbed-cli-wrap.install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+cat<<'EOF'>/app/mbed-cli
+#!/bin/bash
+
+/app/bin/mbed-cli "$@"
+EOF
+chmod +x /app/mbed-cli
diff --git a/mbed6/manual-mbed-cli-wrap.json b/mbed6/manual-mbed-cli-wrap.json
new file mode 100644
index 0000000000000000000000000000000000000000..3139072404db7911426d717f438b6d70c245d00d
--- /dev/null
+++ b/mbed6/manual-mbed-cli-wrap.json
@@ -0,0 +1,13 @@
+{
+    "name" : "manual-mbed-cli-wrap.json",
+    "buildsystem" : "simple",
+    "sources" : [
+        {
+            "type" : "file",
+            "path" : "manual-mbed-cli-wrap.install"
+        }
+    ],
+    "build-commands" : [
+        "./manual-mbed-cli-wrap.install"
+    ]
+}
diff --git a/mbed6/manual-util-linux.install b/mbed6/manual-util-linux.install
new file mode 100755
index 0000000000000000000000000000000000000000..0ac1bdf1469cb41249aa5f6734d037b2b5250983
--- /dev/null
+++ b/mbed6/manual-util-linux.install
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+tar -xf util-linux-2.38.1.tar.gz
+cd util-linux-2.38.1
+./autogen.sh
+./configure --prefix /app \
+            --disable-makeinstall-chown \
+            --disable-all-programs \
+            --enable-mount \
+            --enable-libmount \
+            --enable-libblkid 
+make
+make install
diff --git a/mbed6/manual-util-linux.json b/mbed6/manual-util-linux.json
new file mode 100644
index 0000000000000000000000000000000000000000..ddc1db8fb5f4efb1cebf9d0b5880021b5a38fb32
--- /dev/null
+++ b/mbed6/manual-util-linux.json
@@ -0,0 +1,18 @@
+{
+    "name": "manual-util-linux.json",
+    "buildsystem": "simple",
+    "build-commands": [
+        "./manual-util-linux.install"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "path": "manual-util-linux.install"
+        },
+        {
+            "type": "file",
+            "url": "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/snapshot/util-linux-2.38.1.tar.gz",
+            "sha256": "75add98ee04e8ca742e860dd06936379737465149904152175a64708de399125"
+        }
+    ]
+}
diff --git a/mbed6/pip-ignore-installed.txt b/mbed6/pip-ignore-installed.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f7c2653c28ac7b40ceb52fecdad77f23fc926488
--- /dev/null
+++ b/mbed6/pip-ignore-installed.txt
@@ -0,0 +1,2 @@
+pip
+wheel
diff --git a/mbed6/pip-simple.txt b/mbed6/pip-simple.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cb06208bef97365bbbc0e6d00218da8ac2c084d6
--- /dev/null
+++ b/mbed6/pip-simple.txt
@@ -0,0 +1,20 @@
+mbed-cli
+mbed_ls
+mbed_host_tests
+mbed_greentea
+mbed_cloud_sdk
+cbor
+cmsis_pack_manager
+fuzzywuzzy
+icetea
+jinja2
+manifest_tool
+pycryptodome
+pyyaml
+jsonschema
+pyelftools
+pyusb
+psutil
+cryptography
+click
+mercurial
diff --git a/mbed6/se.lth.control.mbed-cli.json b/mbed6/se.lth.control.mbed-cli.json
new file mode 100644
index 0000000000000000000000000000000000000000..37574634df15a10bc2b8ee1d0a27ade953c6b61b
--- /dev/null
+++ b/mbed6/se.lth.control.mbed-cli.json
@@ -0,0 +1,32 @@
+{
+    "id" : "se.lth.control.mbed-cli",
+    "runtime" : "org.freedesktop.Platform",
+    "runtime-version" : "22.08",
+    "sdk" : "org.freedesktop.Sdk",
+    "build-options" : {
+        "no-debuginfo" : true
+    },
+    "command" : "/app/mbed-cli",
+    "modules" : [
+        "auto-ignore-installed.json",
+        "auto-simple.json",
+        "manual-util-linux.json",
+        "manual-arm-none-eabi-binutils.json",
+        "manual-XmpX.json",
+        "manual-arm-none-eabi-bootstrap-gcc.json",
+        "manual-arm-none-eabi-newlib.json",
+        "manual-arm-none-eabi-gcc.json",
+        "manual-git.json",
+        "manual-mbed-cli-wrap.json"
+    ],
+    "finish-args" : [
+        "--filesystem=host",
+        "--filesystem=xdg-run/trampoline",
+        "--share=network",
+        //    "--share=ipc",
+        "--talk-name=org.freedesktop.Flatpak",
+        //    "--socket=x11",
+        //    "--device=dri",
+        "--device=all"
+  ]
+}