FreeCalypso progress update

Mychaela Falconia mychaela.falconia at
Wed Aug 2 18:55:06 UTC 2017

Hello FC community,

Time for yet another status update:

* In terms of priority, my current highest one is getting the next
batch of 12 FCDEV3B boards assembled.  As I already mentioned, I have
decided to *not* wait for the resolution of the sleep mode hw bug,
i.e., not block the assembly of the next batch of boards until this
issue is resolved, thus unless some miracle happens, these next boards
will most likely also suffer from the sleep mode bug, and sleep will
need to be disabled for reliable operation - I will ship those boards
out with a firmware image that has sleep disabled by default.

Running with sleep modes disabled should be perfectly acceptable for
all of the major uses for which the FCDEV3B is intended, where it is
powered from a supply that ultimately takes the power from AC mains,
as opposed to truly mobile operation on a battery: given the form
factor and interface requirements of these boards (the need for control
from a computer), it is difficult for me to imagine how someone could
use one of these boards in a truly mobile application where battery
life and thus sleep modes would matter.  It should be possible to run
the FCDEV3B on a battery, connected to a laptop that also runs on its
battery, to test mobile functionality like cell reselection, location
updates and handover, but such tests are expected to last hours, not
days, thus once again the higher battery draw in idle mode due to not
working sleep modes should not be a real issue.

* Investigating the sleep mode hw bug and doing everything we can to
try to fix it is still on the agenda, but it is something I plan on
working on after we make the next batch of boards, not before.  Based
on this reasoning, my plan to buy my own oscilloscope for my home lab
is still on, but in terms of allocation of my personal funds it will
once again be after the assembly of the next batch of 12 boards.  I
plan on covering the assembly cost of this next batch (probably
somewhere around $1200 USD, assuming that Technotronix charge me the
same per-board price as on the previous batch) with my own funds: I
still owe boards to a couple of people who have contributed to the
initial crowdfunding campaign, so I am not going to ask anyone for any
more money until I fulfill those obligations, which I plan on doing
from this next batch.

* The only issues that remain to be resolved before I give the go-ahead
to Technotronix to assemble the next batch of boards are the on-board
loudspeaker and microphone circuits.  The next step on this front is
that I need to have the J312 two-post header desoldered from one of my
current test boards and to have the wires from the speaker soldered in
its place.  I may need to make a trip to Technotronix for this rework,
or I might be able to convince the lab technician at my day job to
help me.  Once the loudspeaker is connected reliably, I will do one
more round of loudness tests and will most likely end up needing to up
a pair of 0402 resistors from 10 kOhm to 18 kOhm to increase the gain
of the amplifier.  The needed 18 kOhm resistors are on order from

* The microphone circuit has not been tested at all yet, as I am
focusing on the loudspeaker first.  If the loudspeaker works but the
microphone does not, I may go ahead with the next batch of boards
anyway and tell people who need voice input functionality to use the
external digital voice interface (MCSI) for it.

* Speaking of MCSI, *after* I assemble the next batch of boards and
buy my own oscilloscope, I am going to use that scope to determine
empirically whether our Calypso DSP puts MCSI into master or slave
mode when commanded into what TI called the "Bluetooth headset" mode.
Once we know whether it is master or slave (the critical piece of
knowledge needed before anything else can be done), I plan on getting
one of the readily available and inexpensive FPGA boards, connecting
it to the MCSI signals on our FCDEV3B, and building a demo project on
that FPGA board that proves a working digital audio interface to our
FreeCalypso modem.

* Once I get my own o'scope and get back to the investigation of the
sleep mode hw bug, a very important avenue of investigation will be
comparing the scope-observed behaviour at various test points on our
FCDEV3B against an Openmoko-made GTA02, which is essentially the same
hw, but does NOT exhibit the bug.  Toward that end, I performed a very
important experiment last night: on the bare GTA02 I have which I have
powered from a bench supply via alligator clips on the battery
connector, I have reflashed the firmware to our own FC Magnetite which
can take AT commands over RVTMUX (over the external headset jack),
inserted a SIM into the socket on that bare GTA02 MB (the exact same
SIM with which AT+CFUN=1 causes a self-reboot on FCDEV3B boards with
small sleep enabled), and confirmed that the same AT+CFUN=1 command
succeeds on this bare GTA02 MB with all sleep modes enabled.  This
confirmation is important because it disproves the hypothesis
(proposed to me off-list) that the problem is with us using a long
wire connection to an external power supply instead of a directly
attached battery.

