diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index 2946a3e21f64eabf3d74e6b2f91864ead20471ee..24962727dcaa28375e56537836cc70a333177991 100644
--- a/docs/user/supported_devices.rst
+++ b/docs/user/supported_devices.rst
@@ -312,6 +312,7 @@ mediatek-filogic
 
 * Cudy
 
+  - AP3000 Outdoor (v1)
   - WR3000 (v1)
 
 * GL.iNet
diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
index 014e516c43968fe117065f0963d9ddae6524b7dd..2241ac9ac51ff635680c98e928e7a86a52e79646 100644
--- a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
+++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
@@ -64,6 +64,11 @@ function M.is_outdoor_device()
 	}) then
 		return true
 
+	elseif M.match('mediatek', 'filogic', {
+		'cudy,ap3000outdoor-v1'
+	}) then
+		return true
+
 	elseif M.match('ramips', 'mt7621', {
 		'wavlink,ws-wn572hp3-4g',
 		'zyxel,nwa55axe',
diff --git a/targets/mediatek-filogic b/targets/mediatek-filogic
index 3f1818d0bb257e5c1aae799da7bd50af17d5309f..5b00c864e683f07dd4e1c23203554c03166dd87f 100644
--- a/targets/mediatek-filogic
+++ b/targets/mediatek-filogic
@@ -21,6 +21,10 @@ device('d-link-aquila-pro-ai-m30-a1', 'dlink_aquila-pro-ai-m30-a1', {
 
 -- Cudy
 
+device('cudy-ap3000-outdoor-v1', 'cudy_ap3000outdoor-v1', {
+	factory = false,
+})
+
 device('cudy-wr3000-v1', 'cudy_wr3000-v1', {
 	factory = false,
 })