diff --git a/ros2rag.example/build.gradle b/ros2rag.example/build.gradle
index 77f4b46bbc24487ac98b56545e145e25b319666d..70dba00198922bfa4521d833d5bed1bb944b7e4d 100644
--- a/ros2rag.example/build.gradle
+++ b/ros2rag.example/build.gradle
@@ -1,5 +1,6 @@
 apply plugin: 'jastadd'
 apply plugin: 'application'
+apply plugin: 'com.google.protobuf'
 
 sourceCompatibility = 1.8
 
@@ -13,6 +14,7 @@ buildscript {
     repositories.jcenter()
     dependencies {
         classpath 'org.jastadd:jastaddgradle:1.13.3'
+        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.12'
     }
 }
 
@@ -23,6 +25,7 @@ dependencies {
     implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: "${jackson_version}"
     implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jackson_version}"
     implementation group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
+    compile 'com.google.protobuf:protobuf-java:3.0.0'
 
     jastadd2 "org.jastadd:jastadd:2.3.4"
 }
@@ -119,3 +122,12 @@ task relastToJastAdd(type: JavaExec) {
 
 // Workflow configuration for phases
 generateAst.dependsOn relastToJastAdd
+
+protobuf {
+    // create strange directories, so use default here
+//    generatedFilesBaseDir = "$projectDir/src/gen/java"
+    protoc {
+        // The artifact spec for the Protobuf Compiler
+        artifact = 'com.google.protobuf:protoc:3.0.0'
+    }
+}
diff --git a/ros2rag.example/src/main/proto/dataconfig.proto b/ros2rag.example/src/main/proto/dataconfig.proto
new file mode 100644
index 0000000000000000000000000000000000000000..472b8c6bda8637ec7f637909b33322933a61a053
--- /dev/null
+++ b/ros2rag.example/src/main/proto/dataconfig.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+package config;
+
+message DataConfig {
+
+  bool enablePosition = 1;
+  bool enableOrientation = 2;
+  bool enableTwistLinear = 3;
+  bool enableTwistAngular = 4;
+
+  int32 publishRate = 5;
+}