<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" >

  <title>Erik L. Arneson — Writer and Software Developer</title>
  <subtitle>Erik L. Arneson is a freelance writer and software developer with WordPress experience. He is located in Portland, Oregon.</subtitle>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <link href="https://arnesonium.com/feeds/raspberry-pi.xml" rel="self" type="application/atom+xml" />
  <link href="https://arnesonium.com/" rel="alternate" type="text/html" />
  <updated>2026-06-18T15:03:10+00:00</updated>
  <id>https://arnesonium.com/feeds/raspberry-pi.xml</id>
  <author>
    <name>Erik L. Arneson</name>
  </author>
      <entry>
        
        <title>Slides on a Stick with Raspberry Pi Zero W</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2017/10/slides-on-a-stick-with-raspberry-pi-zero-w/" rel="alternate" type="text/html" title="Slides on a Stick with Raspberry Pi Zero W" />
        <updated>2017-10-15T19:38:19+00:00</updated>
        <id>https://arnesonium.com/2017/10/slides-on-a-stick-with-raspberry-pi-zero-w</id>
          <category term="best-practices" />
        
          <category term="public-speaking" />
        
          <category term="raspberry-pi" />
        
          <category term="tutorial" />
        
          <category term="writing" />
        <content type="html" xml:base="https://arnesonium.com/2017/10/slides-on-a-stick-with-raspberry-pi-zero-w/">&lt;p&gt;If you give presentations often, you will know that one of the biggest headaches is managing slides. You have to figure out software, hardware, and connectors. I’ve usually resorted to bringing a USB thumb drive with my slides in PDF and ODP format, but then I came across an even better idea: the Raspberry Pi Zero W (or RPi0W).
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;Previously, I had been playing with using &lt;a href=&quot;https://arnesonium.com/2017/04/raspberry-pi-gpio-with-erlang/&quot;&gt;Erlang on the RPi0W to control stepper motors&lt;/a&gt;, but this seemed more useful. Follow along to see how I created a portable presentation machine that’s about the size of a pack of gum.&lt;/p&gt;

&lt;h2 id=&quot;hardware-used&quot;&gt;Hardware Used&lt;/h2&gt;

&lt;iframe style=&quot;width:120px;height:240px;float:right;&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;amp;OneJS=1&amp;amp;Operation=GetAdHtml&amp;amp;MarketPlace=US&amp;amp;source=ss&amp;amp;ref=as_ss_li_til&amp;amp;ad_type=product_link&amp;amp;tracking_id=aarggaminggroup&amp;amp;marketplace=amazon&amp;amp;region=US&amp;amp;placement=B01HG8DB5E&amp;amp;asins=B01HG8DB5E&amp;amp;linkId=5a34d4956347681153b14f52f9ee75a1&amp;amp;show_border=true&amp;amp;link_opens_in_new_window=true&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;I purchased the RPi0W as part of a kit so it would have a nice case and all of the connectors I needed. I also wanted a good way to control it, so I found an inexpensive mini wireless keyboard and mouse on Amazon. You can follow my example or find your own alternatives.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.adafruit.com/product/3410&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Raspberry Pi Zero W Budget Pack from Adafruit&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://amzn.to/2yq8A3E&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Aerb 2.4GHz Mini Wireless Keyboard with Mouse Touchpad&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;installing-and-configuring-software&quot;&gt;Installing and Configuring Software&lt;/h2&gt;

&lt;p&gt;I’m not the first person to think of using a Raspberry Pi for slides and presentations. Rob Reilly wrote a &lt;a href=&quot;http://www.raspberry-pi-geek.com/Archive/2014/06/Equip-your-Pi-for-slide-and-video-presentations&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;great article on this topic for Raspberry Pi Geek&lt;/a&gt; which provides some great tips and recommendations. However, I wanted to create a presentation machine that was even faster and more portable.&lt;/p&gt;

&lt;p&gt;I used &lt;a href=&quot;https://www.raspberrypi.org/downloads/raspbian/&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;Raspbian Stretch with Desktop&lt;/a&gt;, but knew that I would run into memory and performance issues on the RPi0W. It only has 512MB of RAM, so I would need to use small, efficient applications and cut out unnecessary services and applications on the device. It’s really important that the machine boots up fast and gets running quickly.&lt;/p&gt;

