Using TinyOS
Tutorials: This series of tutorials walks you through programming in TinyOS. It starts with compiling and uploading code to mote, then walks through TinyOS's features and systems. If you have downloaded TinyOS and want to start using your motes, this is the place to start.
What the Second Generation Holds: This is a 70-minute talk by Philip Levis on the design of TinyOS 2.0. It was given as a seminar in EE380 at Stanford University, January 17, 2007.
TinyOS Programming Manual: This is a detailed (200 page) book on programming TinyOS 2.0. The tutorials get you started with practical matters like uploading code and programming basics. The TinyOS Programming Manual digs into the details of why TinyOS is designed as it is. It also describes many of the advanced features, implementations, and programming approaches used. For example, one chapter describes a series of common software design patterns found in TinyOS code.
TUnit TinyOS Unit Testing: TUnit is one of the testing systems used on TinyOS. This documentation describes how to write TUnit tests and run them. TUnit regression tests run daily on a range of TinyOS systems, helping to locate and solve code problems throughout development.
Programming IMote2 with OpenOCD: The iMote2 platform is a bit different than other motes in terms of how it needs to be programmed. This documentation explains how to program an iMote2 with OpenOCD.
Boomerang and Tmote Resources from Moteiv: Moteiv corporation (now Sentilla) used to provide a TinyOS variant called Boomerang, which has many similar features to TinyOS 2.0 yet is based on a core of TinyOS 1.1. Boomerang only runs on TMotes (Telos motes produced by Moteiv). Boomerang is no longer actively supported by Sentilla, and so the documentation has been moved here so users can continue to use and improve the documentation. The Boomerang documentation has lots of excellent details on the Telos/TMote platforms.
Safe TinyOS: This is a tutorial on how to use Safe TinyOS, which provides runtime support for trapping memory safety errors such as null pointer dereferences and out-of-bounds array accesses.
Stack Depth Analysis: This tutorial describes how to use TinyOS's tool support for estimating the worst-case stack memory required by an application. This is important for applications that fully utilize a mote's RAM.
Avrora: This tutorial describes how to rapidly get started with Avrora, a cycle-accurate simulator for some TinyOS platforms.
TinyOS video channel: In particular, contains a 7-part video of the TinyOS 2.1 tutorial given in April 2009 at the IPSN conference in San Francisco.