FreeCalypso plans and direction update
Mychaela Falconia
mychaela.falconia at gmail.com
Mon Dec 10 00:05:01 UTC 2018
Hello FreeCalypso community,
This is a periodic update to keep everyone in the loop as to what I am
doing with regard to our family of projects and what my planned
upcoming steps are.
1) The first development which is expected to happen before all others
is that about a month from now, in early to mid-January, we should be
getting our first assembled FCDEV3B V2 boards from Technotronix, and
it will be a moment of truth: will they work as expected? If the
boards work as expected, I am going to make a few minor improvements
to the firmware regarding sleep mode handling (hw with working sleep
is a prerequisite for these minor fw changes), and I will start
sending out subsidized boards to those FreeCalypso supporters who
deserve them. The boards will also become available to commercial
customers at the same time.
2) Assuming that the previous milestone happens without problems, my
next step will be my long-planned experiment of connecting Calypso MCSI
from our board to an off-the-shelf OMAP board (BeagleBoard-xM) by way
of a small custom adapter which I still need to make. There are two
fundamental ways in which a GSM modem can bring out the voice audio
interface, analog or digital, some applications use or desire modems
with analog voice interfaces (example: ZeroPhone), others use or
desire modems with digital voice interfaces (examples: Neo900, other
"modern" smartphone designs like Librem 5, and various GSM gateway
applications), hence we need to offer both options. The GSM solution
we've inherited from TI supports analog voice audio as its native way,
whereas adding a digital voice interface option is a job they left for
us to do. There are two entirely different ways in which one could
bring out digital voice from a Calypso+Iota modem: one way is via MCSI,
the other way is by tapping into VSP. MCSI is already brought out on
our current FCDEV3B hardware, whereas playing with VSP would require
taking the cost hit and adding the time delay of yet another board
spin (quantitatively speaking, many thousands of dollars plus many
months of time delay), hence I am going to make an all-out effort to
get digital voice over MCSI working. But in order to test MCSI, I
need to connect it to something, the McBSP on OMAP on the BeageBoard
is the most practical thing I could find to which I can connect our
MCSI for testing, but there is still that hurdle of having to make a
little custom adapter.
I also need to address some misconceptions I have found out there on
the Internet regarding our work:
https://www.reddit.com/r/ZeroPhone/comments/9rsukp/how_can_the_zerophone_owners_take_advantage_of/
specifically this paragraph:
> In the future, it's possible they will have an "embedded" modem offering -
> I did read that idea on their mailing list some time ago, though it seems
> to died down in the last half a year (IIRC there was an old chipset-
> compatible Benq modem that could've been a target, but it turned out to
> not be compatible enough).
Here is the situation with those BenQ M32 modems: taking the existing
historical hw that was made by BenQ over a decade ago and trying to
run FreeCalypso on it would be a non-starter, as they use a non-TI
(looks like Silabs maybe) RF section behind our familiar Calypso+Iota
baseband chipset. Instead my idea was different from the beginning:
my idea is to produce our own newly-made modem modules in the same or
similar form factor, but using our choice of chipset including memory
and RF, i.e., take *our* modem as implemented on the FCDEV3B and
repackage it into a form factor copied from that old BenQ modem.
Why do it, what is the rationale? The answer is that in electronics,
size matters, it matters a lot, but in the opposite way from how
humans tend to think of it: the general dictum in the electronics
industry is the smaller, the better. The imperative is to make all of
our electronic components as small as possible; components of large
bulky size are obstacles.
Right now we have an awesome libre GSM+GPRS modem solution in the form
of our FCDEV3B running fully source-enabled firmware, but the problem
is its size: a whopping 90x50 mm. Meanwhile, our proprietary
competitors very successfully seduce the public into accepting locked-
down and backdoored proprietary solutions with their sleek small
packages: for example, the popular SIM800 module is only 24x24 mm.
I don't think we can ever make our FreeCalypso solution as small as
24x24 mm: SimCom were able to do it because they use much newer chips
from MTK which are much more integrated (fewer discrete components),
but the available documentation for these newer MTK chips is hopelessly
inferior compared to what we got for our TI chipset, and in the case
of MTK's reference fw for their chips, almost all of the interesting
bits are binary-only, nothing like the quality of source leaks we got
from TI. If anyone is thinking about taking our FreeCalypso fw and
porting it to an MTK chip, what are you going to do with L1? Our L1
talks to TI's Calypso DSP, and you would need to replace it with a
very different L1 that talks to MTK's very different DSP. But there
is absolutely zero documentation for that DSP or the interface to it;
in the case of TI chipsets we don't have any real documentation for
this part either, but we got TI's L1 code in full source form, whereas
MTK's counterpart is a solid binary blob.
But there is one possible compromise: we *can* make a FreeCalypso
modem module that isn't as small as the MTK-based SIM800, but still a
lot smaller than our current 90x50 mm: if we repackage our FreeCalypso
Modem Solution into a form factor copied from BenQ's old M32 module,
we will measure 33.8x36.8 mm. However, before we seriously pursue
this idea, two prerequisites have to happen first:
1) We need to get our FCDEV3B V2 boards working and thereby prove that
my approach for satisfying the reset timing requirements of Spansion
flash chips actually works. If this approach turns out to not work,
we have plenty of other alternatives, the simplest being to use one of
the smaller flash+RAM chips which work fine with TI's classic approach
- the huge flash and RAM capacity on our FCDEV3B is only needed for
development and can easily be downsized in a production modem - but it
would be much more comfortable to know for sure if our FCDEV3B V2
approach works or not before jumping to any decisions. Just one more
month of waiting left.
2) We need to come to a resolution on the digital voice issue before
we start seriously thinking about the embedded modem module idea.
Such a module would absolutely need to provide both analog and digital
voice interface options - omitting either of them would be completely
unacceptable. Fortunately no extra components will need to be added
inside the module for either interface, it is only a matter of bringing
out the right pins from the existing chips of our core modem chipset.
For the analog voice interface we need to bring out EARN&EARP and
MICIN&MICIP from the Iota ABB (and optionally the other less important
analog signals from the same Iota ABB that were brought out on BenQ's
module, if we are going to be copying their pinout with only minor
changes), whereas for the digital voice interface we will need to
decide between MCSI vs. VSP tap. MCSI is 4 signals, whereas my idea
of tapping VSP would involve 5 signals. The decision will be pinned
on the outcome of my MCSI-to-BeagleBoard experiment: if we can get
MCSI to work reliably, it would make the most sense in terms of cost
reduction to go into the embedded module phase with this MCSI approach,
otherwise we would have to do another very slow and expensive
development board spin with the VSP tap before we can come back to the
embedded module idea - which is why I am pursuing the MCSI approach so
vigorously.
And then, after we resolve the two points above (hopefully in 2019Q1),
comes the most unpleasant part of all: cost. Arsenijs wrote in that
Reddit comment:
> Maybe if someone throws enough money at Mychaela, we'll have something
> small enough to fit inside the ZP =)
As far as fitting inside the ZeroPhone, I remember you saying somewhere
that it would have to fit within 24x24 mm or something similar to that
- if your space constraints are that tight, then even my proposed
33.6x36.8 mm module wouldn't be good enough for you. However, for
those who do like my 33.8x36.8 mm module idea, let me give you the
cost figures: my estimate for the total project cost from the start to
the point of having the first batch of modules produced and brought up
to fully working state is about 30 kUSD. The following major cost
steps will be involved:
* Sending a sacrificial BenQ M32 module to a professional PCB reverser
to slice it and image its inner layers - I will need to have a good
idea of BenQ's layout before starting our own module layout using a
similar (but not identical) chipset in the same form factor following
the same floorplan or with only minor changes.
* Finding and hiring a GSM cellphone RF design expert to provide some
vital advice and guidance for some parts in our new RF section.
Copying the RF section verbatim from BenQ won't work because we need
to use TI's Rita transceiver (the one for which we have documentation
and firmware driver code), and copying it verbatim from our current
FCDEV3B (originally from Openmoko) won't work either because we would
need a very different floorplan (one like BenQ's) to fit into that
module form factor - hence we would have to bite the bullet and do our
own RF layout. There is a little bit of silver lining though: because
BenQ's floorplan matches TI's Leonardo, we should be able to make our
new modem module quadband - in contrast, both our FCDEV3B and BenQ's
original are triband. But there is no way to bypass the requirement
of finding and hiring a GSM cellphone RF design expert.
* After we get the key bits of advice and specific RF layout
instructions from the to-be-hired GSM RF expert, we would need to hire
someone to do the main bulk of the PCB layout job. Such PCB layout
labor does not come cheap, and I would not feel comfortable entrusting
this job to anyone other than my established PCB layout contractor
with whom I have a good working relationship.
* Once we have the PCB layout done for our new module, simply getting
those module PCBs made and populated won't be enough - we will also
need to design and build a special test fixture (a test board with a
special custom-made spring socket for the modem modules to go into)
for bring-up and RF calibration.
Summing up all of the above is how I arrive at my rough order-of-
magnitude estimate of about 30 kUSD for the whole venture. Needless
to say, I am not in any position to cover such a cost myself, thus
unless we get some sponsor or investor for it, this whole idea will
forever remain nothing but a pipe dream.
In the absence of a sponsor or investor giving us 30 kUSD to produce a
modem module in this proposed 33.8x36.8 mm form factor, what can we do
on our own? As the situation stands presently, I believe that the
shortest way to put a FreeCalypso phone into the hands of an end user
would be to make a hacked-up version of the ZeroPhone with our current
90x50 mm modem board (FCDEV3B) hacked in.
As I understand it, the main "sandwich" structure of the ZP has 4x10 cm
overall dimensions and is very tightly packed. Trying to squeeze our
FCDEV3B somewhere in there would involve two problems: our board is a
centimeter wider than the main ZP sandwich, and there is no designated
place in that structure to fit an "alien" board like ours. But here
is what I am thinking: if you are going to use your ZeroPhone as an
actual carry-around phone, you will need to make some custom case for
it, right? You are not going to try to carry a complete bare board
stack of the ZP in your pocket, are you? If a custom case is required,
perhaps someone who desires a Libre Phone badly enough would be willing
to build a custom case that accommodates both the regular ZP sandwich
and an FCDEV3B underneath?
In order to increase the chance of someone stepping up to do what I
just suggested above, I plan on doing the following: if the first
batch of 8 FCDEV3B V2 boards which is supposed to be done in January
turns out good, with all 8 boards (or least most of them) working, I
am going to offer one fully subsidized board completely free of cost
to the recipient (with the actual production cost of about $500
covered by me) to anyone who steps forth to couple it with a ZeroPhone,
and who would be willing to commit to aggressively promoting the
resulting solution in various "free my phone" communities, spreading
awareness of the existence, availability and viability of this
solution.
Finally, it would be rightful to ask why do we need a ZeroPhone or
similar component in the first place, why can't we produce a complete
FreeCalypso end user phone (a libre dumbphone) entirely on our own,
without putting ourselves at the mercy of other people and their
capriciousness? The answer is that we very much *can* produce our own
complete FreeCalypso phone handset, and that idea is still very much
in the plans, but it will be a very very slow journey, which is why I
believe that the ZeroPhone approach would be much faster *if* we can
get someone to do it. For those who are interested in the Calypso-only
handset idea (no pies or other application processors), my current
estimate of the timeline looks like this:
* Absolutely nothing at all will happen between now and the big day in
January when I get our first FCDEV3B V2 boards;
* I will probably spend January fully testing these boards and getting
our firmware and documentation updated for the new state of the project;
* The rest of 2019Q1 and possibly going into 2019Q2 will be spent
experimenting with MCSI and getting digital voice to work, using a
BeagleBoard-xM for the other end of the interface.
* Once I get MCSI fully working, I will need to spend more time and
effort on documentation updates and aggressive marketing, spreading
awareness of our fully complete modem solution and trying to find a
sponsor or investor for my 33.8x36.8 mm modem module idea. This work
will probably go till the end of 2019Q2.
* Unless a miracle happens and I find someone to fund my modem module
idea, in 2019Q3 I will finally switch my attention to the FreeCalypso
handset project. I will then start working on some preliminaries for
that project, but don't expect anything fast - it will probably be
another year or two from that point before we will have our first
prototype of my desired handset motherboard.
Needless to say, all of these timelines can be sped up by at least an
order of magnitude if someone were to throw a lot of money at me, as
Arsenijs put it in his Reddit comment. But in order to *really* speed
up the timelines, it would need to be a *frigging lot* of money, even
more than the ~30 kUSD cost of the modem module idea, hence I am not
holding my breath.
Hasta la Victoria, Siempre,
Mychaela aka The Mother
More information about the Community
mailing list