diff --git a/sys/auto_init/auto_init.c b/sys/auto_init/auto_init.c
index 7d47c6334d15e060b0ec1cc9bfa499bc844fe0c2..374d7affabeb11459416ebd9f25e4fd706067e0b 100644
--- a/sys/auto_init/auto_init.c
+++ b/sys/auto_init/auto_init.c
@@ -7,7 +7,7 @@
  * General Public License v2.1. See the file LICENSE in the top level
  * directory for more details.
  *
- * @ingroup auto_init
+ * @ingroup sys_autoinit
  * @{
  * @file
  * @brief   initializes any used module that has a trivial init function
diff --git a/sys/auto_init/can/auto_init_can.c b/sys/auto_init/can/auto_init_can.c
index c5f9dfa1fcbe885df92131ebd72d4aa66229257e..3005371f861516ac41647bab26c073903a1b668e 100644
--- a/sys/auto_init/can/auto_init_can.c
+++ b/sys/auto_init/can/auto_init_can.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup auto_init
+ * @ingroup     sys_autoinit
  * @{
  * @file
  * @brief       initializes can device init function
diff --git a/sys/auto_init/can/auto_init_can_native.c b/sys/auto_init/can/auto_init_can_native.c
index c6bb4f76f09e9201daae15e59cf035b8a2c402b6..43cd60762826fd77727b2f017e3b3156ab3e1731 100644
--- a/sys/auto_init/can/auto_init_can_native.c
+++ b/sys/auto_init/can/auto_init_can_native.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup auto_init
+ * @ingroup     sys_autoinit
  * @{
  * @file
  * @brief       initializes native can device
diff --git a/sys/base64/base64.c b/sys/base64/base64.c
index ad5ed6d03285c4654029b4f65ddbefca24d426c6..048fc99f4867056b464bfc914b9d9b806121e7ae 100644
--- a/sys/base64/base64.c
+++ b/sys/base64/base64.c
@@ -8,7 +8,7 @@
  */
 
 /**
- * @ingroup base64
+ * @ingroup sys_base64
  * @{
  * @file
  * @brief   Functions to encode and decode base64
diff --git a/sys/crypto/modes/cbc.c b/sys/crypto/modes/cbc.c
index 21e193569d0d4a7580e713b2f80cfc9a1a0aaaa4..159f0b54f572503154918bf7c508901ce86b8ac9 100644
--- a/sys/crypto/modes/cbc.c
+++ b/sys/crypto/modes/cbc.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     sys_crypto_modes
+ * @ingroup     sys_crypto
  * @{
  *
  * @file
diff --git a/sys/crypto/modes/ccm.c b/sys/crypto/modes/ccm.c
index 0df28fa4bd7312a4ec9eabe5f4514c3e5babb78e..657c76b47e5deda6037fa1aa9beae59ce7393a87 100644
--- a/sys/crypto/modes/ccm.c
+++ b/sys/crypto/modes/ccm.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     sys_crypto_modes
+ * @ingroup     sys_crypto
  * @{
  *
  * @file
diff --git a/sys/crypto/modes/ctr.c b/sys/crypto/modes/ctr.c
index 8ede351094c51dc39fcdaec3e082ca457287c957..24034c53a2fbb45ecc75b626a189f3b22d6397c5 100644
--- a/sys/crypto/modes/ctr.c
+++ b/sys/crypto/modes/ctr.c
@@ -7,7 +7,7 @@
  */
 
 /**
-* @ingroup     sys_crypto_modes
+* @ingroup     sys_crypto
 * @{
 *
 * @file
diff --git a/sys/crypto/modes/ecb.c b/sys/crypto/modes/ecb.c
index a2c0da884334cca23789473a9f0dce17ded28f25..183e5bfdc92dcf8b1b101cf1bf5284ac3495cafc 100644
--- a/sys/crypto/modes/ecb.c
+++ b/sys/crypto/modes/ecb.c
@@ -7,7 +7,7 @@
  */
 
 /**
-* @ingroup     sys_crypto_modes
+* @ingroup     sys_crypto
 * @{
 *
 * @file
diff --git a/sys/div/div.c b/sys/div/div.c
index 95b171ed165959822f0b0ec1d0bfccf212edb8be..675b3e249f0b4013d2b76a6e9eba4ab4e2a897e6 100644
--- a/sys/div/div.c
+++ b/sys/div/div.c
@@ -5,7 +5,7 @@
  * General Public License v2.1. See the file LICENSE in the top level
  * directory for more details.
  *
- * @ingroup sys_util
+ * @ingroup     sys_div
  * @{
  * @file
  * @brief    Integer division function implementations
diff --git a/sys/fs/devfs/auto_init_devfs.c b/sys/fs/devfs/auto_init_devfs.c
index 9de9b57057c49468dbff748c093765a9c752bfd3..011af83d40477d32cb312d5117790c1506c4af2c 100644
--- a/sys/fs/devfs/auto_init_devfs.c
+++ b/sys/fs/devfs/auto_init_devfs.c
@@ -8,7 +8,7 @@
  */
 
 /**
- * @ingroup     auto_init_fs
+ * @ingroup     sys_autoinit
  * @{
  *
  * @file
diff --git a/sys/include/crypto/modes/cbc.h b/sys/include/crypto/modes/cbc.h
index 2b8d8f0bd93be91e7dbab67e70b34c5c62066282..74ee616a92c2674c006de44d0ad085d7c1fdb387 100644
--- a/sys/include/crypto/modes/cbc.h
+++ b/sys/include/crypto/modes/cbc.h
@@ -70,3 +70,4 @@ int cipher_decrypt_cbc(cipher_t *cipher, uint8_t iv[16], const uint8_t *input,
 #endif
 
 #endif /* CRYPTO_MODES_CBC_H */
+/** @} */
diff --git a/sys/include/crypto/modes/ccm.h b/sys/include/crypto/modes/ccm.h
index d2f076bf48d00b365ac3ccfb9b726fc3f24861f1..b61c2d12386e956c5de92b16fd6c1081c1b439c1 100644
--- a/sys/include/crypto/modes/ccm.h
+++ b/sys/include/crypto/modes/ccm.h
@@ -26,11 +26,16 @@
 extern "C" {
 #endif
 
-#define CCM_ERR_INVALID_NONCE_LENGTH -2
-#define CCM_ERR_INVALID_CBC_MAC -3
-#define CCM_ERR_INVALID_DATA_LENGTH -3
-#define CCM_ERR_INVALID_LENGTH_ENCODING -4
-#define CCM_ERR_INVALID_MAC_LENGTH -5
+/**
+ * @name CCM error codes
+ * @{
+ */
+#define CCM_ERR_INVALID_NONCE_LENGTH        (-2)
+#define CCM_ERR_INVALID_CBC_MAC             (-3)
+#define CCM_ERR_INVALID_DATA_LENGTH         (-3)
+#define CCM_ERR_INVALID_LENGTH_ENCODING     (-4)
+#define CCM_ERR_INVALID_MAC_LENGTH          (-5)
+/** @} */
 
 /**
  * @brief Encrypt and authenticate data of arbitrary length in ccm mode.
@@ -86,3 +91,4 @@ int cipher_decrypt_ccm(cipher_t* cipher, uint8_t* auth_data,
 #endif
 
 #endif /* CRYPTO_MODES_CCM_H */
+/** @} */
diff --git a/sys/include/crypto/modes/ctr.h b/sys/include/crypto/modes/ctr.h
index 62925f06929c224f20ed62a4322454309d836ba4..7c5b493fefa655a947a0f8fd4cc9a8d2ea3e2405 100644
--- a/sys/include/crypto/modes/ctr.h
+++ b/sys/include/crypto/modes/ctr.h
@@ -71,3 +71,4 @@ int cipher_decrypt_ctr(cipher_t* cipher, uint8_t nonce_counter[16],
 #endif
 
 #endif /* CRYPTO_MODES_CTR_H */
+/** @} */
diff --git a/sys/include/crypto/modes/ecb.h b/sys/include/crypto/modes/ecb.h
index 39f86c3377e712cc285550d3625bd225e5b0e7ac..4e04067c282ec34de81526070adf08f044bcd67a 100644
--- a/sys/include/crypto/modes/ecb.h
+++ b/sys/include/crypto/modes/ecb.h
@@ -60,3 +60,4 @@ int cipher_decrypt_ecb(cipher_t* cipher, uint8_t* input, size_t length,
 #endif
 
 #endif /* CRYPTO_MODES_ECB_H */
+/** @} */
diff --git a/sys/include/net/nanocoap_sock.h b/sys/include/net/nanocoap_sock.h
index e7b2c98bb3b08da7ed40feb9419738ee27d6c2c2..835f868b39ed6c6a995fb0818f8a3b8670a12a6c 100644
--- a/sys/include/net/nanocoap_sock.h
+++ b/sys/include/net/nanocoap_sock.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     sys_net_nanocoap
+ * @ingroup     net_nanocoap
  *
  * @{
  *
diff --git a/sys/include/shell_commands.h b/sys/include/shell_commands.h
index 0c306d093da05b4b6576acff093c28925c2057a8..11dbe97a092893e0de5853cd59a862d9caaa1c83 100644
--- a/sys/include/shell_commands.h
+++ b/sys/include/shell_commands.h
@@ -7,7 +7,8 @@
  */
 
 /**
- * @ingroup     sys_shell_commands
+ * @defgroup    sys_shell_commands Shell commands
+ * @ingroup     sys
  *
  * @{
  *
@@ -26,12 +27,20 @@
 extern "C" {
 #endif
 
+/**
+ * @name    Disk manipulation command names
+ * @{
+ */
 #define DISK_GET_SECTOR_SIZE    "dget_ssize"
 #define DISK_GET_SECTOR_COUNT   "dget_scount"
 #define DISK_GET_BLOCK_SIZE     "dget_bsize"
 #define DISK_READ_SECTOR_CMD    "dread_sec"
 #define DISK_READ_BYTES_CMD     "dread"
+/** @} */
 
+/**
+ * @brief   List of shell commands
+ */
 extern const shell_command_t _shell_command_list[];
 
 #ifdef __cplusplus
diff --git a/sys/net/application_layer/nanocoap/nanocoap.c b/sys/net/application_layer/nanocoap/nanocoap.c
index d5b9c0c7218779ffcbc33f99a55aba247eb7a258..be3f7482f1489678a9adba82eb184ec6be5bc753 100644
--- a/sys/net/application_layer/nanocoap/nanocoap.c
+++ b/sys/net/application_layer/nanocoap/nanocoap.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     sys_net_nanocoap
+ * @ingroup     net_nanocoap
  * @{
  *
  * @file
diff --git a/sys/net/application_layer/nanocoap/sock.c b/sys/net/application_layer/nanocoap/sock.c
index 96c651b298295c3d070dbdc2c4ec3b926198bb2c..aaec5b99b9fbbf0abce026e8796f3072fe3a32d9 100644
--- a/sys/net/application_layer/nanocoap/sock.c
+++ b/sys/net/application_layer/nanocoap/sock.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     sys_net_nanocoap
+ * @ingroup     net_nanocoap
  * @{
  *
  * @file
diff --git a/sys/net/gnrc/pktdump/gnrc_pktdump.c b/sys/net/gnrc/pktdump/gnrc_pktdump.c
index bd177a400f35e8a2d14427eeae617f525d61ac1c..dc9036f8c1138f2efc1fc54a8f5448a8ffd29c16 100644
--- a/sys/net/gnrc/pktdump/gnrc_pktdump.c
+++ b/sys/net/gnrc/pktdump/gnrc_pktdump.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     net_pktdump
+ * @ingroup     net_gnrc_pktdump
  * @{
  *
  * @file
diff --git a/sys/net/gnrc/routing/rpl/gnrc_rpl_auto_init.c b/sys/net/gnrc/routing/rpl/gnrc_rpl_auto_init.c
index f6f2ea4c67ea2c1496e8fc58b53eeb02400da9b0..d5e0ba3ee3a035ec4a9f45b99ae98b597a126b22 100644
--- a/sys/net/gnrc/routing/rpl/gnrc_rpl_auto_init.c
+++ b/sys/net/gnrc/routing/rpl/gnrc_rpl_auto_init.c
@@ -8,7 +8,7 @@
  */
 
 /*
- * @ingroup gnrc_rpl
+ * @ingroup net_gnrc_rpl
  * @{
  *
  * @file
diff --git a/sys/net/gnrc/routing/rpl/gnrc_rpl_of_manager.c b/sys/net/gnrc/routing/rpl/gnrc_rpl_of_manager.c
index 3bd65b18fabd896eb8239627f362cf188124a69b..28842e74b94bda810b2759603827d004e3ba5710 100644
--- a/sys/net/gnrc/routing/rpl/gnrc_rpl_of_manager.c
+++ b/sys/net/gnrc/routing/rpl/gnrc_rpl_of_manager.c
@@ -10,7 +10,7 @@
 
 /**
  *
- * @ingroup rpl
+ * @ingroup net_gnrc_rpl
  * @{
  * @file
  * @brief   RPL Objective functions manager
diff --git a/sys/net/transport_layer/tcp/tcp_hdr_print.c b/sys/net/transport_layer/tcp/tcp_hdr_print.c
index b7dfcb50d2d0016e77b0006e0e9582e1c72b158f..b81606d14f4b5d27d2cbb704763942315dde6c5c 100644
--- a/sys/net/transport_layer/tcp/tcp_hdr_print.c
+++ b/sys/net/transport_layer/tcp/tcp_hdr_print.c
@@ -7,6 +7,7 @@
  */
 
 /**
+ * @ingroup     net_tcp
  * @{
  *
  * @file
diff --git a/sys/net/transport_layer/udp/udp_hdr_print.c b/sys/net/transport_layer/udp/udp_hdr_print.c
index 0d22ae84f758f0c22ed6341106ef0ac599992ca8..c909d478c4bf436a81bb4e1fe6c1b871bda18e43 100644
--- a/sys/net/transport_layer/udp/udp_hdr_print.c
+++ b/sys/net/transport_layer/udp/udp_hdr_print.c
@@ -7,7 +7,7 @@
  */
 
 /**
- * @ingroup     net_pktdump
+ * @ingroup     net_udp
  * @{
  *
  * @file
diff --git a/sys/newlib_syscalls_default/syscalls.c b/sys/newlib_syscalls_default/syscalls.c
index 91543fcd186b5785b1d439a975ead302aaef30e4..a2ecc1b6e4552b9568016bec3a96924bcb661d30 100644
--- a/sys/newlib_syscalls_default/syscalls.c
+++ b/sys/newlib_syscalls_default/syscalls.c
@@ -8,7 +8,9 @@
  */
 
 /**
- * @ingroup     sys_newlib
+ * @defgroup    sys_newlib Newlib system call
+ * @ingroup     sys
+ * @brief       Newlib system call
  * @{
  *
  * @file
diff --git a/sys/posix/time/posix_time.c b/sys/posix/time/posix_time.c
index 188a8f0bf69d67e8c8f09da2ff674394a41001e5..ae780959689db89d629a8e7c8e1962140113ea1c 100644
--- a/sys/posix/time/posix_time.c
+++ b/sys/posix/time/posix_time.c
@@ -4,8 +4,11 @@
  * This file is subject to the terms and conditions of the GNU Lesser
  * General Public License v2.1. See the file LICENSE in the top level
  * directory for more details.
+ */
+
+/**
+ * @ingroup sys_xtimer
  *
- * @ingroup xtimer
  * @{
  * @file
  * @brief xtimer posix wrapper
diff --git a/sys/ps/ps.c b/sys/ps/ps.c
index dd880590057027e06840aeb7131a25e2c18728b7..1a307ca5232586b52c6c4201bd6f7e6248d80bfb 100644
--- a/sys/ps/ps.c
+++ b/sys/ps/ps.c
@@ -7,7 +7,7 @@
  * General Public License v2.1. See the file LICENSE in the top level
  * directory for more details.
  *
- * @ingroup ps
+ * @ingroup sys_ps
  * @{
  * @file
  * @brief   UNIX like ps command
diff --git a/sys/shell/commands/sc_gnrc_rpl.c b/sys/shell/commands/sc_gnrc_rpl.c
index c592c5a6b8573872c6161952151b3aedea239b54..c41fc07d6c8e2190a841121a642aff8bf6ff147f 100644
--- a/sys/shell/commands/sc_gnrc_rpl.c
+++ b/sys/shell/commands/sc_gnrc_rpl.c
@@ -8,7 +8,7 @@
  */
 
 /**
- * @ingroup     sys_shell_commands.h
+ * @ingroup     sys_shell_commands
  * @{
  *
  * @file
diff --git a/sys/xtimer/xtimer.c b/sys/xtimer/xtimer.c
index 612bbc9622fff889681d24fe08b6c2887fb3cf06..ff6dccf0f4925b12ebae8239aeb862ea380f6edc 100644
--- a/sys/xtimer/xtimer.c
+++ b/sys/xtimer/xtimer.c
@@ -8,7 +8,8 @@
  */
 
 /**
- * @ingroup xtimer
+ * @ingroup sys_xtimer
+ *
  * @{
  * @file
  * @brief xtimer convenience functionality
diff --git a/sys/xtimer/xtimer_core.c b/sys/xtimer/xtimer_core.c
index d5765de89b84cdeb6b62887518ff2383fc99b906..af7a0a24661fdb888fee236167530deb8a7e7247 100644
--- a/sys/xtimer/xtimer_core.c
+++ b/sys/xtimer/xtimer_core.c
@@ -5,8 +5,11 @@
  * This file is subject to the terms and conditions of the GNU Lesser
  * General Public License v2.1. See the file LICENSE in the top level
  * directory for more details.
+ */
+
+/**
+ * @ingroup sys_xtimer
  *
- * @ingroup xtimer
  * @{
  * @file
  * @brief xtimer core functionality