Archive / May, 2015

FTDI USB TTL Serial Cables and MewPro

Today I experienced failure in uploading software to MewPro/Dongle using a newly purchased FTDI TTL-232R-3V3 cable. The post notes the issue caused by these bad cables and proposes a DIY remedy.

The Issue

In order to upload a sketch or software from PC to Arduino Pro Mini, a kind of cables (or breakout boards) to convert USB to TTL serial is required.

Most popular one for this purpose among hobbyists is, I think, SparkFun FTDI Basic Breakout because the designer company is the same and Pro Mini’s pins are ordered for the breakout board. And also there are a lot of pin-compatible clones, for example, Sanhayato MM-FT232 (in Japan only), FT232RL USB to Serial 232 TTL Adapter Module for Funduino, and so on.

FTDI USB TTL Serial Cable TTL-232R-3V3, which I bought, is one of these. However, it caused the following problem:

Suppose MewPros and Dongle are already connected by wires. Then uploading of a sketch always fails even if all the GoPros and Dual Hero bacpac were detached.

The very same USB TTL cable doesn’t fail when no wires are soldered to MewPro or Dongle.
Contrary to this, SparkFun’s breakout board always succeed in uploading even when all the wires are soldered to MewPros and Dongle.

DIY remedy

According to the datasheet the troubled USB TTL cable has current limiting resistors on TXD and RTS# signal lines (cf. datasheet p.21 Figure 8.1. The value of resistors is 270 ohm in this case). These are the culprit! Let’s remove them!!

Step 1: Cut open USB Connector. I used a ultrasonic cutter to do this.
cut-open
Our targets are the resistors marked R1 and/or R2.

Step 2: To remove R1 and R2 two soldering irons were heated. I pinched and removed them.
remove-resistor

Step 3: Soldered two zero ohm jumpers in their places. If you don’t have zero ohm jumpers in your toolbox then solder bridging will do the same job.
zero-ohm

Modification completed. Confirmed, the cable can now upload sketches to Arduino in any case with no problems. 🙂

Conclusion

Some USB TTL serial cable/breakout has current limiting resistors inside. They sometimes cause failure in uploading software to Arduino especially when other Arduinos are connected by wires. If the issue occurs then removing/bridging these resistors will be the solution.

MewPro Cable Is Coming

A new product MewPro Cable is coming on the next month. It is targeted at possible MewPro Dongle or genlock users who has less room at the back of GoPros on their rig.

MewPro Cable has following features.

  • PCB fits within Herobus male connector casing.
  • Compatible with MewPro’s version w/ Arduino Pro Mini etc.
  • Works with MewPro Dongle.
  • For genlocking delete/align unnecessary/necessary pins.

That is, the current product MewPro w/ Arduino Pro Mini will be shrunk to the size of PCB (green) in the photo below:
gopro-connector
(Note: The PCB in the photo is a fake and not an actual one because it is not ready, yet.)

The price will be the same as before.

Technical Details

MewPro Cable uses AVR ATtiny1634 as microcontroller and this is different from current MewPro that uses AVR ATmega328.

Since ATtiny1634 is newer than ATmega328, it has a sophisticated, perfect slave I2C hardware. This new I2C architecture enables us to eliminate the necessity of external I2C EEPROM in order GoPro camera to recognize MewPro as mimicked Dual Hero System.

To use ATtiny1634’s great I2C hardware, we made WireS library from scratch. The library is usable under Arduino IDE and downloadable from GitHub (https://github.com/orangkucing/WireS).

The following photos are a prototype of MewPro Cable using ATtiny1634.
using-protoproto-bottom

Resources