diff --git a/examples/get_up/Makefile b/examples/get_up/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d7a629c831d6b4f3dbd6c67c385a9f509de257dc
--- /dev/null
+++ b/examples/get_up/Makefile
@@ -0,0 +1,55 @@
+PROJECT=get_up
+########################################################
+# afegir tots els fitxers que s'han de compilar aquí
+########################################################
+SOURCES=get_up.c
+
+OBJS=$(SOURCES:.c=.o)
+SRC_DIR=./
+DEV_DIR=../../dyn_devices/
+COMM_DIR=../../communications/
+CONT_DIR=../../controllers/
+MAN_DIR=../../motion/
+CC=avr-gcc
+OBJCOPY=avr-objcopy
+MMCU=atmega2561
+
+LIBS=$(MAN_DIR)lib/libmotion_manager.a $(CONT_DIR)lib/libcontrollers.a $(COMM_DIR)lib/libcomm.a $(DEV_DIR)lib/libdyn_devices.a
+
+INCLUDE_DIRS=-I$(DEV_DIR)include -I$(COMM_DIR)include -I$(CONT_DIR)include -I$(MAN_DIR)include
+
+CFLAGS=-mmcu=$(MMCU) -Wall -Os $(defines) -DF_CPU=16000000UL -gdwarf-2 -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wstrict-prototypes
+
+LDFLAGS=-mmcu=$(MMCU) -Wl,-Map=$(PROJECT).map -DF_CPU=16000000UL
+
+HEX_FLASH_FLAGS = -R .eeprom -R .fuse -R .lock -R .signature
+
+.PHONY: all
+
+all: communications dyn_devices controllers motion_manager $(PROJECT).hex
+
+$(PROJECT).hex: $(PROJECT).elf
+	$(OBJCOPY) -O ihex $(HEX_FLASH_FLAGS)  $< $@
+$(PROJECT).elf: $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROJECT).elf
+%.o:%.c
+	$(CC) -c $(CFLAGS) $(INCLUDE_DIRS) -o $@ $<
+
+communications:
+	$(MAKE) -C $(COMM_DIR)
+
+dyn_devices:
+	$(MAKE) -C $(DEV_DIR)
+
+controllers:
+	$(MAKE) -C $(CONT_DIR)
+
+motion_manager:
+	$(MAKE) -C $(MAN_DIR)
+
+download: $(MAIN_OUT_HEX)
+	fw_downloader -d /dev/ttyUSB0 -f ./$(PROJECT).hex -p cm510
+
+clean:
+	-rm $(PROJECT).*
+	-rm $(OBJS)
diff --git a/motion/src/examples/get_up.c b/examples/get_up/get_up.c
similarity index 100%
rename from motion/src/examples/get_up.c
rename to examples/get_up/get_up.c
diff --git a/examples/sensors/Makefile b/examples/sensors/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..44981c05f1b8fc9314745c6354fbe7f27c1676dd
--- /dev/null
+++ b/examples/sensors/Makefile
@@ -0,0 +1,55 @@
+PROJECT=sensors
+########################################################
+# afegir tots els fitxers que s'han de compilar aquí
+########################################################
+SOURCES=sensors.c
+
+OBJS=$(SOURCES:.c=.o)
+SRC_DIR=./
+DEV_DIR=../../dyn_devices/
+COMM_DIR=../../communications/
+CONT_DIR=../../controllers/
+MAN_DIR=../../motion/
+CC=avr-gcc
+OBJCOPY=avr-objcopy
+MMCU=atmega2561
+
+LIBS=$(MAN_DIR)lib/libmotion_manager.a $(CONT_DIR)lib/libcontrollers.a $(COMM_DIR)lib/libcomm.a $(DEV_DIR)lib/libdyn_devices.a
+
+INCLUDE_DIRS=-I$(DEV_DIR)include -I$(COMM_DIR)include -I$(CONT_DIR)include -I$(MAN_DIR)include
+
+CFLAGS=-mmcu=$(MMCU) -Wall -Os $(defines) -DF_CPU=16000000UL -gdwarf-2 -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wstrict-prototypes
+
+LDFLAGS=-mmcu=$(MMCU) -Wl,-Map=$(PROJECT).map -DF_CPU=16000000UL
+
+HEX_FLASH_FLAGS = -R .eeprom -R .fuse -R .lock -R .signature
+
+.PHONY: all
+
+all: communications dyn_devices controllers motion_manager $(PROJECT).hex
+
+$(PROJECT).hex: $(PROJECT).elf
+	$(OBJCOPY) -O ihex $(HEX_FLASH_FLAGS)  $< $@
+$(PROJECT).elf: $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROJECT).elf
+%.o:%.c
+	$(CC) -c $(CFLAGS) $(INCLUDE_DIRS) -o $@ $<
+
+communications:
+	$(MAKE) -C $(COMM_DIR)
+
+dyn_devices:
+	$(MAKE) -C $(DEV_DIR)
+
+controllers:
+	$(MAKE) -C $(CONT_DIR)
+
+motion_manager:
+	$(MAKE) -C $(MAN_DIR)
+
+download: $(MAIN_OUT_HEX)
+	fw_downloader -d /dev/ttyUSB0 -f ./$(PROJECT).hex -p cm510
+
+clean:
+	-rm $(PROJECT).*
+	-rm $(OBJS)
diff --git a/examples/sensors/sensors.c b/examples/sensors/sensors.c
new file mode 100644
index 0000000000000000000000000000000000000000..ba3feb8153c41f2cccc352585bfb8a3a86a76843
--- /dev/null
+++ b/examples/sensors/sensors.c
@@ -0,0 +1,45 @@
+#include <util/delay.h>
+#include <stdio.h>
+#include "cm510.h"
+#include "balance.h"
+#include "exp_board.h"
+
+typedef enum {wait_start,wait_ready,read_sensors} main_states;
+
+void user_init(void)
+{
+  serial_console_init(57600);
+  balance_init();
+  balance_calibrate_gyro();
+  balance_enable_gyro();
+  user_time_set_period(100);
+  exp_adc_start();
+  exp_compass_start();
+}
+
+void user_loop(void)
+{
+  static main_states state=wait_start;
+
+  switch(state)
+  {
+    case wait_start: if(is_button_rising_edge(BTN_START))
+                     {
+                       action_set_page(31);
+                       action_start_page();
+                       state=wait_ready;
+                     }
+                     else
+                       state=wait_start;
+                     break;
+    case wait_ready: if(is_action_running())
+                       state=wait_ready;
+                     else
+                       state=read_sensors;
+                     break;
+    case read_sensors: printf("CM510 ADC port 1: %d\n",get_adc_avg_channel(ADC_PORT_1));
+                       printf("Exp. Board compass: %d\n",exp_compass_get_avg_heading());
+                       printf("Exp. Board ADC port 7: %d\n",exp_adc_get_avg_channel(ADC7));
+                       break;
+  }
+}
diff --git a/examples/walk_straight/Makefile b/examples/walk_straight/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..545bfcee9a6daddd546ef982b89af2136ae5acdd
--- /dev/null
+++ b/examples/walk_straight/Makefile
@@ -0,0 +1,55 @@
+PROJECT=walk_straight
+########################################################
+# afegir tots els fitxers que s'han de compilar aquí
+########################################################
+SOURCES=walk_straight.c
+
+OBJS=$(SOURCES:.c=.o)
+SRC_DIR=./
+DEV_DIR=../../dyn_devices/
+COMM_DIR=../../communications/
+CONT_DIR=../../controllers/
+MAN_DIR=../../motion/
+CC=avr-gcc
+OBJCOPY=avr-objcopy
+MMCU=atmega2561
+
+LIBS=$(MAN_DIR)lib/libmotion_manager.a $(CONT_DIR)lib/libcontrollers.a $(COMM_DIR)lib/libcomm.a $(DEV_DIR)lib/libdyn_devices.a
+
+INCLUDE_DIRS=-I$(DEV_DIR)include -I$(COMM_DIR)include -I$(CONT_DIR)include -I$(MAN_DIR)include
+
+CFLAGS=-mmcu=$(MMCU) -Wall -Os $(defines) -DF_CPU=16000000UL -gdwarf-2 -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wstrict-prototypes
+
+LDFLAGS=-mmcu=$(MMCU) -Wl,-Map=$(PROJECT).map -DF_CPU=16000000UL
+
+HEX_FLASH_FLAGS = -R .eeprom -R .fuse -R .lock -R .signature
+
+.PHONY: all
+
+all: communications dyn_devices controllers motion_manager $(PROJECT).hex
+
+$(PROJECT).hex: $(PROJECT).elf
+	$(OBJCOPY) -O ihex $(HEX_FLASH_FLAGS)  $< $@
+$(PROJECT).elf: $(OBJS)
+	$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROJECT).elf
+%.o:%.c
+	$(CC) -c $(CFLAGS) $(INCLUDE_DIRS) -o $@ $<
+
+communications:
+	$(MAKE) -C $(COMM_DIR)
+
+dyn_devices:
+	$(MAKE) -C $(DEV_DIR)
+
+controllers:
+	$(MAKE) -C $(CONT_DIR)
+
+motion_manager:
+	$(MAKE) -C $(MAN_DIR)
+
+download: $(MAIN_OUT_HEX)
+	fw_downloader -d /dev/ttyUSB0 -f ./$(PROJECT).hex -p cm510
+
+clean:
+	-rm $(PROJECT).*
+	-rm $(OBJS)
diff --git a/motion/src/examples/walk_straight.c b/examples/walk_straight/walk_straight.c
similarity index 100%
rename from motion/src/examples/walk_straight.c
rename to examples/walk_straight/walk_straight.c
diff --git a/motion/src/examples/Makefile b/motion/src/examples/Makefile
index 847e3b242b9ef3164e143d002b96a37efcf269bd..b773bdda297cbb8fd4c54af7f4652636a4ec696a 100644
--- a/motion/src/examples/Makefile
+++ b/motion/src/examples/Makefile
@@ -2,7 +2,7 @@ PROJECT=manager_ex
 ########################################################
 # afegir tots els fitxers que s'han de compilar aquí
 ########################################################
-SOURCES=get_up.c#walk_straight.c
+SOURCES=main.c
 
 OBJS=$(SOURCES:.c=.o)
 SRC_DIR=./src/