diff --git a/tests/usbus_cdc_ecm/Makefile b/tests/usbus_cdc_ecm/Makefile
index f7efaa416d2fa..fc1a96e1e41ab 100644
--- a/tests/usbus_cdc_ecm/Makefile
+++ b/tests/usbus_cdc_ecm/Makefile
@@ -10,11 +10,28 @@ USEMODULE += shell_cmds_default
USEMODULE += ps
# Boards that don't have enough endpoints to use CDC ACM together with CDC ECM
-BOARD_BLACKLIST += \
- stm32f4discovery \
- weact-f401cc \
- weact-f401ce \
- weact-f411ce \
- #
+ifeq (,$(filter stdio_%,$(filter-out stdio_cdc_acm,$(USEMODULE))))
+ BOARD_BLACKLIST += \
+ stm32f4discovery \
+ weact-f401cc \
+ weact-f401ce \
+ weact-f411ce \
+ #
+endif
+
+define _usbus_cdc_ecm_blacklist_info
+Warning:
+ The board is blacklisted because it uses `stdio_cdc_acm` as STDIO, which needs
+ a CDC ACM interface in addition to the CDC ECM interface, but the number of
+ available endpoints is not sufficient for this. To use this application you
+ have to use `stdio_uart` or any other `stdio_*` module, for example:
+
+ USEMODULE=stdio_uart BOARD=$(BOARD) make -C tests/usbus_cdc_ecm
+
+endef
+
+ifneq (,$(filter $(BOARD),$(BOARD_BLACKLIST)))
+ $(info $(_usbus_cdc_ecm_blacklist_info))
+endif
include $(RIOTBASE)/Makefile.include