Xadow - M0

Xadow - M0 is an mbed enabled development board with Xadow form factor. Xadow is a series of flexible electronic modules including sensors, displays and etc. Several Xadow modules can be cascaded to create interactive objects.

Features

  • online development tools
  • easy to use C/C++ SDK
  • lots of published libraries, projects
  • extremely small and flexible
  • cascade connection
  • Low power ARM Cortex-M0 Core
  • 48MHz, 64KB Flash, 10KB RAM, 4KB EEPROM
  • USB Device, 2xSPI, UART, I2C

Specification

Pinout

Get Started

  1. Click this link to signup or login mbed, then import xadow_m0_blinky program into mbed online compiler.
  2. On mbed online IDE, click "Compile" (or use CTRL + D) to compile the code and download a binary file.
  3. Connect the board to the computer and long press the button, a USB drive named CRP DISABLD will show up.
  4. Delete the firmware.bin file in the CRP DISABLD drive, then copy the downloaded file to the drive.
  5. Quick press the button, the program will be running, an LED will be blinking.

You can open main.cpp to change the code. For example, use the following code to blink the LED every 0.1 second.

#include "mbed.h"

DigitalOut blue(P0_20);
 
int main() {
    while(1) {
        blue = 1;         // Switch ON the LED.
        wait(0.1);        // Wait for 0.1 Seconds.
        blue = 0;         // Switch OFF the LED.
        wait(0.1);        // Wait for 0.1 Seconds.
    }
}

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


Programming Arch on Windows, Linux or Mac

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.

  1. delete firmware.bin in the "CRP DISABLD" disk.
  2. copy a new firmware into the disk.
  1. if the disk is not mounted, mount the disk at {mnt_dir}
  2. dd if={new_firmware.bin} of={mnt_dir}/firmware.bin conv=notrunc
  1. 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.

Resource

Copyright (c) 2008-2016 Seeed Development Limited (www.seeedstudio.com / www.seeed.cc)
This static html page was created from http://www.seeedstudio.com/wiki