146 lines
7.6 KiB
Markdown
146 lines
7.6 KiB
Markdown
motoserial
|
|
==========
|
|
|
|
the motoserial (motorola automatic serial) is a phone controller
|
|
it is used to power, flash, and communicate with Motorola C1XX phones
|
|
the purpose is to use it for osmocomBB
|
|
|
|
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 (PL2302, 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 pluging 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; and 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
|
|
this way a more common n-channel MOSFET can be used, but the ground pin of serial should then also be switched
|
|
|
|
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 coming 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 voltage drop of the diode) and bring it closer to the usual 3.7-4.2 V voltage level
|
|
|
|
the phone draws at 3.7 V on average:
|
|
- ~ 90 mA when idling
|
|
- ~ 120 mA when receiving
|
|
- ~ 220 mA when transmitting
|
|
when transmitting, peaks of 2 A can be reached
|
|
this can be lowered to 1 A when an 470 µF capacitor is used
|
|
|
|
hardware
|
|
========
|
|
|
|
files
|
|
-----
|
|
|
|
motoserial:
|
|
after several prototypes (see versions), this was the best solution
|
|
the PCB replaces the battery
|
|
I had too many missing or dead batteries (which will start charging only after 30 minutes, and only lasts 10 minutes)
|
|
large capacitors compensate for the large but brief power surges during transmition bursts
|
|
connect the PCB to the computer through a USB to UART converter with the following pins: 5V, TX, RX, DTR, GND
|
|
a good USB to UART converter would be the Silicon Labs CP2102 (or CP2104)
|
|
they handle baudrates slightly different from standard values (which the Mototola C1XX have) better than Prolific PL2303, but not as good than FTDI FT2232R
|
|
they are more expensive than Prolific PL2303 converters, but cheaper than FTDI FT2232R, and work quite fine
|
|
good and cheap converters are BAITE (betemcu.cn) BTE13-007, CNT-003, or B75937 (solder pin DTR)
|
|
the DTR (or RTS) signal is used control the power switch
|
|
CP2102 resets this signal when the serial connection is closed
|
|
FT2232R can only reset RTS once the option is set in EEPROM, but DTR goes and stays low the first time the serial port is opened
|
|
CP2102 also includes a 700 mA resetable switch on the 5V pin which will prevent draining too much power on the USB port
|
|
connect the UART port to a 2.5mm TRS stereo jack and plug it in the headphone to be able to flash and communicate with the phone
|
|
connect the CHG port to a jack barrel (1.1mm inner diameter and 3.0 mm outer diameter) and plug it in the charger port to able to start the phone
|
|
some phones also provides these pins on the back, but not all
|
|
only though hole components have been used because it could not be all SMD (large capacitors are very expensive, and header connections to weak)
|
|
this allows to have a single sided PCB which can also be produced in amateur labs
|
|
|
|
version
|
|
-------
|
|
|
|
0:
|
|
current working version
|
|
|
|
E:
|
|
now motoserial-phone version prototype built (also provides a UART port)
|
|
bugs:
|
|
- resistors are in the way of connections
|
|
- pull-up/limiting resistor misplaced. the nMOS gate oscillates around Vgs
|
|
|
|
D:
|
|
4 motoserial-phone prototypes built to work with the motoserial-cape
|
|
bugs:
|
|
- the central tab is a bit too long. it's hard to remove the battery
|
|
|
|
C:
|
|
second motoserial-cape prototype built
|
|
bugs:
|
|
- one ground copper connection in the plane cut because too thin
|
|
- 100nF dim the UART signals and should be removed
|
|
|
|
B:
|
|
first motoserial-cape (for BeagleBoard BeagleBone Black) prototype built
|
|
bugs:
|
|
- I used nMOS instead of pMOS, which won't work because the power connection on the phone shares ground with UART
|
|
|
|
|
|
A:
|
|
first motoserial-scrape prototype built using CircuitPro + ProtoMat S63
|
|
bugs:
|
|
- the hole for the USB and header pins are too wide. I hoped 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 ferrite beads and decoupling capacitors PLL still works
|
|
- Silabs CP2108 would be cheaper and easier to use than FT4232H
|
|
|
|
FAQ
|
|
===
|
|
|
|
Q: What is the design goal?
|
|
A: Provide a cheap way for everyone to remotely control motorola C1XX phones.
|
|
By controlling the battery and charger power, it is possible to trigger the flashing procedure. This is done through the DTR signal of the USB to UART converter.
|
|
The PCB is one layer, and only used through hole components, making it easy to produce and solder.
|
|
The components are basic: diode, transistor, capacitor, resistor. This makes it cheap.
|
|
|
|
Q: Don't have electrolytic capacitors high ESR?
|
|
Ceramic capacitors don't come in such high values like 470µF.
|
|
Tantalum capacitors rarely come in through hole packages.
|
|
Either way, they would cost far too much.
|
|
Electrolytic capacitors can have high values, and are cheap, particularly in through hole packages.
|
|
The three capacitors are also in parallel, which lowers the global ESR.
|
|
You can still used low ESR electrolytic capacitors instead.
|
|
Since they are in free air, they should not heat up and dry out so fast.
|
|
|
|
Q: Can capacitors replace a battery?
|
|
I tested calling with them, and it works.
|
|
During transmission bursts I measured voltage drops less than 0.3V, which is acceptable.
|
|
It also depends on the power source and the USB to UART convert you use. They might have additional capacitors, or current limiters/fuses.
|
|
|
|
Q: Why so many cables and connections?
|
|
The inputs (from the USB to UART converter) and outputs (to the power/charging and serial/headphone sockets) are clearly labeled.
|
|
Some phones provide pins behind the battery to control power and UART. That would require using pogo pins, which would be more complicated and expensive.
|
|
External cables are simpler and it works on all phones.
|
|
Since the goal is to be able to restart the phone automatically in a monitoring setup, I only attach the cables once and let it run the rest of the time.
|
|
|
|
Q: Why not integrate the USB to UART converter on the board?
|
|
I would have to make a double sided board to put the surface mount converter on.
|
|
And the chip would cost more than a complete USB dongle from china.
|
|
This contradicts the design goal.
|
|
And you can pick any USB to UART converter, as long as it provides 5V and DTR.
|
|
|
|
Q: Why not control multiple phones?
|
|
The first designed included a USB device controlling 4 phones based on a FT4232 or CP2108.
|
|
But you still need the boards in the phone.
|
|
And USB to UART from china are far less expensive, even with an additional USB hub.
|