Tango module technical details

Mychaela Falconia mychaela.falconia at gmail.com
Sun Oct 11 02:39:47 UTC 2020

Hello FreeCalypso community,

Almost a year ago in December of 2019 I discovered the existence of
these very obscure historical GSM/GPRS modem modules that have our
beloved Calypso chipset inside:


For the past 10 months we (FreeCalypso core team and Falconia family)
have had to keep this knowledge private because of a certain
unfortunate political situation: certain people who discovered the
existence of these modules independently of us were using them for
certain highly unethical purposes that run totally counter to the
mission and values of FreeCalypso, there was a credible threat that
further additional parties would join in those misuse activities if we
were to publish our discovery, and so the only safe course of action
for us was to wait and work on possible mitigation strategies.

A lot of work has been done behind the scenes over these months to
prepare for a controlled disclosure: while it is inevitable that some
people will misuse this newly disclosed knowledge for nefarious
purposes that go totally against the mission and values of FC, and
unfortunately there is no way to stop this misuse without taking away
from legitimate FC users, we can at least shift the balance: with the
work we have done in terms of FC Tango rebranding and Caramel2 board
design, the hope is that the positive benefit from the present
disclosure will outweigh the negatives.  Thus the time for disclosure
has arrived.

Extensive technical documentation for iWOW TR-800 modules that are now
being rebranded as FreeCalypso Tango is gathered in these two FTP


The recommended reading order is to read these two documents first,
before any others:


A very important point about nomenclature: should the article be
referred to as iWOW TR-800, or as FreeCalypso Tango?  The answer
depends on whose firmware resides in the module flash: for as long as
iWOW's original fw remains intact, the module is an iWOW TR-800, but
when we (Falconia Partners LLC) resell these modules with our own
FreeCalypso firmware, then the product becomes FC Tango.

The way I see it is as follows: when iWOW created and marketed their
product which they named TR-800, they intended this name to refer to
*their* product as *they* sold it.  The functionality of the product
which they sold and marketed under their chosen name is defined much
more by firmware than by hardware: when iWOW marketed their TR-800,
they marketed it as a GSM/GPRS modem product with certain iWOW-added
functionality like MMS and TCP/IP and with specific iWOW-added custom
AT commands, and all of that functionality is the work of iWOW's fw
rather than hw.  iWOW's TR-800 fw is derived from TI's original just
like our FreeCalypso fw (in evolutionary biologists' terminology they
share a most recent common ancestor that lived some time in the early
2000s), but of course we don't have any corresponding source for
iWOW's modified fw or for any of their value-added developments that
aren't in TI's baseline.

Because we don't have any corresponding source for iWOW's fw and
because iWOW's fw changes relative to TI's baseline are quite
significant, a TR-800 module running iWOW's original firmware is
fundamentally nothing interesting - it is just another proprietary GSM
modem module with closed black box firmware no different from the
average 100% closed and proprietary crop that is sold for $2 apiece
these days.  Instead TR-800 hardware becomes interesting and valuable
if iWOW's proprietary sans-source fw with gawd knows what changes is
completely removed and replaced with our own FreeCalypso fw whose
corresponding source is freely published and which is developed in the
open.  But because our FreeCalypso fw does not implement functions
which iWOW considered important in their day (in-modem TCP/IP and MMS
primarily), when we replace module fw with our FreeCalypso, the
resulting module is no longer an iWOW TR-800 in my argument, and I
call the resulting product offering FC Tango.

Legally speaking, FreeCalypso is a registered trademark belonging to me:


Right now I am waiting for our Caramel2 development boards to be
produced (PCBs expected to ship in another day or two, then we'll need
assembly), and I plan on using one of these boards as a programming
station for soft-transforming modules from iWOW TR-800 to FC Tango.
Modules sold as FC Tango will be identified with a sticker affixed to
the outer surface of the module, this sticker will bear our FreeCalypso
trademark that can be legally applied only by me, and these trademark
stickers will serve to differentiate our official FC Tango product
from cheap knock-offs.

I have a certain stock of iWOW TR-800 modules here at FreeCalypso HQ,
and I can resell these modules either as unchanged iWOW TR-800 or as
FC Tango.  I also have an established business relationship with a
Chinese supplier who has a larger stock.  I will not reveal any
business details of my supplier or my workings with them - you are
welcome to search online on your own and you will probably find a
supply pretty easily (there are several suppliers, the one I work with
is not the only one), but I will not provide any help or support
whatsoever to anyone who sources iWOW TR-800 modules from any party
other than Falconia Partners LLC.

I can sell TR-800 or Tango modules in the following 3 ways:

Option 1: I ship modules with FC firmware in their flash, with FC Tango
stickers affixed, and the product is legally named (on customs forms
etc) FC Tango rather than iWOW TR-800.  These modules will also be
tested as part of flash programming process, and thus will be known
working.  The price for this option is $40 per module, and there is
no MOQ: you can buy 1 piece or 1000 pieces or anything in between.

