• ESP32 support updates

    J. Ian Lindsay03/02/2017 at 06:48 0 comments

    New revision of the ESP32 reference manual released today:

    The next PR will bring ESP32 support via ESP-IDF.

  • Recent IoT security work

    J. Ian Lindsay10/08/2016 at 10:12 0 comments

    The latest capability to be added to ManuvrOS is a uniform cryptographic layer with test-coverage. I have plans to make this asynchronous and pluggable-at-run-time to facilitate non-blocking hardware access for TPM modules and secure storage.

    Additionally, the cryptographically-backed notions of identity are taking shape, and also have test-coverage.

    Current support is via mbedTLS, but extension to other embedded cryptography stacks are stubbed out.

    While I've been in the crypto-trenches, I wrote-up an introduction to DTLS. I have been hard at work building IoT test fixtures with it. More to come on the security front...

    Mainline repo:


    Daily development happens in this fork:


  • 2016.09.25: The hard problems in IoT

    J. Ian Lindsay09/25/2016 at 07:39 0 comments

    What follows is a post I wrote back in April for my co-workers who are tasked with sales and product concerns. I am posting it because it still applies to our present situation in IoT, how we got to where we are, and what direction we are moving.


  • 2016.08.14: Firmware leaps

    J. Ian Lindsay08/14/2016 at 08:21 0 comments


    Much cruft-removal and generalization (BufferPipes).

    Support added in the last 6 months includes MQTT client, UDP/TCP support under linux, mbedtls crypto. More progress forthcoming...

    Here is a callgrind chart of a console-enabled instance parsing CoAP packets via UDP, with dynamically-built sessions.

  • 2016.02.10: Manuvr Update!

    J. Ian Lindsay02/11/2016 at 06:29 0 comments

    We've had a busy January. The entire Manuvr team is now in the San Francisco Bay area. Josh and I are now working full-time on Manuvr and related technologies for a major telecom company that will likely be the first deployment-at-scale, and who has agreed to keep their efforts open-source, and developer friendly. That will warrant a separate in-depth post once they clear us to release details.

    We're very excited about our prospects of unifying some of the fractured landscape of standards, transports, protocols, and hardware; something the IoT realm sorely needs.


    For my part, I've been hard at work debugging threading Manuvr's firmware under different threading models and imparting concurrency safety. I've made builds with both FreeRTOS on the Teensy3.1, and pthreads on linux. At present, the pthreads version is much more complete, but once I resolve a few more library congruency mis-matches the two threading models can be coded for against the same API.


    Digitabulum has sat idle for the past few months as time was devoted to ManuvrOS and MHB. But that is changing as-of yesterday. We are back in communication with our fabricator, and they are eager to help us build the digit sensor circuits. The 3rd draft of the hardware has been sent to them for feasibility opinions. Realistically, we are probably 3 months away from having the full sensor package for r1 built, funds permitting.

    The non-circuit hardware tasks have also been advancing in the past few months. Here are some renders of the casing parts...

    ...and the digit mold for the sensor package...

    Major changes are underway. But we are still alive, and the project is still making steady progress. More to come!

  • Desktop application progress

    J. Ian Lindsay11/29/2015 at 09:30 0 comments

    Much has been happening with very little outward evidence. Time for an update.

    A public Trello board has been created to track TODO's and generally maintain focus.

    Below is a screen capture from our desktop software written to interface with devices speaking Manuvr's protocol. More details at Manuvr's blog.

  • Digitabulum hardware news

    J. Ian Lindsay10/25/2015 at 17:10 0 comments

    Digitabulum r1 hardware just arrived.

    Full discourse at our blog.

  • Node.js refactor progress

    J. Ian Lindsay09/01/2015 at 18:41 0 comments

    The past few months have been spent rebuilding the host-side Node.js implementation of Manuvr's protocol. Following it's completion, any manuvrable (not just Digitabulum) will be able to setup a session and exchange capabilities with the host. With no prior knowledge of the specific hardware, basic functions will still be available and allow specific drivers to be found and installed. From that point forward, making drivers for manuvrables will be as easy as writing a single javascript file. No knowledge of Manuvr's protocol required.

    From the standpoint of firmware (this project), the node.js implementation will be used as a reference implementation against which the C++ code will be validated. Therefore, expect lots of upheaval in the next few months as the firmware components are brought into functional correspondence with the javascript.

    Specific functionality that is targeted for refactor....
    • Implement bi-directional message legend and self-definition.
    • Fix the sync-termination sequence.
    • Implement new message flags for security and better self-definition.
    • ACK/NACK solidification.

    #Digitabulum is now in the manufacturer's hands until late September. And we are on-target to complete the javascript work by that point.

    More to come....

  • Spatium Gestu

    J. Ian Lindsay06/22/2015 at 10:24 0 comments

    New Manuvrable:

    #Spatium Gestu

    This means better MGC3130 support, as well as the first foray into firmware-supported gestures.

  • A blog post about a core ManuvrOS class

    J. Ian Lindsay06/03/2015 at 13:54 0 comments

    The second in a series of posts for new C++ programmers: