YASC - Yet Another Serial Converter

Five tiny TTL level converters, for 232 or 485.
Not rocket science, just handy.

Similar projects worth following
There are plenty of variations on the serial level-converter theme out there. For my own test-fixture and industrial-control projects, I'm building these 5 boards:

YASC2 = 2-pin, supports TXD/RXD only. DB9M direct mounting.
YASC6 = 6-pin, support TXD/RXD, RTS/CTS and DTR/DSR. DB9M direct mounting.
YASC8 = 8-pin, support TXD/RXD, RTS/CTS, DTR/DSR and DCD/RI. DB9M direct mounting.
YASC485 = Half-duplex RS485. RJ45 *or* DB9F interface.
YASC485D = Half-duplex RS485. Dual RJ45 (in/out), termination switch.

TTL-serial header = 4-pin, 8-pin or 10-pin.

Note: YASC6/YASC8/YASC485/YASC485D header pins 1,3,5,7 = 1,2,3,4 on the YASC2.

The YASC2, YASC6 and YASC8 are TTL/232 interfaces.
The RS232 side is wired as a DTE to a DB9M connector.

Nothing much amazing here, except that the PCB is pretty small, and the interface circuit provides real RS232 levels, not transistor-shifted almost-RS232 levels. I've experienced compatibility problems with that scheme before, so I'm just using a real charge-pump type interface chip now.

So far, I'm planning to use these with my 8upShield and 8upPiShield, as part of some automated test-fixtures and industrial-control applications.

The YASC485 is a bit different. It has the typical RS485 transceiver chip (SN75176-compatible), but the same PCB can be built with either a DB9F or an RJ45. The TTL-header side is compatible with YASC2/6/8, and of course my 8upShield/8upPiShield.

The YASC485D is very similar, but has 2 RJ45 connectors, thus allowing the RS485 but to be looped-through. Critically important for multi-device RS485 "networks". There's a little termination (100-ohm) slide-switch which would be externally accessible (if you mounted this on a panel).

On the YASC485(D), the RJ45 connector is wired to my own proprietary pinout, which is compatible with many other industrial-control widgets I've put together over the years (again, no rocket-science here):

Pin 1 = RS485(+) serial link.
Pin 2 = RS485(-) serial link.
Pin 3 = Connected to pin-3 on the 2nd RJ45 port.
Pin 4 = GND.
Pin 5 = GND.
Pin 6 = TTL-open-drain, bidirectional signal. For "/IRQ" or other purposes.
Pin 7 = VBUS. (typically 5-48VDC range, or as req'd by your application)
Pin 8 = VBUS.

The RS485 differential pair normally requires a 100-ohm termination, as would be typical for a CAT cable interface. On the YASC485 the termination is permanently connected. On the YASC485D there's a little slide-switch to turn the termination on/off.

The VBUS/GND signals are intended for "remote power". In my industrial control applications, VBUS is always 24VDC. However, it could easily be anything you need - from 5-48VDC. Just make sure the devices on your bus can take that voltage!

On the YASC485(D) boards there are two 2-pin screw-terminal blocks:

VBUS-IN terminals = Connect a power source here (5-48VDC), and this will be directly connected to the VBUS/GND pins on the CAT cable. This is how you supply power TO the bus.

VBUS-OUT terminals = Diode-coupled to the VBUS/GND pins on the CAT cable. This is a power output - where you would attach the local device you would like to be powered FROM the bus. Remember there's a schottky-diode here, so your output voltage will be slightly lower (approx 0.4-0.6V) than what you measure on the CAT cable.

Note that I've chosen the data and power pins to be compatible with typical "POE" type equipment. If you have a "Dumb POE injector", it would very likely be perfectly compatible with these boards (YASC485(D)) and all other devices similarly wired. There is no 802.3af-style identification on my board - so you CANNOT use the more expensive "smart POE injectors". BEFORE you commit to using any "POE" rated gear with a YASC485(D) board - check carefully regarding pinout and compatibility. I do NOT guarantee success.

Controlling the YASC485(D) transceiver direction:

"RTS" from your host device = Enables the transmitter when high (1).

There is a config-jumper which allows options for the receiver-output control:

A) Receiver output controlled by RTS (1 = transmit mode, 0 = receive mode).

B) Receiver output controlled by DTR (1 = receiver off, 0 = receiver on).

C) Receiver always on (jumper out).

Check the schematics - I'm sure these options will be self-explanatory.

