diff --git a/cpu/esp8266/include/cpu_conf.h b/cpu/esp8266/include/cpu_conf.h
index 96f82a18cba63dbfd5a47633f600480b4f32530f..f8eb723dd9d5f74e6a9e74df8862244beb4f5c5e 100644
--- a/cpu/esp8266/include/cpu_conf.h
+++ b/cpu/esp8266/include/cpu_conf.h
@@ -47,6 +47,18 @@ extern "C" {
 #define THREAD_STACKSIZE_MAIN         (3072)
 #endif
 
+#ifndef GNRC_PKTDUMP_STACKSIZE
+#define GNRC_PKTDUMP_STACKSIZE        (THREAD_STACKSIZE_DEFAULT)
+#endif
+
+#ifndef ESP_NOW_STACKSIZE
+#define ESP_NOW_STACKSIZE             (2560)
+#endif
+
+#ifndef ETS_THREAD_STACKSIZE
+#define ETS_THREAD_STACKSIZE          (2048)
+#endif
+
 #else /* MODULE_ESP_SDK_INT_HANDLING */
 
 #ifndef THREAD_EXTRA_STACKSIZE_PRINTF
@@ -62,6 +74,18 @@ extern "C" {
 #define THREAD_STACKSIZE_MAIN         (3072)
 #endif
 
+#ifndef GNRC_PKTDUMP_STACKSIZE
+#define GNRC_PKTDUMP_STACKSIZE        (THREAD_STACKSIZE_DEFAULT)
+#endif
+
+#ifndef ESP_NOW_STACKSIZE
+#define ESP_NOW_STACKSIZE             (2560)
+#endif
+
+#ifndef ETS_THREAD_STACKSIZE
+#define ETS_THREAD_STACKSIZE          (1536)
+#endif
+
 #endif /* MODULE_ESP_SDK_INT_HANDLING */
 /** @} */
 
@@ -82,7 +106,7 @@ extern "C" {
 
 #ifdef __cplusplus
 }
-#endif /* CPU_CONF_H */
+#endif
 
 #endif /* CPU_CONF_H */
 /** @} */
diff --git a/cpu/esp8266/startup.c b/cpu/esp8266/startup.c
index 3f19f3da1531562ea046a8a13afa61538cbe3afb..6a221d5562c9801151d62b19cb17428a3e07c9a4 100644
--- a/cpu/esp8266/startup.c
+++ b/cpu/esp8266/startup.c
@@ -69,7 +69,7 @@ extern uint8_t _eheap;
 #define ETS_TASK_PRIORITY   (1)
 
 /* stack for the ETS task */
-static char ets_task_stack[THREAD_STACKSIZE_DEFAULT];
+static char ets_task_stack[ETS_THREAD_STACKSIZE];
 /* ETS task code */
 extern void *ets_task_func(void *arg);