motoserial
==========

the motoserial is a phone controller
it is used to power, flash, and communicate with Motorola C1XX phones
the purpose is to use it for osmocomBB

the USB interface will offer 4 UART ports, do communicate with 4 phones
provide external power (4.5-5.0 V, ~2 A) so to be able to power the phone, but also be able to flash them

purpose
-------

I used the osmocom baseaband software on Motorola C118 phones to monitor GSM networks
to communicate with them, I used USB to UART converters (CP2102) on the 2.5 mm TRS jack
to flash the phone with the osmocomBB firmware, remove and reinstall the battery, start osmocon (or leave it running), and press on the ON button to start the bootloader
but sometimes the software gets stuck, and for monitoring GSM networks, an automatic way to reflash the phones had to be found

technology
----------

instead of the ON button, a pin on the back of the phone can be used
but I noticed that plugin the charger had the same effect
and instead of the battery, a 5V power source can also be used
so the trick is to use 2 transistors: 1 to simulate battery re-plug, and 1 to simulate charger replug; by switch off and on both power sources
since they share the ground pin, p-MOSFET on the positive side had to be used
actually the order and switching timing is not too important
thus one transistor, switching both the battery and charger power sources, is enough (and a n-MOSFET can be used)

the battery can be replaced by a regular 5 V power source, the same as the one used for charging
if the voltage is above 4.2 V, the battery should not be charged
to prevent power comming back on the power source if the phone charges the battery, a diode should be use on the positive side on the battery power source
this would also decrease the voltage (due to the forward voltade drop of the diode) and bring it closer to the usual 3.7-4.2 V voltage level

the phone cosumes at 3.7 V on average:
- ~ 90 mA when idling
- ~ 120 mA when receiving
- ~ 220 mA when transmiting
when transmiting, peaks of 2 A can be reached
this can be lowered to 1 A when an 470 µF capacitor is used

hardware
========

files
-----

motoserial-phone:
the battery replacement
provide 5 V (~1 A) input power
the other port is to forward this power to the charger
the PCB will replace and provide power instead of the battery
a diode is used to prevent revers current when charging
capacitors are necessary to cope with the peak power usage when the phone transmits

motoserial-spare:
this is the USB to 4 UART + power controller board
it uses spare parts from my component stock (mainly the expensive FT4232H)

version
-------

0:
working version

A:
first scrape prototype built using CircuitPro + ProtoMat S63
bugs:
- the hole for the USB and header pins are too wide. I hope it would create some through hole plating thanks to capillarity, but it didn't
- wider vias annulus would be a good idea
- DTR it set (to low) when the serial port is opened, but is no reset (to high) when closed (FT4232H specific)
- RTS can be reset to high on close, but that need to be programmed in the FT4232H's EEPROM
- the 3.3 V on DTR can not drive the pMOS because it's switching 5.0 V, but V_GS < 1.1 V
- decoupling capacitors on the serial lines should improve the quality
- try if with less feritte beads and decoupling capacaitors PLL still works

B:
first cape prototype built using CircuitPro + ProtoMat S63
bugs:
- I used nMOS instead of pMOS, which won't work because the power connection on the phone shares ground with UART

C:
second cape prototype built, using CircuitPro + ProtoMat S63
bugs:
- one ground copper connection in the plane cut because too thin
- 100nF dim the UART signals and should be removed

D:
4 phone prototypes built to work with the cape
bugs:
- the central tab is a bit too long. it's hard to remove the battery
