diff --git a/arch/arm/src/lpc313x/lpc313x_i2c.c b/arch/arm/src/lpc313x/lpc313x_i2c.c
index dc2e454b9da42b52a58082f05e40a5ab5246656b..3477b9e5375a05ee43c10ec802a8a4fe24e16cd7 100644
--- a/arch/arm/src/lpc313x/lpc313x_i2c.c
+++ b/arch/arm/src/lpc313x/lpc313x_i2c.c
@@ -3,7 +3,7 @@
  *
  *   Author: David Hewson
  *
- *   Copyright (C) 2010 Gregory Nutt. All rights reserved.
+ *   Copyright (C) 2010-2011 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
  *
  * Redistribution and use in source and binary forms, with or without
@@ -50,7 +50,7 @@
 #include <debug.h>
 
 #include <nuttx/arch.h>
-#include <nuttx/i2c/i2c.h>
+#include <nuttx/i2c.h>
 
 #include <arch/irq.h>
 #include <arch/board/board.h>
diff --git a/arch/arm/src/stm32/stm32_i2c.c b/arch/arm/src/stm32/stm32_i2c.c
index f19a1909ccaba00b104acbc1404f23b7eb0cf0f2..84f099ba1f0382a2d232d75f33f81447fdf4af0f 100644
--- a/arch/arm/src/stm32/stm32_i2c.c
+++ b/arch/arm/src/stm32/stm32_i2c.c
@@ -65,7 +65,7 @@
 #include <nuttx/config.h>
 #include <nuttx/arch.h>
 #include <nuttx/irq.h>
-#include <nuttx/i2c/i2c.h>
+#include <nuttx/i2c.h>
 #include <nuttx/kmalloc.h>
 #include <arch/board/board.h>
 
diff --git a/arch/arm/src/stm32/stm32_i2c.h b/arch/arm/src/stm32/stm32_i2c.h
index 9bb17521a8e942c1f00b7f1dc4d9f1026d269390..23a06bc05170d010b4df1a1dfeec5a0f59c74632 100755
--- a/arch/arm/src/stm32/stm32_i2c.h
+++ b/arch/arm/src/stm32/stm32_i2c.h
@@ -41,7 +41,7 @@
  ************************************************************************************/
 
 #include <nuttx/config.h>
-#include <nuttx/i2c/i2c.h>
+#include <nuttx/i2c.h>
 
 #include "chip.h"
 #include "chip/stm32_i2c.h"
diff --git a/arch/z80/src/ez80/ez80_i2c.c b/arch/z80/src/ez80/ez80_i2c.c
index 74dc899191dba60ef6053aa3c81a784d5a0a6dcb..609ab22bd57e0c1dece5959c05ef3672207f9547 100644
--- a/arch/z80/src/ez80/ez80_i2c.c
+++ b/arch/z80/src/ez80/ez80_i2c.c
@@ -47,7 +47,7 @@
 #include <assert.h>
 #include <debug.h>
 
-#include <nuttx/i2c/i2c.h>
+#include <nuttx/i2c.h>
 #include <arch/io.h>
 #include <arch/board/board.h>
 
diff --git a/arch/z80/src/z8/z8_i2c.c b/arch/z80/src/z8/z8_i2c.c
index 11825ac596f6b92c7eb6d39ace2c1b0990c3c70a..be4a94eb02c63c5805cf767bfdc47d0a5d736960 100755
--- a/arch/z80/src/z8/z8_i2c.c
+++ b/arch/z80/src/z8/z8_i2c.c
@@ -47,7 +47,7 @@
 #include <assert.h>
 #include <debug.h>
 
-#include <nuttx/i2c/i2c.h>
+#include <nuttx/i2c.h>
 #include <arch/board/board.h>
 
 #include <eZ8.h>  /* eZ8 Register definitions */
diff --git a/configs/vsn/src/sif.c b/configs/vsn/src/sif.c
index 7a510da242c81b342baf5517d619e37b7b757f2a..2d5351e87b1393883216fe85a95c8ae9409975da 100644
--- a/configs/vsn/src/sif.c
+++ b/configs/vsn/src/sif.c
@@ -75,8 +75,8 @@
 #include <nuttx/time.h>
 #include <nuttx/rtc.h>
 
