Tock Logo

Talking Tock

Talking Tock 20

Low Power, USB and Bluetooth

This is the 20th post in a series tracking the development of Tock, a safe multi-tasking operating system for microcontrollers.

We’re giving a tutorial co-located with SenSys 2017 Novenmber 5th in Delft, The Netherlands. Go here for details and to sign up to recieve an e-mail when registration opens.

  1. Low power operation
  2. USB Enumeration for the SAM4L
  3. Bluetooth Low Energy Advertising
  4. Pull Requests
    1. Merged
    2. Proposed
  5. Hail

Low power operation

Low power blink running on imix

Easy to write low power applications is one of the main design goals of Tock. While we’ve basically built an architecture that should support it, we haven’t focused much yet on actually getting our development boards in to low power modes. That changed this week, as we got the imix down to 7uA! Read about the details here.

USB Enumeration for the SAM4L

@daniel-scs has been working for several months on supporting the SAM4L’s USB controller. He hit a huge milestone this past week managing to build enough support to enumerate the device on Linux:

SAM4L USB enumeration on Linux

If you’ve dealt with bare-metal USB drivers, you probably know that enumeration is a good deal of the way towards building a device, and we’re all in awe of @daniel-scs.

PR #416 includes a few layers of abstraction geared towards building more complete applications: a low-level HAL, a generic USB device interface and a simple enumeration capsule.

Bluetooth Low Energy Advertising

We’ve had support for using the NRF51’s Bluetooth Low Energy capabilities over a serial port for a while, but had not yet had support for BLE natively in Tock (i.e. only when the NRF51 is running as a peripheral chip). @niklasad1 @frenicth’s masters thesis work adds support for Bluetooth Low Energy advertising to the NRF51 port of Tock.

NRF51dk Temperature Reading over BLE

The screenshot is an Android phone picking up on an advertisement running their code on an NRF51DK. The manufaturer data field shown is an actual reading from the NRF51’s temperature sensor.

Pull Requests




Itching to start using and developing for Tock? There are still Hail development boards, the main board used for Tock development, available in stock. Check them out here.