Orbit Educational Platform

Orbit-EDU is the educational version of the Orbit sensor platform, developed by Rice Efficient Computing Group. Orbit-EDU 1.0 is electrically the same as the Orbit-mini 1.0 that is intended for research deployment. A Orbit-EDU board is considerably larger and more flexible for the ease of debugging and experimentation.  Orbit-EDU is completely open-source. From this webpage, one can download its PCB design, component list, example code, documentation.

Orbit-EDU 1.0 has the following features. It consists of 1) a TI MSP430F1xx microcontroller, 2) a KCWirefree KC21  Bluetooth-UART module, 3) a connector for a 2x8 character LCD, 4) a rechargeable Lithium Ion coin cell battery, 5) a 3-axis accelerometer from Kionix, 6) capacitive touch sensors, 7) a temperature sensor, 8) multiple tactile buttons, and 9) a JTAG programming interface. The board also provides 1) extension interface for sensors and input devices, 2) interface for power measurement, 3) power management circuitry, and 4) interface for external power supply.


PCB Documentation, including operation manual and components
Ready-to-Fabricate PCB design (download), including source, Gerber files, and component list.


Example code (OrbitEDUExample.zip download)
Properly configure IAR EWB (Tutorial) and import the workspace (OrbitEDU-Example.eww)
Code description:

main.c/h: entry point
accel.c/h: ADC configuration and accelerometer reading
bluetooth.c/h: Bluetooth configuration and UART0 interrupt handlers for Bluetooth communication
macro_definition.h: macro definitions used globally
MSP430_config.c/h: Configure various aspects of MSP430
timerA.c/h: timerA interrupt handler. Toggle LED5 every second

The program runs interrupt-driven. It starts from main() in main.c and enters a low-power mode, idle, with interrupt enabled. It will be waken up by a TimerA interrupt or UART0 interrupt. For example, when the UART0 finishes sending/receiving a BYTE, a UART send/receive interrupt is generated. The program will call its corresponding handler to process it and then go back to the low-power mode again. 

Orbit-EDU+Windows Mobile device

Example code for Windows Mobile: BTEPPC-1.0.zip (download) and Tutorial
Connect Windows Mobile with Orbit-EDU

1. Properly configure IAR EWB (Tutorial)
2. Set Orbit-EDU board switches 1 and 4 off, 2 and 3 on (toward the board edge).  No battery or external power supply required. See the hardware documentation.
3. Connect MSP-FET430UIF (See a picture) to the PC with IAR EWB and the Orbit-EDU board
4. In IAR EWB, Project->Rebuild All, and then Project->Debug, now IAR EWB will compile the code and download the binary into the MSP430 in the Orbit-EDU board.
5. IAR EWB will start run the code but pause for your further instruction. (See a picture). Select Debug->Go to run the code. After 1-3 seconds, LED1-3 are on, LED4 is flashing, and LED5 is  toggling every second.
6. On the Windows Mobile device, run BTEPPC, follow the tutorial to discover and connect to the Orbit-EDU board. The Orbit-EDU board is named "Orbit 0.1.01 3d," which can be changed in the Orbit-EDU board code (bluetooth.c: const BYTE BT_INIT_STRING[40] = "AT+ZV DefaultLocalName Orbit 0.1.01 3d\r\n";).
7. Click "View BT Traffic" button on BTEPPC to view the data exchange between the Orbit-EDU board and the Windows Mobile device.
8. Type in a text line and Click "Send." The Windows Mobile device will send the text line to the Orbit-EDU board, and the latter will simply send the text back to the former (See Orbit-EDU board code, bluetooth.c: __interrupt void ReceiveData()).


For bugs and suggestions, contact {rahmati, lzhong} AT rice DOT edu


Ahmad Rahmati (lead student)   Narendra Anand   Jiayang Liu

Acknowledgement and Disclaimer

This material is based upon work supported by the National Science Foundation under Grants IIS #0713249, CNS #0720825, CNS #0721894, and CNS #0751173. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation (NSF).