* In other news not directly related to the FCDEV3B, I finally got the
main signal generator on my CMU200 repaired.  The replacement Rx/Tx
module I bought on ebay arrived in my hands on Monday, I swapped it
into my CMU200, and was very delighted to see that my suspicion that
the fault was in the Rx/Tx module proved correct: as soon as I swapped
that Rx/Tx module out, the signal levels on the internal output from
this module became sensible (around 0 dBm when the configured Tx power
level is the respective maximum for each external RF port), and once I
reconnected the rigid coax piece that takes this internal Tx output to
the RF front end, the internal loopback test which failed before
started passing.

I now need to finish putting this CMU200 back together (the unit came
with two of the internal Phillips-head screws way overtightened, the
removal of these overtightened screws resulted in their heads being
stripped, so I need to replace these two screws with new ones), and
when I get the next batch of boards assembled, I will be able to
immediately put them through the fully automated procedure for the
full RF Rx and Tx test and calibration for all 3 bands.

* Finally, other project news going beyond the current FCDEV3B:
yesterday I received the BenQ M32 GSM+GPRS modem modules from China
about which I posted earlier, and popped one of them open to see the
insides.  The findings are: there is indeed a Calypso DBB chip and a
Iota ABB chip inside like I suspected, but:

* The Calypso chip version is D751774AZHH, and according to the TI
  docs we have, it has DSP ROM version 34.  In contrast, the Calypso
  chip versions we work with have DSP ROM version 36, and this latter
  version is the only one for which we have known-good, gamble-free
  L1 support.

* The RF block is not Rita or Clara, but implemented with chips from
  some vendor other than TI - might be Silabs, as the chip markings
  begin with the letters "SI".  TI naturally wanted cellphone and
  modem manufs to use their RF chips, but the interface between the
  baseband and RF parts of a GSM modem (when the two aren't in the
  same chip like they are with newer stuff) is plain analog I&Q and
  does not leave a lot of room for vendor incompatibility, thus if
  some cellphone or modem manuf wanted to use RF chips from someone
  other than TI, but still use TI's baseband chips, TI were happy to
  sell them the latter.

Because of these differences, running our own FreeCalypso firmware on
the existing historical M32 hardware from BenQ/ebay will NOT be
possible: one might be able to take a gamble with the DSP difference,
but the non-TI RF is an absolute show-stopper.  However, putting
replacement fw on the existing BenQ M32 modules was never my primary
interest (it might have made a fun exercise if it were possible, but
it is something we can quite easily live without), instead my idea was
and still remains to make our own FreeCalypso modem module in the same
form factor as the M32, i.e., make our own semi-clone of BenQ's modem,
using our version of the Calypso+RF chipset and naturally running our
FreeCalypso fw.

The good news with the latter plan is that the floorplan of BenQ's
little module (the basic arrangement in which the components are laid
out) makes good sense, with an internal partitioning wall between the
baseband and RF sections like in all of the phones we've been hacking
on.  The layout of the components on the baseband side of the wall
looks good, the Calypso and Iota chip footprints naturally stay the
same no matter whose board it is; BenQ used separate flash and XRAM
chips, we can either copy the same ones, or we can probably fit our
combined flash+RAM MCP footprint into the same space.  On the RF side
of the internal wall I was very pleased to see that even though BenQ
used non-TI chips, the relative placement arrangement of the RF
transceiver, the PA, the antenna switch and the Rx SAW filters follows
exactly the same general pattern as TI's Leonardo layout, thus we
should be able to not only fit a Rita-based RF block in that space,
but also make it quadband!

Now the catch is that the potential project of making a FreeCalypso
modem module in BenQ's form factor will only happen if someone funds
it - I am not interested in doing it as an at-risk venture with my own
money on the hope that the product sells afterward, instead if this
proposed idea is to happen for real, someone will need to fund it
upfront.  A while back when we were still raising money for the FCDEV3B
someone contacted me with an expressed interest in buying FreeCalypso
modems in a quantity of 1000 or more pieces, and possibly repackaged
in a form factor that is more like SIM900 modules - my current proposal
is pretty close to that idea - once we get past building the next batch
of FCDEV3B boards with everything working except sleep modes, I am
going to reach out to that person once more to see if they are still

That's all from me for now.  I am now off to get the replacement screws
for putting my CMU200 back together, and after that I will be looking
for local assistance with the loudspeaker soldering rework.

Hasta la Victoria, Siempre,
Mychaela aka The Mother

More information about the Community mailing list