Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Tip
titleProject Leads
User Profile
user557058:6c89f917-698d-4c79-be39-6d35c24db618
User Profile
user557058:f751baa0-fc0f-4fa8-810e-9cfbca625d78
Info
titleOpenWSN support

The WSN430 is fully supported in OpenWSN.The OpenWSN builders build the WSN430 firmware nightly:

Warning

Support for WSN430v13b is EXPERIMENTAL. WSN430v14 is fully supported.

Table of Contents
excludePedro Issa Helou|Adilla Susungi

The WSN430 mote

Versions

The WSN430 features a MSP430 micro-controller and a radio. There are two versions of the board:

  • the WSN430 1.3b features a CC1100 radio, which communicates at 868MHz

  • the WSN430 1.4 features an IEEE802.15.4-compliant CC2420 radio, communicating in the 2.4GHz ISM frequency band

Both versions are supported by OpenWSN.

WSN430v13b

WSN430v14

Components

  • MSP430F1611 microcontroller (16bit, 48 kb flash, 10kB RAM)

  • CC1101 or CC2420 radio chip (depending on version)

  • TSL2550 light sensor

  • DS1722 temperature sensor

  • M25P80 external flash memory (1 MB)

  • 3,7V battery (830 mAh)

Datasheets, Schematics and Resources

Although the board is fully supported by OpenWSN, the WSN430 board is NOT developed by the OpenWSN team. Below are links to the official WSN430 documentation, as well as additional resources we find useful:

The datasheets

and schemetics of the board are:

Attachments
patterns*.pdf,*.vsd

Kickstart

This section documents how to load firmware into the WSN430.

Info

This guide was prepared using the following:

Many (perfectly working) alternatives exist. Some are listed in the "Alternate Tools" section below.

Tip

Are you using another set of tools? Add a comment to this page!

Connect the Hardware

 

Note

Make sure to use following jumper settings:

  • On the WSN430 1.3b, put the JP5 on the "batt" position
  • On the "WSN430 JTAG adaptor" board, close the JP6 jumper

Build the Binary

Code Block
title01bsp_leds_prog.ihex
~$ sudo apt-get install scons
[...]
~$ cd Desktop/
~/Desktop$ mkdir openwsn
~/Desktop$ cd openwsn/
~/Desktop/openwsn$ git clone https://github.com/openwsn-berkeley/openwsn-fw.git
[...]
~/Desktop/openwsn$ cd openwsn-fw/ 
~/Desktop/openwsn/openwsn-fw$ scons board=wsn430v13b toolchain=mspgcc bsp_leds
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _ 
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
scons: done reading SConscript files.
scons: Building targets ...
Compiling firmware/openos/projects/common/01bsp_leds/01bsp_leds.o
Linking   firmware/openos/projects/common/01bsp_leds_prog
msp430-size firmware/openos/projects/common/01bsp_leds_prog
   text	   data	    bss	    dec	    hex	filename
   2936	      0	     38	   2974	    b9e	firmware/openos/projects/common/01bsp_leds_prog
msp430-objcopy --output-target=ihex firmware/openos/projects/common/01bsp_leds_prog firmware/openos/projects/common/01bsp_leds_prog.ihex
msp430-objcopy --output-target=binary firmware/openos/projects/common/01bsp_leds_prog firmware/openos/projects/common/01bsp_leds_prog.bin
scons: done building targets.
Code Block
titletest_leds_xtal.ihex
~$ cd /home/user/Desktop/openwsn/openwsn-fw/firmware/openos/bootloader/telosb/
~/Desktop/openwsn/openwsn-fw/firmware/openos/bootloader/telosb$ ls
bsl  lib  readme.txt  test_leds_xtal.ihex

 

To test thing, you can use one of the following binaries:

Attachments
patterns*.ihex

Load and Run

Tip
titleOops!

Before you can go on, you need to install the required tools to load and debug code in the MSP430:

Code Block
$ sudo apt-get install gcc-msp430 msp430-libc msp430mcu mspdebug
Tip
titleOops!

If you're using the MSP430-JTAG by Olimex, it connects to your computer's parallel port. You need to allow the mpsdebug tool to access that parallel port (in our case /dev/parport1).

List the available parallel ports:

Code Block
$ ls -l /dev/parport*
crw-rw---- 1 root lp 99, 0 juil. 2 09:40 /dev/parport0
crw-rw-rw- 1 root lp 99, 1 juil. 2 09:40 /dev/parport1

Grant read/write access to the parallel port your MSP430-JTAG is connected to

Code Block
$ sudo chmod 666 /dev/parport1


Using the following commands, you will:

  • launch mspdebug on the parallel port
  • load and run the 01bsp_leds_prog.ihex binary image
  • load and run the test_leds_xtal.ihex binary image
Expand
titleSee commands...
Code Block
$ sudo mspdebug -j -d /dev/parport1 pif
MSPDebug version 0.21 - debugging tool for MSP430 MCUsCopyright (C) 2009-2012 Daniel Beer <dlbeer@gmail.com>This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
Starting JTAG
JTAG ID: 0x89
Chip ID: F16C
Chip ID data: f1 6c
 