&lt;p&gt;Quickly I gave up on the idea of running LibreOffice Impress. Instead, I would use a lightweight full-screen PDF viewer. I tested out a number of the smaller PDF readers available on Raspbian before finally settling on &lt;a href=&quot;https://naihe2010.github.io/apvlv/&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;apvlv&lt;/a&gt;. This reader is tiny, fast, and configurable. It also requires some additional setup.&lt;/p&gt;

&lt;p&gt;Install apvlv on your system with the following commands.&lt;/p&gt;

&lt;pre lang=&quot;bash&quot; line=&quot;1&quot;&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y
sudo apt install -y apvlv
&lt;/pre&gt;

&lt;p&gt;These commands might take a while. When you are done, edit the apvlv preferences file. You will probably do this using the command &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nano ~/.apvlvrc&lt;/code&gt; but you might want a different text editor. Edit to look like this.&lt;/p&gt;

&lt;pre lang=&quot;ini&quot; line=&quot;1&quot;&gt;
set fullscreen = yes
set zoom = fitwidth
set continuous = no
set scrollbar = no
set content = no
&lt;/pre&gt;

&lt;h2 id=&quot;displaying-slides&quot;&gt;Displaying Slides&lt;/h2&gt;

&lt;p&gt;You will need to get your PDF slides onto the RPi0W. I usually use a webpage to download them, or copy them over via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;scp&lt;/code&gt;. Do whatever feels best to you.&lt;/p&gt;

&lt;p&gt;Simply use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apvlv&lt;/code&gt; command from a terminal or the menu to load your PDF file. The interface is a little arcane, but easy to get the hang of. You can use the up and down arrows on the mini keyboard to go forward and backward one slide. To exit, hit &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;q&lt;/code&gt; and to go to a specific slide type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;:go &amp;lt;number&amp;gt;&lt;/code&gt; and replace “&amp;lt;number&amp;gt;” with the slide number.&lt;/p&gt;

&lt;p&gt;The RPi0W still takes a little while to boot, but you now have an extremely portable device that plugs into any HDMI screen or projector and displays your slides with as little fuss as possible!&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Raspberry Pi GPIO with Erlang</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2017/04/raspberry-pi-gpio-with-erlang/" rel="alternate" type="text/html" title="Raspberry Pi GPIO with Erlang" />
        <updated>2017-04-10T17:23:14+00:00</updated>
        <id>https://arnesonium.com/2017/04/raspberry-pi-gpio-with-erlang</id>
          <category term="erlang" />
        
          <category term="programming" />
        
          <category term="raspberry-pi" />
        <content type="html" xml:base="https://arnesonium.com/2017/04/raspberry-pi-gpio-with-erlang/">&lt;p&gt;Raspberry Pis are super cool. One of the neat things about them is that they have a ton of general purpose input/output (GPIO) pins, so you can use them to control all sorts of external devices. Unfortunately, most of the examples and applications are written in Python. I know, a lot of people really love Python, but it’s just not my cup of tea.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;Enter the &lt;a href=&quot;https://github.com/paoloo/gpio&quot; target=&quot;_blank&quot;&gt;Erlang πGPIO library&lt;/a&gt; by &lt;a href=&quot;https://paoloo.github.io/&quot; target=&quot;_blank&quot;&gt;Paolo Oliveira&lt;/a&gt;! This is a simple, straightforward library that implements the RPi GPIO stuff for Erlang. Using it, I have created an Erlang library to control a 28BYJ-48 5V stepper motor with a ULN2003 controller board.&lt;/p&gt;

