FCDEV3B stands for FreeCalypso development board, triband
.
The first 3 batches of FCDEV3B boards were produced in 2017, but they
contained a design bug in that our choice of populated flash+RAM chip
(S71PL129NC0 copied from Pirelli DP-L10)
in combination with TI-original PCB wiring produced invalid timing for
flash reset, resulting in Calypso sleep modes not working
and sometimes other erratic behavior.
In 2019 we produced FCDEV3B V2 with a new flash reset circuit
that works with all known flash+RAM chips that fit our PCB footprint,
including our original choice that gives us 16 MiB of flash
and 8 MiB of XRAM.
It is imperative to understand that these boards were never intended to be a commercial product! We produced these boards to satisfy our own internal need first and foremost: we wanted to run TI's TCS211 firmware in its full glory; its native hardware platform was TI Leonardo, but needless to say, original TI-made Leonardo boards were and are unobtainium — we never found even one. Since we recovered our TCS211 fw starting point by way of Openmoko, the modem portion of Neo FreeRunner (GTA02) smartphone was our original hw platform prior to FCDEV3B — but it was and is a hugely inconvenient platform for GSM-centric work where the embedded Linux portion of that smartphone only gets in the way. OTOH, the alternative approach of running our firmware on repurposed old phones such as Motorola C1xx or Pirelli DP-L10 was never acceptable to us: that approach may be fine for OsmocomBB with its different needs, but not for us. We absolutely needed a board that replicates TI Leonardo, hence we designed and built our FCDEV3B to be just that.
The finished FCDEV3B product as built is a faithful equivalent of TI's original Leonardo+ rev 5 devboard without phone UI hardware — therefore it is only suitable for running TCS211-derived firmware (FC Magnetite, Selenite and Tourmaline) in ACI configuration, i.e., controlled via AT commands only. If one wishes to run Magnetite or Tourmaline firmware with handset UI layers included, FCDEV3B is not a suitable platform — our desired, but not yet built Venus board is needed instead. However, FCDEV3B did fulfill its original purpose of fully replacing the modem portion of Openmoko GTA02 as our most native platform: that original modem was also naturally suitable only for running firmware built in AT command modem configuration, rather than self-contained traditional phone handset firmware.
Physical: a 90x50 mm circuit board, meant to be used bare on a lab bench.
Chipset: the legendary Calypso, specifically D751992AGHH (C035, DSP ROM version 3606, full 512 KiB of internal SRAM), TWL3025 Iota ABB, TRF6151C Rita RF, Spansion S71PL129NC0 MCP for 16 MiB of flash and 8 MiB of external RAM.
Power: external battery-emulating DC power (3.6V nominal) required; the complete kit includes an ultra-compact adapter from AC mains power to our required DC voltage with the necessary amperage rating to support GSM burst transmission. Another interesting option is to run on actual battery power using an 18650 Li-ion cell in a holder and an external charger.
External interfaces: power input connector, headers for two UARTs, JTAG and MCSI (Calypso DSP auxiliary interface) at 2.8V logic levels, SMA connector for the antenna or RF test equipment.
The primary means of programming, controlling and interfacing with
this GSM modem board is serial on two UARTs.
Natively our board presents only LVCMOS UART interfaces, but
the complete kit includes our DUART28 adapter
which puts the two UARTs behind a single USB device, appearing
as /dev/ttyUSBx to Linux hosts.
On-board peripherals: SIM socket, power-on and reset pushbuttons, connections for a loudspeaker and a microphone for exercising voice calls.
Radio: our FCDEV3B is based on Openmoko and thus features FIC's triband RFFE; we have both 900/1800/1900 MHz and 850/1800/1900 MHz versions. A 5 cm long quadband GSM antenna is included with every board.
Compared to the mainstream
commercial GSM modem kits for
hobbyists and tinkerers and IoT/M2M applications and whatnot,
our FreeCalypso GSM modem is unique in that it is explicitly designed
to allow you to tinker with the inner workings of its firmware:
you are explicitly encouraged to recompile our firmware from source
and to flash your own fw builds into the modem, as well as to study
our source, learn how it works, and make your own improvements which
we never dreamt of.
And if you totally dislike our firmware and wish to write your own
completely from scratch instead, all hardware registers and functions
are fully documented.
Compared to the ultra-cheap Motorola C1xx phones which are also based
on the same Calypso chipset and which may thus seem no worse
at first glance, our board is a fairly direct (by way of Openmoko)
derivative of TI's Leonardo reference design, whereas Motorola's
(really Compal's) hw design is considerably mutilated relative to the
Leonardo baseline.
Here are the serious shortcomings of Mot C1xx hardware:
C1xx phones feature malicious wiring in their PCBs that disables the Calypso chip's internal boot ROM. This on-chip boot ROM is there to make Calypso-based GSM devices completely unbrickable, but having it disabled makes C1xx phones brickable: one wrong flash write command, and the phone is unrecoverably toast. Connecting JTAG ranges from extremely difficult to impossible depending on which specific C1xx variant you got, so it is not a viable recovery option either.
In contrast, our board has the Calypso internal boot ROM enabled, thus your flash can be blank, corrupt or filled with the worst malware you can dream of, yet you can still get in via either of the two UARTs (no JTAG needed) and reload the flash. And if you do wish to play with JTAG, it is brought out on a header — no need to tear a phone to shreds and solder wires to tiny pads.
TI's standard firmware for their Calypso-based modems, which
runs beautifully on our board, supports not only GSM voice and SMS,
but also
CSD
and GPRS.
CSD is a particularly sweet feature which seems to have been dropped by
most of the mainstream
commercial modem vendors, but it works like a
charm on our TI platform.
However, TI's standard firmware is designed to make use of two UARTs: one
presents a standard AT command interface including CSD and GPRS,
while the other is used for a debug and development interface specific
to the internals of TI's firmware architecture.
Mot C1xx phones have only one UART practically accessible, hence TI's modem firmware (called TCS211) cannot be ported to them cleanly. We do have a very hacky port working, but CSD and GPRS functionality is inaccessible in it. In contrast, our board has both UARTs fully brought out, hence TI's TCS211 firmware can be exercised in its full glory.
As of mid-2026, we have a very small remaining number of defect-free
FCDEV3B boards (both 900/1800/1900 MHz and 850/1800/1900 MHz
versions), as well as an entire graveyard
full of either dead
or partially defective boards.
Boards with partial defects remain to be catalogued, but many of them
may still be usable for certain applications.
If you are interested in getting one of these boards, please see
our hardware availability page.