<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Raspberry Pi Archives | Paul Bupe Jr, PhD</title>
	<atom:link href="https://paulbupejr.com/category/tutorials/raspberry-pi/feed/" rel="self" type="application/rss+xml" />
	<link>https://paulbupejr.com/category/tutorials/raspberry-pi/</link>
	<description>Hardware, software, and everything in between</description>
	<lastBuildDate>Sun, 31 Jan 2021 02:36:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://paulbupejr.com/wp-content/uploads/2019/07/cropped-paul_logo@2x-32x32.png</url>
	<title>Raspberry Pi Archives | Paul Bupe Jr, PhD</title>
	<link>https://paulbupejr.com/category/tutorials/raspberry-pi/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Raspberry Pi Headless Access Using Built-in Serial Console</title>
		<link>https://paulbupejr.com/raspberry-pi-serial-console/</link>
					<comments>https://paulbupejr.com/raspberry-pi-serial-console/#comments</comments>
		
		<dc:creator><![CDATA[paulbupe]]></dc:creator>
		<pubDate>Sun, 24 Jan 2021 18:14:51 +0000</pubDate>
				<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry pi]]></category>
		<category><![CDATA[Serial]]></category>
		<guid isPermaLink="false">http://paulbupejr.com/?p=706</guid>

					<description><![CDATA[<p><span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 3</span> <span class="rt-label rt-postfix">minutes</span></span>It&#8217;s not very well known that the Raspberry Pi has a built-in serial console that provides a fully working Linux terminal over serial. This allows for network-free headless access, including the absolutely necessary tab auto-complete! This feature is extremely useful for those projects that don&#8217;t use a screen or need network access. It&#8217;s also quite &#8230; <a href="https://paulbupejr.com/raspberry-pi-serial-console/" class="more-link">Continue reading <span class="screen-reader-text">Raspberry Pi Headless Access Using Built-in Serial Console</span></a></p>
<p>The post <a href="https://paulbupejr.com/raspberry-pi-serial-console/">Raspberry Pi Headless Access Using Built-in Serial Console</a> appeared first on <a href="https://paulbupejr.com">Paul Bupe Jr, PhD</a>.</p>
]]></description>
										<content:encoded><![CDATA[<span class="span-reading-time rt-reading-time" style="display: block;"><span class="rt-label rt-prefix">Reading Time: </span> <span class="rt-time"> 3</span> <span class="rt-label rt-postfix">minutes</span></span>
<p>It&#8217;s not very well known that the Raspberry Pi has a built-in serial console that provides a fully working Linux terminal over serial. This allows for network-free headless access, including the absolutely necessary tab auto-complete! This feature is extremely useful for those projects that don&#8217;t use a screen or need network access. It&#8217;s also quite necessary when you are using a Pi as a wireless access point for a LAN without internet sharing.</p>



<span id="more-706"></span>



<p>Quick disclaimer: This article assumes basic familiarity with the Raspberry Pi and the basics of interfacing with serial devices. I&#8217;m using Windows to demonstrate but this works equally well on Linux and Mac. </p>



<h2 class="wp-block-heading">Hardware</h2>



<p>You&#8217;ll need a Raspberry Pi (of course) and a USB -to-Serial device (<a href="https://www.adafruit.com/product/954" target="_blank" rel="noreferrer noopener">like this one from Adafruit</a>).</p>



<p>Firstly, connect the RX of the USB-to-Serial device to <code><span class="has-inline-color has-purple-color">Pin 8</span></code> of the Pi (physical <code><span class="has-inline-color has-purple-color">Pin 8</span></code>, not the GPIO pin number) and TX of the USB-to-Serial device to <code><span class="has-inline-color has-purple-color">Pin 10</span></code> of the Pi. </p>



<p>Remember, for UART communication you do not match up TX &lt;&#8211;&gt; TX and RX &lt;&#8211;&gt; RX, it&#8217;s the opposite (TX &#8211;&gt; RX and RX &lt;&#8211; TX) since one device transmits and the other receives. </p>



<div class="wp-block-image"><figure class="aligncenter size-medium"><img fetchpriority="high" decoding="async" width="297" height="300" src="https://paulbupejr.com/wp-content/uploads/2021/01/Pinout-297x300.png" alt="Raspberry Pi Pinout" class="wp-image-717" srcset="https://paulbupejr.com/wp-content/uploads/2021/01/Pinout-297x300.png 297w, https://paulbupejr.com/wp-content/uploads/2021/01/Pinout-45x45.png 45w, https://paulbupejr.com/wp-content/uploads/2021/01/Pinout.png 731w" sizes="(max-width: 297px) 100vw, 297px" /><figcaption>https://pinout.xyz/pinout/uart#</figcaption></figure></div>



<p></p>



<p>Finally, connect the ground of the USB-to-Serial device to <span class="has-inline-color has-purple-color"><code>Pin 6</code></span> of the Pi (ground).</p>



<p><strong><span class="has-inline-color has-medium-pink-color">NOTE: Do NOT connect the 5V power wire from the USB-to-Serial adapter to the 5V power pin of the Pi.</span></strong> <a href="https://raspberrypi.stackexchange.com/questions/28310/whats-the-problem-with-backfeeding" target="_blank" rel="noreferrer noopener">This can backpower the Pi and destroy it</a>. All that&#8217;s necessary is that the USB-to-Serial adapter and Pi share the same ground reference. Using the<a href="https://www.adafruit.com/product/954" target="_blank" rel="noreferrer noopener"> Adafruit adapter</a>, the connections look like the picture at the top of the page.</p>



<h2 class="wp-block-heading">Software</h2>



<p>To enable the serial console just add the line:</p>



<div class="wp-block-codemirror-blocks-code-block code-block"><pre class="CodeMirror" data-setting="{&quot;showPanel&quot;:false,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text/x-sh&quot;,&quot;theme&quot;:&quot;cobalt&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}">enable_uart=1</pre></div>



<p>to <code>/boot/config.txt</code> on the Pi.  <code>/boot/</code> is also mounted automatically on Windows so you can do this on a fresh image immediately after burning to the SD card (you may need to take it out and re-insert it first). </p>



<p>After connecting the USB-to-Serial adapter you can figure out the serial COM port using device manager.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="582" height="429" src="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-2.jpg" alt="Device manager" class="wp-image-722" srcset="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-2.jpg 582w, https://paulbupejr.com/wp-content/uploads/2021/01/piserial-2-300x221.jpg 300w" sizes="(max-width: 582px) 100vw, 582px" /></figure></div>



<p></p>



<p>The serial port needs to be configured with the settings below. Generally everything below but the baud rate are the default on most systems so that&#8217;s all you need to specify. </p>



<div class="wp-block-codemirror-blocks-code-block code-block"><pre class="CodeMirror" data-setting="{&quot;showPanel&quot;:false,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;shell&quot;,&quot;mime&quot;:&quot;text/x-sh&quot;,&quot;theme&quot;:&quot;cobalt&quot;,&quot;lineNumbers&quot;:false,&quot;styleActiveLine&quot;:false,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;Shell&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;shell&quot;}">    Speed (baud rate): 115200
    Bits: 8
    Parity: None
    Stop Bits: 1
    Flow Control: None</pre></div>



<p>In this case I&#8217;m using PuTTY to connect to the Pi as shown:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="452" height="442" src="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-3.jpg" alt="Putty" class="wp-image-723" srcset="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-3.jpg 452w, https://paulbupejr.com/wp-content/uploads/2021/01/piserial-3-300x293.jpg 300w, https://paulbupejr.com/wp-content/uploads/2021/01/piserial-3-45x45.jpg 45w" sizes="(max-width: 452px) 100vw, 452px" /></figure></div>



<p></p>



<p>After connecting you should be met with a blank screen, simply press <code>ENTER</code> to send a character and you&#8217;ll see the familiar login prompt. Enter the login credentials and you&#8217;re in, just like you SSH&#8217;d in!</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="661" height="418" src="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-4.jpg" alt="Raspberry Pi Login" class="wp-image-725" srcset="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-4.jpg 661w, https://paulbupejr.com/wp-content/uploads/2021/01/piserial-4-300x190.jpg 300w" sizes="auto, (max-width: 661px) 100vw, 661px" /></figure>



<p></p>



<p>To demonstrate that this is a fully working terminal you can even launch the &#8220;graphical&#8221; <code>raspi-config</code> utility.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="661" height="418" src="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-5.jpg" alt="" class="wp-image-726" srcset="https://paulbupejr.com/wp-content/uploads/2021/01/piserial-5.jpg 661w, https://paulbupejr.com/wp-content/uploads/2021/01/piserial-5-300x190.jpg 300w" sizes="auto, (max-width: 661px) 100vw, 661px" /></figure>



<h2 class="wp-block-heading">That&#8217;s it!</h2>



<p>This should hopefully be a useful bit of info for the more advanced projects that don&#8217;t use the Pi with a screen and mouse/keyboard connected. </p>
<p>The post <a href="https://paulbupejr.com/raspberry-pi-serial-console/">Raspberry Pi Headless Access Using Built-in Serial Console</a> appeared first on <a href="https://paulbupejr.com">Paul Bupe Jr, PhD</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://paulbupejr.com/raspberry-pi-serial-console/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: paulbupejr.com @ 2026-04-15 13:16:38 by W3 Total Cache
-->