[Noisebridge-discuss] [arduino] Re: seeking help hacking helicopter remote

Steve Castellotti sc at puzzlebox.info
Wed Nov 24 02:48:59 UTC 2010


    Thanks for the good advice Jonathan, we managed to get one more step
forward last night!


    Basically the prolific USB-to-Serial cables would only support
"standard" baud rates as discovered earlier. The FTDI chipsets seem to
allow arbitrary rates and all we needed to do was switch out the cable
for one of the more expensive ones still sitting in the bin.
Incidentally this explains why the Arduino Decimillia would let me
choose 133333 baud but the UNO would not - the UNO has a different chip.


    Now in software I can capture a packet stream with the RC in the
"neutral" position, play it back to the transmitter we originally pulled
out, and when the helicopter is powered on it will recognize and sync to
the software-driven transmitter.

    The problem is, if I then try switching to sending packets recorded
in a throttle position at which the helicopter would take off, the
helicopter merely loses sync and reconnects without powering up the
blades.

    I've tried using the trim buttons to measure the absolute minimum
step in voltage between "no fly" and "fly" and sending those two packets
in sequence, just to verify the microcontroller on the transmitter chip
isn't throwing away the data when the difference between any two packets
is too high.


    The suspicion is that there might be a "I'm going to change now"
packet which is transmitted between changes that we're failing to
reproduce.


    Currently the next step is to pull up both the original RC and the
software sources under Tony's software analyzer to examine the complete
stream from one change to another. We've managed to learn how to use the
Tektronix logic analyzer here at the studio but it doesn't have enough
memory to record a session at a high enough resolution to give us an
answer.

    Incidentally with Jake's help the voltage levels of both the RC
circuit and the FTDI USB-to-Serial cable were pulled up under and
oscilloscope and verified to be outputting the same voltage (approximate
3.3v)


    Any further suggestions anyone might have on things to check would
certainly be appreciated!


Cheers

Steve


On Fri, 2010-11-19 at 14:44 -0800, Jonathan Foote wrote:

> Get a usb-serial converter with the FTDI chipset. I think this is
> standard on the Arduino. 
> 
> Get PyUSB  http://bleyer.org/pyusb/, which talks directly to the FTDI
> drivers.
> 
> From the app note
> http://www.ftdichip.com/Support/Documents/AppNotes/AN232B-05_BaudRates.pdf
> a 133333 baud rate is supported with a divisor of 22.5, so you should
> be able to call PyUSB
> h.setBaudRate(133333). (Note, I haven't actually tried this.)
> 
> Or, if you feel like hacking Windows .INF files, you can alias the
> 115200 UART setting to actually run at 133333 following the
> instructions in the app note.



Steve Castellotti
Puzzlebox Limited
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.noisebridge.net/pipermail/noisebridge-discuss/attachments/20101123/80ddf8b6/attachment-0003.html>


More information about the Noisebridge-discuss mailing list