diff --git a/device/testing/device-samsung-heatqlte/APKBUILD b/device/testing/device-samsung-heatqlte/APKBUILD
new file mode 100644
index 000000000..e56664deb
--- /dev/null
+++ b/device/testing/device-samsung-heatqlte/APKBUILD
@@ -0,0 +1,32 @@
+# Reference: <https://postmarketos.org/devicepkg>
+pkgname=device-samsung-heatqlte
+pkgdesc="Samsung Galaxy Ace 4 (SM-G357FZ)"
+pkgver=1
+pkgrel=0
+url="https://postmarketos.org"
+license="MIT"
+arch="armv7"
+options="!check !archcheck"
+depends="postmarketos-base mkbootimg linux-postmarketos-qcom-msm8916 soc-qcom-msm8916 soc-qcom-msm8916-rproc"
+makedepends="devicepkg-dev"
+subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
+source="deviceinfo"
+_pmb_select="soc-qcom-msm8916-rproc"
+
+build() {
+	devicepkg_build $startdir $pkgname
+}
+
+package() {
+	devicepkg_package $startdir $pkgname
+}
+
+nonfree_firmware() {
+	pkgdesc="GPU/WiFi/BT/Modem/Video firmware"
+	depends="firmware-qcom-adreno-a300 msm-firmware-loader firmware-samsung-heatqlte-wcnss-nv"
+	mkdir "$subpkgdir"
+}
+
+sha512sums="
+2d5378401879cbd38a73aacd04f64bd1c4080fa724c07329de57f2583cf808e23be1b8263d3db98b96a3c600e280d0ecc65272c49baeb4a810d98abd407bb319  deviceinfo
+"
diff --git a/device/testing/device-samsung-heatqlte/deviceinfo b/device/testing/device-samsung-heatqlte/deviceinfo
new file mode 100644
index 000000000..b48e7642e
--- /dev/null
+++ b/device/testing/device-samsung-heatqlte/deviceinfo
@@ -0,0 +1,39 @@
+# Reference: <https://postmarketos.org/deviceinfo>
+# Please use double quotes only. You can source this file in shell
+# scripts.
+
+deviceinfo_format_version="0"
+deviceinfo_name="Samsung Galaxy Ace 4"
+deviceinfo_manufacturer="Samsung"
+deviceinfo_codename="samsung-heatqlte"
+deviceinfo_year="2014"
+deviceinfo_dtb="qcom-msm8916-samsung-heatqlte"
+deviceinfo_append_dtb="true"
+deviceinfo_modules_initfs="panel-samsung-s6288a0 msm"
+deviceinfo_arch="armv7"
+
+# Device related
+deviceinfo_gpu_accelerated="true"
+deviceinfo_chassis="handset"
+deviceinfo_keyboard="false"
+deviceinfo_external_storage="true"
+deviceinfo_screen_width="480"
+deviceinfo_screen_height="800"
+deviceinfo_getty="ttyMSM0;115200"
+
+# Bootloader related
+deviceinfo_flash_method="fastboot"
+deviceinfo_kernel_cmdline="earlycon console=ttyMSM0,115200 PMOS_NO_OUTPUT_REDIRECT"
+deviceinfo_generate_bootimg="true"
+deviceinfo_flash_offset_base="0x80000000"
+deviceinfo_flash_offset_kernel="0x00008000"
+deviceinfo_flash_offset_ramdisk="0x02000000"
+deviceinfo_flash_offset_second="0x00f00000"
+deviceinfo_flash_offset_tags="0x01e00000"
+deviceinfo_flash_pagesize="2048"
+deviceinfo_flash_sparse="true"
+
+# Samsung Electronics Co., Ltd
+deviceinfo_usb_idVendor="0x04e8"
+# Galaxy (MTP)
+deviceinfo_usb_idProduct="0x6860"
diff --git a/device/testing/firmware-samsung-heatqlte/APKBUILD b/device/testing/firmware-samsung-heatqlte/APKBUILD
new file mode 100644
index 000000000..40be62c1b
--- /dev/null
+++ b/device/testing/firmware-samsung-heatqlte/APKBUILD
@@ -0,0 +1,27 @@
+pkgname=firmware-samsung-heatqlte
+pkgver=1
+pkgrel=0
+pkgdesc="Firmware for Samsung Galaxy Ace 4 (SM-G357FZ)"
+url="https://postmarketos.org"
+subpackages="$pkgname-wcnss-nv:wcnss_nv"
+arch="armv7"
+license="proprietary"
+_commit="42688acee71c12777900f6e661ced6ef67c92271"
+options="!check !strip !archcheck !tracedeps pmb:cross-native"
+source="$pkgname-$pkgver.tar.gz::https://github.com/garethppls/firmware-sm-g357fz/archive/$_commit.tar.gz"
+
+_fwdir="/lib/firmware/postmarketos"
+
+package() {
+	# parent package is empty
+	mkdir -p "$pkgdir"
+}
+
+wcnss_nv() {
+	pkgdesc="$_name WiFi/BT firmware configuration"
+	install -Dm644 "$srcdir"/firmware-sm-g357fz-"$_commit"/WCNSS_qcom_wlan_nv.bin -t "$subpkgdir/$_fwdir"/wlan/prima
+}
+
+sha512sums="
+c04c1c1addbd52003658e9c7c305cdc86aa6489f794322a9390c544ef0a062cc76dcb5d83cc167d1399f710f193603d8aa573f02aef97edd8e32d2c4ad1eaecd  firmware-samsung-heatqlte-1.tar.gz
+"