Option 2: for those who don't want our FC Tango firmware or branding,
but who still desire tested and known working modules, I can sell
tested but flash-unchanged TR-800 modules for the same price of $40
apiece with no MOQ.

Option 3: for those who are looking for the absolute lowest price, I
can sell untested modules for $25 apiece, again with no MOQ.  However,
any modules sold under this option will be sold strictly as-is
*without* any assurance of quality (they could be dead for all I know),
and the buyer will have to explicitly agree to as-is, no refund and
no return terms - it is simply not economical to provide any kind of
service guarantees at this insanely low price point.

Options 1 and 2 will become available once our Caramel2 boards get
built and I can use one of them as a programming and testing station -
expecting some time in December, or maybe even November if we get
lucky.  Option 3 is available literally right now if someone really
wants it, but I don't recommend it.

Now onward to development boards.  iWOW once made their own official
development board for TR-800 modules, described in the document named
TR-800-Development-Starter-Kit-UserGuide_v1.2P5.pdf in our FTP
collection, but the problem with these original DSK boards is
scarcity: to the best of my knowledge, there are only two of these
iWOW DSK boards in the world, I have one and Das Signal has the other.
These original iWOW DSK boards have been codenamed Caramel in our
FreeCalypso core team work, and our own Caramel2 development board
design is intended to be a replacement for these original DSK/Caramel

Because our FC Caramel2 boards haven't been physically produced yet
(PCB fab should be complete or nearly so, waiting for them to ship),
we don't have any real photos to share, but we do have these artistic
renderings that were produced by our hired PCB layout contractor


Majenko used some fancy 3D modeling tools that are way beyond my
understanding to produce these renderings, and they certainly look
impressive.  A few part models are slightly incorrect (for example,
the power input connector will be the same orange part as on FCDEV3B,
not green as in the artistic rendering), but the drawings do provide a
good general idea of what we are going to get when these boards are
physically built.

Right now there are no graphical schematics for FC Caramel2.  When the
boards are produced and become available for public sale, I may either
publish the non-graphical schematic-equivalent source code for the
board like I did with DUART28, or I may hire Matt again to draw a
traditional graphical schem - I haven't decided yet.  But FC Caramel2
is essentially a semi-clone of iWOW's DSK aka Caramel, and the
schematics for iWOW's DSK v5.0 (the version used as the reference for
Caramel2) appear on the last page of iWOW's
TR-800-Development-Starter-Kit-UserGuide_v1.2P5.pdf document.  So if
you look at iWOW's original schematics, you should get a close idea as
to what you will get with Caramel2.

There are only two major differences between iWOW's DSK and Caramel2:

* Power supply: iWOW's DSK takes 5V power input and produces a VBAT
supply of 3.8 V with an on-board LDO regulator.  Caramel2 will instead
take in ready-made VBAT from an external power supply, just like
FCDEV3B.  We have a box of 100 little PSU bricks that were custom-made
for us, taking universal AC input and putting out 3.6 VDC at 2.2 A,
fitted with the right connectors, and this PSU accessory costs only $7
- thus every board will be shipped with a PSU, users won't be burdened
with having to provide their own.

* Calypso UARTs: iWOW's DSK features on-board RS-232 level shifters
and brings out two old-fashioned DE9F serial ports.  Caramel2 will
bring out both Calypso UARTs in their native LVCMOS form instead, just
like FCDEV3B, and our officially recommended USB to dual UART adapter
is our recently produced DUART28.

I expect these Caramel2 boards to reach the point of sellability by
December, and I am hoping to fit within the following price targets:

* For a reduced kit consisting of a Caramel2 board and a power supply,
with the user needing to provide their own USB to LVCMOS UART adapter,
I am hoping to get the price down to around $150.

* For a complete turnkey kit consisting of a Caramel2 board, a power
supply, a DUART28 adapter and a ribbon cable connecting the two boards,
I am hoping to get the price down to around $220.

Right now the main remaining cost uncertainty is assembly labor.  I do
NOT outsource my board assembly to distant shops half-way around the
world with whom I could never interact physically, instead I use a
board assembly shop that is physically local to me in California, and
I always hand-deliver all of the parts to them after first gathering
and inspecting them at FreeCalypso HQ.  I have a several years long
very satisfied working relationship with them, small American family
businesses need all of our support right now, so I will NOT transfer
my board assembly business from this local California shop to some
Chinese or Mexican or other race-to-the-bottom operation.

But my choice of ethical business practice in terms of board assembly
does make our boards more expensive.  In the case of FCDEV3B the
assembly labor cost was about $100 per board (that is just assembly
labor, on top of PCB and part costs); in the case of DUART28 the bare
break-even total cost is $55 per board, and $30 out of that total
(more than half) is assembly labor.  In the case of Caramel2 the total
cost of all parts and the PCB is about $85, but the assembly labor
cost is not yet known.

