[Hardware Hacking General] kemonine96:
Overview

I have designed a "universal" serial adapter that the XDA community might appreciate. I recently needed access to a variety of devices using serial TTL and RS232 communication. The devices being a phone, router and firewall unit. I talked with a few friends that are in IT and polled some other ROM developers to get an idea on what they may find useful in a serial adapter device. Below is the result of the work. The idea is to have 1 serial adapter that takes care of all of your DB9 / null modem / goofy pinouts in one package.

Project Page

I have posted all of the code, pictures and an early circuit diagram to github: https://github.com/mcrosson/arduino_universal_serial_adapter . As I continue to develop and implement the project I will be pushing to github. Please note at this time the circuit diagram is a bit out of date. I am working on getting an updated diagram built but I am still learning Eagle and it will be a little while before I have it published.

Compatible Devices

Phone UART chips

Null modem serial ports

Cisco serial consoles

Working Features

Configurable line speed

TTL voltage adjustments (1.8V, 3.3V, 5V)

RS232 communication

Full UI

Future Features

Session recording to SD card

RTC for timestamped sessions and output timestamps

Inline display of serial communication on LCD Won't fix, LCD response is too low for this

RX/TX status via blinking the button LEDs

Known Issues

At 115200 line speeds the serial channel may drop characters -- This appears to be a speed limitation / bad code Fixed in dd981aa44d

UI timeout isn't reset when events occur Fixed in 7f60a42f9b

Timeout config doesn't reset / change current timeout Fixed in ebd4ac5d04

Code

IDE / Environment

This project was developed using stino (Sublime Text 2 plugin). It works slightly differently (read: more powerful) than the standard Arduino IDE. This project may or may not build under the Arduino IDE.

Configuration

The `Project.h` and `Project.cpp` files define the pinouts in use, Arduino pinout and a number of other items that may vary between builds. Please read through these [short] files and update the pinouts, addresses and anything else that may be different before uploading to your Arduino.

Prototype

Demo

I have posted some rough demo videos here (clickable) demonstrating some of the projects functions.

Parts

Arduino Mega

AdaFruit 1.8" LCD with MicroSD Card Slot

PSP Joystick

LED backlit buttons

Spark Fun MicroUSB breakout

AdaFruit logic level converter (bi-directional)

RJ-45 jacks

DB9 jack

Maxim Max3232 RS232 to TTL DIP IC's

Credits / Thanks

ChildOfTheHorn/Stacy Wylie

Adam Outler

Motorhead

utkanos

bhundven

Articles / Information Used For Project

http://xdaforums.com/showthread.php?t=1901376

http://forums.hackaday.com/viewtopic.php?f=3&t=623

http://petervanhoyweghen.wordpress.com/2012/11/08/using-the-leonardo-as-usb-to-* serial-converter/

http://www.cellbots.com/how-to/handling-3-3v-to-5v-logic-level-conversion/

https://plus.google.com/104711040110222472212/posts/3764HBYeb2X

http://www.cutedigi.com/arduino-shields/rs232-shield-for-arduino.html

http://www.arduino.cc/en/Tutorial/SoftwareSerial

http://arduino.cc/en/Tutorial/ArduinoSoftwareRS232

http://www.ossmann.com/5-in-1.html

http://www.lammertbies.nl/comm/cable/RS-232.html

http://www.usconverters.com/index.php?main_page=page&id=61&chapter=0