The official mbed C/C SDK provides the software platform and libraries to build your applications.

Dependents:   SeeedTouchLCD

Fork of mbed by mbed official

(01.May.2014) started sales! http://www.switch-science.com/catalog/1717/

(13.March.2014) updated to 0.5.0

This is a pin conversion PCB from mbed 1768/11U24 to arduino UNO.

  • So if you have both mbed and arduino shields, I guess you would be happy with such a conversion board :)

Photos

  • Board photo vvv /media/uploads/k4zuki/mbedshield050.brd.png
  • Schematic photo vvv /media/uploads/k4zuki/mbedshield050.sch.png
  • Functionality photo vvv /media/uploads/k4zuki/mbedshieldfunc.jpg

Latest eagle files

PCB >> /media/uploads/k4zuki/mbedshield050.brd
SCH >> /media/uploads/k4zuki/mbedshield050.sch

BIG changes from previous version

  1. Ethernet RJ45 connector is removed.
    1. http://mbed.org/components/Seeed-Ethernet-Shield-V20/ is the biggest hint to use Ethernet!
  2. Most ALL of components can be bought at Akizuki http://akizukidenshi.com/
    1. But sorry, they do not send parts to abroad
  3. Pinout is changed!
arduino0.4.00.5.0
D4p12p21
D5p11p22
MOSI_nonep11
MISO_nonep12
SCK_nonep13

This design has bug(s)

  1. I2C functional pin differs between 1768 and 11U24.

Fixed bugs here

  1. MiniUSB cable cannot be connected on mbed if you solder high-height electrolytic capacitor on C3.
    1. http://akizukidenshi.com/catalog/g/gP-05002/ is the solution to make this 100% AKIZUKI parts!
  2. the 6-pin ISP port is not inprimented in version 0.4.0
    1. it will be fixed in later version 0.4.1/0.4.2/0.5.0 This has beenfixed

I am doing some porting to use existing arduino shields but it may faster if you do it by yourself...

you can use arduino PinName "A0-A5,D0-D13" plus backside SPI port for easier porting.

To do this you have to edit PinName enum in

  • "mbed/TARGET_LPC1768/PinNames.h" or
  • "mbed/TARGET_LPC11U24/PinNames.h" as per your target mbed.

here is the actual list: This list includes define switch to switch pin assignment

part_of_PinNames.h

        USBTX = P0_2,
        USBRX = P0_3,

//from here mbeDshield mod
        D0=p27,
        D1=p28,
        D2=p14,
        D3=p13,
#ifdef MBEDSHIELD_050
        MOSI_=p11,
        MISO_=p12,
        SCK_=p13,
        D4=p21,
        D5=p22,
#else
        D4=p12,
        D5=p11,
#endif
        D6=p23,
        D7=p24,
        D8=p25,
        D9=p26,
        D10=p8,
        D11=p5,
        D12=p6,
        D13=p7,
        A0=p15,
        A1=p16,
        A2=p17,
        A3=p18,
        A4=p19,
        A5=p20,
        SDA=p9,
        SCL=p10,
//mbeDshield mod ends here
        // Not connected
        NC = (int)0xFFFFFFFF

Files at this revision

API Documentation at this revision

Comitter:
emilmont
Date:
Thu Dec 08 12:04:01 2011 +0000
Parent:
27:7110ebee3484
Child:
29:078e4b97a13e
Commit message:
Add additional M0 peripherals implementations, fix GCC stdio/uart

Changed in this revision

LPC11U24/ARM/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC11U24/ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
LPC11U24/ARM/mbed.ar Show annotated file Show diff for this revision Revisions of this file
LPC11U24/ARM/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
LPC11U24/GCC_ARM/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC11U24/GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC11U24/GCC_CR/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC11U24/GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC11U24/GCC_CS/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC11U24/GCC_CS/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC11U24/uARM/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC11U24/uARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
LPC11U24/uARM/mbed.ar Show annotated file Show diff for this revision Revisions of this file
LPC11U24/uARM/system_LPC11Uxx.o Show annotated file Show diff for this revision Revisions of this file
LPC1768/ARM/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC1768/ARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
LPC1768/ARM/mbed.ar Show annotated file Show diff for this revision Revisions of this file
LPC1768/ARM/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
LPC1768/GCC_ARM/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC1768/GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC1768/GCC_CR/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC1768/GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC1768/GCC_CS/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC1768/GCC_CS/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC1768/uARM/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC1768/uARM/cmsis_nvic.o Show annotated file Show diff for this revision Revisions of this file
LPC1768/uARM/mbed.ar Show annotated file Show diff for this revision Revisions of this file
LPC1768/uARM/system_LPC17xx.o Show annotated file Show diff for this revision Revisions of this file
LPC2368/ARM/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC2368/ARM/mbed.ar Show annotated file Show diff for this revision Revisions of this file
LPC2368/GCC_ARM/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC2368/GCC_ARM/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC2368/GCC_CR/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC2368/GCC_CR/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC2368/GCC_CS/libcapi.a Show annotated file Show diff for this revision Revisions of this file
LPC2368/GCC_CS/libmbed.a Show annotated file Show diff for this revision Revisions of this file
LPC2368/uARM/capi.ar Show annotated file Show diff for this revision Revisions of this file
LPC2368/uARM/mbed.ar Show annotated file Show diff for this revision Revisions of this file
PeripheralNames.h Show annotated file Show diff for this revision Revisions of this file
PinNames.h Show annotated file Show diff for this revision Revisions of this file
PortIn.h Show annotated file Show diff for this revision Revisions of this file
PortInOut.h Show annotated file Show diff for this revision Revisions of this file
PortOut.h Show annotated file Show diff for this revision Revisions of this file
device.h Show annotated file Show diff for this revision Revisions of this file
platform.h Show annotated file Show diff for this revision Revisions of this file
rpc.h Show annotated file Show diff for this revision Revisions of this file
Binary file LPC11U24/ARM/capi.ar has changed
Binary file LPC11U24/ARM/cmsis_nvic.o has changed
Binary file LPC11U24/ARM/mbed.ar has changed
Binary file LPC11U24/ARM/system_LPC11Uxx.o has changed
Binary file LPC11U24/GCC_ARM/libcapi.a has changed
Binary file LPC11U24/GCC_ARM/libmbed.a has changed
Binary file LPC11U24/GCC_CR/libcapi.a has changed
Binary file LPC11U24/GCC_CR/libmbed.a has changed
Binary file LPC11U24/GCC_CS/libcapi.a has changed
Binary file LPC11U24/GCC_CS/libmbed.a has changed
Binary file LPC11U24/uARM/capi.ar has changed
Binary file LPC11U24/uARM/cmsis_nvic.o has changed
Binary file LPC11U24/uARM/mbed.ar has changed
Binary file LPC11U24/uARM/system_LPC11Uxx.o has changed
Binary file LPC1768/ARM/capi.ar has changed
Binary file LPC1768/ARM/cmsis_nvic.o has changed
Binary file LPC1768/ARM/mbed.ar has changed
Binary file LPC1768/ARM/system_LPC17xx.o has changed
Binary file LPC1768/GCC_ARM/libcapi.a has changed
Binary file LPC1768/GCC_ARM/libmbed.a has changed
Binary file LPC1768/GCC_CR/libcapi.a has changed
Binary file LPC1768/GCC_CR/libmbed.a has changed
Binary file LPC1768/GCC_CS/libcapi.a has changed
Binary file LPC1768/GCC_CS/libmbed.a has changed
Binary file LPC1768/uARM/capi.ar has changed
Binary file LPC1768/uARM/cmsis_nvic.o has changed
Binary file LPC1768/uARM/mbed.ar has changed
Binary file LPC1768/uARM/system_LPC17xx.o has changed
Binary file LPC2368/ARM/capi.ar has changed
Binary file LPC2368/ARM/mbed.ar has changed
Binary file LPC2368/GCC_ARM/libcapi.a has changed
Binary file LPC2368/GCC_ARM/libmbed.a has changed
Binary file LPC2368/GCC_CR/libcapi.a has changed
Binary file LPC2368/GCC_CR/libmbed.a has changed
Binary file LPC2368/GCC_CS/libcapi.a has changed
Binary file LPC2368/GCC_CS/libmbed.a has changed
Binary file LPC2368/uARM/capi.ar has changed
Binary file LPC2368/uARM/mbed.ar has changed
--- a/PeripheralNames.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/PeripheralNames.h	Thu Dec 08 12:04:01 2011 +0000
@@ -77,9 +77,6 @@
 }; 
 typedef enum CANName CANName;
 