-#include <nuttx/i2c/i2c.h>
-#include <nuttx/i2c/st_lis331dl.h>
+#include <nuttx/i2c.h>
+#include <nuttx/sensors/st_lis331dl.h>
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/drivers/Makefile b/drivers/Makefile
index 68f3427548cca347f259d86a64f87c26d8fd8fea..45dbe761a792d6d3e81f4b03a88e2e9dff37b1cf 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -36,74 +36,72 @@
 -include $(TOPDIR)/Make.defs
 
 ifeq ($(WINTOOL),y)
-INCDIROPT	= -w
+INCDIROPT = -w
 endif
 
 ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
 include serial/Make.defs
-ROOTDEPPATH	= --dep-path .
-SERIALDEPPATH	= --dep-path serial
+ROOTDEPPATH = --dep-path .
+SERIALDEPPATH = --dep-path serial
 endif
 
 ifeq ($(CONFIG_NET),y)
 include net/Make.defs
-ROOTDEPPATH	= --dep-path .
-NETDEPPATH	= --dep-path net
+ROOTDEPPATH = --dep-path .
+NETDEPPATH = --dep-path net
 endif
 
 ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
 include pipes/Make.defs
-ROOTDEPPATH	= --dep-path .
-PIPEDEPPATH	= --dep-path pipes
+ROOTDEPPATH = --dep-path .
+PIPEDEPPATH = --dep-path pipes
 endif
 
 ifeq ($(CONFIG_USBDEV),y)
 include usbdev/Make.defs
-ROOTDEPPATH	= --dep-path .
-USBDEVDEPPATH	= --dep-path usbdev
-CFLAGS		+= ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/usbdev}
+ROOTDEPPATH = --dep-path .
+USBDEVDEPPATH = --dep-path usbdev
+CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/usbdev}
 endif
 
 ifeq ($(CONFIG_USBHOST),y)
 include usbhost/Make.defs
-ROOTDEPPATH	= --dep-path .
-USBHOSTDEPPATH	= --dep-path usbhost
-CFLAGS		+= ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/usbhost}
+ROOTDEPPATH = --dep-path .
+USBHOSTDEPPATH = --dep-path usbhost
+CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/usbhost}
 endif
 
 include mmcsd/Make.defs
-ROOTDEPPATH	= --dep-path .
-MMCSDDEPPATH	= --dep-path mmcsd
-CFLAGS		+= ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/mmcsd}
+ROOTDEPPATH = --dep-path .
+MMCSDDEPPATH = --dep-path mmcsd
+CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/mmcsd}
 
 include lcd/Make.defs
-ROOTDEPPATH	= --dep-path .
-LCDDEPPATH	= --dep-path lcd
-CFLAGS		+= ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/lcd}
+ROOTDEPPATH = --dep-path .
+LCDDEPPATH = --dep-path lcd
+CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/lcd}
 
 ifneq ($(CONFIG_NFILE_DESCRIPTORS),0)
 ifneq ($(CONFIG_DISABLE_MOUNTPOINT),y)
 include bch/Make.defs
-ROOTDEPPATH	= --dep-path .
-BCHDEPPATH	= --dep-path bch
-CFLAGS		+= ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/bch}
+ROOTDEPPATH = --dep-path .
+BCHDEPPATH = --dep-path bch
+CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/bch}
 endif
 endif
 
 include mtd/Make.defs
-ROOTDEPPATH	= --dep-path .
-MTDDEPPATH	= --dep-path mtd
-
-ifeq ($(CONFIG_I2C),y)
-include i2c/Make.defs
-ROOTDEPPATH	= --dep-path .
-I2CDEPPATH	= --dep-path i2c
-CFLAGS		+= ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/i2c}
-endif
+ROOTDEPPATH = --dep-path .
+MTDDEPPATH = --dep-path mtd
+
+include sensors/Make.defs
+ROOTDEPPATH = --dep-path .
+SENSORDEPPATH = --dep-path sensors
+CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh $(INCDIROPT) "$(CC)" $(TOPDIR)/drivers/sensors}
 
 ASRCS		= $(SERIAL_ASRCS) $(NET_ASRCS) $(PIPE_ASRCS) $(USBDEV_ASRCS) \
 			  $(USBHOST_ASRCS) $(MMCSD_ASRCS) $(LCD_ASRCS) $(BCH_ASRCS) \
-			  $(MTD_ASRCS)
+			  $(MTD_ASRCS) $(SENSOR_ASRCS)
 AOBJS		= $(ASRCS:.S=$(OBJEXT))
 
 CSRCS		=
@@ -115,7 +113,7 @@ endif
 endif
 CSRCS		+= $(SERIAL_CSRCS) $(NET_CSRCS) $(PIPE_CSRCS) $(USBDEV_CSRCS) \
 			   $(USBHOST_CSRCS) $(MMCSD_CSRCS) $(LCD_CSRCS) $(BCH_CSRCS) \
