Arduino Serial Port Shield for Linkit One
by rjkorn in Circuits > Gadgets
1418 Views, 9 Favorites, 0 Comments
Arduino Serial Port Shield for Linkit One
![FICCF4EII3EYIXS.jpg](/proxy/?url=https://content.instructables.com/FCO/RR9D/II4YS2PH/FCORR9DII4YS2PH.jpg&filename=FICCF4EII3EYIXS.jpg)
![IMG_0591.JPG](/proxy/?url=https://content.instructables.com/F4U/0Y2N/II3EYIW5/F4U0Y2NII3EYIW5.jpg&filename=IMG_0591.JPG)
![IMG_0597.JPG](/proxy/?url=https://content.instructables.com/FBZ/BWZ6/II3J9T8E/FBZBWZ6II3J9T8E.jpg&filename=IMG_0597.JPG)
![IMG_0611.JPG](/proxy/?url=https://content.instructables.com/F9B/ZUMB/II4WQ9EE/F9BZUMBII4WQ9EE.jpg&filename=IMG_0611.JPG)
![IMG_0614.JPG](/proxy/?url=https://content.instructables.com/F31/BZLB/II4WQ9F3/F31BZLBII4WQ9F3.jpg&filename=IMG_0614.JPG)
I use a lot of Lantronix WiBoxes. They let you hook legacy serial devices to a Wifi network. I use them for Digital Signage and Security monitoring apps. I usually only use one port on them.
I made a legacy serial port adapter for the Linkit One's serial pins. This way I can replace the Wiboxes on my devices without making any hardware changes.It works equally well on most Arduino compatible boards.
Initially I wrote a program for the Linkit that emulates the existing Wifi connectivity I use. But thats boring. The next version will use the Linkit's GSM capability to allow SMS connectivity. For security apps I will use both. Having a dual redundant connection is a big improvement over the old way.
Schematic
![Legacy_Serial.bmp](/proxy/?url=https://content.instructables.com/FCW/0ZIX/II4YSI56/FCW0ZIXII4YSI56.bmp&filename=Legacy_Serial.bmp)
Pretty Simple. Just follow the data sheet and you cant go wrong. I run it off the 3.3V line and it seems fine. That way I don't need a level shifter on the data pins. If you want to run it off 5V you should probably add a resistor and 3.3V Zener on the rx line before it get to the Linkit One digital pin 0.
Assembling the Shield
![IMG_0402.JPG](/proxy/?url=https://content.instructables.com/FV1/KQTK/II3EYJ46/FV1KQTKII3EYJ46.jpg&filename=IMG_0402.JPG)
![IMG_0589.JPG](/proxy/?url=https://content.instructables.com/F17/7EFC/II3EYIVB/F177EFCII3EYIVB.jpg&filename=IMG_0589.JPG)
![IMG_0592.JPG](/proxy/?url=https://content.instructables.com/FIC/CF4E/II3EYIXS/FICCF4EII3EYIXS.jpg&filename=IMG_0592.JPG)
![IMG_0590.JPG](/proxy/?url=https://content.instructables.com/FT3/VWWZ/II3EYIVJ/FT3VWWZII3EYIVJ.jpg&filename=IMG_0590.JPG)
![IMG_0612.JPG](/proxy/?url=https://content.instructables.com/FO4/171N/II4WQ9EY/FO4171NII4WQ9EY.jpg&filename=IMG_0612.JPG)
I used a standard Arduino prototyping shield. I chose the MAX232CPE since I have plenty on hand. These need 1uF caps. Other chips need Larger or smaller caps so be sure to use those that match the chip you select.
I followed the schematic and placed the components to the rear of the shield. I originally thought I would place the connector so it would be on the same side as the Linkit One connectors but this orientation suits a specific application I have in mind. Lay yours out to match your own application.
I wired RTS and CTS pins to digital I/O pins on the Linkit. While not supported by the Serial1 routines I will implement them manually when needed. Some devices draw power from them too.
It clears the GPS antenna too.
Testing & Enhancements
![IMG_0607.JPG](/proxy/?url=https://content.instructables.com/FN1/C42D/II4WQ4S8/FN1C42DII4WQ4S8.jpg&filename=IMG_0607.JPG)
![IMG_0608.JPG](/proxy/?url=https://content.instructables.com/FKK/PTN6/II4WQ4SB/FKKPTN6II4WQ4SB.jpg&filename=IMG_0608.JPG)
![Screen Shot 2015-12-13 at 10.32.29 PM.png](/proxy/?url=https://content.instructables.com/FPL/IVU7/II4YRYI7/FPLIVU7II4YRYI7.png&filename=Screen Shot 2015-12-13 at 10.32.29 PM.png)
![IMG_0604.JPG](/proxy/?url=https://content.instructables.com/FGW/4DI7/II4YS0WC/FGW4DI7II4YS0WC.jpg&filename=IMG_0604.JPG)
![VFD Demo](/proxy/?url=https://content.instructables.com/FPA/E57Q/II4YRZU8/FPAE57QII4YRZU8.jpg&filename=VFD Demo)
![IMG_0610.JPG](/proxy/?url=https://content.instructables.com/FMI/B3JG/II4WQ714/FMIB3JGII4WQ714.jpg&filename=IMG_0610.JPG)
Looks like I misjudged the serial cable length I needed. Oh well, some protoboard jumpers will do for now. For testing lets try a Magtek serial port mag stripe reader. I got these from a surplus house that claims they were made for Diebold and intended for use in gas pumps. I found a spec sheet online that explained all the dip switch settings. It looks like only the top board was custom made for Diebold. These read tracks 1 & 2.
That seems to work great for input. The raw data is good.
Next I made another sketch to parse it. Had to do a little work to read just the data I wanted.
So for output lets try a Futaba VFD Serial Display. I encoded a dummy card so I don't have to worry about posting the output for everyone to see.
OK, Legacy Serial devices work. I have some I want to start working on now.
I left plenty of room in case I want to add circuitry.
I cant really think of any right now but I'm open to suggestions.