edit

Seeeduino Arch

Seeeduino Arch is an mbed enabled development board which combines the advantages of mbed SDK and Arduino formfactor. With Seeeduino Arch, you can use mbed C/C++ SDK, libraries and optimizing online development tools to rapidly build a prototype. Seeeduino Arch has standard Arduino appearance and Grove connectors. It’s convenient to connect existing Shields and Grove products to Seeeduino Arch.

Feature

  • mbed enabled

  • online development tools

  • easy to use C/C++ SDK

  • lots of published libraries, projects

  • Standard Arduino Appearance, two Grove connectors

  • available with 3.3V compatible shields

  • a large number of grove modules

  • Drag-n-drop programming

  • NXP LPC11U24 MCU

  • Low power ARM Cortex-M0 Core

  • 48MHz, 32KB Flash, 8KB RAM, 4KB EEPROM

  • USB Device, 2xSPI, UART, I2C

Specification

Item Typical
Work Voltage 7 ~ 12V
Microcontroller LPC11U24
Flash Momery 32kB
EEPROM 4kB
RAM 8kB
UART 1
I2C 1
ADC Channels 8
I/O pins 40
Digital I/O Max Input Voltage 5.0V

Pinout

![](https://github.com/SeeedDocument/Seeeduino_Arch/raw/master/img/Arch_Pinout.png)

There is a monochrome version] for you to print.

Compare Seeeduino Arch with Arduino

Both Seeedduino and Arduino are platforms used for creating rapid prototyping. However, there are still differences between them. We can get more information about them by comparing from the following form.

Item Seeeduino Arch Arduino
Microcontroller ARM Cortex-M series MCU Mainly AVR 8-bit MCU, using the new Due Cortex-M3 MCU family.
Hardware specification Standardized size and pin for easy modular build prototypes Standardized size and pin for easy modular build prototypes
Development Environment Online development tool for collaborating and sharing easily, can export project to local for development and debugging. Powerful, yet also simple. Arduino IDE, easy to use, simple but functional.
Develop and debug Support library import, export projects, version control, debugging and other functions. Libraries and application code are separate, suitable for writing simple code, without debugging function.
The Seeeduino Arch is compatibility with Arduino in hardware. Now we share their pins destribution.
Arduino Seeeduino Arch Description
D0 P0_18 Digital I/O
D1 P0_19
D2 P0_17
D3 P1_17
D4 P1_18
D5 P1_24
D6 P1_25
D7 P1_5
D8 P1_26
D9 P1_27
D10 P0_2
D11 P1_29
D12 P0_8
D13 P0_9
SDA P0_5 I2C
SCL P0_4
A0 P0_11 Analog
A1 P0_12
A2 P0_13
A3 P0_14
A4 P0_16
A5 P0_22
A6 P0_23
1-MISO1 P1_21 SPI1
2-SCK P1_20
3-RESET P1_23
4-GND /
5-MOSI P1_22
6-VCC /
1-SWDIO P0_15 2X3 SWD Interface
2-VCC /
3-SWCLK P0_10
4- P1_4
5-nRET P0_0
6-GND /
D+ USB_DP USB&ISP
D- USB_DM
VBUS P0_3
CONNECT P0_6
ISP P0_1
RX P1_14 UART Grove
TX P1_13
AREF P0_7 /

Getting Started

Seeeduino Arch is compatible with mbed in software. You can use the comprehensive firmware library and plenty of sample code which is offered by mbed SDK. If you are not familiar with mbed platform and mbed SDK, please click here to have a good understanding.

The Seeeduino Arch can use the free online IDE and C++ compiler from mbed. This compiler is built on optimizing ARMCC compiler engine which. This helps you get your program up and running quickly, and no software installation is required. Downloading programs is as simple as using a USB flash drive (no external programmer is necessary).