Available commands:
= erase isearch opt run setwatch_w
alias exit load power save_raw simio
break fill load_raw prog set step
cgraph gdb locka read setbreak sym
delbreak help md regs setwatch verify
dis hexout mw reset setwatch_r

verify_raw
 
Available options:
color gdb_loop iradix
fet_block_size gdbc_xfer_size quiet
 
Type "help <topic>" for more information.
Press Ctrl+D to quit.
 
(mspdebug) load ~/Desktop/01bsp_leds_prog.ihex
 
Writing 2904 bytes at 4000...
Writing 32 bytes at ffe0...
Done, 2936 bytes total
(mspdebug) run
Running. Press Ctrl+C to interrupt...
^C
( PC: 001fe) ( R4: 00030) ( R8: 00030) (R12: 0110c)
( SP: 038f2) ( R5: 05a88) ( R9: 00001) (R13: 00034)
( SR: 00004) ( R6: 00005) (R10: 030c0) (R14: 0eb64)
( R3: 00000) ( R7: 00000) (R11: 00000) (R15: 00047)
0x01fe:
001fe: 0c 96 CMP R6, R12
00200: 00 00 BRA @PC
00202: 00 00 BRA @PC
00204: 00 00 BRA @PC
00206: 00 00 BRA @PC
00208: 00 00 BRA @PC
0020a: 00 00 BRA @PC
0020c: f1 38 JL 0x03f0
(mspdebug) erase
Erasing...
(mspdebug) reset
(mspdebug) load ~/Desktop/test_leds_xtal.ihex
Writing 174 bytes at 4000...
Writing 2 bytes at ffec...
Writing 2 bytes at fffe...
Done, 178 bytes total
(mspdebug) run
Running. Press Ctrl+C to interrupt...
^C
( PC: 04070) ( R4: 00030) ( R8: 00030) (R12: 0110c)
( SP: 038fe) ( R5: 05a88) ( R9: 00001) (R13: 00034)
( SR: 000d9) ( R6: 00005) (R10: 030c0) (R14: 0eb64)
( R3: 00000) ( R7: 00000) (R11: 00000) (R15: 00047)
0x4070:
04070: 60 01 32 d0 MOVA SP, &0xd032
04074: d8 00 CMPA PC, R8
04076: 0c 43 CLR R12
04078: 30 41 RET
0407a: 0d 12 PUSH R13
0407c: 0c 12 PUSH R12
0407e: 0f 12 PUSH R15
(mspdebug) exit
$ 

 

Video

Widget Connector
urlhttps://www.youtube.com/watch?v=opRPy4DipVA
Widget Connector
urlhttps://www.youtube.com/watch?v=aYg377pf_1A
running 01bsp_leds_prog.ihexrunning test_leds_xtal.ihex

 

Alternate Tools

This guide was completed successfully with the following combinaiton of tools and boards:

The following diagram indicates the connections used:

Gliffy
namewsn430_connections

IoT-LAB Testbed Support

IoT-LAB is a large-scale open wireless sensor network testbed operated by the French CNRS and INRIA research institutions. It features 2728 low-power sensor motes deployed in 6 different research centers throughout France. Among these 2728 motes, over 1000 are WSN430 boards.

 

An IoT-LAB node consists of 3 interconnected boards:

 

  • The "Open Node", a WSN430 fully programmable by the user (the board closest to us in the picture above)
  • The "Gateway" the board which connects the WSN430 to the IoT-LAB infrastructure and the Internet (the larger board in the picture above)
  • The "Control Node", a second WSN430 node, not programmable by the use, but used for monitoring (the board furthest from us in the picture above)

 

Info

More information about IoT-LAB at https://www.iot-lab.info/.

Building for IoT-LAB

The IoT-LAB's management interface allows you to load binaries images onto the boards. These images are in the "intel-standard" format, and contain the hexadecimal representation, in ASCII characters, of each byte. This means that they can be opened by a regular text editor.

For example, the following is the 00std_uart application for the WSN430v14, in "intel-standard" format:

Code Block
:104000005542200135D0085A82450011314000390F
:104010003F4000000F9308249242001120012F839B
:104020009F4FEE400011F8233F4000000F930724FC
:104030009242001120011F83CF430011F923B240A7
:10404000805A2001F240E0FF5600F240070057007E
:10405000F2D070003200F2D070003100F240300037
:104060001B00B24010006201B240803E7201B240BB
:1040700010016001F2D0C0FF0400F2D01000700007
:10408000F2D020007100F24029007400C243750094
:10409000F2404A007300F2F0FEFF7000F2D04000E0
:1040A0000000F2D080FF000032D0180032D0F000C3
:1040B000FD3F3040EC400F12F24061007700F2E02B
:1040C000200031003F4100130F12F2F0BFFF020049
:1040D000D24276007700F2E0100031003F41001339
:0E40E0000F12F2F07F0002003F4100130013A8
:10FFE000B240B240B240B240B240B240B640B2407D
:10FFF000E040C840B240B240B240B240B2400040DF
:0400000300004000B9
:00000001FF

This file can be uploaded on IoT-LAB.

Tip

All IAR projects are already set up to generate the intel-standard version of the binary (with extension .hex) for all WSN430v13b and WSN430v14 projects.