Tag Archives: Serial

muArt – A Simple Serial Adapter Like No Other

UART has become a popular term with microcontroller applications, with the rise of the Arduino, Raspberry Pi, and other open hardware electronics. UART has become a standard for microcontrollers to communicate with each other and exchange data.

A UART can be used not just for data exchange between microcontrollers, single board computers, and other hackers boards, but is also a compelling interface for programming and even debugging devices. A major issue (or maybe minor depending on your use case) while debugging or programming with a USB-to-TTL adapter is the operating voltage, as most adapters usually come with a specific operating voltage and one could potentially damage a target device if the wrong adapter is selected. Also, some converters typically don’t have enough functionality (usually no GPIOs) for most of the use cases. I personally have quite a lot of TTL converters, but a new TTL adapter called the μArt promises to change all that.


The μArt is a USB to UART-TTL Adapter that aims to solve the issues highlighted above. The μArt is designed to be the only USB to TTL adapter you will ever need, and it is said to be a “truly versatile, safe, and dependable.” The board promises to support several devices whether it is the ESP8266 or some low-power ARM board, regardless of voltage levels, electric potentials, communication speed, or irrespective if it’s used for data exchange, a debugger or a programming tool. It’s still got you covered.

The board is capable of working with a range of voltages levels, from 1.8 to 5.4 V, which should handle most (if not all) voltages for MCU boards and single-board computers. It comes with complementary voltage auto-sensing, meaning you don’t have to worry about selecting the operating voltage yourself, unlike some other boards. It just works. The board also comes with safety features like galvanic isolation and over-current protection, and one header exposing I/Os.

Quality problems are usually also a concern when working on some applications. Some unwanted noise could find its way into a board, due to floating pins, ruining application state, or due to a lousy connection, poor host device, and others. Which if not taken seriously, could potentially damage the device, I have already lost an Arduino board due to a poor host before. Also not let’s forget things like latchups, unexpected freezes (where you could think something is wrong with the code), data errors, and some other possible problems. The μArt USB to TTL adapter is expected to take away all those, giving you a smooth ride while developing your project.

Below are the key features of the device:

  • A Universal TTL-UART –
    • Voltage support: 1.8 – 5.4 V,
    • Speed – up to 3M speed,
    • Baud rates – standard & non-standard baud rates,
    • Handshaking – Available pins for handshaking and flashing various MCU families.
  • Safety features like Galvanic isolation, an integrated pull-up, signal- and power-filters.
  • Reverse-polarity protection, ESD protection, over-current protection, and even mechanical protection
  • Others –
    • Voltage autosensing,
    • LEDs,
    • GPIOs.
  • Dimensions – 58 x 33 x 14 mm.
  • Weight – 16 grams

“The μArt has all the pins and features to enable various applications, protections to withstand or even prevent faults, means to preserve signal integrity, and measures to improve usability. …

The μArt is based on the principle that a UART adapter is your tool, and you should be able to trust your tools to get the job done.

The μArt is currently being crowdfunded on Crowd Supply and has already surpassed its initial goal (of course it would). The board is available from a starting price of $32 for a single device, and up to $112 for a pack of 4 μArts. More information about the product is available on the campaign page.

OPEN MOTOR CONTROL – An open source motor controller for everyone

It is open source and based upon the ATmega32U4 microcontroller, and provided with drivers for two DC brush motors and a stepper motor. It receives commands via USB or serial ports, or via the I²C bus.

For those dealing with robotics, one of the problems to solve is the management of the motors used for the traction, that is to say: how to correctly power the motors needed in order to make your robot advance. If you work with Arduino, the first and immediate solution is to use a shield. Several of them can be found available for sale, from the simplest ones that allow to control separately the two small DC motors, to the most advanced ones that are able to measure the current drawn as well. Regardless of the manufacturer, the shields are all based on the usage of a power driver (usually the L298), that is directly interfaced to Arduino’s PWM outputs, and encircled by a few other components. Surely the usage of a shield is a valid solution, but then we need to use at least four Arduino outputs: usually two to adjust the speed and two for the direction. If, on the other hand, you use a generic microcontroller, or a stand-alone Atmel chip, or a board that is different from Arduino, things get a bit more complicated, since on the market it is difficult to find drivers with a more flexible interface, and the price starts to rise quickly.  If you then have the need to command two motors, things get very complicated, even for those using an Arduino board, because problems arise both on the hardware and on the device programming point of view.

[source: www.open-electronics.org]

CH340E, A New Small Serial to USB Chip

WCH, a Chinese integrated circuits manufacturer, has just released a new serial to USB chip called CH340E. Unlike other CH340 chips, it doesn’t require an external crystal and also needs less PCB space and BOM.

CH340 is a 3x3mm tiny chip comes in MSOP10 package and has 10 pins. Although it is smaller than other alternatives, it is a little more expensive than them. But considering other components and PCB size needed, the total cost of the BOM may be lower.