-			   $(MTD_CSRCS) $(I2C_CSRCS)
+			   $(MTD_CSRCS) $(SENSOR_CSRCS)
 COBJS		= $(CSRCS:.c=$(OBJEXT))
 
 SRCS		= $(ASRCS) $(CSRCS)
@@ -123,7 +121,7 @@ OBJS		= $(AOBJS) $(COBJS)
 
 BIN			= libdrivers$(LIBEXT)
 
-VPATH		= serial:net:pipes:usbdev:usbhost:mmcsd:lcd:bch:mtd:i2c
+VPATH		= serial:net:pipes:usbdev:usbhost:mmcsd:lcd:bch:mtd:sensors
 
 all:	$(BIN)
 
@@ -141,7 +139,7 @@ $(BIN):	$(OBJS)
 .depend: Makefile $(SRCS)
 	@$(MKDEP) $(ROOTDEPPATH) $(SERIALDEPPATH) $(NETDEPPATH) $(PIPEDEPPATH) \
 	  $(USBDEVDEPPATH) $(USBHOSTDEPPATH) $(MMCSDDEPPATH) $(LCDDEPPATH) \
-	  $(BCHDEPPATH) $(MTDDEPPATH) $(I2CDEPPATH)\
+	  $(BCHDEPPATH) $(MTDDEPPATH) $(SENSORDEPPATH) \
 	  $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
 	@touch $@
 
diff --git a/drivers/i2c/Make.defs b/drivers/sensors/Make.defs
similarity index 93%
rename from drivers/i2c/Make.defs
rename to drivers/sensors/Make.defs
index 2358d533b9bc9aa054d67cde36d1f1ae7cd0d6a9..61badadc2771c983f6b09844a81e234f749dc513 100644
--- a/drivers/i2c/Make.defs
+++ b/drivers/sensors/Make.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# drivers/i2c/Make.defs
+# drivers/sensors/Make.defs
 #
 #   Copyright (C) 2011 Gregory Nutt. All rights reserved.
 #   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -33,10 +33,12 @@
 #
 ############################################################################
 
-I2C_ASRCS  =
-I2C_CSRCS  = 
+SENSOR_ASRCS  =
+SENSOR_CSRCS = 
+
+# These drivers depend on I2C support
 
 ifeq ($(CONFIG_I2C),y)
-I2C_CSRCS  += st_lis331dl.c
+SENSOR_CSRCS += st_lis331dl.c
 endif
 
diff --git a/drivers/i2c/st_lis331dl.c b/drivers/sensors/st_lis331dl.c
similarity index 99%
rename from drivers/i2c/st_lis331dl.c
rename to drivers/sensors/st_lis331dl.c
index 7d5cdc4a2360a5d03fe76b5e9f0a062cd47b6781..19f7dd7552da6e007f670f356ec4a2b3a8cc15db 100644
--- a/drivers/i2c/st_lis331dl.c
+++ b/drivers/sensors/st_lis331dl.c
@@ -1,5 +1,5 @@
 /****************************************************************************
- * drivers/i2c/st_lis331dl.c
+ * drivers/sensors/st_lis331dl.c
  *
  *   Copyright (C) 2011 Uros Platise. All rights reserved.
  *
@@ -47,7 +47,7 @@
 #include <stdio.h>
 
 #include <nuttx/kmalloc.h>
-#include <nuttx/i2c/st_lis331dl.h>
+#include <nuttx/sensors/st_lis331dl.h>
  
 /************************************************************************************
  * Private Data Types
diff --git a/graphics/nxfonts/nxfonts_convert.c b/graphics/nxfonts/nxfonts_convert.c
index c5afb759e86139d877f1daca0adabc4b258558b1..429518cf028bad1d015f6f772fcba773b7372b81 100644
--- a/graphics/nxfonts/nxfonts_convert.c
+++ b/graphics/nxfonts/nxfonts_convert.c
@@ -65,10 +65,7 @@
 #  define NXF_PIXELMASK           0x01
 #  define NXF_SCALEX(x)           ((x) >> 3)
 #  define NXF_PIXEL_T             uint8_t
-#  define NXF_MULTIPIXEL(p)       ((uint8_t)(p) << 7 | (uint8_t)(p) << 6 | \
-                                   (uint8_t)(p) << 5 | (uint8_t)(p) << 4 | \
-                                   (uint8_t)(p) << 3 | (uint8_t)(p) << 2 | \
-                                   (uint8_t)(p) << 1 | (p))
+#  define NXF_MULTIPIXEL(p)       ((p) ? 0xff : 0x00)
 
 #elif NXFONTS_BITSPERPIXEL == 2
 
diff --git a/include/nuttx/i2c/i2c.h b/include/nuttx/i2c.h
similarity index 98%
rename from include/nuttx/i2c/i2c.h
rename to include/nuttx/i2c.h
index 571c3c40166195002cef167320e7293642289fc5..748b7cc607ec3bd029a9fd66dcadf425c6173a52 100644
--- a/include/nuttx/i2c/i2c.h
+++ b/include/nuttx/i2c.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * include/nuttx/i2c/i2c.h
+ * include/nuttx/i2c.h
  *
  *   Copyright(C) 2009-2011 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
@@ -33,8 +33,8 @@
  *
  ****************************************************************************/
 
