diff --git a/projects/ssc338q_lite_ask/general/package/motors/0001-change-port-to-AMA1.patch b/projects/ssc338q_lite_ask/general/package/motors/0001-change-port-to-AMA1.patch
deleted file mode 100644
index a195a46..0000000
--- a/projects/ssc338q_lite_ask/general/package/motors/0001-change-port-to-AMA1.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/xm-uart/main.c	2021-11-06 21:52:52.000000000 +0300
-+++ b/xm-uart/main.c	2022-12-11 19:22:03.322193742 +0300
-@@ -132,7 +132,7 @@
-   ctrl.c_lflag &= ~ECHO;   // disable echo
-   tcsetattr(STDIN_FILENO, TCSANOW, &ctrl);
- 
--  int uart = open("/dev/ttyAMA0", O_RDWR | O_NOCTTY);
-+  int uart = open("/dev/ttyS1", O_RDWR | O_NOCTTY);
-   if (uart == -1) {
-     printf("Error no is : %d\n", errno);
-     printf("Error description is : %s\n", strerror(errno));
diff --git a/projects/t31_lite_vixand2/br-ext-chip-ingenic/configs/t31_lite_vixand2_defconfig b/projects/t31_lite_vixand2/br-ext-chip-ingenic/configs/t31_lite_vixand2_defconfig
new file mode 100644
index 0000000..7b9fac1
--- /dev/null
+++ b/projects/t31_lite_vixand2/br-ext-chip-ingenic/configs/t31_lite_vixand2_defconfig
@@ -0,0 +1,134 @@
+# Architecture
+BR2_mipsel=y
+BR2_mips_xburst=y
+# BR2_MIPS_SOFT_FLOAT is not set
+BR2_MIPS_FP32_MODE_32=y
+# BR2_MIPS_FP32_MODE_XX is not set
+BR2_MIPS_NAN_LEGACY=y
+BR2_MIPS_OABI32=y
+BR2_KERNEL_HEADERS_VERSION=y
+BR2_DEFAULT_KERNEL_VERSION="3.10.14"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y
+
+# Toolchain
+BR2_PER_PACKAGE_DIRECTORIES=y
+BR2_GCC_VERSION_12_X=y
+# BR2_TOOLCHAIN_USES_UCLIBC is not set
+# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set
+# BR2_TOOLCHAIN_BUILDROOT_LIBC="uclibc"
+BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-float=hard"
+BR2_TOOLCHAIN_USES_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_MUSL=y
+BR2_TOOLCHAIN_BUILDROOT_LIBC="musl"
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
+BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y
+
+# Kernel
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/t31/kernel/t31.generic.config"
+BR2_LINUX_KERNEL_UIMAGE=y
+BR2_LINUX_KERNEL_LZMA=y
+
+# OpenIPC
+BR2_OPENIPC_SOC_VENDOR="ingenic"
+BR2_OPENIPC_SOC_MODEL="t31"
+BR2_OPENIPC_SOC_FAMILY="t31"
+BR2_OPENIPC_FLAVOR="lite"
+BR2_OPENIPC_FLASH_SIZE="8"
+
+# Filesystem
+# BR2_TARGET_TZ_INFO is not set
+BR2_TARGET_ROOTFS_CPIO=y
+BR2_TARGET_ROOTFS_SQUASHFS=y
+BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
+BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL)/overlay"
+BR2_ROOTFS_POST_BUILD_SCRIPT="$(BR2_EXTERNAL)/scripts/rootfs_script.sh"
+
+# OpenIPC configuration
+BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
+BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC"
+BR2_TARGET_GENERIC_HOSTNAME="openipc-t31-vasechkin"
+BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL)/package/all-patches"
+
+# OpenIPC packages
+BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
+BR2_PACKAGE_DROPBEAR_OPENIPC=y
+# BR2_PACKAGE_FDK_AAC_OPENIPC is not set
+BR2_PACKAGE_UBOOT_TOOLS=y
+# BR2_PACKAGE_INGENIC_OPENSDK is not set
+# BR2_PACKAGE_INGENIC_OSDRV_T31 is not set
+BR2_PACKAGE_HASERL=y
+BR2_PACKAGE_IPCTOOL=y
+# BR2_PACKAGE_JSON_C is not set
+# BR2_PACKAGE_JSONFILTER is not set
+BR2_PACKAGE_LIBCURL_OPENIPC=y
+BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
+# BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE is not set
+# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
+# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
+# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
+# BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS is not set
+# BR2_PACKAGE_LIBEVENT_OPENIPC is not set
+# BR2_PACKAGE_LIBEVENT_OPENIPC_REMOVE_PYSCRIPT is not set
+# BR2_PACKAGE_LIBOGG_OPENIPC is not set
+# BR2_PACKAGE_LIBYAML is not set
+# BR2_PACKAGE_MAJESTIC_FONTS is not set
+# BR2_PACKAGE_MAJESTIC is not set
+BR2_PACKAGE_MBEDTLS_OPENIPC=y
+# BR2_PACKAGE_MBEDTLS_OPENIPC_PROGRAMS is not set
+# BR2_PACKAGE_MBEDTLS_OPENIPC_COMPRESSION is not set
+BR2_PACKAGE_MICROBE_WEB=y
+# BR2_PACKAGE_MINI_SNMPD is not set
+# BR2_PACKAGE_MOTORS is not set
+# BR2_PACKAGE_OPUS_OPENIPC is not set
+# BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT is not set
+# BR2_PACKAGE_SSHPASS is not set
+# BR2_PACKAGE_UACME_OPENIPC is not set
+# BR2_PACKAGE_VTUND_OPENIPC is not set
+# BR2_PACKAGE_YAML_CLI is not set
+# BR2_PACKAGE_QUIRC_OPENIPC is not set
+# BR2_PACKAGE_AUTONIGHT is not set
+
+# WiFi
+# BR2_PACKAGE_WIRELESS_TOOLS is not set
+# BR2_PACKAGE_WPA_SUPPLICANT is not set
+# BR2_PACKAGE_WPA_SUPPLICANT_CLI is not set
+# BR2_PACKAGE_WPA_SUPPLICANT_NL80211 is not set
+# BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE is not set
+# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC is not set
+# BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U is not set
+# BR2_PACKAGE_RTL8188EU is not set
+
+# WIREGUARD
+BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
+BR2_PACKAGE_WIREGUARD_TOOLS=y
+
+# EXPERIMENTAL
+# BR2_PACKAGE_ONVIF_SIMPLE_SERVER is not set
+#
+BR2_PACKAGE_FFMPEG_OPENIPC=y
+
+# DEBUG
+# BR2_PACKAGE_HOST_GDB is not set
+# BR2_PACKAGE_GDB is not set
+
+# CCACHE
+BR2_CCACHE=y
+BR2_CCACHE_DIR="$(HOME)/.ccache"
+
+# Compression
+BR2_PACKAGE_ZLIB=y
+
+# External
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mipsel-openipc-linux-musl"
+BR2_TOOLCHAIN_EXTERNAL_CXX=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
+BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
diff --git a/projects/t31_lite_vixand2/general/overlay/etc/composer.ini b/projects/t31_lite_vixand2/general/overlay/etc/composer.ini
new file mode 100644
index 0000000..8e6afdb
--- /dev/null
+++ b/projects/t31_lite_vixand2/general/overlay/etc/composer.ini
@@ -0,0 +1,2 @@
+#
+composer_message="This firmware was created with the Composer project."
diff --git a/projects/t31_lite_vixand2/general/overlay/etc/init.d/S50httpd b/projects/t31_lite_vixand2/general/overlay/etc/init.d/S50httpd
new file mode 100755
index 0000000..2832d44
--- /dev/null
+++ b/projects/t31_lite_vixand2/general/overlay/etc/init.d/S50httpd
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+DAEMON="httpd"
+PIDFILE="/var/run/$DAEMON.pid"
+CONFFILE="/etc/httpd.conf"
+
+HTTPD_ARGS="httpd -p 80 -f -c $CONFFILE -r Authentication"
+
+# shellcheck source=/dev/null
+[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
+
+if [ "$(fw_printenv -n debug)" ]; then
+	echo "Development mode"
+	sed -i "/^\/cgi-bin:admin:/s/^/#/" $CONFFILE
+else
+	echo "Production mode"
+	sed -i "/^#\/cgi-bin:admin:/s/^#//" $CONFFILE
+fi
+
+# The httpd does not create a pidfile, so pass "-n" in the command line
+# and use "-m" to instruct start-stop-daemon to create one.
+start() {
+	printf 'Starting %s: ' "$DAEMON"
+	[ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, "
+	# shellcheck disable=SC2086 # we need the word splitting
+	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
+		-- $HTTPD_ARGS
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return "$status"
+}
+
+stop() {
+	printf 'Stopping %s: ' "$DAEMON"
+	[ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, "
+	start-stop-daemon -K -q -p "$PIDFILE"
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		rm -f "$PIDFILE"
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return "$status"
+}
+
+restart() {
+	stop
+	sleep 1
+	start
+}
+
+case "$1" in
+	start|stop|restart)
+		"$1";;
+	reload)
+		# Restart, since there is no true "reload" feature.
+		restart;;
+	*)
+		echo "Usage: $0 {start|stop|restart|reload}"
+		exit 1
+esac