Anelok: happy anniversary !
werner at almesberger.net
Sun Sep 7 23:44:11 UTC 2014
I just realized that Anelok had its first anniversary yesterday:
This may be a good moment to have a quick look at where we are and
what to do next:
- the 2014 design seems to work well so far, but there's still more
that needs testing and improving. Specifically,
- the capacitive slider doesn't perform great yet. That may just
be a question of finding a good algorithm, or maybe I need to
change the shape of the sensor a bit.
- I haven't really tried to run it on battery power yet. So this
rather important area still need careful examination. In order
to get meaningful results, I'll first have to implement proper
power saving - right now, the choice is between either playing
dead (all that works in that state is the wakeup timer) or
burning power like there's no tomorrow.
- I haven't tried to use RF and memory card yet. Basic RF
operation has been verified in Y-Box and I've tested the memory
card in the 2013 Anelok design, so both should be low-risk.
- battery swapping also needs to be tested: there can be up to
three large silo capacitors to maintain MCU state and time, but
I need to see a) if can detect loss of power quickly enough to
reach a low-power mode while there's still some juice left in
these capacitors, and b) if that amount of juice will be large
enough to last through the time it takes to pry out the old
battery and to snap in a new one.
- the prototype case for the 2014 design looks promising so far but
also needs more work. E.g., it doesn't properly support all the
- I've merged the firmware trees of Anelok 2013, Y-Box, and Anelok
2014 in the anelok/anelok project now. There are still a few files
left in anelok/ybox, but the big merge and cleanup is nearly done.
Haven't tried to actually run something from the new tree on Y-Box
yet, though :-)
- there's now a simulator for the user interface and possibly other
higher layer elements of the firmware. Everybody seems to be afraid
to try it, but it's not only a way to get a first impression of how
Anelok may behave, but it should also allow anyone who is
interested to help with software development.
- disappointingly, there has been no progress on the front of setting
up a company (or whatever we want to call it) to take care of the
commercial side of the project.
What's to come ?
- proceed with the 2014 design verification. I plan to leave the first
board as a single piece and equip the second board and then fit it
into the case. That way, I'll be able to experiment with Anelok
under pretty much real-life conditions when it comes to mobile use.
- add more low-level functionality to the simulator, e.g., Flash
storage, memory card, timekeeping. That should then allow
development of most of the middleware. (Key storage, FAT driver,
account database access, the whole crypto infrastructure, etc.)
- start putting meat to the user-visible parts of the application
firmware as well. E.g., implement account selection, data readout,
account management, password generation, and so on.
- document the security architecture, with data formats, algorithms,
etc. This is actually a prerequisite for most of the above.
- finalize the general UI framework. Hellekin suggested that one may
want to hold the device not horizontally with one hand near the
antenna side and the other hand on the slider, but with the slider
facing upward in the palm of one hand. This is an interesting idea
and things are still flexible enough to give it a try.
- only one hand needed to operate Anelok,
- device is hidden in / protected by palm,
- if mechanical changes are needed (see below), the result may look
a bit less austere than what I have now.
- hand may cover display while trying to use it,
- movement of thumb may be inconvenient,
- to improve the two points above, a partial redesign of the
sensor and battery area may be needed, which in turn may affect
the main PCB as well,
- likewise, it may be necessary to make the design "handed" while
it is currently symmetric and - software willing - could be used
with the right or the left hand on the slider.
I'm also thinking of alternatives to setting up a company at the
present time, that would still allow to proceed with a reasonably
development process, but I have to ponder this a bit more.
More information about the discussion