diff --git a/makefiles/tools/serial.inc.mk b/makefiles/tools/serial.inc.mk
index 3144a0ef5501af3e85fab07331838adf0cd2e38d..d1f7c9a98df68f0cee14d82b0720652ca9242858 100644
--- a/makefiles/tools/serial.inc.mk
+++ b/makefiles/tools/serial.inc.mk
@@ -5,13 +5,18 @@ ifeq ($(OS),Linux)
 else ifeq ($(OS),Darwin)
   PORT ?= $(PORT_DARWIN)
 endif
-
 ifeq ($(PORT),)
   $(info Warning: no PORT set!)
 endif
+export PORT
 
 export BAUD ?= 115200
-export TERMFLAGS ?= -p "$(PORT)" -b "$(BAUD)"
-export TERMPROG ?= $(RIOTBASE)/dist/tools/pyterm/pyterm
 
-export PORT
+TERMINAL ?= pyterm
+ifeq ($(TERMINAL),pyterm)
+    export TERMPROG  ?= $(RIOTBASE)/dist/tools/pyterm/pyterm
+    export TERMFLAGS ?= -p "$(PORT)" -b "$(BAUD)"
+else ifeq ($(TERMINAL),picocom)
+    export TERMPROG  ?= picocom
+    export TERMFLAGS ?= --nolock --imap lfcrlf --echo --baud "$(BAUD)" "$(PORT)"
+endif