We are proud to introduce our first FreeCalypso hardware product:
a GSM mobile station development board.
Our board features the same legendary TI Calypso GSM MS chipset
that was used in commercial GSM/GPRS modems such as Openmoko's
(our design is based on TI's Leonardo schematics and Openmoko's PCB layout),
and functions as a standalone (or
bare) GSM modem.
The name of our board is FCDEV3B, which stands for
Function and purpose
Before we can clearly communicate the purpose and function of our product, we first need to clarify what it is not:
Our board is NOT intended as a platform for running OsmocomBB. Running OBB on our hardware is considered misuse; while we unfortunately have no technical means to block such misuse (the Calypso chip has no restricted boot facility), we do not support or endorse it in any way.
Our board is NOT a generic SDR, instead it is specialized GSM MS hardware designed to receive GSM signals on standard GSM downlink frequencies and to transmit GSM signals on standard GSM uplink frequencies, in strict compliance with all functional standards for GSM mobile stations.
Our board is NOT intended to receive (sniff) on GSM uplink frequencies, nor is it intended to act as a poor man's base station (so-called
CalypsoBTShack) by transmitting on GSM downlink frequencies. Anyone who modifies or attempts to modify our hardware with a so-called
filter reworkautomatically voids all warranty and support.
So, if it is not any of the above, what is the function and purpose of our board? Answer: it is a platform for exercising, demonstrating and further developing our TI-based FreeCalypso modem solution. The primary mission of FreeCalypso is to give a second life (post-TI) to our beloved Calypso chipset+software solution, in order to fulfill the just-stated wish we needed a board that has the chipset on it and runs the software, and so we built our FCDEV3B.
When running our FreeCalypso Standard Modem firmware, the board functions as a standard AT modem, i.e., a standards-compliant GSM mobile station controlled via AT commands. To exercise our modem, you would need to get a SIM from your local GSM network operator, insert that SIM into the SIM socket on our board, power up and boot our board, then command our firmware to connect to the network, make and receive calls, send and receive SMS, exercise GPRS and other functions. It is a totally plain vanilla GSM+GPRS modem with an AT command interface, but with one very special feature: unlike our bigger competitors, we freely publish the complete source code for our internal firmware.
Physical: a 90x50 mm circuit board, meant to be used bare on a lab bench.
Chipset: the legendary Calypso, specifically PD751992AGHH (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; our complete kits include 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 LVTTL UART interfaces, but our complete kits include an off-the-shelf FT2232D USB adapter board which puts the two UARTs behind a single USB device, appearing as
/dev/ttyUSBxto 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 standard version is 900/1800/1900 MHz triband; if someone needs one, we can also build an 850/1800/1900 MHz version. 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
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
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
mainstreamcommercial 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.
If our product description sounds interesting to you and you would like to get one of our boards, how can one do so? The answer depends on your use case:
If you are interested in getting a board for the purpose of running OsmocomBB, we have to disappoint you: we do NOT make our boards available for the purpose of running OBB, not for any price — sorry.
We strive very hard to get our FreeCalypso modem solution accepted as fully legitimate by the mainstream (non-FOSS) GSM community of network operators, regulatory agencies and related bodies, and doing so is only possible for as long as our boards run our official FreeCalypso modem firmware that features a level of quality and functionality appropriate for a mainstream commercial product. Given the dismal quality of OBB software in comparison, allowing the use of OBB with our hardware would cause severe harm to the reputation of our modems and potentially even expose us to legal risks, hence we are taking the disciplined approach of not supplying our hardware to anyone who is involved or associated with OBB.
If you are interested in getting a board for the purpose of running, studying, playing with or contributing to further development of our official FreeCalypso modem firmware, and you are an individual personal enthusiast, hobbyist or tinkerer (not a commercial company), then you can get a board for the price of a whatever-you-can-afford donation — there is no fixed price, and if you are really poor but really deserve to get one of our boards, you may be able to get one completely free of cost. (But only for FreeCalypso software and firmware, not for OsmocomBB!) If you are interested in getting a board on such donation terms, please email Mother Mychaela.
If you are a commercial, governmental or other institutional entity and you are interested in buying one or more of our boards on commercial terms, then likewise also please email us.
Repackaging into other form factors
The physical realization (form factor) of our current board is meant for development, demonstration and evaluation — it is not really suitable for operational use as a component to be integrated into some larger system. Instead we envision that for any practical commercial use, our FreeCalypso modem solution would need to be repackaged into a different physical form factor.
We have one very concrete idea for repackaging our modem into a very compact 33.8x36.8 mm SMT module that would be ideal for embedded applications, and of course we would be just as glad to repackage our modem solution into any other customer-desired form factor (within the limits of feasibility) if someone pays for it.