-#define STDIO_UART_TX     USBTX
-#define STDIO_UART_RX     USBRX
-#define STDIO_UART        UART_0
 #define US_TICKER_TIMER TIMER_3
 #define US_TICKER_TIMER_IRQn TIMER3_IRQn
 
@@ -96,8 +93,8 @@
 typedef enum I2CName I2CName;
 
 enum TimerName {
-    TIMER_0 = (int)LPC_CT32B0_BASE  
-    , TIMER_1 = (int)LPC_CT32B1_BASE       
+    TIMER_0 = (int)LPC_CT32B0_BASE
+    , TIMER_1 = (int)LPC_CT32B1_BASE
 };
 typedef enum TimerName TimerName;
 
@@ -119,15 +116,22 @@
 };
 typedef enum SPIName SPIName;
 
+#define US_TICKER_TIMER TIMER_1
+#define US_TICKER_TIMER_IRQn     TIMER_32_1_IRQn 
+
+typedef enum PWMName {
+    PWM_1 = 0
+    , PWM_2
+    , PWM_3
+    , PWM_4
+} PWMName;
+
+#endif
+
 #define STDIO_UART_TX     USBTX
 #define STDIO_UART_RX     USBRX
 #define STDIO_UART        UART_0
 
-#define US_TICKER_TIMER TIMER_1
-#define US_TICKER_TIMER_IRQn     TIMER_32_1_IRQn 
-
-#endif
-
 #ifdef __cplusplus
 }
 #endif 
--- a/PinNames.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/PinNames.h	Thu Dec 08 12:04:01 2011 +0000
@@ -96,6 +96,19 @@
 };
 typedef enum PinMode PinMode;
 
+// version of PINCON_TypeDef using register arrays
+typedef struct {
+  __IO uint32_t PINSEL[11];
+       uint32_t RESERVED0[5];
+  __IO uint32_t PINMODE[10];
+#ifndef TARGET_LPC2368
+// Open drain mode is not available on LPC2368
+  __IO uint32_t PINMODE_OD[5];
+#endif
+} PINCONARRAY_TypeDef;
+
+#define PINCONARRAY ((PINCONARRAY_TypeDef *)LPC_PINCON_BASE)
+
 
 #elif defined(TARGET_LPC11U24)
 
@@ -126,6 +139,10 @@
   , P0_21 = 21
   , P0_22 = 22
   , P0_23 = 23
+  , P0_24 = 24
+  , P0_25 = 25
+  , P0_26 = 26
+  , P0_27 = 27
 
   , P1_0 = 32
   , P1_1 = 33
--- a/PortIn.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/PortIn.h	Thu Dec 08 12:04:01 2011 +0000
@@ -54,9 +54,7 @@
      * Variables:
      *  returns - An integer with each bit corresponding to associated port pin setting
      */
-    int read() {
-        return _gpio->FIOPIN & _mask;
-    }
+    int read();
 
     /* Function: mode
      *  Set the input pin mode
@@ -74,9 +72,11 @@
     }
 
 private:
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
     LPC_GPIO_TypeDef    *_gpio;
+#endif
     PortName            _port;
-    uint32_t            _mask;    
+    uint32_t            _mask;
 };
 
 } // namespace mbed
--- a/PortInOut.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/PortInOut.h	Thu Dec 08 12:04:01 2011 +0000
@@ -35,9 +35,7 @@
      * Variables:
      *  value - An integer specifying a bit to write for every corresponding port pin
      */    
-    void write(int value) {
-        _gpio->FIOPIN = (_gpio->FIOPIN & ~_mask) | (value & _mask);
-    }
+    void write(int value);
 
     /* Function: read
      *  Read the value currently output on the port
@@ -45,9 +43,7 @@
      * Variables:
      *  returns - An integer with each bit corresponding to associated port pin setting
      */
-    int read() {
-        return _gpio->FIOPIN & _mask;
-    }
+    int read();
 
     /* Function: output
      *  Set as an output
@@ -88,9 +84,11 @@
     }
 
 private:
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
     LPC_GPIO_TypeDef    *_gpio;
+#endif
     PortName            _port;
-    uint32_t            _mask;    
+    uint32_t            _mask;
 };
 
 } // namespace mbed
--- a/PortOut.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/PortOut.h	Thu Dec 08 12:04:01 2011 +0000
@@ -56,9 +56,7 @@
      * Variables:
      *  value - An integer specifying a bit to write for every corresponding PortOut pin
      */    
-    void write(int value) {
-        _gpio->FIOPIN = (_gpio->FIOPIN & ~_mask) | (value & _mask);
-    }
+    void write(int value);
 
     /* Function: read
      *  Read the value currently output on the port
@@ -66,9 +64,7 @@
      * Variables:
      *  returns - An integer with each bit corresponding to associated PortOut pin setting
      */
-    int read() {
-        return _gpio->FIOPIN & _mask;
-    }
+    int read();
 
     /* Function: operator=
      *  A shorthand for <write>
@@ -91,9 +87,11 @@
     }
 
 private:
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
     LPC_GPIO_TypeDef    *_gpio;
-    PortName            _port; 
-    uint32_t            _mask;    
+#endif
+    PortName            _port;
+    uint32_t            _mask;
 };
 
 } // namespace mbed
--- a/device.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/device.h	Thu Dec 08 12:04:01 2011 +0000
@@ -33,9 +33,9 @@
 
 #elif defined(TARGET_LPC11U24)
 
-#define DEVICE_PORTIN 0
-#define DEVICE_PORTOUT 0
-#define DEVICE_PORTINOUT 0
+#define DEVICE_PORTIN 1
+#define DEVICE_PORTOUT 1
+#define DEVICE_PORTINOUT 1
 
 #define DEVICE_INTERRUPTIN 1
 
@@ -58,7 +58,7 @@
 
 #define DEVICE_ETHERNET 0
 
-#define DEVICE_PWMOUT 0
+#define DEVICE_PWMOUT 1
 
 #endif
 
--- a/platform.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/platform.h	Thu Dec 08 12:04:01 2011 +0000
@@ -5,9 +5,7 @@
 #ifndef MBED_PLATFORM_H
 #define MBED_PLATFORM_H
 
-#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
 #define MBED_RPC
-#endif
 
 #define MBED_OPERATORS
 
--- a/rpc.h	Tue Nov 29 14:59:27 2011 +0000
+++ b/rpc.h	Thu Dec 08 12:04:01 2011 +0000
@@ -210,7 +210,11 @@
         if(pin2 <= 9) {
             pin = pin * 10 + pin2;
         }
+#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
         return (PinName)(LPC_GPIO0_BASE + port * 32 + pin);
+#elif defined(TARGET_LPC11U24)
+        return (PinName)(port * 32 + pin);
+#endif
     } else if(str[0] == 'p') {  // pn
         uint32_t pin = str[1] - '0'; // pn
         uint32_t pin2 = str[2] - '0'; // pnn