-#ifndef __INCLUDE_NUTTX_I2C_I2C_H
-#define __INCLUDE_NUTTX_I2C_I2C_H
+#ifndef __INCLUDE_NUTTX_I2C_H
+#define __INCLUDE_NUTTX_I2C_H
 
 /****************************************************************************
  * Included Files
@@ -330,4 +330,4 @@ EXTERN int up_i2cuninitialize(FAR struct i2c_dev_s * dev);
 #if defined(__cplusplus)
 }
 #endif
-#endif /* __INCLUDE_NUTTX_I2C_I2C_H */
+#endif /* __INCLUDE_NUTTX_I2C_H */
diff --git a/include/nuttx/nxfonts.h b/include/nuttx/nxfonts.h
index 9a8603964ff001173c17e2e3a91fab6688c979bd..e9c17362a47a808164a276214321c8c13b72849e 100644
--- a/include/nuttx/nxfonts.h
+++ b/include/nuttx/nxfonts.h
@@ -161,6 +161,10 @@ EXTERN FAR const struct nx_fontbitmap_s *nxf_getbitmap(uint16_t ch);
  *
  ****************************************************************************/
 
+EXTERN int nxf_convert_1bpp(FAR uint8_t *dest, uint16_t height,
+                            uint16_t width, uint16_t stride,
+                            FAR const struct nx_fontbitmap_s *bm,
+                            nxgl_mxpixel_t color);
 EXTERN int nxf_convert_2bpp(FAR uint8_t *dest, uint16_t height,
                             uint16_t width, uint16_t stride,
                             FAR const struct nx_fontbitmap_s *bm,
diff --git a/include/nuttx/i2c/st_lis331dl.h b/include/nuttx/sensors/st_lis331dl.h
similarity index 97%
rename from include/nuttx/i2c/st_lis331dl.h
rename to include/nuttx/sensors/st_lis331dl.h
index 31092ae79ac06c9ba0f182648a15d82331c4f8e3..679ba81ec36f9723cf8cde140f7327bb510e054e 100644
--- a/include/nuttx/i2c/st_lis331dl.h
+++ b/include/nuttx/sensors/st_lis331dl.h
@@ -1,5 +1,5 @@
 /****************************************************************************
- * include/nuttx/i2c/st_lis331dl.h
+ * include/nuttx/sensors/st_lis331dl.h
  *
  *   Copyright (C) 2011 Uros Platise. All rights reserved.
  *
@@ -39,13 +39,12 @@
  *  \brief ST LIS331DL I2C Device Driver
  **/ 
 
-#ifndef __INCLUDE_NUTTX_I2C_ST_LIS331DL_H
-#define __INCLUDE_NUTTX_I2C_ST_LIS331DL_H
+#ifndef __INCLUDE_NUTTX_SENSORS_ST_LIS331DL_H
+#define __INCLUDE_NUTTX_SENSORS_ST_LIS331DL_H
 
-#include <nuttx/i2c/i2c.h>
+#include <nuttx/i2c.h>
 #include <stdbool.h>
 
-
 /************************************************************************************
  * Pre-Processor Declarations
  ************************************************************************************/
@@ -176,5 +175,5 @@ EXTERN const struct st_lis331dl_vector_s * st_lis331dl_getreadings(struct st_lis
 #endif
 
 #endif /* __ASSEMBLY__ */
-#endif /* __INCLUDE_NUTTX_I2C_ST_LIS331DL_H */
+#endif /* __INCLUDE_NUTTX_SENSORS_ST_LIS331DL_H */