Also, regarding the bidirectional signal on pin-6 (/IRQ or whatever you want):

D) DTR can be used for controlling the open-drain to the pin-6 output.

E) DSR or CTS can be used for reading back the buffered pin-6 input.


YASC485 schematic.

Adobe Portable Document Format - 18.52 kB - 04/21/2017 at 03:24



YASC485D schematic.

Adobe Portable Document Format - 19.67 kB - 04/21/2017 at 03:24



YASC-8 schematic.

Adobe Portable Document Format - 14.12 kB - 04/15/2017 at 02:03



YASC-6 schematic.

Adobe Portable Document Format - 14.11 kB - 04/03/2017 at 15:09



YASC-6 fab drawing.

Adobe Portable Document Format - 22.34 kB - 04/03/2017 at 15:09


View all 7 files

  • Progress... YASC2/6/8/485/485D

    kbdhog09/17/2016 at 19:26 0 comments

    3-Sep-2017: Started building & testing YASC6 boards - as I needed them for an Arduino-MEGA2560-based test-fixture project. Photo in gallery. I need 5 serial ports for this particular project, so I'll have to assemble at least 5 of these.

    20-Apr-2017: Obsession... I went back and modified the YASC485 design so that support for /IRQ on pin-6 is identical to the YASC485D. Otherwise... what's the point of having that feature? Now the boards are consistent. Unfortunately, the YASC485 board had to grow 0.150" in the Y direction (I didn't want to have parts on the bottom side).

    19-Apr-2017: Amazingly, I only realized last night that using the YASC-485 only works as a point-to-point solution. Most RS485 serial link implementations will want a bus architecture. Therefore, we need an RS485 board with link-in & out connectors. Thus... the YASC-485D is born. I also included support for pin-6, an open-drain TTL "IRQ", or whatever you want to do with it type of signal. I may have to back and do something similar for pin-6 on the YASC-485 board. Consistency...

    14-Apr-2017: This past week I'd been searching far & wide for less expensive RS232 tranceiver chips. Of course I haven't scoured the planet for EVERY possible supplier. Many suppliers exist that I can't easily detect. However, it seems to me that the "MAX3243" is a very popular footprint wherein you can find much less expensive parts than from Maxim or TI. Therefore, I decided to crank out the YASC8 today, which utilizes the MAX3243 footprint. The header is 10 pin (not 8 pin), but the two extra signals were added to the end of the header, thus making the header pinout downward compatible with all the other YASC boards. The YASC8 layout is essentially complete now and I'll likely add it to my batch of boards headed off to SeeedStudio soon.

    3-Apr-2017: Finally got around to taking pics! The YASC6 and YASC485 blank boards exist! Now just have to throw some parts on there & check them out. These are really intended to be used with my other project, the octal serial shield "8upShield" (soon to become a reality). You can certainly use these little boards with anything else though - wherever you have TTL-serial just dying to get out to the real world!

    5-Nov-2016: Just sent the YASC6 Gerber files to Seeed Studio! Finally had a bunch of other little boards ready to send - so I'm sharing the shipping charges among them.

    27-Sep-2016: Still waiting on parts for my other project, LPTshield, which is why I haven't sent these YASC boards off for FAB. However, the asymmetry and size of YASC2 was bothering me... there were vast unused areas which could be used to make the overall PCB smaller. So, I tool 15min this morning and got it down to a nice square 0.65"x0.65". I'm sure it could be even smaller if I switch to 0603 passives, but I'm happy with this (for now). Layout pic updated accordingly.

    21-Sep-2016: Completely re-write the project description, to include all 3 YASC board variants. Might as well... since they are very similar & somewhat compatible. Also modified the YASC6 layout to center the DB9M connector. The asymmetry was really bothering me. Added my YASC485 design, plus a detailed description.

    19-Sep-2016: Re-designed the YASC2 board layout to be more like the YASC6. So now both are 0.75" wide. The YASC2 is a little shorter (0.65" vs. 0.75"). I'm going to change the YASC6 to simply move the DB9 to be dead-center, then I'll be done obsessing over this!!!

    17-Sep-2016: Just completed the YASC6 schematic & layout. This version is what I really need for my other Arduino shield (still WIP). The YASC2 is a slightly lower cost variant, but shares some header-connector compatibility. I'll let these simmer in my mind for a couple days before I send them out for fab at SeeedStudio.

    FYI, both of these boards are simple 2-layer designs (1.2mm thk).

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates