<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        
        <!-- This is broken by doc revisioning.
         -->
        <link rel="shortcut icon" href="../../../img/favicon.ico">

        <title>Serial Port Setup - Apache Mynewt</title>

        <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
        <link rel="stylesheet" href="../../../css/highlight.css">
        <link href="../../../css/base.css" rel="stylesheet">
        <link href="../../../css/custom.css" rel="stylesheet">
        <link href="../../../css/v2.css" rel="stylesheet">
        <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->

        
            <script>
            (function(i, s, o, g, r, a, m) {
    i["GoogleAnalyticsObject"] = r;
    (i[r] =
        i[r] ||
        function() {
            (i[r].q = i[r].q || []).push(arguments);
        }),
        (i[r].l = 1 * new Date());
    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
        
    </head>


    <body class="Serial Port Setup">


        <div class="container">
    <div class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.12.0, Apache NimBLE 1.7.0 </a> released (April 4, 2024)
            </div>
        </div>
    </div>
</div>

        






<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation">
    <div class="container">
        <!-- Collapsed navigation -->
        <div class="navbar-header">
            <!-- Expander button -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">
            <!-- Main navigation -->
            <ul class="nav navbar-nav navbar-right">
                <li 
  class=""
>
                    <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                </li>
                <li 
  class="important"
>
                    <a href="/quick-start/">Quick Start</a>
                </li>
                <li 
  class=""
>
                    <a href="/about/">About</a>
                </li>
                <li 
  class=""
>
                    <a href="/talks/">Talks</a>
                </li>
                <li 
  class="active"
>
                    <a href="/documentation/">Documentation</a>
                </li>
                <li 
  class=""
>
                    <a href="/download/">Download</a>
                </li>
                <li 
  class=""
>
                    <a href="/community/">Community</a>
                </li>
                <li 
  class=""
>
                    <a href="/events/">Events</a>
                </li>
            </ul>

        </div>
    </div>
</nav>

        

        <div class="container">
            
                <div class="row">
                    <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
    <div class="top">
        <div role="search">
            <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
                <div class="form-group">
                    <input type="text" name="q" class="form-control" placeholder="Search documentation" />
                </div>
            </form>
        </div>
    </div>
    <ul class="toc-nav">
      <li class="doc-version"><select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest">
    Version: master
  </option>
  <option value="/v1_12_0/" >
    Version: 1.12.0
  </option>
  <option value="/v1_11_0/" >
    Version: 1.11.0
  </option>
  <option value="/v1_10_0/" >
    Version: 1.10.0
  </option>
  <option value="/v1_9_0/" >
    Version: 1.9.0
  </option>
    <option value="/v1_8_0/" >
    Version: 1.8.0
  </option>
  <option value="/v1_7_0/" >
    Version: 1.7.0
  </option>
  <option value="/v1_6_0/" >
    Version: 1.6.0
  </option>
  <option value="/v1_5_0/" >
    Version: 1.5.0
  </option>
  <option value="/v1_4_0/" >
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" selected="selected" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select></li>
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
          
  
  
    <li ><a href="../../introduction/">Mynewt Documentation</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../get_started/">Basic Setup</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../native_install_intro/">Native Install Option</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../docker/">Docker Container Option</a>
  </li>

              
          
              
                
  <li >
    <a href="../project_create/">Create Your First Project</a>
  </li>

              
          
              
                
  <li class="active">
    <a href="./">Serial Port Setup</a>
  </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  <li >
    <a href="../vocabulary/">Concepts</a>
  </li>

              
          
              
                
  
  
    <li ><a href="../../tutorials/tutorials/">Tutorials</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../os_user_guide/">OS User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../../../network/ble/ble_intro/
">BLE User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../newt/newt_intro/">Newt Tool Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a>
  
  
    </li>

              
          
              
                
  <li >
    <a href="../../../known_issues/">Known Issues</a>
  </li>

              
          
    </ul>
  
    </li>

        
      
        
          
  
  
    <li><a href="
  ../../../newt/install/prev_releases/
">Appendix</a>
  
  
    </li>

        
      
    </ul>
</div></div>

                    <div class="col-md-9" role="main">
                        <div class="doc-header">
                            <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="/documentation/">Docs</a></li>
    
    
        
          <li>&raquo; <a href="os/get_started/get_started/">Basic Setup</a></li>
        
      
        
          <li>&raquo; <a href="os/introduction/">Mynewt Documentation</a></li>
        
      
      
        <li>&raquo; Serial Port Setup</li>
      
    
    
      <li class="wy-breadcrumbs-aside">
        
          <a href="https://github.com/apache/mynewt-site/blob/master/docs/os/get_started/serial_access.md"
            class="icon icon-github"> Edit on GitHub</a>
        
      </li>
    
  </ul>
</div>
                        </div>
                        
                          
                        
                          
                        
                          
                        
                          
                        
                          
                        
                          
                        
                          
                            <div class="alert alert-warning">
                                <p>
                                    Version 1.3.0 is not the most recent version of the Apache Mynewt
                                    documentation. Click <a href="/latest">here</a> to read the latest
                                    version.
                                </p>
                            </div>
                          
                        
                        
                            <h1 id="using-the-serial-port-with-mynewt-os">Using the Serial Port with Mynewt OS</h1>
<p>Some of the projects and tutorials here will allow you to use a serial port
to interact with your Mynewt project. While most modern PCs and laptops
no longer have a true serial port, almost all can use their USB ports
as serial ports. </p>
<p>This will show you how to connect to some of the development boards
we use via a serial port. </p>
<p>The development boards covered here are:</p>
<ul>
<li>Nordic Semiconductor NRF52dk</li>
<li>Arduino M0 Pro</li>
</ul>
<p>In order to communicate with these boards you will also need a USB&lt;--&gt;Serial
converted. We'll be using the <a href="https://www.adafruit.com/products/2264">AdaFruit FT232H Breakout Board</a> for
this, but almost any similar board should work just as well. You will also
need Minicom or a similar Serial communications application. We'll show you how
to use the <code>screen</code> command built in to Mac OS X, but later tutorials will
also show Minicom setup.</p>
<p>So let's get started!</p>
<p><br></p>
<h2 id="setup-ft232h">Setup FT232H</h2>
<p>This is a great board because it's so easy to set up, and it can do Serial UART,
SPI, I2C and GPIO as well. There's full documentation on the board <a href="https://learn.adafruit.com/adafruit-ft232h-breakout/overview">here</a>
 but we're only covering the wiring for the Serial UART. </p>
<p>Start by connecting a jumper wire to Pin D0. This will be the UART Tx pin, 
which we'll then connect to the Rx pin on the Development Board.</p>
<p>Next connect a jumper wire to pin D1. This will be the UART Rx pin,
which we'll connect to the Tx pin on the development board.</p>
<p>Finally connect a jumper wire to the GND pin.</p>
<p>It should look like this:</p>
<p><img alt="FT232H Wiring" src="../pics/ft232h.png" /></p>
<p><br></p>
<h2 id="setup-nordic-semiconductor-nrf52dk">Setup Nordic Semiconductor NRF52DK</h2>
<p>On the NRF52DK developer kit board, the Rx pin is P0.08, so you'll attach your
jumper wire from the Tx pin (D0) of the FT232H board here.</p>
<p>The TX Pin is pin P0.06, so you'll attache the jumper wire from the Rx Pin (D1)
on the FT232H board here. </p>
<p>Finally, the GND wire should go to the GND Pin on the NRF52DK. When you're
done, your wiring should look like this:</p>
<p><img alt="NRF52DK Wiring" src="../pics/nrf52dk.png" /> </p>
<p><br></p>
<h2 id="setup-arduino-m0-pro">Setup Arduino M0 Pro</h2>
<p>On the Arduino M0 Pro, the Tx and Rx pins are clearly labeled as such, as is the GND
pin. Just make sure you wire Rx from the FT232H to TX on the M0 Pro, and vice-versa.</p>
<p>Your Arduino M0 Pro should look like this:</p>
<p><img alt="Arduino M0 Pro Wiring" src="../pics/m0pro.png" /></p>
<p><br></p>
<h2 id="setup-serial-communications">Setup Serial Communications</h2>
<p>You will need to know the serial port to connect to and use a terminal program to connect to the board.</p>
<h3 id="example-for-mac-os-and-linux-platforms">Example for Mac OS  and Linux Platforms</h3>
<p>First check what USB devices are already connected before connecting the FT232H board to your computer.  The ports are listed in the <strong>/dev</strong> directory and the format of the port name is platform dependent:</p>
<ul>
<li>Mac OS uses the format <code>tty.usbserial-&lt;some identifier&gt;</code>. </li>
<li>Linux uses the format <code>TTYUSB&lt;N&gt;</code>, where <code>N</code> is a number.  For example, TTYUSB2.</li>
</ul>
<p><br>
This example is run on a Mac OS system. </p>
<p>Check what USB devices are already connected:
<br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ ls -la /dev/*usb*
0 crw-rw-rw-  1 root  wheel   20,  63 Nov 23 11:13 /dev/cu.usbmodem401322
0 crw-rw-rw-  1 root  wheel   20,  62 Nov 23 11:13 /dev/tty.usbmodem401322
$
</code></pre></div>

<p><br>
Plug in the FT232H board and check the ports again:
<br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ ls -la /dev/*usb*
0 crw-rw-rw-  1 root  wheel   20,  63 Nov 23 11:13 /dev/cu.usbmodem401322
0 crw-rw-rw-  1 root  wheel   20,  65 Nov 23 11:26 /dev/cu.usbserial-0020124
0 crw-rw-rw-  1 root  wheel   20,  62 Nov 23 11:13 /dev/tty.usbmodem401322
0 crw-rw-rw-  1 root  wheel   20,  64 Nov 23 11:26 /dev/tty.usbserial-0020124
$
</code></pre></div>

<p><br>
The FT232H is connected to <code>/dev/tty.usbserial-0020124</code> (The number after tty.usbserial will be different on your machine.)
<br>
Use the screen command to connect to the board: 
<br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ screen /dev/tty.usbserial-0020124 115200
</code></pre></div>

<p><br>
To exit out of <code>screen</code> you'll type <code>control-A</code> followed by <code>control-\</code> and you'll
be back to a terminal prompt.</p>
<p><br></p>
<p>You can also use minicom:
<br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ minicom -D /dev/tty.usbserial-0020124

Welcome to minicom 2.7

OPTIONS: 
Compiled on Nov 24 2015, 16:14:21.
Port /dev/tty.usbserial-0020124, 09:57:17

Press Meta-Z for help on special keys
</code></pre></div>

<p><br>
If there's no Mynewt app running, or the Mynewt app doesn't have the Shell and Console
enabled, you won't see anything there, but you can always refer back to this page
from later tutorials if you need to.</p>
<p><br></p>
<h3 id="example-for-windows-platforms">Example for Windows Platforms</h3>
<p>First check what USB devices are already connected before connecting the FT232H board to your computer.  You can locate the ports from a MinGW terminal or use the Windows Device Manager. </p>
<p>On a MinGW terminal, the ports are listed in the /dev directory and the format of the port name is <code>ttyS&lt;N&gt;</code> where N is a number. You must map the port name to a Windows COM port: <code>/dev/ttyS&lt;N&gt;</code> maps to <code>COM&lt;N+1&gt;</code>. For example, <code>/dev/ttyS2</code> maps to  <code>COM3</code>.</p>
<p>Check what USB devices are already connected:
<br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ls -l /dev/ttyS* 
crw-rw-rw- 1 &lt;user&gt; None 117, 5 May  9 04:24 /dev/ttyS5
$
</code></pre></div>

<p><br>
/dev/ttyS5 maps to the Windows COM6 port. You can run Windows Device Manager to confirm:</p>
<p><br>
<img alt="Device Manager - USB Devices" src="/os/tutorials/pics/device_manager_no_ft232H.png" /></p>
<p><br></p>
<p>Plug in the FT232H board and check the ports again:
<br></p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ls -l /dev/ttyS* 
ls -l /dev/ttyS*
crw-rw-rw- 1 &lt;user&gt; None 117, 10 May  9 04:55 /dev/ttyS10
crw-rw-rw- 1 &lt;user&gt; None 117,  5 May  9 04:55 /dev/ttyS5
$
</code></pre></div>

<p><br>
The FT232H board is connected to port /dev/ttyS10 (or COM11):</p>
<p><br>
<img alt="Device Manager - FT232H" src="/os/tutorials/pics/device_manager_ft232H.png" /></p>
<p><br></p>
<p>We use the PuTTY terminal application to connect to the board on the COM11 port:
<br>
<img alt="PuTTY" src="/os/tutorials/pics/putty.png" /></p>
<p><br></p>
<p>Press Open and you should get a terminal screen titled "COM11 - PuTTY"</p>
<p>If there's no Mynewt app running, or the Mynewt app doesn't have the Shell and Console
enabled, you won't see anything there, but you can always refer back to this page
from later tutorials if you need to.</p>
<p><br></p>
<p>Now that you know how to communicate with your mynewt application, let's move on to
creating one!</p>
                        
                        <div class="row">
                            



<ul class="nav nav-pills" style="margin-bottom: 10px">
    <li>
    
    </li>
    <li class="pull-right">
    
    </li>
</ul>
                        </div>
                        <footer class="row">
    <div class="col-xs-12">
        
            <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
        
    </div>
    <div class="col-xs-12">
        <div class="logos">
            <a href="https://www.apache.org/">
                <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
            </a>
            <p>
                Copyright © 2015-2021 The Apache Software Foundation.<br>
                <small class="footnote">
                    Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt
                    project logo are either registered trademarks or trademarks of the Apache
                    Software Foundation in the United States and other countries.
                </small>
            </p>
            <a href="">
                <img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
            </a>
        </div>
    </div>
    <a href="https://www.apache.org/licenses/">
        <button class="button-footer-asf">
            License
        </button>
    </a>
    <a href="https://www.apache.org/foundation/sponsorship.html">
        <button class="button-footer-asf">
            Sponsorship
        </button>
    </a>
    <a href="https://www.apache.org/foundation/thanks.html">
        <button class="button-footer-asf">
            Thanks
        </button>
    </a>
    <a href="https://www.apache.org/security/">
        <button class="button-footer-asf">
            Security
        </button>
    </a>
    <a href="https://apache.org/events/current-event">
        <button class="button-footer-asf">
            ASF Events
        </button>
    </a>
</footer>
                    </div>
                </div>
            
            
        </div>

        <script src="../../../js/jquery-1.10.2.min.js"></script>
        <script src="../../../js/bootstrap-3.0.3.min.js"></script>
        <script src="../../../js/highlight.pack.js"></script>
        <script src="../../../js/base.js"></script>
        <script src="../../../js/custom.js"></script>
            <script src="search/main.js"></script>

    </body>
</html>