According to Electrodragon, it needs only two external parts to build a full function circuit. They also tested it with up to 150,000 baud rate to flash an ESP8266 chip. Most features and technical specifications are the some for CH340 family including CH340E, so the same drivers will work with it.

CH340E features

  • Full-speed USB device interface, compatible with USB V2.0.
  • Emulation standard serial port used to upgrade the original serial peripherals or add additional serial port via USB.
  • Computer applications under the Windows operating system serial port are fully compatible, without modification.
  • Hardware full duplex serial port, built-in send and receive buffer, support communication baud rate 50bps ~ 2Mbps.
  • Support common MODEM contact signal RTS, DTR, DCD, RI, DSR, CTS.
  • Through the additional level conversion device, providing RS232, RS485, RS422 and other interfaces.
  • Software compatible CH341, CH341 driver can be used directly.
  • Support 5V supply voltage and 3.3V supply voltage or even 3V supply voltage.
  • Built-in clock, no external crystal.
  • Available in SOP-16 and SSOP-20 and MSOP-10 lead – free packages, RoHS compliant.

The chip costs about 42 cents with a minimum order of 5 pieces on Eelectrodragon store. There is also an option to get a small board featuring the CH340E for about $1, and maybe cheaper in the future. Finally, the most powerful feature of this chip is that you can easily add USB connectivity to your own design.

Source: CNX-software

HC-12 433MHz wireless serial communication module configuration


HC-12 are cheap 433MHz wireless serial port communication modules with a range up to 1800m in open space. Each costs about $5 when bought from China, and 2 of them can create wireless UART link that can be used, for example, to transfer telemetry data from UAV. Or drive IoT device. Or connect sensors. Or whatever else one can think of.

HC-12 433MHz wireless serial communication module configuration – [Link]

Basics of the SPI Communication Protocol


circuitbasics.com talks about the SPI serial communications protocol:

One unique benefit of SPI is the fact that data can be transferred without interruption. Any number of bits can be sent or received in a continuous stream. With I2C and UART, data is sent in packets, limited to a specific number of bits. Start and stop conditions define the beginning and end of each packet, so the data is interrupted during transmission.

Basics of the SPI Communication Protocol – [Link]

Chrome Apps and serial port communication


Luca Dentella writes:

During the development of my electronic projects, I sometimes need to develop a graphical user interface (GUI) that talks using serial communication with the devices I create.

In the past, I usually chose to develop those interfaces in C# and using the .Net Framework; framework which allows a rapid development, offers great ways to customize the interface (for example the ability to use custom fonts as in the GUI for RTCSetup) and makes easy to access all the different graphical elements of the operating system, like the systray (cfr the GUI for Type4Me).

Chrome Apps and serial port communication – [Link]

How to do serial comms using the cheap RF 433/315 MHz modules


RomanBlack.com explains in details how to use 433/315Mhz modules for serial communication.

These cheap RF modules usually come in a pair, with one transmitter and one receiver. A pair can be bought on ebay for as cheap as $4, and even as cheap as $2 a pair if you buy 10 pairs.

Much of the information on the internet from people’s projects is sketchy and not very comprehensive. I test these modules out, and show how to get good reliable serial comms direct from USART -> USART, and I also show how to greatly speed up the data rate and reliability by using an alternative bit encoding system.

How to do serial comms using the cheap RF 433/315 MHz modules – [Link]

Hardware serial port monitor over WiFi


This tutorial shows how to connect Arduino to the TX line (of a router, RPI) and display serial data on smartphone over WiFi.

Arduino listens for serial port communication on its hardware serial port. Then it sends every received line of data trough software serial port to ESP8266. ESP8266 puts every received line of data into circular buffer. ESP8266 also runs code for webserver and a website which pools the buffer for new data and displays it on the website. (Sadly there is no websockets support for ESP8266.) To see this serial data all you have to do is open the website (IP) on your smartphone and enable javascript.

Hardware serial port monitor over WiFi – [Link]

Dual USB Serial and I2C Converter


Jesus Echavarria has posted a new project, a dual USB – Serial and I2C converter to communicate with serial and I2C devices.

Hi all! After a couple of months with a lot of work, I come here again with the last board I develop before Christmas. It’s a dual USB serial and I2C converter based on two MCP2221 Microchip 2.0 USB-Serial bridges. I develop it as a need on my work with the last project I’m involved. I need to monitor a serial communication between two devices. With only one converter, I must choose between RX and TX lines to monitoring the traffic.

Dual USB Serial and I2C Converter – [Link]

Serial Port Communication in C#


Maurizio tipped us with his latest article on how to use Serial Port in C#. The article does cover the basic code needed to achieve serial communication.

The serial port of the PC is a very important resource both in industrial environment and in home-made electronics, due to the wide popularity of the UART interface which is to be found on many microcontrollers or on many test and design instrumentation (programmable power supplies, multi-meters, oscilloscopes etc).

Serial Port Communication in C# – [Link]