FC development board update

Spacefalcon the Outlaw falcon at ivan.Harhan.ORG
Sat Aug 15 07:46:01 CEST 2015


Hello FreeCalypso community,

Here is the current status with my effort to build our own Calypso GSM
mobile station board that would serve as a better platform for our FC
firmware development and debugging than any of the available phones:

* FOSS PCB approach: I haven't heard anything from Ineiev yet, and my
  current leaning is that redoing the layout from scratch in FOSS PCB
  is a step which we should tackle in a somewhat later stage of our
  project - see below.

* Altium approach: the off-list person who took a stab at loading
  Openmoko's PADS PCB file into Altium (the software he happens to be
  using) and editing it there didn't progress very far.  He did a
  gerber export from what he had and sent it to me so I could see it
  (not having Altium myself), and I saw that the translation from PADS
  to Altium was quite lossy: the copper pours were lost, the footprints
  ended up on the wrong layers etc.  I am not putting much faith into
  this Altium approach any more.

The approach which seems most promising at this point is for me to do
the layout of the first version of our development board in PADS based
on the PADS file for GTA02-MB-A6 which we recovered from Openmoko.  It
began with me finding a cracked copy of PADS on the well-known pirate
site:

https://thepiratebay.la/torrent/8569591/PADS.9.4.1-EFA

Then there was the problem that it's Windows-only software, and I am
absolutely not a Windows user.  I solved that one by digging up a
sacrificial laptop and installing WinXP on it.  (Why XP and not
something newer?  Well, I figured that Windows only gets more evil as
it gets newer, hence older versions ought to be a little less evil -
and security isn't an issue as that box will never be connected to the
Internet or any other networks, totally isolated and air-gapped, data
in and out only via USB flash drive sticks.)  So I transferred the
pirate copy of PADS to that isolated WinXP laptop via a USB stick, and
it installed fine.  The pirate license key generator worked too - PADS
swallowed the license file it generated and is now able to load large
design files (like Openmoko's) without disabling save and export
operations like it does in "demo" mode when it has no license key.

I know that using PADS can be considered cheating: the morally right
approach would be to do all of our PCBs solely in FOSS PCB.  But right
now we are in a peculiar situation: if we deem the triband RFFE
configuration to be sufficient for our first development board (i.e.,
if we don't need quadband capability right away), we have the
opportunity to reuse Openmoko's known-working PCB design verbatim
without having to redo it anew - but such verbatim reuse practically
requires that our FCDEV3B board (FreeCalypso development board,
triband) be done in PADS; doing it in FOSS PCB would practically imply
having to redo the layout from scratch.

While I still see it as a goal that we should eventually produce a
quadband Calypso modem whose PCB design is done purely in FOSS, my
current plan of attack is to split the task into two stages:

1: Produce a triband version (FCDEV3B) through verbatim reuse of
   Openmoko's 8-layer PCB design with blind and buried vias (L1-L2,
   L2-L3, L3-L6, L6-L7, L7-L8).  Do it in PADS: start with the
   GTA02-MB-A6 PCB file from Om, delete all components outside of the
   modem section, load the new netlist for FCDEV3B, place and route
   the newly added peripheral components (connectors etc) and voila,
   we'll have a board design ready to go to PCB fab.  We'll be able to
   use this board for all FC fw development and debugging tasks for
   which the band support doesn't matter: find and fix the current DSP
   patch loading bug that prevents voice calls from working, play with
   the pdt_2092 (UI included) configuration of TCS211, explore the
   melody generation capabilities of the Calypso DSP, play with CSD
   and GPRS, etc.

2: After FCDEV3B has been built and fully proven working (calibration
   followed by full TCS211 functionality), we can tackle the challenge
   of making a quadband version as a separate subproject.  Openmoko's
   specific PCB layout of the modem section works only with their
   specific type of triband antenna switch and its particular pinout;
   replacing this triband RFFE with Epcos M034F (the magic component
   used by TI in their Leonardo and E-Sample designs that made them
   quadband) will require redoing the whole layout in a different way,
   using a different component placement arrangement that is more like
   Leonardo and E-Sample.  And if we have to redo the layout anew in
   order to make our modem quadband, that would be the perfect time to
   switch from PADS to FOSS PCB.

When the time comes to do our quadband design as stage 2 per the above,
I hope Ineiev will be available to do the PCB layout for us, but as for
stage 1 (doing FCDEV3B in PADS), I would like to try doing it myself.
Yes, you read it right: I, Mychaela Falconia, would like to try my own
hand at a PCB layout job.  I reason that I may be able to do this one
on my own because the vast majority of the layout, including the
tricky GHz RF section and the mass of digital signals between Calypso,
Iota and the memory chip, is to be reused verbatim from Openmoko, and
the only new routing to be done consists of just a few signals, none
of which are particularly critical.  Oh, and the pirate copy of PADS
at the torrent link above does come with quite thorough documentation
on how to use it. :)

And for anyone who thinks that piracy is bad or immoral, I disagree:
it is immoral for Mentor Graphics (the makers of PADS) and other such
companies to make money by selling super-expensive licenses to
involuntary customers who are kept hostage by proprietary file formats
and the practical infeasibility of moving a complex PCB design from
one EDA package to another without losing half of it in translation,
so by using a pirate copy we avoid giving any of our money to those
vultures.

Note about E-sample: that was TI's development board for the Calypso+
chipset.  We happen to have a copy of TI's layout for this board:

ftp://ftp.freecalypso.org/pub/GSM/PCB/Esam-406.zip

And guess what - it is also done in PADS!  With a working installation
of PADS that can read the Esam-406.pcb file we got, I could easily
generate gerbers for that board, we could send them to a fab and get a
physical E-sample board back.  But unfortunately it won't do us any
good: we only have firmware for the classic Calypso and for LoCosto,
but not for Calypso+. :-(  So we still need to build our own board
with the chipset we need, based on Openmoko.

The specific chipset we are working with is Calypso/Iota/Rita.  TI's
D-Sample board was Calypso/Iota/Clara, while E-Sample is
Calypso+/Syren/Rita - hence the chipset we are working with is later
than D-Sample but earlier than E-Sample.  Thus when we build our own
development board for the chipset we need, we can call it DD-Sample:
more than a D, but not quite an E.  :-)))))

Happy hacking,
SF


More information about the Community mailing list