Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
TinyOS (less academic, more industrial orientation, rD, less filling)
nesC C C++ Makefile Java Shell Other

This branch is 733 commits ahead of tinyprod:tp-master

Upstream_Maint: add clean up section at end

delete local branches used that are no longer needed.
latest commit 768ce50848
Eric Decker cire831 authored
Failed to load latest commit information.
apps Merge branch 'tinyprod-base-next' into tp-master-next
deprecated/tosthreads Merge branch 'tinyprod-base-next' into tp-master
doc Merge branch 'tinyprod-base-next' into tp-master
licenses licences/bsd: bump year and tweak a touch
packaging Merge branch 'tinyprod-base-next' into tp-master-next
support Merge branch 'tinyprod-base-next' into tp-master-next
tools Merge branch 'tinyprod-base-next' into tp-master-next
tos Merge branch 'tinyprod-base-next' into tp-master-next
.gitignore ignore _Build (.gitignore)
00a_Repo_Notes ffa/tp-master: update Repo_Notes and Development_Environment
00b_Development_Environment docs: update Development_Environment to reflect new build system 3
00c_Getting_Started_Git Split out Why_Git from Getting_Started
00d_Contribution_Process Contribution_Process: Reflect that msp430-int-pu is currently not bei…
00e_Upstream_Maintenance Upstream_Maint: add clean up section at end
00f_Why_Git Split out Why_Git from Getting_Started
02_To_Do move to github (tp-freeforall). update repo map
03_Removed Minimal Z1 commit, MSP430 support x1 and x2 processors.
10_CopyrightTemplate tinyprod-base: add various top level description files.
11_Release_Notes Update Release notes.
12_Merge_Notes update merge status (db, jg -> msp430-int-pu), (db -> osian-int)
90_Main_Branches_Tags Initial version of Main_Branches_Tags
Makefile.include Set TINYOS_ROOT_DIR in Makefile, change var names Update
README.tinyos Update instructions for repo use
release-notes.txt Merge branch 'master' of git:// into c…


Warning: The main development tree (tinyos/tinyos-main) has been converted over to the new version 3 make system (issue #190 has been merged). (see below).

TinyOS is an open source, BSD-licensed operating system designed for low-power wireless devices, such as those used in sensor networks, ubiquitous computing, personal area networks, smart buildings, and smart meters. A worldwide community from academia and industry use, develop, and support the operating system as well as its associated tools, averaging 35,000 downloads a year.

Note: New Make system and tinyos-tools

The TinyOS make system has been upgraded to version 3. This brings many new improvements (see support/make/ for details) but also requires the tools to be rebuilt. To use TinyOS make version 3:

cd tools
sudo make install

alternatively you can use the tinyos-tools-devel package from repos/debian. See the Readme at the top level ( You need to modify /etc/apt/sources.list.d/tinyprod-debian.list. Change "squeeze" to "wheezy".

sudo -s
apt-get update
apt-get purge tinyos-tools
apt-get install tinyos-tools-devel

Where to Begin

  • doc/00a_Getting_Started_w_Git: Overview of getting started using git, github.

  • doc/00c_Setting_Up_Debian_Development: Setting up development on Debian based Linux machines. Debian and Ubuntu.

  • doc/00d_MacOSX_Development: Setting up development on Mac OS X.

TinyOS Wiki

Much information about how to setup and use TinyOS can be found on the wiki. It is also editable by the community if you have information to add or update.

About tinyos-main

Long ago (well not that long ago), in a galaxy not too distant, tinyos development was hosted on Google Code as a subversion repository. This repository was writeable by a select group of core developers.

TinyOS development has moved to a fully distributed model to encourage more participation by switching to the git distributed version control system.

The Github tinyos-main repository will still be writeable by those same core developers. Pull requests are welcome and will be reviewed by the core developer most familiar with the relevant code.

Repo Structure

Currently there is a single mainline, master. gh:tinyos/tinyos-main(master). This is equivalent to the tip of the svn trunk.

Branches are very inexpensive and are encouraged for any significant development. Typically, a feature will be implemented on a topic branch, ie. -int. where stands for integration.

For the immediate future, branching should be done in private user repositories until the community gets used to how they work.

The general form for a repository/branch reference is: /(branch) ie. gh:tinyos/tinyos-main(master) is the master branch in the tinyos/tinyos-main repository. Note that github repositories have a specific default branch controlled by github repository settings. gh:tinyos/tinyos-main refers to the repository but if that repository is pulled it will reference the default branch.

Local repositories are referenced using local(branch).

Something went wrong with that request. Please try again.