&lt;p&gt;&lt;a class=&quot;button&quot; href=&quot;https://github.com/pymander/stepper&quot; target=&quot;_blank&quot;&gt;Check out the library here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;https://www.instagram.com/p/BSp2ZdSA0cg/?taken-by=pymander&lt;/p&gt;</content>
      </entry>
    
      <entry>
        
        <title>Installing Ansible 2.2.0 on a Raspberry Pi</title>
        <author>
          <name>Erik L. Arneson</name>
        </author>        
        <link href="https://arnesonium.com/2016/11/installing-ansible-2-2-0-on-a-raspberry-pi/" rel="alternate" type="text/html" title="Installing Ansible 2.2.0 on a Raspberry Pi" />
        <updated>2016-11-29T18:19:14+00:00</updated>
        <id>https://arnesonium.com/2016/11/installing-ansible-2-2-0-on-a-raspberry-pi</id>
          <category term="ansible" />
        
          <category term="devops" />
        
          <category term="raspberry-pi" />
        <content type="html" xml:base="https://arnesonium.com/2016/11/installing-ansible-2-2-0-on-a-raspberry-pi/">&lt;p&gt;&lt;a href=&quot;https://www.ansible.com/&quot;&gt;Ansible&lt;/a&gt; is a powerful IT automation tool with lots of modules and active development. Unfortunately, the only version available for stock Raspberry Pi is old. I wanted to use some of the newer modules and features, so I needed to install at least version 2.2. This tutorial will walk you through installing Ansible 2.2.0 on a Raspberry Pi running Raspbian “jessie”. The version of Raspbian I did this on was tagged “2016-09-23”.
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;Creating a Debian package for Ansible requires a lot of prerequisites, including &lt;a href=&quot;https://www.tug.org/texlive/&quot;&gt;TeX Live&lt;/a&gt;, which can take up almost 2GB of space. If you don’t want to do this yourself, you can try downloading the &lt;a href=&quot;http://arnesonium-downloads.s3.amazonaws.com/ansible_2.2.0.0-100.git201611010320.cdec853.HEAD~unstable_all.deb&quot;&gt;Ansible package I built&lt;/a&gt;. It might be old by the time you read this, though!&lt;/p&gt;

&lt;h2 id=&quot;install-prerequisite-packages&quot;&gt;Install Prerequisite Packages&lt;/h2&gt;

&lt;p&gt;Log into the terminal of your Raspberry Pi and run the following command to install the required packages.&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;asciidoc devscripts python-dev libffi-dev libssl-dev cdbs sshpass &lt;span class=&quot;nt&quot;&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;download-and-prepare-the-ansible-repo&quot;&gt;Download and Prepare the Ansible Repo&lt;/h2&gt;

&lt;p&gt;Ansible is available for download from GitHub. Use the following commands to retrieve the Ansible source code and modules.&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git clone git://github.com/ansible/ansible.git &lt;span class=&quot;nt&quot;&gt;--recursive&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;ansible/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Use these commands as a guide to select and checkout a stable Ansible release. The list of tags should give you clues as to which tag is the latest and not a development version.&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git tag &lt;span class=&quot;nt&quot;&gt;-l&lt;/span&gt;
git checkout v2.2.0.0-1
make deb
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Your new .deb package will be located in &lt;strong&gt;./deb-build/unstable/&lt;/strong&gt;. You can install it with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dpkg&lt;/code&gt; command like this.&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;dpkg &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; ./deb-build/unstable/ansible_2.2.0.0-100.git201611010320.cdec853.HEAD~unstable_all.deb
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;using-the-newest-ansible-features&quot;&gt;Using the Newest Ansible Features&lt;/h2&gt;

&lt;p&gt;My goal was to use Ansible on my Raspberry Pi to implement &lt;a href=&quot;https://arnesonium.com/2016/07/a-poor-mans-dynamic-dns-with-ansible-and-amazon-route53/&quot;&gt;my poor-man’s dynamic DNS solution&lt;/a&gt;. However, you might also want to use your RPi as a centralized Ansible hub to control a cluster like &lt;a href=&quot;http://www.pidramble.com/&quot;&gt;the Raspberry Pi Dramble&lt;/a&gt;.  Also consider checking out the &lt;a href=&quot;https://github.com/ajdecon/ansible-simple-slurm-cluster&quot;&gt;ansible-simple-slurm-cluster repo&lt;/a&gt; on GitHub for more ideas.&lt;/p&gt;

&lt;p&gt;Let me know how you’re using Ansible on your Raspberry Pi in the comments!&lt;/p&gt;</content>
      </entry>
    
</feed>
