Chipcon SPI Application

This application allows for the use of SPI radios in the Chipcon family, such as the CC2420.

At present, this port is only being used in the Telos B port of the GoodFET firmware. As such, no pinout is available, but the SPI pinout below ought to be all but identical.

GoodFET SPI Flash Pinout


chipcon.ccspi is an actively maintained client application.


Prior to any transactions, the SETUP (0x10) verb should be sent to the Chipcon application to properly set the I/O pin directions.

The Chipcon protocol is similar to SPI, but with additional signal lines to indicate the availability of a packet. Data is buffered within the radio, eliminating the need to catch it byte-wise.


Verbs 0x80 to 0x8F are radio primitives, while verbs 0x90 to 0x9F are used for more complicated macro commands. Higher than that are a few special functions that don't exist on other platforms. The low commands are similar to the Nordic RF application.

0x90RXDECReceive and Decrypt
0x91REPEAT_RXReceive Loop
0x82RX_FLUSHFlush RX buffer.
0x83TX_FLUSHFlush TX buffer.
0x84PEEK_RAMPeeks from RAM.
0x85POKE_RAMPokes to RAM.
0xA0REFLEXReflex jams on present channel.


Many thanks are due to Sergey Bratus and the Sooby Crew of the Good Ship Shelldrop at Dartmouth College.