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
Working Features
Future Features
Known Issues
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
Credits / Thanks
Articles / Information Used For Project
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 LCDWon't fix, LCD response is too low for thisRX/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 codeFixed in dd981aa44dUI timeout isn't reset when events occurFixed in 7f60a42f9bTimeout config doesn't reset / change current timeoutFixed 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://forum.xda-developers.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
Attachments
Last edited: