diff --git a/examples/rpl-border-router/Makefile b/examples/rpl-border-router/Makefile
index 2f02a031e2f479651efb8b06a072be80b965846f..d20bec220d66bc4b868c0504a6c8df99825b0e67 100644
--- a/examples/rpl-border-router/Makefile
+++ b/examples/rpl-border-router/Makefile
@@ -3,6 +3,15 @@ all: $(CONTIKI_PROJECT)
 
 CONTIKI=../..
 
+ifeq ($(TARGET),)
+  -include Makefile.target
+endif
+
+### Optionally, the target can add its own Makefile, to do things like e.g.
+### add more source files to the build or define make variables.
+-include $(TARGET)/Makefile.$(TARGET)
+
+PROJECTDIRS += $(TARGET)
 PROJECT_SOURCEFILES += slip-bridge.c httpd-simple.c
 
 ifeq ($(PREFIX),)
diff --git a/examples/rpl-border-router/project-conf.h b/examples/rpl-border-router/project-conf.h
index 32703ce4531b66f17845d1e75e89728e94818e2e..b67d39e5643e98669cdb006badabec37dd29569a 100644
--- a/examples/rpl-border-router/project-conf.h
+++ b/examples/rpl-border-router/project-conf.h
@@ -30,7 +30,12 @@
 
 #ifndef PROJECT_ROUTER_CONF_H_
 #define PROJECT_ROUTER_CONF_H_
-
+/*---------------------------------------------------------------------------*/
+/* Include target-specific header */
+#ifdef TARGET_CONF_PATH
+#include TARGET_CONF_PATH
+#endif /* TARGET_CONF_PATH */
+/*---------------------------------------------------------------------------*/
 #ifndef UIP_FALLBACK_INTERFACE
 #define UIP_FALLBACK_INTERFACE rpl_interface
 #endif
diff --git a/examples/rpl-border-router/sky/Makefile.sky b/examples/rpl-border-router/sky/Makefile.sky
new file mode 100644
index 0000000000000000000000000000000000000000..c3d097481e048de9f0dc7efa3c0c1bb06bfe2d67
--- /dev/null
+++ b/examples/rpl-border-router/sky/Makefile.sky
@@ -0,0 +1,3 @@
+PROJECT_SOURCEFILES += slip-bridge-putchar.c
+
+CFLAGS += -DTARGET_CONF_PATH=\"target-conf.h\"
diff --git a/examples/rpl-border-router/sky/slip-bridge-putchar.c b/examples/rpl-border-router/sky/slip-bridge-putchar.c
new file mode 100644
index 0000000000000000000000000000000000000000..f7f501ba1951b610dbbff90f93422b1e4a35c4ab
--- /dev/null
+++ b/examples/rpl-border-router/sky/slip-bridge-putchar.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2010, Swedish Institute of Computer Science.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Institute nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+/*---------------------------------------------------------------------------*/
+#include "contiki.h"
+#include "dev/slip.h"
+
+#include <string.h>
+/*---------------------------------------------------------------------------*/
+#define SLIP_END     0300
+#undef putchar
+/*---------------------------------------------------------------------------*/
+int
+putchar(int c)
+{
+  static char debug_frame = 0;
+
+  if(!debug_frame) {            /* Start of debug output */
+    slip_arch_writeb(SLIP_END);
+    slip_arch_writeb('\r');     /* Type debug line == '\r' */
+    debug_frame = 1;
+  }
+
+  /* Need to also print '\n' because for example COOJA will not show
+     any output before line end */
+  slip_arch_writeb((char)c);
+
+  /*
+   * Line buffered output, a newline marks the end of debug output and
+   * implicitly flushes debug output.
+   */
+  if(c == '\n') {
+    slip_arch_writeb(SLIP_END);
+    debug_frame = 0;
+  }
+  return c;
+}
+/*---------------------------------------------------------------------------*/
diff --git a/examples/rpl-border-router/sky/target-conf.h b/examples/rpl-border-router/sky/target-conf.h
new file mode 100644
index 0000000000000000000000000000000000000000..3b0b0fcd4dda89a1bde80e52c15e8be9595ae2e6
--- /dev/null
+++ b/examples/rpl-border-router/sky/target-conf.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2017, George Oikonomou - http://www.spd.gr
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holder nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+ * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*---------------------------------------------------------------------------*/
+#ifndef TARGET_CONF_H_
+#define TARGET_CONF_H_
+/*---------------------------------------------------------------------------*/
+#define QUEUEBUF_CONF_NUM         4
+#define UIP_CONF_BUFFER_SIZE    140
+/*---------------------------------------------------------------------------*/
+#endif /* TARGET_CONF_H_ */
+/*---------------------------------------------------------------------------*/
diff --git a/examples/rpl-border-router/slip-bridge.c b/examples/rpl-border-router/slip-bridge.c
index a975b22d8df4bf8de21d95e026f4f111f47b63fa..abf95dfa8d96bf675bb5ae2b1cdd6f97f4d993b7 100644
--- a/examples/rpl-border-router/slip-bridge.c
+++ b/examples/rpl-border-router/slip-bridge.c
@@ -118,36 +118,6 @@ output(void)
   return 0;
 }
 /*---------------------------------------------------------------------------*/
-#if !SLIP_BRIDGE_CONF_NO_PUTCHAR
-#undef putchar
-int
-putchar(int c)
-{
-#define SLIP_END     0300
-  static char debug_frame = 0;
-
-  if(!debug_frame) {            /* Start of debug output */
-    slip_arch_writeb(SLIP_END);
-    slip_arch_writeb('\r');     /* Type debug line == '\r' */
-    debug_frame = 1;
-  }
-
-  /* Need to also print '\n' because for example COOJA will not show
-     any output before line end */
-  slip_arch_writeb((char)c);
-
-  /*
-   * Line buffered output, a newline marks the end of debug output and
-   * implicitly flushes debug output.
-   */
-  if(c == '\n') {
-    slip_arch_writeb(SLIP_END);
-    debug_frame = 0;
-  }
-  return c;
-}
-#endif
-/*---------------------------------------------------------------------------*/
 const struct uip_fallback_interface rpl_interface = {
   init, output
 };