FreeCalypso status update

Mychaela Falconia falcon at ivan.Harhan.ORG
Sat Jan 23 06:55:36 CET 2016

Hello FC community,

First of all, I am glad to report that I am still alive and kickin'.
In case anyone tried to email me off-list between Jan 11 and today and
your email bounced: all of Harhan including my email server was down
during these 11 days because of a financial problem; I finally got my
delayed paycheck on Wednesday and paid off Verizon Business this
Friday morning (GMT/UTC-08:00 time zone), and my regular email is
finally back to functional.

The good news, however, is that our project has been progressing all
this time, albeit perhaps not quite in the direction some of you would
like to see.  Remember I mentioned an off-list contact of mine who
stepped forward to help transform my FCDEV3B idea (our own FreeCalypso
hardware) into reality?  Good news: that work is still ongoing, and
progressing quite well.  The anonymous company in question must have
invested several weeks of several engineers' time into this board
project, transforming Openmoko's GTA02 into what I specified as
FCDEV3B: they translated the PCB design from PADS into their own
preferred PCB design software (Altium, unfortunately proprietary, but
I won't look a gift horse in the mouth), changed the board shape to
simple rectangular (unless they change something at the last minute,
it will be 90 by 50 mm), deleted all non-modem components per my ECO,
leaving just the Calypso modem section from the GTA02, added interface
connectors and other peripherals per my FCDEV3B design (netlist), and
laid everything out on a board that combines Openmoko's modem section
with my peripheral design.

Last Sunday my contact sent me a set of gerber files corresponding to
the then-current state of their work, and I was quite impressed with
what they had produced.  There were still a few issues to be fixed -
what I got that Sunday evening was my first opportunity to actually
see their work with my own eyes, so naturally there were going to be
issues - so I put together a list of outstanding issues for them to
fix, and sent it to them on Wednesday.  Hopefully they are now working
on fixing these issues, and I'm keeping my fingers crossed that in
another 2-3 weeks the FCDEV3B PCB design will be finished, i.e., ready
to be fabricated.

I also have high hopes that the same people who have created this PCB
design based on my netlist will also take care of physically producing
the first batch of boards.  The key design decision to copy Openmoko's
modem at the physical level for this FreeCalypso development board has
the obvious advantage of a proven working design, but it also has an
unfortunate side effect of making the board more expensive than it
needs to be otherwise.  Openmoko's physical PCB structure is 8 layers
with two stacked levels of microvias, i.e., buried vias in the core
from L3 to L6, then two levels of microvias on each side: L1-L2,
L2-L3, L6-L7, L7-L8.  This physical PCB structure is very expensive to
produce.  While I am not aware of any Calypso board that was built
without microvias and buried vias at all (using only conventional top
to bottom vias), 8 layers with two stacked levels of microvias is
certainly overkill.  Pirelli DP-L10 features an 8-layer board with
only one level of microvias on each side (i.e., the via structure is
L1-L2, L2-L7, L7-L8), while Mot C123 (I'm guessing C139 is similar)
features a board with only 6 layers, not 8; the via structure is
L1-L2, L2-L5, L5-L6, i.e., a core with buried vias and one level of
microvias on each side.

If we were doing a from-scratch PCB layout of a basic Calypso GSM
development board, we could certainly do it in 6 layers with only one
level of microvias like Mot/Compal did, but if we are copying
Openmoko's modem design verbatim at the physical level, then we are
stuck with their significantly more expensive board structure.  I just
hope that my off-list contact and his company understood what they
were getting into when they stepped forward to physically implement my
FCDEV3B design while maintaining only minimal communication with me in
the process, and won't fall out of their chairs when their physical
PCB fabrication shop comes back to them with the price quote for
producing an initial batch of these boards...  Now I just have to wait
and see - we should have some answers in another few weeks.

In other news, I am happy to announce that we now have an official
vendor for FreeCalypso serial cables for Mot C1xx and Openmoko phones,
i.e., for serial ports on 2.5 mm headset jacks.  George at UberWaves
has been making serial cables for OsmocomBB for a long time, and now
he offers a FreeCalypso-branded version as well.  The FreeCalypso
serial cable from UberWaves features a CP2102 USB-serial adapter,
which is the one best suited for FreeCalypso host tools, already
programmed with GSM baud rates of course; these cables have been
tested with fc-loadtool at 812500 baud, and best of all, they proudly
bear an official FreeCalypso sticker!  I just received the first two
such cables from George today, and they work great - I can now put the
old OsmocomBB-branded ones away. :)

If anyone else would like to order an official FreeCalypso serial
cable, you can email uberwaves at and ask for just that. :)

Going forward, now that the satisfaction of my hardware-building
aspiration is within sight (I don't have a physical board or even a
fully finished set of design files yet, but I have to have faith in my
off-list contact, faith in that they will finish what they have
started), I can once again devote some attention to other subprojects
of FreeCalypso.  There are two possible directions in which we could
take the software work:

1. The direction I am more interested in: grab the bull by the horns
   and start deblobbing L1 in the TCS211 environment.  The whole point
   of FreeCalypso (to me at least) is to have GSM devices (phones and
   modems) whose firmware is built *entirely* from source; having
   binary blobs for the most essential pieces of functionality (L1 and
   the GSM protocol stack) just doesn't do it for me.  We have a GSM
   firmware version that builds entirely from source with gcc, but
   it's broken: voice call audio doesn't pass through, and deep sleep
   is broken too.  The problem must be somewhere in L1, and the
   version that does work 100% (TCS211) has it in binary blobs.

   We can reconstruct a recompilable form of L1 that will work no
   worse than the TCS211 binary blob version by deblobbing it one
   module at a time: drop our source version of each L1 module into
   TCS211 and massage it until it compiles into an equivalent of the
   original blob.  Hellish work, will likely take many months, but
   absolutely doable.  I can start this work using my Freerunner as
   the platform initially, and then switch to FCDEV3B when the latter
   gets built, tested, calibrated etc.

2. We have this toy firmware version called tcs211-c139.  Its claim to
   fame is that it is the first and so far the only aftermarket fw of
   any kind for any dumbphone that allows the phone to function as a
   phone (make and receive calls, send and receive SMS) without being
   tethered to an external host, i.e., works using the phone's LCD and
   keypad.  It has several major defects which keep it from being
   practically usable, but these defects can be fixed with some work.
   We will definitely need to do this work at some point; my personal
   preference is to work on L1 reconstruction first and then revisit
   tcs211-c139 UI issues afterward, but some members of our community
   would probably prefer to reverse this priority order.

Now here is the good news: you can actually vote on which of the two
software development directions (or perhaps others I haven't thought
of) you would rather see happen first.  However, there are no voting
ballots, instead you can vote with your dollars: because of certain
people who have recently been playing god with my life, I may be
unable to do significant FreeCalypso work for a while unless a
financial sponsor steps forth.  Naturally anyone who steps forward to
be such a sponsor would get to exercise significant influence over the
direction of the project and relative priorities. :)


More information about the Community mailing list