Hello FreeCalypso community, I have an update on the status of our hardware subproject. As most people here know, for a long time I have had a burning desire to build our own FreeCalypso GSM development board whose primary purpose would be to make FreeCalypso firmware work a little more pleasant and thereby motivate me to work on some parts that need to be done, but where the needed motivation has been lacking.
TI had a family of development/reference boards (a myriad different variants, it seems) called Leonardo, but I was never able to find one of these boards (any variant) in real life, nor was I able to find any PCB layout files for any Leonardo variant - only schematics in 3 different versions. (We've got a D-Sample board, but our semi-src copy of TCS211 fw can't run on it - it's built for Leonardo - that is where the "leo" in leo2moko comes from.) The board which I seek to build is a Leonardo-like, can be thought as our own re-creation of the lost Leonardo design, based on a reuse of Openmoko's Calypso GSM modem design which is itself a derivative of - guess what - Leonardo! I've got the design of my proposed FCDEV3B (FreeCalypso development board, triband) finished at the netlist level a few months ago in September, but there was a problem with getting PCB layout done. The available options were to either pay an outrageous dollar amount to a professional PCB layout shop to have the layout job finished in PADS (proprietary PCB layout sw used by Openmoko for their PCB design which we seek to reuse), or to take yet another detour from other FreeCalypso work for a few months to work on endowing GNU PCB with PADS-like capabilities so that a lossless format translation would become possible. (I was leaning toward the latter option, but other members of our community weren't too happy about it, and I need the support of the community.) Fast-forwarding to the present, we've got some good news: there is an off-list person who has been in contact with me, and he's got a two- person team (himself plus an associate of his) working on this FCDEV3B PCB layout project. Of course we cannot count on anything for certain until we get the finished design files in our hands, but from my communications with him I get the impression that he is approaching this PCB design job in the proper professional manner and that his approach is promising. One point of concern is that they are doing it in Altium (yet another proprietary EDA package with which I'm not familiar at all) instead of PADS or any FLOSS EDA, and I've noticed that a few things got mistranslated in the PADS->Altium conversion, but my contact is assuring me that the conversion went better this time than it did back in July/August when the copper pours got lost, and that they plan on comparing their final gerbers against Openmoko's to ensure that nothing got changed in those areas where no change is intended. I guess that we'll just have to manually fix those spots where things got mistranslated (so far I've only observed such mistranslation in the case of R0402-H footprints), and hope that there aren't any other mistranslations which we missed. After all, my contact (he hasn't joined the list, so I presume he prefers anonymity, at least for the time being) is donating two engineers' time to this project, so we shouldn't be looking a gift horse in the mouth... The board I'm seeking to build (the one which is now being routed by my contact and his associate, hopefully) will have the following features: * It will be a bare board meant to be used on a lab bench, not a phone for pockets and purses. * The board will need to be powered by an external power supply emulating a battery. One can use a fancy lab bench power supply with precise voltage control and a current draw display, or there is a more compact option similar in size to a typical laptop power adapter. Either way, the ultimate source of power is wall AC - no battery. * The Calypso chip version will be the full one with 512 KiB of IRAM, not the reduced IRAM version (Calypso Lite) used in Mot C1xx phones, the external flash+RAM chip will be the same as found in the Pirelli DP-L10 (huge XRAM and flash space available), and by virtue of the core modem design being based on Openmoko's and not Mot C1xx, it will run TCS211 firmware with absolutely minimal hacks, much less invasive than those made in the tcs211-c139 port. * Both Calypso UARTs will be brought out on a header, allowing TI's firmware to be used in the two-UART configuration it was designed for, not the crippled one-UART configuration we've been limping with so far. I also have plans for a companion USB adapter board which will present both UARTs as a single USB device (probably using an FT2232 or similar chip), connecting to the FCDEV3B with a single 10-wire ribbon cable. Of course one can always use two separate single-port USB-serial adapters, which is what we'll have to do until we get our USB companion board made, but one can go nuts trying to keep track of which /dev/ttyUSBx is which when you have two identical USB-serial cables coming out of your laptop, going to two identical connectors right next to each other on the target board. The purpose of a special board to connect both UARTs with a single USB device will be to eliminate this madness. * There will be a SIM socket on the board, an SMA connector for attaching a GSM antenna, and an on-board microphone and loudspeaker for exercising voice calls and Calypso DSP audio features. No other UI hardware though, i.e., no LCD and no keypad. * JTAG and MCSI debug interfaces will be brought out on headers. If we get this board built, we'll be able to use it to our advantage in the following ways: * It may make former and/or present TI employees more willing to help us if we can impress them with our seriousness and commitment. Building a very intricate and expensive board of this sort takes a lot more devotion than just tinkering with some old phones from ebay. * We may win over some more hearts in the libre phone scene outside of our existing FreeCalypso community if we start offering our own hardware. I reason that a piece of hw designed and built by us ought to impress people more than a bunch of old phones from ebay. * This FCDEV3B board will be a much better platform for presenting TI's TCS211 firmware in a positive light than the C139. Running TCS211 on a handset like the C139 as opposed to a modem emphasizes the area of TI's fw which is the weakest: their buggy, rough and unpolished demo/prototype UI code, whereas the strongest part of TI's fw (their solid and stable GSM/GPRS modem core) cannot be fully exercised or demonstrated on the C139 because of the lack of two UARTs that are fully accessible to the user. (One single-UART hack for AT commands over RVTMUX works OK for voice and SMS, but not for CSD and GPRS.) OTOH, the FCDEV3B will have no UI hardware, but it will have both UARTs very conveniently accessible, thus it will be perfectly suited for showing off those areas where TCS211 firmware shines. * There is one already-existing piece of hw on which TCS211 fw shines: it's the modem in the Neo Freerunner. But using that hardware as our flagship is unacceptable for political reasons: the hardware has become too scarce, the so-called "community" of Openmoko is continually encouraged to destroy and vandalize this hardware instead of putting it to loving use, and that same "community" is too hostile to our project. The critically important quality of my proposed FCDEV3B is that it is essentially the same hw as Openmoko's modem, but politically and supply-wise completely independent of Openmoko. Therefore, we'll be able to present this hw and our project running on it to fresh libre phone enthusiasts who are not part of the troubled Openmoko history. * As far as technical (non-political) benefits to actual FreeCalypso development go, if we don't succeed in finding and obtaining a more source-complete copy of TCS211 than the one we already have, and we thus have to embark on the very painful effort of reconstructing a recompilable, Calypso-fitting and TCS211-fitting L1 source from the disassembly of TCS211 binary objects and the available wrong-version L1 sources, the only way I will be willing to embark on that hellish task would be if I have an ultra-pleasant development board on my lab bench, such as my proposed FCDEV3B. * At some future point we are going to need to build our own hardware for practical purposes: to get a handset with nicer hardware specs than the C139, or to produce a FreeCalypso modem module that can be installed in the Neo900 in the place of the standard proprietary one. The FCDEV3B will serve as a useful stepping stone toward any future efforts along those lines. Stay tuned for further updates on the status of this hardware subproject as the development proceeds. M~ _______________________________________________ Community mailing list [email protected] https://www.freecalypso.org/mailman/listinfo/community
