μArt by Karoly PadosOkay, I know what you think - “Another one?!” - But in my experience, available UART converters, even the isolated better ones, still do not cater for all needs, at least surely not for mine, so I set out to make my own device. Let me introduce you to the muArt (“myuArt” - as a wordplay on both micro and UART).
My goals were to make the muArt safe, reliable, universal, and comfortable. Obviously these needs arise from experiences I've lived through. Let me elaborate on these points:
SafeAccidents happen, especially during development, experimentation and debugging. Cables can be connected the wrong way, polarities reversed, two drivers interconnected, wrong voltages selected, or simply just a faulty component or a mistake in a design. These often mean the end of your computer’s USB port… or the converter’s… or your creation’s… or yours. I want my ideal UART converter to be safe for other devices and the user, even in the face of hardware faults or user mistakes like mixed up wires. Oh, and since it is sitting on my bench and sometimes (*cough*) with pieces of metal, solder and other boards laying around, I’d appreciate if it didn’t cause any shorts itself. To support this goal, the muArt has:
Complete galvanic isolation, even for mains-level and higher voltages. Electric currents cannot flow between your computer and the other board. This spells safety for you and your computer, while also helping to keep noise levels down.
Reverse polarity protection. The converter will survive even if you mix up the power pins.
Over-current protection on all peripheral IO pins. With the muArt it is not a problem if you wire it up wrong by mistake. Both the converter’s and your other board’s pins will survive.
A professional custom-designed case to prevent damage, shorts, and other troubles. Use, grip, handle, and transport the muArt with ease and without worries.
ReliableA UART converter is one of my tools, and I should definitely not be debugging it instead of my creation. I want my tools to be reliable. I hate that minute while I’m trying to figure out why I get no data, just to find out that something (probably?) latched up and only needed a power cycle. It is frustrating when my terminal gets garbled up due to floating inputs upon device (dis)connection. And it is far from funny when my last converter turns out to be broken - either due to my own mistakes (see list above) or just plain who-knows-why. Did I mention USB protocol disconnections due to other devices on the bus doing their thing? To support this goal, the muArt has:
Pullups on all inputs, so that disconnected pins don’t cause funny things like garbage random input, a ruined terminal app, or corrupt application state.
Judicious filtering. Each IC in the converter is decoupled using multiple capacitors, both locally and in bulk. The USB signals and power are filtered, and sensitive pins are protected with RC networks.
Complete ESD protection for all external pins. ESD damage is tricky because things can seem to work for a while after an ESD event, and you don’t need visible sparks to have them.
UniversalMy ideal converter should give me everything I need for basic communication (obviously), also for handshaking, and importantly for flashing other boards. It should support all relevant voltages, notably 1.8V, which aside from working with very-low power devices, is a must-have for FPGA designers. The converter must also lend itself to low-noise circuits, enabling communication with sensitive analog systems without disrupting them. To support this goal, the muArt has:
RXD, TXD, DTR, RTS, and CTS. Usable for flashing various ESP32 boards and multiple Arduinos such as the Nanos and Pro Minis. Hardware handshaking allows for reliable high-speed UART.
A wide working voltage of 1.8 to 5.4V. Yes, also usable for FPGAs. Coupled with the galvanic isolation, you basically get “voltage auto-sensing”, meaning the converter will automatically use the correct voltage levels for UART communication. No more setting jumpers or “Which of these 5 converter boards was the one for 3V3?”. One converter to use everywhere.
Suitability for communicating with low-noise circuits, supported by the filters, the isolation, and careful layout.
ComfortableReadable labels on pins never hurt (sarcasm). LEDs should let me know when there is activity. Since UART communication is probably the first thing you try on board bringup, some extra feedback or GPIOs can be extremely practical. Mechanically, I want to be able to actually grab the thing without making shorts all over the place and without making my jumper wires come loose. To support this goal, the muArt has:
A general-purpose in and a general-purpose out pin that you can control directly over USB, parallel to the UART lines.
Four LEDs, each of different color to make them immediately distinguishable. One lights up if power is connected, two indicate RX/TX activity, while the last one is connected to the general-purpose in, giving you visual feedback about its state without special software on the host computer.
Four-wall shrouded header. Gives protection from shorts by tipped board or dangling wires. Also gives a nice firm surface to grip the converter by, again without the risk of shorts or ESD damage from your fingers.
Readable descriptions printed on the PCB to help you remember the most important things about usage.
https://www.eevblog.com/forum/crowd-funded-projects/art-a-uart-converter-finally-done-right/msg1482108/#msg1482108https://www.crowdsupply.com/pylo/muart