In addition to online IDE and compiler, users can make use of many offline compiler/IDE available for ARM Cortex M micro-controllers ARM Embedded GCC, Keil MDK ARM IAR Embedded Workbench, etc..

In addition, Writing a library is not a difficult task for beginners. You can click here to learn how to write an mbed Library.

Here we show you an easy demo: water lights using Seeeduino Arch to get you started.

Demo: Water Lights

  • Click the "mbed Enabled" logo to register an account for Seeeduino Arch.

  • Open https://mbed.org/compiler/ and you will get mbed online IDE. Before programming, you'd better read mbed Complier Getting started.

  • Click "New" to creat new program and select the device "mbed NXP LPC11U24". I believe that this picture explains better.

The below is my code to control the four leds of seeeduino arch.

#include "mbed.h"

DigitalOut  led1(LED1);
DigitalOut  led2(LED2);
DigitalOut  led3(LED3);
DigitalOut  led4(LED4);

int main() {
   while(1) {
   led1 = !led1;
   wait(0.5);
   led2 = !led2;
   wait(0.5);
   led3 = !led3;
   wait(0.5);
   led4 = !led4;
   wait(0.5);

    }
}
  • Now you can compile the code. If the code has errors, it will prompt you and give you help. And you may find the helps are just what you need.

  • After successfully compiling the code, save the bin file.

  • Now you need long press the reset button, it will automatically appear as a USB driver named CRP DISABLD.

![](https://github.com/SeeedDocument/Seeeduino_Arch/raw/master/img/A_usb_device.jpg)
  • Go to the CRP DISABLD. Now you need delete the firmware file and add the waterLights_LPC11U24 bin file to CRP DISABLD. Remember to reset the Microcontroller to start it running after you download a new program , now the seeeduino arch will run the waterLight program. You can have a try.

The mbed C/C++ SDK provides the software platform and libraries which also can apply to seeeduino Arch. So you can use this available resource to build your applications. And we are looking forward to sharing your more programs combining Seeeduino arch,Shiled and Grove modules.

Note:

If you use Seeeduino Arch on MAC or Linux, please read the application note --- USB ISP programming.

Programming Seeeduino Arch on Windows, Linux or Mac

Seeeduino Arch doesn't have an mbed interface. It uses USB In-System-Programming(ISP) to upgrade the firmware.

To enter the USB ISP mode, connect the Arch with your computer and long press its button, and then a disk named "CRP DISABLD" will appear.

  • on windows

  • delete firmware.bin in the "CRP DISABLD" disk.

  • copy a new firmware into the disk.

  • on linux

  • if the disk is not mounted, mount the disk at {mnt_dir}

  • dd if={new_firmware.bin} of={mnt_dir}/firmware.bin conv=notrunc

  • on mac you'll need to use Terminal to run the following script to copy you're .bin file to your Arch

  • dd if={new_firmare.bin} of=/Volumes/CRP DISABLD/firmware.bin conv=notrunc

    If you're so inclined, you can also create an Automator application to support drag-and-drop of the file to your board. Just create a "Run Shell Script" with the following command:
    dd if=$* of=/Volumes/CRP DISABLD/firmware.bin conv=notrunc
    You will also need to change the "Pass Input" option from "to stdin" to "as arguments"--without this you will get an error "The action 'Run Shell Script' encountered an error" or "dd: no value specified for if (1)" in the log.
    Also, an improved form of the script is:
    dd if="${1}" of=/Volumes/CRP\ DISABLD/firmware.bin conv=notrunc
    Which should handle spaces in the file path and only uses the first file supplied.

Very quick press the button to run the new firmware.

Multifunction for on-board button

By default, the on-board button has two functions: quick press to reset, long press to enter ISP mode. We can add more functions!

For example, use multifunction_for_reset_button to get:

  1. single click - turn on LED1

  2. double click - turn on LED2

  3. long click - reset

  4. click and then power on - enter ISP mode

Applications

Resource

Tech Support

Please submit any technical issue into our forum.