diff --git a/docs/user/supported_devices.rst b/docs/user/supported_devices.rst
index 3284efdef19bb58db3b1b91053eb9c5791e3cb56..13cc9d811d9724d21a7b7a3ce8105dcd173b3cc6 100644
--- a/docs/user/supported_devices.rst
+++ b/docs/user/supported_devices.rst
@@ -38,6 +38,7 @@ ath79-generic
 
   - Archer C6 (v2)
   - CPE220 (v3.0)
+  - CPE510 (v3.0)
   - TL-WDR3600 (v1)
   - TL-WDR4300 (v1)
 
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 07afb60995291c7262b5022496e8f5b7997e59af..d34c12b359c71728bb69178af17bcea9bcebf186 100644
--- a/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
+++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua
@@ -30,6 +30,7 @@ function M.is_outdoor_device()
 		'plasmacloud,pa300',
 		'plasmacloud,pa300e',
 		'tplink,cpe220-v3',
+		'tplink,cpe510-v3',
 	}) then
 		return true
 
diff --git a/targets/ath79-generic b/targets/ath79-generic
index a593a1fd86e3d545b735fda31b80edd5d3785b5b..4cd5437802182f33411ccb5118081079ed1147c5 100644
--- a/targets/ath79-generic
+++ b/targets/ath79-generic
@@ -106,6 +106,7 @@ device('tp-link-archer-d50-v1', 'tplink_archer-d50-v1', {
 })
 
 device('tp-link-cpe220-v3', 'tplink_cpe220-v3')
+device('tp-link-cpe510-v3', 'tplink_cpe510-v3')
 
 device('tp-link-tl-wdr3600-v1', 'tplink_tl-wdr3600-v1')
 device('tp-link-tl-wdr4300-v1', 'tplink_tl-wdr4300-v1')