diff --git a/Makefile b/Makefile
index abdab2c9d24d0837b9e9589d947036ba2edfcce5..8064d597f85edf137bea3a4ef9e85a6d3dd6a580 100644
--- a/Makefile
+++ b/Makefile
@@ -45,6 +45,7 @@ SUBDIR+=	libhatp
 SUBDIR+=	libmove3d
 SUBDIR+=	libmove3d-hri
 SUBDIR+=	libmove3d-planners
+SUBDIR+=	lua-rfsm
 SUBDIR+=	lwr-genom
 SUBDIR+=	metapod
 SUBDIR+=	mhp-genom
diff --git a/lua-rfsm/DESCR b/lua-rfsm/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..03c4e57bc3472955c75dab377fa23c1f4a932099
--- /dev/null
+++ b/lua-rfsm/DESCR
@@ -0,0 +1,5 @@
+rFSM is a small and powerful Statechart implementation. It is mainly designed
+for Coordination of complex systems but is not limited to that. rFSM is written
+in pure Lua and is therefore highly portable and embeddable. As a Lua
+domain specific language rFSM inherits the extensibility of its host
+language.
diff --git a/lua-rfsm/Makefile b/lua-rfsm/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..469f5fad7fb809fec6a0e19f36736d591154b1d2
--- /dev/null
+++ b/lua-rfsm/Makefile
@@ -0,0 +1,29 @@
+# robotpkg Makefile for:	supervision/lua-rfsm
+# Created:			Arnaud Degroote on Thu, 12 Dec 2013
+#
+
+COMMIT= 	    44fcec2db5
+PKG_VERSION=    20131212.${COMMIT}
+DISTNAME= 		lua-rfsm-${PKG_VERSION}
+CATEGORIES=		supervision
+MASTER_SITES=	https://github.com/kmarkus/rFSM.git@${COMMIT}
+FETCH_METHOD=	git
+
+MAINTAINER=		arnaud.degroote@isae.fr
+COMMENT=		rFSM is a reduced (lightweight) Statechart implementation written in pure Lua.
+LICENSE=		gnu-lgpl-v2
+
+NO_CONFIGURE=	yes
+NO_BUILD=		yes
+
+include ../../mk/sysdep/lua.mk
+include ../../mk/robotpkg.mk
+
+do-install:
+	install -d ${PREFIX}/lib/lua/rfsm
+	install -d ${PREFIX}/share/doc/rfsm
+	install -d ${PREFIX}/share/rfsm/examples
+
+	cd ${WRKSRC} && ${PAX} -rwp ma *.lua ${PREFIX}/lib/lua/rfsm
+	cd ${WRKSRC}/doc && ${PAX} -rwp ma . ${PREFIX}/share/doc/rfsm
+	cd ${WRKSRC}/examples && ${PAX} -rwp ma . ${PREFIX}/share/rfsm/examples
diff --git a/lua-rfsm/PLIST b/lua-rfsm/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..eafd88639f1861a8c5551297aaad8773fc1e9316
--- /dev/null
+++ b/lua-rfsm/PLIST
@@ -0,0 +1,59 @@
+@comment Thu Dec 12 14:14:41 CET 2013
+lib/lua/rfsm/ansicolors.lua
+lib/lua/rfsm/rfsm.lua
+lib/lua/rfsm/rfsm2json.lua
+lib/lua/rfsm/rfsm2tree.lua
+lib/lua/rfsm/rfsm2uml.lua
+lib/lua/rfsm/rfsm_await.lua
+lib/lua/rfsm/rfsm_checkevents.lua
+lib/lua/rfsm/rfsm_emem.lua
+lib/lua/rfsm/rfsm_ext.lua
+lib/lua/rfsm/rfsm_marsh.lua
+lib/lua/rfsm/rfsm_preview.lua
+lib/lua/rfsm/rfsm_proto.lua
+lib/lua/rfsm/rfsm_rtt.lua
+lib/lua/rfsm/rfsm_testing.lua
+lib/lua/rfsm/rfsm_timeevent.lua
+lib/lua/rfsm/rfsmpp.lua
+lib/lua/rfsm/time.lua
+lib/lua/rfsm/utils.lua
+share/doc/rfsm/README.html
+share/doc/rfsm/README.org
+share/doc/rfsm/README.txt
+share/doc/rfsm/css/stylesheet.css
+share/doc/rfsm/example1.png
+share/doc/rfsm/example2.png
+share/doc/rfsm/rFSM_logo.jpg
+share/rfsm/examples/await.lua
+share/rfsm/examples/ball_tracker.lua
+share/rfsm/examples/ball_tracker_scope.lua
+share/rfsm/examples/composite_exitconn.lua
+share/rfsm/examples/composite_nested.lua
+share/rfsm/examples/connector_cycles.lua
+share/rfsm/examples/connector_cycles2.lua
+share/rfsm/examples/connector_simple.lua
+share/rfsm/examples/connector_split.lua
+share/rfsm/examples/emem_test.lua
+share/rfsm/examples/extension/README
+share/rfsm/examples/extension/base_fsm.lua
+share/rfsm/examples/extension/base_fsm_extended.lua
+share/rfsm/examples/hello_world.lua
+share/rfsm/examples/introductory.lua
+share/rfsm/examples/monitor_state.lua
+share/rfsm/examples/nested_fsm/launch.lua
+share/rfsm/examples/nested_fsm/root.lua
+share/rfsm/examples/nested_fsm/subfsm.lua
+share/rfsm/examples/ping-pong.lua
+share/rfsm/examples/preview_example.lua
+share/rfsm/examples/preview_example2.lua
+share/rfsm/examples/relative_trans.lua
+share/rfsm/examples/runscript.lua
+share/rfsm/examples/seqand.lua
+share/rfsm/examples/simple.lua
+share/rfsm/examples/simple_doo_idle.lua
+share/rfsm/examples/simple_idle_doo.lua
+share/rfsm/examples/timeevent.lua
+share/rfsm/examples/total_failure.lua
+@pkgdir share/doc/liborocos-rtt/xml/images/icons/hires
+@pkgdir share/doc/liborocos-rtt/xml/images/hires
+@pkgdir share/doc/liborocos-rtt/api/html
diff --git a/lua-rfsm/depend.mk b/lua-rfsm/depend.mk
new file mode 100644
index 0000000000000000000000000000000000000000..864a6a9bc851314a4e9799d4b1911e04c9d47406
--- /dev/null
+++ b/lua-rfsm/depend.mk
@@ -0,0 +1,25 @@
+# robotpkg depend.mk for:	supervision/lua-rfsm
+# Created:			Arnaud Degroote on Thu, 12 Dec 2013
+#
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH}+
+LUA_RFSM_DEPEND_MK:=	${LUA_RFSM_DEPEND_MK}+
+
+ifeq (+,$(DEPEND_DEPTH))
+DEPEND_PKG+=		lua-rfsm
+endif
+
+ifeq (+,$(LUA_RFSM_DEPEND_MK)) # -----------------------------------------------
+
+PREFER.lua-rfsm?=		robotpkg
+
+DEPEND_USE+=		lua-rfsm
+DEPEND_ABI.lua-rfsm?=	lua-rfsm>=20131212
+DEPEND_DIR.lua-rfsm?=	../../wip/lua-rfsm
+
+SYSTEM_SEARCH.lua-rfsm=\
+	lib/lua/rfsm/rfsm.lua
+
+endif # LUA_RFSM_DEPEND_MK -----------------------------------------------------
+
+DEPEND_DEPTH:=		${DEPEND_DEPTH:+=}
diff --git a/lua-rfsm/distinfo b/lua-rfsm/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..9baaef1ea4b9572290ae8b0af4efc936ca0aba10
--- /dev/null
+++ b/lua-rfsm/distinfo
@@ -0,0 +1,2 @@
+SHA1 (lua-rfsm-20131212.44fcec2db5.tar.gz) = c74f26f42c92b8b3869836cb75bb30dd54fd1c83
+RMD160 (lua-rfsm-20131212.44fcec2db5.tar.gz) = c47f446606368668cf43476a05be0f0598e34f63