The other big contingency is that all of my hopes are currently pinned
on the expectation that all of the iWOW TR-800 modules I bought are
still 100% good after all of these long years of storage, and that
every one of them will yield a perfectly working Caramel2 board when
populated.  In the case of FCDEV3B we had very unpredictable yield,
every time I would order a batch of boards to be assembled, it was a
spin of the roulette wheel if we would get all good boards, all bad,
or anywhere in between, and this yield unpredictability is the main
cost driver, the reason why I cannot fairly sell non-discount FCDEV3B
V2 boards for less than $500 apiece: I have a few boards in stock, but
I have no way of predicting how much it would cost to replenish the
stock if they get sold out, thus the true break-even production cost
is essentially unknown.  Right now the big hope is that this yield
fiasco won't be repeated with Caramel2, and this hope is the basis for
my predictions of much lower prices for C2 than for FCDEV3B - but we
won't know for another couple of months, until we go through the full
process of C2 board assembly and get to the moment of truth.

Aside from cost issues, Caramel2 will have a few interesting technical
advantages over FCDEV3B: Tango modules are fully quadband, and the rich
set of Calypso+Iota chipset signals they bring out allow a full handset
to be built around Tango: the Calypso memory bus is brought out
(allowing for peripherals like large LCDs), the keypad interface is
brought out, battery charging control signals are brought out, etc.
All of these signals are brought out on the 56-pin expansion interface
on the Caramel2 board (see Caramel2Top.jpg drawing and iWOW's DSK
schematics), allowing connection of interesting add-ons.

One add-on we already have is our FC Luna handset UI development
platform, which consists of an LCD carrier board and a keypad board
connected to the 56-pin expansion interface on the original DSK/Caramel
board.  Our C2 expansion interface is strictly unchanged from iWOW's
original, thus the exact same Luna LCD and keypad add-on boards will
work with Caramel2 once C2 itself becomes a reality.  Right now this
Luna UI development platform is available only to me and Das Signal
because there are only two original DSK/Caramel boards left in the
world, but with C2 we'll be able to make this Luna UI development
platform available to anyone interested.  Our Luna LCD is 176x220 pix
color TFT, parallel interface connected to Calypso memory bus, exactly
the same display resolution and data transfer interface as on TI's
original D-Sample.  Our Luna keypad board is a simple 5x5 matrix of
keyswitches, with silk screen labels matching D-Sample keypad layout.

There is, however, one feature that is absolutely not available on
TR-800/Tango modules and thus on any platform built around them, and
that is Calypso JTAG: it is simply not brought out on the TR-800, the
signals never leave BGA pads under the Calypso chip, just like on
Openmoko devices.  nIBOOT is solidly grounded on the module PCB, thus
Calypso boot ROM is always enabled, there is no possibility of
bricking and thus no need for JTAG unbricking, but for those looking
for JTAG as a development aid, Tango is not the right platform.  For
those who need Calypso JTAG, FCDEV3B will always remain available,
albeit expensive.

And yes, I have already incurred the expense of getting TR-800 fully
reverse-engineered: I spent close to $1600 on that PCB RE job, and our
company has reconstructed Protel/Altium PCB design and Gerber files
for iWOW's TR-800 module PCB.  It's a 6-layer PCB with HDI structure
(blind & buried vias), and we've got all copper layers and all vias
fully recovered.  In the unlikely event that someone places an order
for a larger quantity of Tango modules than the available stock of
iWOW-made TR-800 surplus, we can produce our own clone modules that
will be legally FC Tango from the beginning - but the more immediate
use for this PCB RE was reconstructing 100% of the internal circuit
structure, i.e., components and netlist.  My philosophy is that if we
are rebranding these iWOW-made modules into FC Tango, we need to be
able to support the result as a bona fide FreeCalypso product, the
same as if we had designed and produced it ourselves, and that level
of support implies the requirement to know what every resistor and
every capacitor inside the module are for, and where every pin of
every component is connected, without any question marks left.

The raw PCB RE files for which I paid $1600 are currently unpublished,
and my current plan is to keep them unpublished until and unless
someone makes a donation/reciprocation payment of $1200 to partially
offset what I paid - my idea of fairness principle.  But the netlist
which I have reconstructed from this PCB RE is published, and so is my
assigned component reference designator plan - I had to assign a
reference designator to every component, every unpopulated component
footprint and every contact pad or group of contact pads on the
reverse-engineered PCB.  If someone else is going to do further RE on
these modules, such as removing and measuring every R/L/C passive, I
urge them to use the same reference designators which I've assigned,
so we can work in synergy.

Hasta la Victoria, Siempre,
Mychaela aka The Mother

More information about the Community mailing list