<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Documents</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Connecting to a Remote Desktop on the Raspberry Pi</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/890/connecting-to-a-remote-desktop-on-the-raspberry-pi</link><pubDate>Tue, 15 Oct 2024 10:19:54 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d7008bb5-d57c-4899-8533-5675b33417c2</guid><dc:creator>cstanton</dc:creator><description>Current Revision posted to Documents by cstanton on 10/15/2024 10:19:54 AM&lt;br /&gt;
&lt;p&gt;When I first received my Raspberry Pi, I didn&amp;#39;t have a monitor available, so every time I wanted to work with it I would have to go through the trouble of hooking it up to the TV or borrowing the monitor I used for my main computer. That didn&amp;#39;t always go over well with my dearest, who&amp;#39;s not into decor that incorporates multiple cables strewn randomly into its design.&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Now that I have set up Remote Desktop on my Pi, I can easily access it via a window on my iMac, which means more time tinkering and less time dealing with setup details. It also means I can put the Pi anywhere else in the house (or in the yard or greenhouse!) and still have easy access. And as a bonus, it also means I get fewer dirty looks from my dearest (&amp;quot;fewer&amp;quot; being the key word there &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-wikis-components-files/00-00-00-01-66/4034.contentimage_5F00_3.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4034.contentimage_3.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=az3gfMuzX%2F1ycYkHGp6VXTdnCrCE%2FChdYgVyY7fc5i4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=dTVpkup5yoe1It0VY5CD3A==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;).&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;If you are new to the Raspberry Pi, it will likely still be easiest to do the initial setup using your TV and maybe a borrowed keyboard/mouse, but then after you&amp;#39;ll never have to go through all of that trouble again!&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;The process is quite simple actually - you will need to install a bit of software onto your Raspberry Pi, and you&amp;#39;ll need a bit of software on the PC you&amp;#39;ll be using to access it. The RPi software can even be installed remotely from your PC, if you have already set up your RPi.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Let&amp;#39;s break your RPi free from all those peripherals right now, in just 3 easy steps! The other 17 steps are difficult &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-wikis-components-files/00-00-00-01-66/4034.contentimage_5F00_3.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4034.contentimage_3.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=az3gfMuzX%2F1ycYkHGp6VXTdnCrCE%2FChdYgVyY7fc5i4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=dTVpkup5yoe1It0VY5CD3A==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;.&amp;nbsp; I&amp;#39;m kidding! It&amp;#39;s just 6 easy steps. 7 if you plan on taking over the world.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Please note that I&amp;#39;ve written this tutorial for the Raspbian operating system, but the exact same steps can likely be used for any of the other distributions available for the RPi.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;em&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;strong&gt;Set Up Your Raspberry Pi&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;First things first: &lt;/span&gt;if you have not already done so you will need to do the initial setup for your Raspberry Pi. There&amp;#39;s no getting around that step, but do not fear - it&amp;#39;s also fairly easy and automated. There are many tutorials available for that, so I will leave you to the experts for this step.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;em&gt;&lt;strong&gt;2. Find the IP Address of your RPi&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;To connect to your RPi, you will need to know its special phone number, known as the IP Address. Every device connected to your network will have their own special IP Address.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;To find the IP Address for your RPi, use ifconfig from a command line on your RPi. Type the following at the command line and press the &amp;#39;enter&amp;#39; key:&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;ifconfig&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;If you have already disconnected your keyboard and monitor from your RPi, you can still find its IP Address by asking your router for that information. On an Apple network, for example, Airport Utility can be used. I&amp;#39;ve attached an image of what this looks like.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x418/__key/communityserver-wikis-components-files/00-00-00-01-66/6661.contentimage_5F00_199714.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6661.contentimage_199714.png-620x418.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=yKEVaqGIlC4zyt6iilTp9WZx4fNYYzmHNYqANXrLutI%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=na0tj2WLGT4/YCLcbtExTg==" style="max-height: 418px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;For other routers, you can often connect to the admin panel of the router via a browser to find out this information.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Note that IP addresses can change over time, and you might have to repeat this step in the future to find it again. However, you can set a fixed IP address for your RPi with a little bit of effort. Please see Additional Notes #2 at the bottom of this article.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;You can also choose to put in a little bit of extra effort so that your Pi can be accessed by name, instead of just by IP address.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Please refer to these URLs for instructions of how that works, and how to set it up:&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;a class="jive-link-external-small" href="http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;How-To Geek: How to Assign the .local Domain to Your Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;a class="jive-link-external-small" href="http://root42.blogspot.co.uk/2015/02/how-to-setup-mdns-lookups-on-raspberry.html" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Arne&amp;#39;s Blog: How to setup mDNS lookups on the Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;em&gt;&lt;strong&gt;3. Using SSH&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Now that you have the IP Address for your RPi, you can connect to it from your PC by simply using SSH.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;SSH is a feature that comes already installed in Raspbian (and most Linux systems, &lt;span style="font-family:verdana, geneva;"&gt;including Mac OS).&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;On Mac or Linux, open a Terminal window. The Terminal application can be found under Applications, in the Utilities folder.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;In my case, my Raspberry Pi&amp;#39;s IP Address was 10.0.1.10, so I typed the following command (followed by pressing &amp;#39;enter&amp;#39;, of course)&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="color:#575757;font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;ssh pi@10.0.1.10&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Non-Apple networks tend to use IP addresses in the 192.168 range, so yours may look more like:&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="color:#575757;font-family:&amp;#39;courier new&amp;#39;, courier;font-size:12px;"&gt;ssh pi@192.168.2.2&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="color:#575757;font-family:verdana, geneva;"&gt;It will then ask for your password&lt;/span&gt;&lt;span style="color:#575757;font-family:verdana, geneva;"&gt; (the default is &amp;quot;raspberry&amp;quot;). On that note, if your RPi is visible to the outside world, it&amp;#39;s best to change that password to something else - ANYthing else.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:Helvetica;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-family:Helvetica;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;In Windows, you can download an application named PuTTY (or similar Windows SSH client).&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:Helvetica;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;For the new session, enter the IP address and select SSH. Keep default port of 22.&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:Helvetica;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-family:Helvetica;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;You will now have command line access to your Raspberry Pi, conveniently from your PC!&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:Helvetica;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;All of the following steps can be accomplished from this SSH connection, from your PC.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="font-family:verdana, geneva;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="line-height:1.5em;"&gt;&lt;em&gt;&lt;strong&gt;4. Stop the GUI Desktop From Starting Automatically&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Since you will be starting the GUI desktop for your Pi remotely on your PC, we don&amp;#39;t want to start it automatically on the Pi when it starts, as that would unnecessarily use up precious memory and cause startup to take longer.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Use raspi-config to do this. At the command line, simply type the following command (followed by the enter key, of course)&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;sudo raspi-config&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;Because this is a task requiring root permissions, you need to use sudo, and y&lt;span style="color:#333333;font-family:verdana, geneva;font-size:12px;"&gt;ou may need to enter your password.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;This will start a text-based interface to allow you to change some of the Raspberry Pi startup settings.&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;Select the option &amp;quot;Enable Boot to Desktop/Scratch&amp;quot; and press &amp;#39;enter&amp;#39; to select it.&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;Next, select the &amp;quot;Console - Text console, requiring login&amp;quot; option and press &amp;#39;enter&amp;#39; to select it.&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;Now press the right-arrow key until &amp;lt;Finish&amp;gt; is highlighted, and press &amp;#39;enter&amp;#39; again.&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;Press &amp;#39;enter&amp;#39;&amp;#39; one last time to say &amp;#39;yes&amp;#39; to rebooting.&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&lt;span style="font-family:verdana, geneva;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;If you are using SSH, your connection will close and you&amp;#39;ll have to wait for your RPi to restart before you can login again. Restart will be faster now that the GUI doesn&amp;#39;t need to be started&lt;/span&gt; &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-wikis-components-files/00-00-00-01-66/0317.contentimage_5F00_1.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0317.contentimage_1.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=TW6YxPbQijc99TDSq2GpHj9mvUsSpycZozAQkCLo0Ro%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zGEM7pHL10Vt71gae75OdA==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Note that you can always use &amp;quot;startx&amp;quot; to start the GUI manually when working directly on the RPi. You can also use the same steps (choosing to boot to GUI instead) to re-enable the auto-start of the GUI.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;strong&gt;&lt;em&gt;Intermission &amp;lt;pleasant intermission music goes here&amp;gt; ...&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;If you don&amp;#39;t intend to ever use a remote GUI for your RPi, you can stop right here and happily go on using your RPi remotely using SSH. Note that you can still open GUI windows for individual applications using just SSH (See Note #5 below).&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;For the more graphically oriented amongst us, continue on, our goal is not too far away now...&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;&lt;strong&gt;&lt;em&gt;5. Install the Remote Desktop Server software on the Raspberry Pi&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;The next step is to install the software on your Raspberry Pi that provides the connection to the Remote Desktop software that will run on your PC.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;On the command line, type the following:&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;sudo apt-get install xrdp&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;Press &amp;#39;y&amp;#39; when prompted to continue.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;This will download and install the remote desktop server. This process can take a minute or two, depending on the speed of your internet connection.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;&lt;strong&gt;&lt;em&gt;6. Install the Remote Desktop application on your PC&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;Remote Desktop is an application by Microsoft, and is available for free in the Mac App store (and, I assume, as a download for Windows and Linux). Just search for &amp;quot;remote desktop&amp;quot;. The app&amp;#39;s name (in the Mac App Store) is &amp;quot;Microsoft Remote Desktop&amp;quot;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span style="font-family:verdana, geneva;"&gt;In Linux, you can install rdesktop (&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;sudo apt-get install r&lt;/span&gt;&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;desktop&lt;/span&gt;&lt;span style="font-family:verdana, geneva;"&gt;), and for a graphical interface you can also install grdesktop &lt;span style="color:#333333;font-family:verdana, geneva;font-size:12px;"&gt;(&lt;span style="font-family:&amp;#39;courier new&amp;#39;, courier;"&gt;sudo apt-get install grdesktop&lt;/span&gt;)&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;I haven&amp;#39;t checked on a Windows machine - it may already be installed, or you may have to download and install it now.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;After installing Remote Desktop, open the application and add the following settings:&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;For PC name, type in the IP address for your RPi.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;I also chose to uncheck &amp;quot;Start session in full screen&amp;quot; &lt;span style="line-height:1.5em;"&gt;and I checked &amp;quot;Scale content&amp;quot;, as I prefer to work with it inside of a window alongside the rest of the things I need to see when I&amp;#39;m on my main computer.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x752/__key/communityserver-wikis-components-files/00-00-00-01-66/4540.contentimage_5F00_199715.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4540.contentimage_199715.png-620x752.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=SLbK0cddSLp14aZioR16cZLuV401SXkh%2BMVlGoR5%2FQA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=StqokxhldQcE2T+tEEK2UA==" style="max-height: 752px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;When you connect, it will open a window on your local machine that looks exactly like the GUI screen you would see when you log in directly on your RPi.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x480/__key/communityserver-wikis-components-files/00-00-00-01-66/8168.contentimage_5F00_199716.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8168.contentimage_199716.png-620x480.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Qe5tg0PKIWV9GEK8we3gpxpXuznzo7x7%2FzmRxw9P%2B7o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=IV7+/ZIM5XZ3RtLBEinbOA==" style="max-height: 480px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;&lt;em&gt;&lt;strong&gt;Done!&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;That&amp;#39;s it, that&amp;#39;s all you need to remotely access your Raspberry Pi using a convenient GUI window on your main PC.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;&lt;em&gt;&lt;strong&gt;Taking Over the World&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:verdana, geneva;font-size:12px;"&gt;Now that you know how to set up one Raspberry Pi with Remote Desktop, simply repeat the process so that you can have an army of RPis around the house all controlled via one computer in a secret lair!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x412/__key/communityserver-wikis-components-files/00-00-00-01-66/5428.contentimage_5F00_199717.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5428.contentimage_199717.png-620x412.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=UEAaj3E8MYZIln2MSevo9Bi1pRFKyTeNOBGSZ%2F2ugGg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=6fnmWKTag5Wuw33lDKhfJQ==" style="max-height: 412px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;&lt;strong&gt;&lt;em&gt;Additional Notes&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;1* I found that the Remote Desktop App for Android does not work properly with Raspberry Pi. Maybe, hopefully, they will fix this in a future release.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="font-family:verdana, geneva;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;2* Most home networks do not assign fixed IP addresses, so your Pi might get a new address at some point in the future. You could change your router settings to assign a fixed address to your RPi. How to do that varies, so check what is required for your router. Mac Time Capsule and Airport allow you to assign a fixed IP address to a machine based on Mac Address using Airport Utility. Other routers will likely have the same functionality implemented in their own special ways, so please check your router manual for those details.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;OR:&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;You can also choose to put in a little bit of extra effort so that your Pi can be accessed by name, instead of just by IP address.&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;Please refer to these URLs for instructions of how that works, and how to set it up:&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;a class="jive-link-external-small" style="text-decoration:underline;" href="http://www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;How-To Geek: How to Assign the .local Domain to Your Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;"&gt;&lt;a class="jive-link-external-small" href="http://root42.blogspot.co.uk/2015/02/how-to-setup-mdns-lookups-on-raspberry.html" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Arne&amp;#39;s Blog: How to setup mDNS lookups on the Raspberry Pi&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;3* You can use FTP to move files to and from your RPi using similar settings. Use an FTP application like FileZilla.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/333x232/__key/communityserver-wikis-components-files/00-00-00-01-66/5432.contentimage_5F00_199718.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5432.contentimage_199718.png-333x232.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=p%2F7CQIdUEuOkGn5UvEjM6H9qUAzQTFtL3DetmvVPWXg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=tWqFNapPIpdqBWhm+kr86A==" style="max-height: 232px;max-width: 333px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;4* From a Mac, you can use X11 to connect directly to an RPi without needing to install anything on the RPi. However, I found that this only allowed it to run in full screen, and kind of mixed with my Mac desktop.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="font-family:verdana, geneva;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;5* You can also use SSH to open GUI windows for individual applications, without starting a complete GUI window for the RPi. Check out &lt;a class="jive-link-external-small" href="http://www.element14.com/community/community/raspberry-pi/blog/2015/05/08/pi-and-ssh-connection-without-sacrificing-the-gui-advantages?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;Enrico&amp;#39;s post for more information&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="font-family:verdana, geneva;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:verdana, geneva;"&gt;6* Other alternatives to Remote Desktop also exist. Look for x11vnc and RealVNC. Complete instructions for setting up your Raspberry Pi with RealVNC are available &lt;a class="jive-link-external-small" href="https://www.realvnc.com/products/vnc/raspberrypi/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;at their website&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: rpi2, raspberry-pi, rpi, desktop, raspberry_pi_projects, remote&lt;/div&gt;
</description></item><item><title>PIK3A: The Raspberry Pi 3 IKEA Retro Gaming Table</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/1383/pik3a-the-raspberry-pi-3-ikea-retro-gaming-table</link><pubDate>Tue, 16 Jul 2024 10:04:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5fc1b35b-9f81-4def-a337-b1a5f549b7d2</guid><dc:creator>cstanton</dc:creator><description>Current Revision posted to Documents by cstanton on 7/16/2024 10:04:44 AM&lt;br /&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="font-size:12pt;"&gt;Gaming is the perfect way to help newcomers to the Raspberry Pi to connect it with a recognisable lifestyle technology. It&amp;#39;s the perfect stepping stone to bring people eye-to-eye with the Raspberry Pi; if it can play all those awesome, classic arcade games, it can also do so much more!&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/446x446/__key/communityserver-wikis-components-files/00-00-00-01-66/3808.contentimage_5F00_199746.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3808.contentimage_199746.jpg-446x446.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=CMIjwNOUXUWf1%2FOvoCVqkF8AaTHqC%2FI0Z9G%2BMI0wobY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Xi+yv6HBMyxaCGNMfUk4+g==" style="max-height: 446px;max-width: 446px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;And that&amp;#39;s why gaming is often our go-to project when it&amp;#39;s time to show people what the Pi is all about. But this time around, with the &lt;strong&gt;Raspberry Pi&lt;a class="" href="https://www.element14.com/community/community/raspberry-pi/raspberrypi3?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" data-icid="rpimain-Pik3a-doclink" target="_blank" data-e14adj="t"&gt; 3&lt;/a&gt;&lt;/strong&gt; now in the wild, we wanted to do something a little bit different, too. So here&amp;#39;s how to make your own minimalist, contemporary interpretation of the classic coin-op cocktail cabinet that uses an IKEA coffee table and a Raspberry Pi 3.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Meet the &lt;strong&gt;PIK3A Gaming Table&lt;/strong&gt;!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1i2tfru4c0"&gt;Parts, Bits and Pieces&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;So here&amp;#39;s the gist of this simple, but super-stylish project.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;It&amp;#39;s an IKEA Lack coffee table with an LCD monitor cut into the top, arcade controls next to the monitor, and a Raspberry Pi 3 and accessories buried inside the table.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Let&amp;#39;s begin with an overview of the parts you&amp;#39;ll need:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Cabinet: &lt;/strong&gt;IKEA Lack coffee table.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Brains: &lt;/strong&gt;&lt;a class="jive-link-external-small" href="http://www.element14.com/raspberrypi?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;Raspberry Pi&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Controls: &lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;a id="e14-product-link-94be6" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2133071&amp;nsku=07W3936&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('94be6'));" data-farnell="2133071" data-newark="07W3936" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Arduino Leonardo&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Joystick: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A classic, four-way ball-top joystick.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Buttons: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;a class="jive-link-external-small" href="http://cpc.farnell.com/1/3/arcade-style-push-button?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;From CPC&lt;/a&gt;&amp;nbsp; - &lt;a class="jive-link-external-small" href="http://electronics.mcmelectronics.com/electronics/Arcade-Button" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;From MCM&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Display: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;An old 17&amp;quot; LCD monitor (4:3 ratio is better given the square shape of the table).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;Th&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;e&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; Sound:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;a class="jive-link-external-small" href="http://cpc.farnell.com/arctic/spaso-sp001bk-gba01/speakers-portable-arctic-s111/dp/CS29306?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;This pair of USB-powered computer speakers&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; &lt;strong&gt;Power: &lt;/strong&gt;A Raspberry Pi 2.5A USB power supply, and a mains extension.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Stuff: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Cables, connectors, screws.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1i2tfru4c1"&gt;Table Top Gaming&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;This isn&amp;#39;t really intended as a woodworking project, but we trashed at least one table when prototyping this so maybe we can help you to make only the holes the table needs. &lt;/span&gt;&lt;span style="font-size:12pt;"&gt;So, let&amp;#39;s begin with the hacking and sawing, and then we&amp;#39;ll look at the innards.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c2"&gt;Dismantle Your Monitor&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The old Acer AL1716 monitors we used seem fairly generic, in terms of 17&amp;quot; LCD screens, so hopefully yours will pan out the same. By taking the screen chassis out of the plastic casing (nothing complicated there -- take out the screws and prize the two halves apart) you should be left with the screen inside the shielding housing that&amp;#39;s almost exactly the same depth as a LACK coffee table. This means that once you&amp;#39;ve got the screen, all you need to do is drop it into the hole we&amp;#39;re about to cut into the PIK3A table top.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;And by removing the bezel around the LCD, the screen will sit flush with the top of the table, and give you that essential minimalist finish.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;{gallery:autoplay=false} Removing the LCD from the Monitor Housing&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove the stand, and any screws in the back of the monitor&amp;#39;s housing.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/6131.contentimage_5F00_199747.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6131.contentimage_199747.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=htcUvIrqnxnsJvbWAkMc5ciHA%2BYia%2FvAA%2BJjepB3zZM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=tlwgP1qshMPHxtiukPivew==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;It&amp;#39;s probably all clipped together, so carefully pry the back of the housing away from the silver bezel around the screen.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5545.contentimage_5F00_199748.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5545.contentimage_199748.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=7kR3Z9A0QpoXrANNEl5iSwQpQrMCT0fvzuu69utHsBE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=36tIkpphjGygTYhLAg320A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;You don&amp;#39;t need to remove any of the shielding inside once the housing is apart. This is better left in place, to protect the back of the LCD. Note that you might need to relocate (and protect/insulate) the small PCB with the monitor&amp;#39;s buttons on.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0777.contentimage_5F00_199749.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0777.contentimage_199749.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=bjjCUY11x9TTwz3N8Lrby5Q6u7Pa1wEcE7kMecV3oJM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=7z+ry9+cMDYdtojyrMn/Uw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove any small screws that fix the bezel to the LCD&amp;#39;s shielding.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8272.contentimage_5F00_199750.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8272.contentimage_199750.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=r8huthNYG9MDlnL7ltP17J0%2FxpdbQj5%2BrfCDFq4qam8%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hrR4Wqe/dAZ28xKGjANMhg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Leaving you with an LCD panel that&amp;#39;ll sit nice and flush to the table top.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/3414.contentimage_5F00_199751.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3414.contentimage_199751.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=OKocMpIpb7HU9y9mfPQDkPQ%2Ff0oX%2BWd3%2BeBnBpxYwP0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bKW+HnPwhDBlBiHCjcCZLg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c3"&gt;Screen Mounting&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The first time out we used a Dremel with a router attachment to cut the hole in the table top for the monitor, which actually worked very nicely. However, these ultra-cheap tables really don&amp;#39;t warrant that much power tool action, when a Stanley knife does the job just as easily and with a lot less mess. The choice is yours, of course.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Below you can see how we drew around the screen to get the sizing for the hole, and then drilled 13mm holes in each corner to give the cut-out some nice, radius corners.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Clamp a straight edge along the outside of the line you want to cut, and repeatedly run the knife along it. Remember not to cut all the way into the hole on the opposite side from where you started. Chances are the knife will continue and make a mess of the nice radius you put in there. Instead, stop 10cm short and cut again from the other end.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Go around all four sides (it won&amp;#39;t take a lot of effort) and prize out the cut-out piece. It won&amp;#39;t just come free, as it&amp;#39;s glued to the structural filling inside the table, so take care when prizing it up so as not to damage the surface of the table. Run a knife around the honeycomb paper filling, and pull it out. You now have a hole to drop the monitor in.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Mounting the Screen in the Table&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Lay the dismantled monitor on the table and draw around it. I also put the joystick and buttons roughly in place, to help locate the monitor in its ideal position.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2818.contentimage_5F00_199752.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2818.contentimage_199752.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hjWA4%2FVnot%2FBocbcYXe%2B7L6OtYbbS0pqlooVcYzVOhQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=H1EpoKQa9yp/kEk3ihFbcg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Use the drill bit for the corners to mark where to drill. This&amp;#39;ll give you nice, rounded corners on the cut out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5141.contentimage_5F00_199753.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5141.contentimage_199753.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2BVLqU5k%2BQZ4Vl%2FljAHFaN%2B4I0RehPGgj5CJla1NR9ks%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=AbNe7HmFaZuD0/aLvKxV+w==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Drill the four corner holes for the cut out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/1832.contentimage_5F00_199754.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1832.contentimage_199754.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=pOvq3YgWpbZTQe2WJDXGtO7AZc8AYc2WPKXMADuHAZg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=i5ppwXLuPB9W/VkSTKyMnw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mask off the area around the hold, to protect the surface of the table when you clamp a straight edge to it.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8787.contentimage_5F00_199755.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8787.contentimage_199755.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2FaJzCuA6rvpgzw%2B0aBdY%2F7SkMjeK9pEDpcBVrILQ1m4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bk/g/3fFRRbyQIZ29JI2Lg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Clamp a straight edge to the outside of the cut out (so if you slip, the damage will be on the piece you&amp;#39;re removing), and make lots of gentler cuts from one hole along the straight edge, stopping short of the second hole. Cut from the second hole, back along the same line to prevent the knife from slipping and damaging the radius of the second hole.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7282.contentimage_5F00_199756.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7282.contentimage_199756.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=DC6OjgytQ81Ywa38johTgNRcc2prwTgDKF0w7E53UBQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=SxrHymUkkiWQl7DnLuxjpQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;When you&amp;#39;ve cut right through the table top on all four sides, carefully pry the cut out up. It&amp;#39;ll be stuck to the innards of the table, but will come free with a little effort. Save the cut out for later on.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2425.contentimage_5F00_199757.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2425.contentimage_199757.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9y8hppgk%2BZvmJ9ITELikzWPGjsWxxjIa%2B1p4tFX%2FrIE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=y0BOfa0Hk5bUmSdoLgR9bA==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Run a knife around the honeycomb and rip it out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8371.contentimage_5F00_199758.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8371.contentimage_199758.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=n6oMB1WPKxUIu%2FTLUD%2BeqKgHgoFn23youc0maAYaB0A%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=d0uoGYM5iOMQCH5nxXpRHQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;You&amp;#39;ve a nice, neat, monitor-shaped hole in the table!&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4162.contentimage_5F00_199759.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4162.contentimage_199759.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=j1sLtsyipEUD4E95Y53APz7iAR2MFLY3TeSs8WE8QWU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=mhNMDIKeoDedNh0neXw3vQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;If it&amp;#39;s all gone well, take a moment to feel a little smug about yourself.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2018.contentimage_5F00_199760.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2018.contentimage_199760.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=qHaMbB0m1EpXncnkpAthYYyW%2Fu20ZhYLWzvetNJdRsM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=1MEptyQb06swDgEATSXP1A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c4"&gt;Control Mounting&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Flip the table top over and cut a letter box into the back. This gives you access to the inside-back of the table top so you can mount the joystick and buttons. Cut it out the same way as before and remove the honeycomb.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Mark where you want to mount your joystick and buttons -- we went with four buttons -- and drill 28mm holes for each one. This is the standard size for arcade buttons, and also gives the joystick plenty of room to move without the hole being visible around the round, flat cover that comes with the joystick.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;But we didn&amp;#39;t want any fixings visible on the PIK3A table top, which meant we couldn&amp;#39;t use the mounting holes in the joystick&amp;#39;s plate. Instead, we removed the mounting plate and used the screws that attach it to the body of the joystick (where the microswitches are) to fix the joystick in place. They&amp;#39;re a little bit short, but when you countersink the holes in the table top, they&amp;#39;ll still reach and grab hold of the thread solidly.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;You&amp;#39;ll need to remove the mounting plate&amp;#39;s screws and the ball top, and then offer the joystick up from underneath the table. It&amp;#39;s a little tricky, as the plate will be loose when you&amp;#39;re inserting the joystick into the table, but it&amp;#39;s not too hard. When it&amp;#39;s in place, replace the mounting plate&amp;#39;s screws when passing them through the table top, put the round cover over the stick, put the ball top back on, and&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; you&amp;#39;ve fixed the joystick in place without any visible screws.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The buttons are a simple matter -- drill the 28mm hole, and put the nut on the back of the button! We went with a diamond arrangement for the buttons, plus a start button and coin button on the side of the table top.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Mounting the Controls&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;I was a bit rougher cutting the access panel in the back, as it&amp;#39;s not as visible as the table top. So mark it up, and cut out the minimum that you need (to help maintain the table&amp;#39;s already waning stability).&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7128.contentimage_5F00_199761.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7128.contentimage_199761.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QXaZdegBd2GHsm3%2FrMExRFHRIcAINE1Q1lLN9zBfH4o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hbtzx/NFJyAae1ro0H1P9w==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;The access panel cut out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/1351.contentimage_5F00_199762.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1351.contentimage_199762.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ns84CEq2PS05yj8txZ%2FawhJBLe6KRcQeG9km3ds%2FqoU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=eLkzIlwkxdvAB19fvhctEw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mark where you want your buttons and joystick (including those on the edge for coin and start), and drill 28mm holes for each one.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8206.contentimage_5F00_199763.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8206.contentimage_199763.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=tBX7uzAVe1kCDir%2FZGke%2B9w1cILEckXkGcN8oeFVtmQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=rbl5skAytzIZAgXG588vUw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove the mounting plate from the joystick. These are the mounting holes you&amp;#39;ll use to hold the joystick in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7612.contentimage_5F00_199764.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7612.contentimage_199764.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BVEOk508G3%2BIr1ez5KHTuhbs00rhE3jNf97c7qBphjk%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=6lnhIgWxUewImKKfMWGDKg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Use the mounting plate to mark the four holes just around the centre. You&amp;#39;ll also need to countersink these holes so the screw heads sit flush.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2844.contentimage_5F00_199765.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2844.contentimage_199765.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=B9mh7ixH9OLoVqA9nfp%2BWt60vWDbWAmi7lZdS%2FaBIo0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=QnQJh2BG75nuojg8/qthYg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Remove the ball top from the joystick, hold the mounting plate in place underneath and screw the joystick in place from above.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4062.contentimage_5F00_199766.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4062.contentimage_199766.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=oMfJH2FwmBrHdOQohWWNjXT%2BXWHrE2uKbjcoiS4xv0U%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bqxvcl/TYajLuFunmM4Etw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Put the round cover over the joystick and screw the ball top back in place. And you can now fix all the buttons in place, too.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8204.contentimage_5F00_199767.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8204.contentimage_199767.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QYSE2nNEoOnkotbPhQYGABOCyUtIRiXr9JGDTRs3yGA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nPTRh0/Xbpo59JVr0qVfHw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c5"&gt;Control Interface&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Arcade controls are actually very simple. Even the joysticks are effectively just normally open push buttons (one for each of the four directions). The thing is, computers like the Raspberry Pi don&amp;#39;t generally accept such simple buttons as a controller! So we&amp;#39;ve opted for an Arduino Leonardo as a way to interface the arcade controls with the Raspberry Pi (moreover, the video game emulators the Pi will be running), as it can be set to identify itself to the computer/Raspberry Pi as a standard keyboard.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;So each button is connected into one of the Leonardo&amp;#39;s inputs, which translates them into keyboard key presses. A ground wire loops around the other side of each microswitch. Because we love the old coin-ops, we set ours up using the standard keyboard controls for MAME. You don&amp;#39;t have to do this, but it&amp;#39;ll save you a job if you do it this way.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/837x439/__key/communityserver-wikis-components-files/00-00-00-01-66/2437.contentimage_5F00_199768.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2437.contentimage_199768.png-837x439.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=atxRvLRTnUOG1zb1vQvABLUMyJOBbkgGgu7MuVfLT8c%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=E41j3s8CvHyQAJwkS4+9tQ==" style="max-height: 439px;max-width: 837px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;a class="jive-link-external-small" href="https://www.arduino.cc/en/Main/Software" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Download and install the Arduino IDE&lt;/a&gt;, if you haven&amp;#39;t already, and plug in your Leonardo to your computer via a USB cable. Below is the code we hammered together that translates the joystick and buttons into key presses (using the MAME standards, as previously mentioned). But coders we ain&amp;#39;t, so if you can improve on this sketch, please post it in the comments.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Before that, here&amp;#39;s what to do if you&amp;#39;ve never played with Arduino before (skip ahead if you know how to upload the sketch to your Leonardo).&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;A &amp;quot;sketch&amp;quot; is a program that your Leonardo will run after it&amp;#39;s been uploaded. You can copy and paste the code below into the Arduino IDE window, or download the attached sketch file and open it using the IDE window. It&amp;#39;s the same code, but take your pick of how to get onto the Arduino.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Take a read through, and you&amp;#39;ll see how each input relates to a specific keyboard key press. You can make any desired changes here before uploading to the Leonardo.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click the &amp;quot;Tools&amp;quot; menu and select &amp;quot;Arduino Leonardo&amp;quot; from the &amp;quot;Board&amp;quot; option.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click &amp;quot;Tools&amp;quot; again, and select your Leonardo from the list in the &amp;quot;Ports&amp;quot; option. It&amp;#39;s now ready for uploading your sketch.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click the &amp;quot;Upload&amp;quot; button (a circular button with a right-facing arrow in it) to upload the sketch, and the Leonardo is ready to rock.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;Sketch Code:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;//element14 PIK3A Gaming Table Controls, using an Arduino Leonardo//

void setup() {
  Keyboard.begin();


  //Joystick and buttons pin allocations
  pinMode(0, INPUT_PULLUP); //Joystick Up
  pinMode(1, INPUT_PULLUP); //Joystick Down
  pinMode(2, INPUT_PULLUP); //Joystick Left
  pinMode(3, INPUT_PULLUP); //Joystick Right
  pinMode(4, INPUT_PULLUP); //Button 1
  pinMode(5, INPUT_PULLUP); //Button 2
  pinMode(6, INPUT_PULLUP); //Button 3
  pinMode(7, INPUT_PULLUP); //Button 4
  pinMode(8, INPUT_PULLUP); //Coin
  pinMode(9, INPUT_PULLUP); //Start
}


void loop() {


  // Button labels:
  int joystickUp = digitalRead(0);
  int joystickDown = digitalRead(1);
  int joystickLeft = digitalRead(2);
  int joystickRight = digitalRead(3);
  int button1 = digitalRead(4);
  int button2 = digitalRead(5);
  int button3 = digitalRead(6);
  int button4 = digitalRead(7);
  int coin = digitalRead(8);
  int start = digitalRead(9);


  // Joystick Up - Arrow Up Key
  if (joystickUp == LOW) {
    Keyboard.press(218);
  }
  else {
    Keyboard.release(218);
  }


  // Joystick Down - Arrow Down Key
  if (joystickDown == LOW) {
    Keyboard.press(217);
  }
  else {
    Keyboard.release(217);
  }


  // Joystick Left - Arrow Left Key
  if (joystickLeft == LOW) {
    Keyboard.press(216);
  }
  else {
    Keyboard.release(216);
  }


  // Joystick Right - Arrow Right Key
  if (joystickRight == LOW) {
    Keyboard.press(215);
  }
  else {
    Keyboard.release(215);
  }


  // Button 1 - Left CTRL
  if (button1 == LOW) {
    Keyboard.press(128);
  }
  else {
    Keyboard.release(128);
  }


  // Button 2 - Left ALT
  if (button2 == LOW) {
    Keyboard.press(130);
  }
  else {
    Keyboard.release(130);
  }


  // Button 3 - Left CTRL
  if (button3 == LOW) {
    Keyboard.press(32);
  }
  else {
    Keyboard.release(32);
  }


  // Button 4 - Left CTRL
  if (button4 == LOW) {
    Keyboard.press(129);
  }
  else {
    Keyboard.release(129);
  }


  // Coin - 5
  if (coin == LOW) {
    Keyboard.press(53);
  }
  else {
    Keyboard.release(53);
  }


  // Start - 1
  if (start == LOW) {
    Keyboard.press(49); delay(100);
  }
  else {
    Keyboard.release(49);
  }
  
}&lt;/pre&gt;&lt;/p&gt;
&lt;div style="display:none;"&gt;&lt;/div&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c6"&gt;Audio&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;These cube-shaped USB speakers from CPC were perfect for this job. Admittedly, you&amp;#39;re about to void the warranty, but they&amp;#39;re not expensive &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-wikis-components-files/00-00-00-01-66/6758.contentimage_5F00_1.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6758.contentimage_1.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=5H6ZaymZDlHaAI%2B%2BqyhfGNViQbEIhj4H8zgkrUgvpj4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zGEM7pHL10Vt71gae75OdA==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;What&amp;#39;s great about them is that they&amp;#39;re powered externally, so you get better volume, they&amp;#39;re small, and the volume control is beautifully low profile; we&amp;#39;re going to transplant that onto the edge of the PIK3A&amp;#39;s table top next to the start and coin buttons. The speakers themselves are mounted inside the table, pointing downwards (so the grille holes aren&amp;#39;t visible from the top).&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;There&amp;#39;s nothing fancy about this task. Dismantle the speakers, desolder and then resolder each cable &lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;in turn &lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;so you can remove the speaker housings. You&amp;#39;ll also need to extend the wires for the right speaker, as they&amp;#39;re very short on account of being in the same housing as the volume control board. The 3.5mm jack goes into the Pi&amp;#39;s audio output.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Fix the speakers inside the table on either side of the access hole for the joystick and buttons, and drill a 10mm hole in the front edge of the table for the volume control potentiometer. We then used heat glue to keep the volume control board in place.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Dismantling and Installing the Speakers&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Unscrew the front of the speakers and remove the volume control. You&amp;#39;ll need to pry the dial off the back and unscrew the nut holding it in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4555.contentimage_5F00_199769.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4555.contentimage_199769.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=CAGAvDTySXmA7wj%2FdGL02HEb%2F5Z1j4goMJfWc80GlgE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=63ZXDjwz1D+TihH8sloogw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;"&gt;
&lt;p style="margin:0;"&gt;Desolder and reattach the various cables (one at a time, ideally) from the volume control board so you can remove the cube-shaped housings. Extend the wires for the right speaker, too.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8787.contentimage_5F00_199770.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8787.contentimage_199770.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=D7Tr5VyWmeEHxf3kmDKfIiu9IxjcrlYGBrTaF9%2B0j7o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=TszLGmYW4uAFKlUFC7WAUg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Drill a mounting hole in the edge of the table to relocate the volume control.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7282.contentimage_5F00_199771.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7282.contentimage_199771.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=bjT%2BnSItAulALRYhNwLnNv88SVQ9biNq4ZHA5wRiZbA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=pLnDZnZx810DBVxFBLZYpQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mark the mounting holes for the speakers on either side of the rear access panel.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5148.contentimage_5F00_199772.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5148.contentimage_199772.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=jdGLggMu6lLia79KvX5ulvfkZL6cKlfXnWWvB%2FZvNOM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=kB6xiViqnRYh6MPgPM7xYw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Drill a few holes for the sound to get out, and then you can fix the speakers in place and the volume control in place. It&amp;#39;s probably easier to do it before the joystick and buttons are in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8371.contentimage_5F00_199773.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8371.contentimage_199773.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=L0kbb%2BbSHRvRMvE92t10eDaaOYSlph%2F1zCkoG6rpPY0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=koJgMIDTQtPukKUuOWXLXQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c7"&gt;Power&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;There wasn&amp;#39;t really much room left to embed a mains extension inside the table. We cut a connector into the bottom, and wired the extension lead into that. This way we can add a longer power cable if required, or even use one for different regions should the PIK3A table find itself going abroad.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;We&amp;#39;ve powered the speakers and Pi separately, just to spread the load out a bit, but to be honest the Pi3 could handle the speakers from its USB ports. The choice is yours, here.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;The monitor, Pi3 and speakers are all connected into the mains extension, powering everything up while hiding the connections beneath the table.&lt;/span&gt;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Powering all the Parts&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mark a square in the back corner underneath the table and cut a hole for the power connector. The mains extension is going to connect to the rear of this IEC connector.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0842.contentimage_5F00_199774.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0842.contentimage_199774.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=wKV5f1tDe5oGuAkNtFh7fJDY%2F1CyhruQAZd16nE6VHE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=dWdtFzQHBf8JHQ6nxLSuEg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove the plug from the back of the mains extensions, feed the cable through the inside of the table and bring it out of the hole for the IEC connector. You can now solder the wires to the reverse of the IEC connector, and fit it in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0456.contentimage_5F00_199775.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0456.contentimage_199775.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rs0mcY%2BptG9USrBxWLbiF%2BOCfECh1KK5u0t40F0stWk%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=SJYOea6fgsSZzoOXQlJ3UQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;&lt;span style="line-height:1.5;"&gt;It doesn&amp;#39;t hurt to screw the mains extension to the bottom of the table, too. In my experience, they tend to fall off the eyelet holes if there&amp;#39;s a light breeze, so this one is screwed in place from inside.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="line-height:1.5;"&gt;You can plug the monitor and a couple of USB adapters into this, to power the screen, Raspberry Pi and speakers, while only requiring one power cable.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8284.contentimage_5F00_199776.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8284.contentimage_199776.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=vm0RRbpDdbSJRmJxYslkNPh3FJ%2Bd6sxFfZd6rqJcnBI%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=l87Ev317Qsw8/Rk36havKA==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1i2tfru4c8"&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1i2tfru4c9"&gt;Finishing Touches&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;The monitor is a bit vulnerable here, so we decided to get a piece of 3mm acrylic cut to the same size as the table top (550mm by 550mm). It&amp;#39;s just screwed into the table top in each corner, and the screws hidden behind screw caps. It&amp;#39;s a cheap way to keep things protected.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;I also added a panel mount USB port next to the access panel underneath, just in case I ever need to plug a USB keyboard (or other peripheral -- it could be a joypad if you wanted) into the Pi3.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;{gallery:autoplay=false} Finishing Touches&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;An external USB port that goes into the Pi. This is a good one, as it also has a dust cap, since this probably isn&amp;#39;t going to get a lot of use.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/6131.contentimage_5F00_199777.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6131.contentimage_199777.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Svw7u9hX8La8UQf0LizA4oYa%2FLFQfa3C8%2F0MZCjaJ%2B4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=xL03CdkLHeZ60oG3QPDcXQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;If you decide to put an acrylic or polycarbonate sheet on top to protect the monitor, remember to put it in place before you insert the buttons, as they&amp;#39;ll need to pass through the sheet.&lt;/p&gt;
&lt;p style="margin:0;"&gt;Here we&amp;#39;ve screwed it in place in each corner, and covered the screw heads with caps.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5545.contentimage_5F00_199778.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5545.contentimage_199778.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=72hYmdMPWLhXm0wjLobA98y2VUdlfD9x7MnHI%2BxmM58%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=aavG6GV6ka3/RP1SqTSIjw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remember how you saved the cut out from the monitor hole? Trim it down to make a cover for the access panel on the back, after notching the bottom of the table as an exit for the power cables.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0777.contentimage_5F00_199779.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0777.contentimage_199779.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=c4Ix0kCBgLireuRYa78yes4aRJ9t2MmMQUB3Ibnh9F0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=FzXm7x/SZ5O4GIZz/wok+A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;The finished PIK3A table is strong enough to hold Baxter here, but given how much we&amp;#39;ve hollowed it out, be careful about how much weight you put on it. Definitely don&amp;#39;t stand on it to change a light bulb (mind you, I wouldn&amp;#39;t trust these enough do that with a new Ikea table).&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7624.contentimage_5F00_199780.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7624.contentimage_199780.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BAc1ks8qfb3ubPy2fMZTuczKxvvubDD6lViirPbH0D4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=EAmUvHOFNSYDdXT7/RlZyw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Then it&amp;#39;s just a case of screwing the legs to the table top, and &lt;a class="jive-link-external-small" href="http://blog.petrockblock.com/retropie/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;installing RetroPie on the SD card&lt;/a&gt;. There&amp;#39;s one additional step you might have to perform for the time being, to get RetroPie running in the Raspberry Pi 3. The developers will undoubtedly fix things very soon, but for the moment we had to copy over the &amp;quot;&lt;strong&gt;*.elf&lt;/strong&gt;&amp;quot; files &lt;span style="font-size:12pt;"&gt;(that&amp;#39;d be &lt;/span&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/468x263/__key/communityserver-wikis-components-files/00-00-00-01-66/3414.contentimage_5F00_199781.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3414.contentimage_199781.jpg-468x263.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=HH8b8EnceOSv4APOtls4yb37uUm4RxWfaI527TrlM1Y%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=BlPHABF8zWLw0Po3P4wgAQ==" style="max-height: 263px;max-width: 468px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;&lt;span style="line-height:1.5;"&gt;start.elf, &lt;/span&gt;start_cd.elf, start_db.elf&lt;/strong&gt; and &lt;strong&gt;start_x.elf&lt;/strong&gt;)&lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt; from the &lt;strong&gt;&amp;quot;Boot&amp;quot;&lt;/strong&gt; partition of an SD card that had the official, Raspberry Pi NOOBs image.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Not a complex or particularly onerous task, but a necessary one for the time being. This should get RetroPie booted up and running beautifully on your awesome new &lt;strong&gt;PIK3A retro gaming table&lt;/strong&gt;. I&amp;#39;m sure it won&amp;#39;t be long at all before this step becomes unnecessary, of course -- likely by the time you&amp;#39;ve built your cab.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:14pt;line-height:24px;"&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; The RetroPie guys have already released an updated image, so you don&amp;#39;t have to jump through any hoops to get RetroPie working on your Raspberry Pi 3! Great work, guys!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:14pt;line-height:24px;"&gt;&lt;a class="jive-link-external-small" title="http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/" href="http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;As you can see, this is a pretty fascinating interpretation of the classic gaming system, so we&amp;#39;d be particularly interested in seeing how you might do the same, as much as copy our build part for part. &lt;strong&gt;Post your own retro gaming projects right here in the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/raspberry-pi/raspberrypi_projects/" data-e14adj="t"&gt;Raspberry Pi Projects&lt;/a&gt; sections, and casually blow our minds!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;If you want to see them in action right away, &lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1373/celebrate-the-raspberry-pi-birthday-with-element14" data-e14adj="t"&gt;join us as we head out and about on the Raspberry Pi 3&amp;#39;s launch day in Leeds and Chicago&lt;/a&gt;!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;And if you&amp;#39;re looking to delve a little deeper into the Raspberry Pi 3, why not sign up for our RoadTest right now and review the unit for the world to see?&lt;/span&gt;&lt;/p&gt;
&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1i2tfru4ca" class="migration-injected-attachments"&gt;Supporting Downloads/Files&lt;/h2&gt;
&lt;div class="migration-injected-attachments"&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/products/raspberry-pi/raspberrypi_projects/m/files/149593"&gt;PIK3A Supporting Files&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;table style="border:0;"&gt;
&lt;tbody&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div class="migration-injected-attachments"&gt;&lt;/div&gt;
&lt;div class="migration-injected-attachments"&gt;&lt;/div&gt;
&lt;table style="background-color:#000;" width="100%" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin:6pt 4pt;" width="100%" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="padding-right:4pt;vertical-align:top;" rowspan="3" width="54px"&gt;&lt;a href="http://www.raspberrypi.org/" data-icid="rpimain-Pik3a-doclink" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;img loading="lazy" alt="image"  height="65px" src="/e14/assets/legacy/raspberrypi/Pilogo_rpi.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:0pt 2pt;vertical-align:top;" colspan="3"&gt;&lt;a class="" href="https://www.element14.com/community/community/raspberry-pi/raspberrypi3?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;&lt;span style="color:#fff;font-weight:bold;"&gt;&lt;span style="color:#d6264f;"&gt;NEW!&lt;/span&gt; Raspberry Pi 3 Model B&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1384/raspberry-pi-3-model-b-frequently-asked-questions-faqs" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Frequently Asked Questions&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/17004/raspberry-pi-4-3-b-pi-3-pi-2-b-a-comparison-chart" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Comparison Chart&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1375/raspberry-pi-3-model-b-technical-specifications" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Technical Specifications&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1374/raspberry-pi-3-model-b-unboxing---official-element14-video" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Unboxing Video&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/m/files/17428" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;40 Pin Out&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;script&gt;window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadGallery(window.document);}, true );&lt;/script&gt;

&lt;div style="font-size: 90%;"&gt;Tags: fruitful_three, retro gaming, raspberry pi arcade cabinet, picade, pi3, pik3a, gaming, raspberry pi 3, raspberry_pi_projects, pikea, video games&lt;/div&gt;
</description></item><item><title>PIK3A: The Raspberry Pi 3 IKEA Retro Gaming Table</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/1383/pik3a-the-raspberry-pi-3-ikea-retro-gaming-table/revision/2</link><pubDate>Tue, 16 Jul 2024 10:02:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5fc1b35b-9f81-4def-a337-b1a5f549b7d2</guid><dc:creator>cstanton</dc:creator><description>Revision 2 posted to Documents by cstanton on 7/16/2024 10:02:27 AM&lt;br /&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="font-size:12pt;"&gt;Gaming is the perfect way to help newcomers to the Raspberry Pi to connect it with a recognisable lifestyle technology. It&amp;#39;s the perfect stepping stone to bring people eye-to-eye with the Raspberry Pi; if it can play all those awesome, classic arcade games, it can also do so much more!&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/446x446/__key/communityserver-wikis-components-files/00-00-00-01-66/3808.contentimage_5F00_199746.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3808.contentimage_199746.jpg-446x446.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=CMIjwNOUXUWf1%2FOvoCVqkF8AaTHqC%2FI0Z9G%2BMI0wobY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Xi+yv6HBMyxaCGNMfUk4+g==" style="max-height: 446px;max-width: 446px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;And that&amp;#39;s why gaming is often our go-to project when it&amp;#39;s time to show people what the Pi is all about. But this time around, with the &lt;strong&gt;Raspberry Pi&lt;a class="" href="https://www.element14.com/community/community/raspberry-pi/raspberrypi3?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" data-icid="rpimain-Pik3a-doclink" target="_blank" data-e14adj="t"&gt; 3&lt;/a&gt;&lt;/strong&gt; now in the wild, we wanted to do something a little bit different, too. So here&amp;#39;s how to make your own minimalist, contemporary interpretation of the classic coin-op cocktail cabinet that uses an IKEA coffee table and a Raspberry Pi 3.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Meet the &lt;strong&gt;PIK3A Gaming Table&lt;/strong&gt;!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1i2tfru4c0"&gt;Parts, Bits and Pieces&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;So here&amp;#39;s the gist of this simple, but super-stylish project.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;It&amp;#39;s an IKEA Lack coffee table with an LCD monitor cut into the top, arcade controls next to the monitor, and a Raspberry Pi 3 and accessories buried inside the table.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Let&amp;#39;s begin with an overview of the parts you&amp;#39;ll need:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Cabinet: &lt;/strong&gt;IKEA Lack coffee table.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Brains: &lt;/strong&gt;&lt;a class="jive-link-external-small" href="http://www.element14.com/raspberrypi?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;Raspberry Pi&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Controls: &lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;a id="e14-product-link-11517" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2133071&amp;nsku=07W3936&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('11517'));" data-farnell="2133071" data-newark="07W3936" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Arduino Leonardo&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Joystick: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A classic, four-way ball-top joystick.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Buttons: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;a class="jive-link-external-small" href="http://cpc.farnell.com/1/3/arcade-style-push-button?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;From CPC&lt;/a&gt;&amp;nbsp; - &lt;a class="jive-link-external-small" href="http://electronics.mcmelectronics.com/electronics/Arcade-Button" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;From MCM&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Display: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;An old 17&amp;quot; LCD monitor (4:3 ratio is better given the square shape of the table).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;Th&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;e&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; Sound:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;a class="jive-link-external-small" href="http://cpc.farnell.com/arctic/spaso-sp001bk-gba01/speakers-portable-arctic-s111/dp/CS29306?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;This pair of USB-powered computer speakers&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; &lt;strong&gt;Power: &lt;/strong&gt;A Raspberry Pi 2.5A USB power supply, and a mains extension.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Stuff: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Cables, connectors, screws.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1i2tfru4c1"&gt;Table Top Gaming&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;This isn&amp;#39;t really intended as a woodworking project, but we trashed at least one table when prototyping this so maybe we can help you to make only the holes the table needs. &lt;/span&gt;&lt;span style="font-size:12pt;"&gt;So, let&amp;#39;s begin with the hacking and sawing, and then we&amp;#39;ll look at the innards.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c2"&gt;Dismantle Your Monitor&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The old Acer AL1716 monitors we used seem fairly generic, in terms of 17&amp;quot; LCD screens, so hopefully yours will pan out the same. By taking the screen chassis out of the plastic casing (nothing complicated there -- take out the screws and prize the two halves apart) you should be left with the screen inside the shielding housing that&amp;#39;s almost exactly the same depth as a LACK coffee table. This means that once you&amp;#39;ve got the screen, all you need to do is drop it into the hole we&amp;#39;re about to cut into the PIK3A table top.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;And by removing the bezel around the LCD, the screen will sit flush with the top of the table, and give you that essential minimalist finish.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;{gallery:autoplay=false} Removing the LCD from the Monitor Housing&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove the stand, and any screws in the back of the monitor&amp;#39;s housing.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/6131.contentimage_5F00_199747.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6131.contentimage_199747.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=htcUvIrqnxnsJvbWAkMc5ciHA%2BYia%2FvAA%2BJjepB3zZM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=tlwgP1qshMPHxtiukPivew==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;It&amp;#39;s probably all clipped together, so carefully pry the back of the housing away from the silver bezel around the screen.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5545.contentimage_5F00_199748.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5545.contentimage_199748.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=7kR3Z9A0QpoXrANNEl5iSwQpQrMCT0fvzuu69utHsBE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=36tIkpphjGygTYhLAg320A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;You don&amp;#39;t need to remove any of the shielding inside once the housing is apart. This is better left in place, to protect the back of the LCD. Note that you might need to relocate (and protect/insulate) the small PCB with the monitor&amp;#39;s buttons on.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0777.contentimage_5F00_199749.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0777.contentimage_199749.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=bjjCUY11x9TTwz3N8Lrby5Q6u7Pa1wEcE7kMecV3oJM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=7z+ry9+cMDYdtojyrMn/Uw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove any small screws that fix the bezel to the LCD&amp;#39;s shielding.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8272.contentimage_5F00_199750.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8272.contentimage_199750.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=r8huthNYG9MDlnL7ltP17J0%2FxpdbQj5%2BrfCDFq4qam8%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hrR4Wqe/dAZ28xKGjANMhg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Leaving you with an LCD panel that&amp;#39;ll sit nice and flush to the table top.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/3414.contentimage_5F00_199751.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3414.contentimage_199751.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=OKocMpIpb7HU9y9mfPQDkPQ%2Ff0oX%2BWd3%2BeBnBpxYwP0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bKW+HnPwhDBlBiHCjcCZLg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c3"&gt;Screen Mounting&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The first time out we used a Dremel with a router attachment to cut the hole in the table top for the monitor, which actually worked very nicely. However, these ultra-cheap tables really don&amp;#39;t warrant that much power tool action, when a Stanley knife does the job just as easily and with a lot less mess. The choice is yours, of course.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Below you can see how we drew around the screen to get the sizing for the hole, and then drilled 13mm holes in each corner to give the cut-out some nice, radius corners.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Clamp a straight edge along the outside of the line you want to cut, and repeatedly run the knife along it. Remember not to cut all the way into the hole on the opposite side from where you started. Chances are the knife will continue and make a mess of the nice radius you put in there. Instead, stop 10cm short and cut again from the other end.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Go around all four sides (it won&amp;#39;t take a lot of effort) and prize out the cut-out piece. It won&amp;#39;t just come free, as it&amp;#39;s glued to the structural filling inside the table, so take care when prizing it up so as not to damage the surface of the table. Run a knife around the honeycomb paper filling, and pull it out. You now have a hole to drop the monitor in.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Mounting the Screen in the Table&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Lay the dismantled monitor on the table and draw around it. I also put the joystick and buttons roughly in place, to help locate the monitor in its ideal position.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2818.contentimage_5F00_199752.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2818.contentimage_199752.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hjWA4%2FVnot%2FBocbcYXe%2B7L6OtYbbS0pqlooVcYzVOhQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=H1EpoKQa9yp/kEk3ihFbcg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Use the drill bit for the corners to mark where to drill. This&amp;#39;ll give you nice, rounded corners on the cut out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5141.contentimage_5F00_199753.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5141.contentimage_199753.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2BVLqU5k%2BQZ4Vl%2FljAHFaN%2B4I0RehPGgj5CJla1NR9ks%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=AbNe7HmFaZuD0/aLvKxV+w==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Drill the four corner holes for the cut out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/1832.contentimage_5F00_199754.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1832.contentimage_199754.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=pOvq3YgWpbZTQe2WJDXGtO7AZc8AYc2WPKXMADuHAZg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=i5ppwXLuPB9W/VkSTKyMnw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mask off the area around the hold, to protect the surface of the table when you clamp a straight edge to it.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8787.contentimage_5F00_199755.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8787.contentimage_199755.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2FaJzCuA6rvpgzw%2B0aBdY%2F7SkMjeK9pEDpcBVrILQ1m4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bk/g/3fFRRbyQIZ29JI2Lg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Clamp a straight edge to the outside of the cut out (so if you slip, the damage will be on the piece you&amp;#39;re removing), and make lots of gentler cuts from one hole along the straight edge, stopping short of the second hole. Cut from the second hole, back along the same line to prevent the knife from slipping and damaging the radius of the second hole.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7282.contentimage_5F00_199756.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7282.contentimage_199756.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=DC6OjgytQ81Ywa38johTgNRcc2prwTgDKF0w7E53UBQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=SxrHymUkkiWQl7DnLuxjpQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;When you&amp;#39;ve cut right through the table top on all four sides, carefully pry the cut out up. It&amp;#39;ll be stuck to the innards of the table, but will come free with a little effort. Save the cut out for later on.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2425.contentimage_5F00_199757.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2425.contentimage_199757.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9y8hppgk%2BZvmJ9ITELikzWPGjsWxxjIa%2B1p4tFX%2FrIE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=y0BOfa0Hk5bUmSdoLgR9bA==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Run a knife around the honeycomb and rip it out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8371.contentimage_5F00_199758.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8371.contentimage_199758.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=n6oMB1WPKxUIu%2FTLUD%2BeqKgHgoFn23youc0maAYaB0A%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=d0uoGYM5iOMQCH5nxXpRHQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;You&amp;#39;ve a nice, neat, monitor-shaped hole in the table!&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4162.contentimage_5F00_199759.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4162.contentimage_199759.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=j1sLtsyipEUD4E95Y53APz7iAR2MFLY3TeSs8WE8QWU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=mhNMDIKeoDedNh0neXw3vQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;If it&amp;#39;s all gone well, take a moment to feel a little smug about yourself.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2018.contentimage_5F00_199760.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2018.contentimage_199760.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=qHaMbB0m1EpXncnkpAthYYyW%2Fu20ZhYLWzvetNJdRsM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=1MEptyQb06swDgEATSXP1A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c4"&gt;Control Mounting&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Flip the table top over and cut a letter box into the back. This gives you access to the inside-back of the table top so you can mount the joystick and buttons. Cut it out the same way as before and remove the honeycomb.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Mark where you want to mount your joystick and buttons -- we went with four buttons -- and drill 28mm holes for each one. This is the standard size for arcade buttons, and also gives the joystick plenty of room to move without the hole being visible around the round, flat cover that comes with the joystick.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;But we didn&amp;#39;t want any fixings visible on the PIK3A table top, which meant we couldn&amp;#39;t use the mounting holes in the joystick&amp;#39;s plate. Instead, we removed the mounting plate and used the screws that attach it to the body of the joystick (where the microswitches are) to fix the joystick in place. They&amp;#39;re a little bit short, but when you countersink the holes in the table top, they&amp;#39;ll still reach and grab hold of the thread solidly.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;You&amp;#39;ll need to remove the mounting plate&amp;#39;s screws and the ball top, and then offer the joystick up from underneath the table. It&amp;#39;s a little tricky, as the plate will be loose when you&amp;#39;re inserting the joystick into the table, but it&amp;#39;s not too hard. When it&amp;#39;s in place, replace the mounting plate&amp;#39;s screws when passing them through the table top, put the round cover over the stick, put the ball top back on, and&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; you&amp;#39;ve fixed the joystick in place without any visible screws.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The buttons are a simple matter -- drill the 28mm hole, and put the nut on the back of the button! We went with a diamond arrangement for the buttons, plus a start button and coin button on the side of the table top.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Mounting the Controls&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;I was a bit rougher cutting the access panel in the back, as it&amp;#39;s not as visible as the table top. So mark it up, and cut out the minimum that you need (to help maintain the table&amp;#39;s already waning stability).&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7128.contentimage_5F00_199761.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7128.contentimage_199761.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QXaZdegBd2GHsm3%2FrMExRFHRIcAINE1Q1lLN9zBfH4o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hbtzx/NFJyAae1ro0H1P9w==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;The access panel cut out.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/1351.contentimage_5F00_199762.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1351.contentimage_199762.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ns84CEq2PS05yj8txZ%2FawhJBLe6KRcQeG9km3ds%2FqoU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=eLkzIlwkxdvAB19fvhctEw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mark where you want your buttons and joystick (including those on the edge for coin and start), and drill 28mm holes for each one.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8206.contentimage_5F00_199763.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8206.contentimage_199763.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=tBX7uzAVe1kCDir%2FZGke%2B9w1cILEckXkGcN8oeFVtmQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=rbl5skAytzIZAgXG588vUw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove the mounting plate from the joystick. These are the mounting holes you&amp;#39;ll use to hold the joystick in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7612.contentimage_5F00_199764.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7612.contentimage_199764.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BVEOk508G3%2BIr1ez5KHTuhbs00rhE3jNf97c7qBphjk%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=6lnhIgWxUewImKKfMWGDKg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Use the mounting plate to mark the four holes just around the centre. You&amp;#39;ll also need to countersink these holes so the screw heads sit flush.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2844.contentimage_5F00_199765.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2844.contentimage_199765.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=B9mh7ixH9OLoVqA9nfp%2BWt60vWDbWAmi7lZdS%2FaBIo0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=QnQJh2BG75nuojg8/qthYg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Remove the ball top from the joystick, hold the mounting plate in place underneath and screw the joystick in place from above.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4062.contentimage_5F00_199766.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4062.contentimage_199766.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=oMfJH2FwmBrHdOQohWWNjXT%2BXWHrE2uKbjcoiS4xv0U%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bqxvcl/TYajLuFunmM4Etw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Put the round cover over the joystick and screw the ball top back in place. And you can now fix all the buttons in place, too.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8204.contentimage_5F00_199767.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8204.contentimage_199767.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QYSE2nNEoOnkotbPhQYGABOCyUtIRiXr9JGDTRs3yGA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nPTRh0/Xbpo59JVr0qVfHw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c5"&gt;Control Interface&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Arcade controls are actually very simple. Even the joysticks are effectively just normally open push buttons (one for each of the four directions). The thing is, computers like the Raspberry Pi don&amp;#39;t generally accept such simple buttons as a controller! So we&amp;#39;ve opted for an Arduino Leonardo as a way to interface the arcade controls with the Raspberry Pi (moreover, the video game emulators the Pi will be running), as it can be set to identify itself to the computer/Raspberry Pi as a standard keyboard.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;So each button is connected into one of the Leonardo&amp;#39;s inputs, which translates them into keyboard key presses. A ground wire loops around the other side of each microswitch. Because we love the old coin-ops, we set ours up using the standard keyboard controls for MAME. You don&amp;#39;t have to do this, but it&amp;#39;ll save you a job if you do it this way.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/837x439/__key/communityserver-wikis-components-files/00-00-00-01-66/2437.contentimage_5F00_199768.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2437.contentimage_199768.png-837x439.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=atxRvLRTnUOG1zb1vQvABLUMyJOBbkgGgu7MuVfLT8c%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=E41j3s8CvHyQAJwkS4+9tQ==" style="max-height: 439px;max-width: 837px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;a class="jive-link-external-small" href="https://www.arduino.cc/en/Main/Software" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;Download and install the Arduino IDE&lt;/a&gt;, if you haven&amp;#39;t already, and plug in your Leonardo to your computer via a USB cable. Below is the code we hammered together that translates the joystick and buttons into key presses (using the MAME standards, as previously mentioned). But coders we ain&amp;#39;t, so if you can improve on this sketch, please post it in the comments.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Before that, here&amp;#39;s what to do if you&amp;#39;ve never played with Arduino before (skip ahead if you know how to upload the sketch to your Leonardo).&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;A &amp;quot;sketch&amp;quot; is a program that your Leonardo will run after it&amp;#39;s been uploaded. You can copy and paste the code below into the Arduino IDE window, or download the attached sketch file and open it using the IDE window. It&amp;#39;s the same code, but take your pick of how to get onto the Arduino.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Take a read through, and you&amp;#39;ll see how each input relates to a specific keyboard key press. You can make any desired changes here before uploading to the Leonardo.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click the &amp;quot;Tools&amp;quot; menu and select &amp;quot;Arduino Leonardo&amp;quot; from the &amp;quot;Board&amp;quot; option.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click &amp;quot;Tools&amp;quot; again, and select your Leonardo from the list in the &amp;quot;Ports&amp;quot; option. It&amp;#39;s now ready for uploading your sketch.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click the &amp;quot;Upload&amp;quot; button (a circular button with a right-facing arrow in it) to upload the sketch, and the Leonardo is ready to rock.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;Sketch Code:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;//element14 PIK3A Gaming Table Controls, using an Arduino Leonardo//

void setup() {
  Keyboard.begin();


  //Joystick and buttons pin allocations
  pinMode(0, INPUT_PULLUP); //Joystick Up
  pinMode(1, INPUT_PULLUP); //Joystick Down
  pinMode(2, INPUT_PULLUP); //Joystick Left
  pinMode(3, INPUT_PULLUP); //Joystick Right
  pinMode(4, INPUT_PULLUP); //Button 1
  pinMode(5, INPUT_PULLUP); //Button 2
  pinMode(6, INPUT_PULLUP); //Button 3
  pinMode(7, INPUT_PULLUP); //Button 4
  pinMode(8, INPUT_PULLUP); //Coin
  pinMode(9, INPUT_PULLUP); //Start
}


void loop() {


  // Button labels:
  int joystickUp = digitalRead(0);
  int joystickDown = digitalRead(1);
  int joystickLeft = digitalRead(2);
  int joystickRight = digitalRead(3);
  int button1 = digitalRead(4);
  int button2 = digitalRead(5);
  int button3 = digitalRead(6);
  int button4 = digitalRead(7);
  int coin = digitalRead(8);
  int start = digitalRead(9);


  // Joystick Up - Arrow Up Key
  if (joystickUp == LOW) {
    Keyboard.press(218);
  }
  else {
    Keyboard.release(218);
  }


  // Joystick Down - Arrow Down Key
  if (joystickDown == LOW) {
    Keyboard.press(217);
  }
  else {
    Keyboard.release(217);
  }


  // Joystick Left - Arrow Left Key
  if (joystickLeft == LOW) {
    Keyboard.press(216);
  }
  else {
    Keyboard.release(216);
  }


  // Joystick Right - Arrow Right Key
  if (joystickRight == LOW) {
    Keyboard.press(215);
  }
  else {
    Keyboard.release(215);
  }


  // Button 1 - Left CTRL
  if (button1 == LOW) {
    Keyboard.press(128);
  }
  else {
    Keyboard.release(128);
  }


  // Button 2 - Left ALT
  if (button2 == LOW) {
    Keyboard.press(130);
  }
  else {
    Keyboard.release(130);
  }


  // Button 3 - Left CTRL
  if (button3 == LOW) {
    Keyboard.press(32);
  }
  else {
    Keyboard.release(32);
  }


  // Button 4 - Left CTRL
  if (button4 == LOW) {
    Keyboard.press(129);
  }
  else {
    Keyboard.release(129);
  }


  // Coin - 5
  if (coin == LOW) {
    Keyboard.press(53);
  }
  else {
    Keyboard.release(53);
  }


  // Start - 1
  if (start == LOW) {
    Keyboard.press(49); delay(100);
  }
  else {
    Keyboard.release(49);
  }
  
}&lt;/pre&gt;&lt;/p&gt;
&lt;div style="display:none;"&gt;&lt;/div&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c6"&gt;Audio&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;These cube-shaped USB speakers from CPC were perfect for this job. Admittedly, you&amp;#39;re about to void the warranty, but they&amp;#39;re not expensive &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-wikis-components-files/00-00-00-01-66/6758.contentimage_5F00_1.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6758.contentimage_1.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=5H6ZaymZDlHaAI%2B%2BqyhfGNViQbEIhj4H8zgkrUgvpj4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zGEM7pHL10Vt71gae75OdA==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;What&amp;#39;s great about them is that they&amp;#39;re powered externally, so you get better volume, they&amp;#39;re small, and the volume control is beautifully low profile; we&amp;#39;re going to transplant that onto the edge of the PIK3A&amp;#39;s table top next to the start and coin buttons. The speakers themselves are mounted inside the table, pointing downwards (so the grille holes aren&amp;#39;t visible from the top).&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;There&amp;#39;s nothing fancy about this task. Dismantle the speakers, desolder and then resolder each cable &lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;in turn &lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;so you can remove the speaker housings. You&amp;#39;ll also need to extend the wires for the right speaker, as they&amp;#39;re very short on account of being in the same housing as the volume control board. The 3.5mm jack goes into the Pi&amp;#39;s audio output.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Fix the speakers inside the table on either side of the access hole for the joystick and buttons, and drill a 10mm hole in the front edge of the table for the volume control potentiometer. We then used heat glue to keep the volume control board in place.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Dismantling and Installing the Speakers&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Unscrew the front of the speakers and remove the volume control. You&amp;#39;ll need to pry the dial off the back and unscrew the nut holding it in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4555.contentimage_5F00_199769.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4555.contentimage_199769.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=CAGAvDTySXmA7wj%2FdGL02HEb%2F5Z1j4goMJfWc80GlgE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=63ZXDjwz1D+TihH8sloogw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;"&gt;
&lt;p style="margin:0;"&gt;Desolder and reattach the various cables (one at a time, ideally) from the volume control board so you can remove the cube-shaped housings. Extend the wires for the right speaker, too.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8787.contentimage_5F00_199770.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8787.contentimage_199770.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=D7Tr5VyWmeEHxf3kmDKfIiu9IxjcrlYGBrTaF9%2B0j7o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=TszLGmYW4uAFKlUFC7WAUg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Drill a mounting hole in the edge of the table to relocate the volume control.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7282.contentimage_5F00_199771.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7282.contentimage_199771.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=bjT%2BnSItAulALRYhNwLnNv88SVQ9biNq4ZHA5wRiZbA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=pLnDZnZx810DBVxFBLZYpQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mark the mounting holes for the speakers on either side of the rear access panel.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5148.contentimage_5F00_199772.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5148.contentimage_199772.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=jdGLggMu6lLia79KvX5ulvfkZL6cKlfXnWWvB%2FZvNOM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=kB6xiViqnRYh6MPgPM7xYw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Drill a few holes for the sound to get out, and then you can fix the speakers in place and the volume control in place. It&amp;#39;s probably easier to do it before the joystick and buttons are in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8371.contentimage_5F00_199773.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8371.contentimage_199773.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=L0kbb%2BbSHRvRMvE92t10eDaaOYSlph%2F1zCkoG6rpPY0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=koJgMIDTQtPukKUuOWXLXQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1i2tfru4c7"&gt;Power&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;There wasn&amp;#39;t really much room left to embed a mains extension inside the table. We cut a connector into the bottom, and wired the extension lead into that. This way we can add a longer power cable if required, or even use one for different regions should the PIK3A table find itself going abroad.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;We&amp;#39;ve powered the speakers and Pi separately, just to spread the load out a bit, but to be honest the Pi3 could handle the speakers from its USB ports. The choice is yours, here.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;The monitor, Pi3 and speakers are all connected into the mains extension, powering everything up while hiding the connections beneath the table.&lt;/span&gt;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Powering all the Parts&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Mark a square in the back corner underneath the table and cut a hole for the power connector. The mains extension is going to connect to the rear of this IEC connector.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0842.contentimage_5F00_199774.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0842.contentimage_199774.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=wKV5f1tDe5oGuAkNtFh7fJDY%2F1CyhruQAZd16nE6VHE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=dWdtFzQHBf8JHQ6nxLSuEg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remove the plug from the back of the mains extensions, feed the cable through the inside of the table and bring it out of the hole for the IEC connector. You can now solder the wires to the reverse of the IEC connector, and fit it in place.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0456.contentimage_5F00_199775.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0456.contentimage_199775.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rs0mcY%2BptG9USrBxWLbiF%2BOCfECh1KK5u0t40F0stWk%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=SJYOea6fgsSZzoOXQlJ3UQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;&lt;span style="line-height:1.5;"&gt;It doesn&amp;#39;t hurt to screw the mains extension to the bottom of the table, too. In my experience, they tend to fall off the eyelet holes if there&amp;#39;s a light breeze, so this one is screwed in place from inside.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="line-height:1.5;"&gt;You can plug the monitor and a couple of USB adapters into this, to power the screen, Raspberry Pi and speakers, while only requiring one power cable.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8284.contentimage_5F00_199776.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8284.contentimage_199776.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=vm0RRbpDdbSJRmJxYslkNPh3FJ%2Bd6sxFfZd6rqJcnBI%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=l87Ev317Qsw8/Rk36havKA==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1i2tfru4c8"&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1i2tfru4c9"&gt;Finishing Touches&lt;/h2&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;The monitor is a bit vulnerable here, so we decided to get a piece of 3mm acrylic cut to the same size as the table top (550mm by 550mm). It&amp;#39;s just screwed into the table top in each corner, and the screws hidden behind screw caps. It&amp;#39;s a cheap way to keep things protected.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;I also added a panel mount USB port next to the access panel underneath, just in case I ever need to plug a USB keyboard (or other peripheral -- it could be a joypad if you wanted) into the Pi3.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;table class="jiveBorder" style="border:1px solid #000000;width:100%;" border="1"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="background-color:#6690bc;border:1px solid #000000;color:#ffffff;padding:2px;text-align:center;" valign="middle"&gt;&lt;strong&gt;{gallery:autoplay=false} Finishing Touches&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;An external USB port that goes into the Pi. This is a good one, as it also has a dust cap, since this probably isn&amp;#39;t going to get a lot of use.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/6131.contentimage_5F00_199777.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6131.contentimage_199777.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Svw7u9hX8La8UQf0LizA4oYa%2FLFQfa3C8%2F0MZCjaJ%2B4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=xL03CdkLHeZ60oG3QPDcXQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;If you decide to put an acrylic or polycarbonate sheet on top to protect the monitor, remember to put it in place before you insert the buttons, as they&amp;#39;ll need to pass through the sheet.&lt;/p&gt;
&lt;p style="margin:0;"&gt;Here we&amp;#39;ve screwed it in place in each corner, and covered the screw heads with caps.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5545.contentimage_5F00_199778.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5545.contentimage_199778.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=72hYmdMPWLhXm0wjLobA98y2VUdlfD9x7MnHI%2BxmM58%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=aavG6GV6ka3/RP1SqTSIjw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;Remember how you saved the cut out from the monitor hole? Trim it down to make a cover for the access panel on the back, after notching the bottom of the table as an exit for the power cables.&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0777.contentimage_5F00_199779.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0777.contentimage_199779.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=c4Ix0kCBgLireuRYa78yes4aRJ9t2MmMQUB3Ibnh9F0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=FzXm7x/SZ5O4GIZz/wok+A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border:1px solid #000000;padding:2px;"&gt;
&lt;p style="margin:0;"&gt;The finished PIK3A table is strong enough to hold Baxter here, but given how much we&amp;#39;ve hollowed it out, be careful about how much weight you put on it. Definitely don&amp;#39;t stand on it to change a light bulb (mind you, I wouldn&amp;#39;t trust these enough do that with a new Ikea table).&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7624.contentimage_5F00_199780.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7624.contentimage_199780.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BAc1ks8qfb3ubPy2fMZTuczKxvvubDD6lViirPbH0D4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=EAmUvHOFNSYDdXT7/RlZyw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Then it&amp;#39;s just a case of screwing the legs to the table top, and &lt;a class="jive-link-external-small" href="http://blog.petrockblock.com/retropie/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;installing RetroPie on the SD card&lt;/a&gt;. There&amp;#39;s one additional step you might have to perform for the time being, to get RetroPie running in the Raspberry Pi 3. The developers will undoubtedly fix things very soon, but for the moment we had to copy over the &amp;quot;&lt;strong&gt;*.elf&lt;/strong&gt;&amp;quot; files &lt;span style="font-size:12pt;"&gt;(that&amp;#39;d be &lt;/span&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/468x263/__key/communityserver-wikis-components-files/00-00-00-01-66/3414.contentimage_5F00_199781.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3414.contentimage_199781.jpg-468x263.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=HH8b8EnceOSv4APOtls4yb37uUm4RxWfaI527TrlM1Y%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=BlPHABF8zWLw0Po3P4wgAQ==" style="max-height: 263px;max-width: 468px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;&lt;span style="line-height:1.5;"&gt;start.elf, &lt;/span&gt;start_cd.elf, start_db.elf&lt;/strong&gt; and &lt;strong&gt;start_x.elf&lt;/strong&gt;)&lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt; from the &lt;strong&gt;&amp;quot;Boot&amp;quot;&lt;/strong&gt; partition of an SD card that had the official, Raspberry Pi NOOBs image.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Not a complex or particularly onerous task, but a necessary one for the time being. This should get RetroPie booted up and running beautifully on your awesome new &lt;strong&gt;PIK3A retro gaming table&lt;/strong&gt;. I&amp;#39;m sure it won&amp;#39;t be long at all before this step becomes unnecessary, of course -- likely by the time you&amp;#39;ve built your cab.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:14pt;line-height:24px;"&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; The RetroPie guys have already released an updated image, so you don&amp;#39;t have to jump through any hoops to get RetroPie working on your Raspberry Pi 3! Great work, guys!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:14pt;line-height:24px;"&gt;&lt;a class="jive-link-external-small" title="http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/" href="http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;As you can see, this is a pretty fascinating interpretation of the classic gaming system, so we&amp;#39;d be particularly interested in seeing how you might do the same, as much as copy our build part for part. &lt;strong&gt;Post your own retro gaming projects right here in the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/raspberry-pi/raspberrypi_projects/" data-e14adj="t"&gt;Raspberry Pi Projects&lt;/a&gt; sections, and casually blow our minds!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;If you want to see them in action right away, &lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1373/celebrate-the-raspberry-pi-birthday-with-element14" data-e14adj="t"&gt;join us as we head out and about on the Raspberry Pi 3&amp;#39;s launch day in Leeds and Chicago&lt;/a&gt;!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;And if you&amp;#39;re looking to delve a little deeper into the Raspberry Pi 3, why not sign up for our RoadTest right now and review the unit for the world to see?&lt;/span&gt;&lt;/p&gt;
&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1i2tfru4ca" class="migration-injected-attachments"&gt;Supporting Downloads/Files&lt;/h2&gt;
&lt;div class="migration-injected-attachments"&gt;-&amp;nbsp;&amp;nbsp;&lt;a href="https://community.element14.com/products/raspberry-pi/raspberrypi_projects/m/files/149593"&gt;PIK3A Supporting Files&lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;table style="border:0;"&gt;
&lt;tbody&gt;&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;table style="background-color:#000;" width="100%" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;table style="margin:6pt 4pt;" width="100%" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="padding-right:4pt;vertical-align:top;" rowspan="3" width="54px"&gt;&lt;a href="http://www.raspberrypi.org/" data-icid="rpimain-Pik3a-doclink" rel="noopener noreferrer nofollow" target="_blank" data-e14adj="t"&gt;&lt;img loading="lazy" alt="image"  height="65px" src="/e14/assets/legacy/raspberrypi/Pilogo_rpi.png" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:0pt 2pt;vertical-align:top;" colspan="3"&gt;&lt;a class="" href="https://www.element14.com/community/community/raspberry-pi/raspberrypi3?COM=e14c-direct-ugc&amp;amp;CMP=e14c-direct-ugc&amp;amp;osetc=e14c-direct-ugc" target="_blank" data-e14adj="t"&gt;&lt;span style="color:#fff;font-weight:bold;"&gt;&lt;span style="color:#d6264f;"&gt;NEW!&lt;/span&gt; Raspberry Pi 3 Model B&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1384/raspberry-pi-3-model-b-frequently-asked-questions-faqs" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Frequently Asked Questions&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/17004/raspberry-pi-4-3-b-pi-3-pi-2-b-a-comparison-chart" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Comparison Chart&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1375/raspberry-pi-3-model-b-technical-specifications" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Technical Specifications&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1374/raspberry-pi-3-model-b-unboxing---official-element14-video" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;Unboxing Video&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/m/files/17428" data-e14adj="t"&gt;&lt;span style="color:#fff;"&gt;40 Pin Out&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;script&gt;window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadGallery(window.document);}, true );&lt;/script&gt;

&lt;div style="font-size: 90%;"&gt;Tags: fruitful_three, retro gaming, raspberry pi arcade cabinet, picade, pi3, pik3a, gaming, raspberry pi 3, raspberry_pi_projects, pikea, video games&lt;/div&gt;
</description></item><item><title>Geocaching with the element14 Circuit Board Trackable</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/19887/geocaching-with-the-element14-circuit-board-trackable</link><pubDate>Wed, 15 Dec 2021 13:13:06 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:489eb3df-9a52-4c4a-96bf-79150731b09a</guid><dc:creator>cstanton</dc:creator><description>Current Revision posted to Documents by cstanton on 12/15/2021 1:13:06 PM&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/505x378/__key/communityserver-wikis-components-files/00-00-00-01-66/0871.contentimage_5F00_69297.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0871.contentimage_69297.png-505x378.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hpbc5JxezMq1EEvr3Vg%2BfKyEznIjDqvk10qwKbc4kfQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=kQpFrbwwO3l5QUJbiOwdzg==" style="max-height: 378px;max-width: 505px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq740"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Polite note: signups have now long since ended (2015), but please continue to post where you get to if you were one of the lucky ones to receive one...&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq741"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;We have a project, and you can help, &lt;/span&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;we want to connect the world! &lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;If you&amp;#39;re lucky enough to sign up and be sent one of the &lt;a class="jive-link-external-small" href="http://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/geocaching" rel="noopener noreferrer" target="_blank"&gt;1,500 element14 Circuit Board trackables&lt;/a&gt; on the 15th of June 2015 then it is your duty to help create a virtual circuit between landmarks of Scientific and Engineering Achievement with your trackable travelling from each geocache to your chosen destination! How far can you get your trackable to go?&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Do not worry if you aren&amp;#39;t one of the first to get hold of a trackable, &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;you can still play your part&lt;/a&gt; and participate by &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;finding one&lt;/a&gt; that is out there in a geocache and help it on its journey!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see you when you&amp;#39;ve found a circuit board trackable - take a photo&amp;#39; of yourself with it and post it onto the &lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="https://www.facebook.com/e14community" rel="nofollow"&gt;element14 Facebook &lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="http://www.twitter.com/e14community" rel="nofollow"&gt;Twitter&lt;/a&gt;&amp;nbsp;with the hashtag #ConnectedWorld &lt;span style="color:#333333;font-size:16px;"&gt;Or here on the Community!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq742"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Trackable Circuit Board?&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;If you&amp;#39;re familiar with Geocaching, these Circuit Board trackables work like &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoinfaq.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;geocoins&lt;/a&gt;. &lt;/span&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Each trackable is uniquely identifiable because they each have a code along with an activation code, and when you activate it on Geocaching.com you can send it on its journey and see where it has travelled or which geocache it is stored in. Along with whom has helped it along its way!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;When you discover the trackable when it is in circulation, you then have the perfect opportunity to look it up on the Geocaching.com site where you can get a cool icon for finding it, read more about what to do with it and then share your experience, either blogging, sharing photo&amp;#39;s or even just commenting here!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Find one of the 1,500 element14 trackable circuit boards using a GPS receiver and &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoin.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;log it on Geocaching.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Take a photograph with the trackable to show your hard work and claim credit!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We no longer have the &amp;#39;Atlas of Scientific Achievements&amp;#39;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq743"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to hear from you!&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Have you been geocaching before? Is this your first time doing so? Have you requested a trackable or want to go and find one?&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see and hear about your geocaching adventures, your project builds or what you currently use to geocache with!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;So join us, as part of the Community of Engineers, Makers, Educators and Inventors on a Geocaching adventure!&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;&lt;span style="font-family:inherit;font-style:inherit;line-height:1.5em;"&gt;Build a Raspberry Pi GPS Project?&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;We have an example here:&amp;nbsp;&lt;a href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/putting-together-the-pieces---raspberry-pi-2-gps-geocaching-project"&gt;/products/raspberry-pi/raspberrypi_projects/b/blog/posts/putting-together-the-pieces---raspberry-pi-2-gps-geocaching-project&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: geocaching, element14_trackable, raspberry_pi_2, raspberry_pi_geocaching, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Geocaching with the element14 Circuit Board Trackable</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/19887/geocaching-with-the-element14-circuit-board-trackable/revision/4</link><pubDate>Wed, 15 Dec 2021 13:06:37 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:489eb3df-9a52-4c4a-96bf-79150731b09a</guid><dc:creator>cstanton</dc:creator><description>Revision 4 posted to Documents by cstanton on 12/15/2021 1:06:37 PM&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/505x378/__key/communityserver-wikis-components-files/00-00-00-01-66/0871.contentimage_5F00_69297.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0871.contentimage_69297.png-505x378.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hpbc5JxezMq1EEvr3Vg%2BfKyEznIjDqvk10qwKbc4kfQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=kQpFrbwwO3l5QUJbiOwdzg==" style="max-height: 378px;max-width: 505px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq740"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Polite note: signups have now long since ended (2015), but please continue to post where you get to if you were one of the lucky ones to receive one...&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq741"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;We have a project, and you can help, &lt;/span&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;we want to connect the world! &lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;If you&amp;#39;re lucky enough to sign up and be sent one of the &lt;a class="jive-link-external-small" href="http://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/geocaching" rel="noopener noreferrer" target="_blank"&gt;1,500 element14 Circuit Board trackables&lt;/a&gt; on the 15th of June 2015 then it is your duty to help create a virtual circuit between landmarks of Scientific and Engineering Achievement with your trackable travelling from each geocache to your chosen destination! How far can you get your trackable to go?&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Do not worry if you aren&amp;#39;t one of the first to get hold of a trackable, &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;you can still play your part&lt;/a&gt; and participate by &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;finding one&lt;/a&gt; that is out there in a geocache and help it on its journey!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see you when you&amp;#39;ve found a circuit board trackable - take a photo&amp;#39; of yourself with it and post it onto the &lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="https://www.facebook.com/e14community" rel="nofollow"&gt;element14 Facebook &lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="http://www.twitter.com/e14community" rel="nofollow"&gt;Twitter&lt;/a&gt;&amp;nbsp;with the hashtag #ConnectedWorld &lt;span style="color:#333333;font-size:16px;"&gt;Or here on the Community!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq742"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Trackable Circuit Board?&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;If you&amp;#39;re familiar with Geocaching, these Circuit Board trackables work like &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoinfaq.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;geocoins&lt;/a&gt;. &lt;/span&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Each trackable is uniquely identifiable because they each have a code along with an activation code, and when you activate it on Geocaching.com you can send it on its journey and see where it has travelled or which geocache it is stored in. Along with whom has helped it along its way!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;When you discover the trackable when it is in circulation, you then have the perfect opportunity to look it up on the Geocaching.com site where you can get a cool icon for finding it, read more about what to do with it and then share your experience, either blogging, sharing photo&amp;#39;s or even just commenting here!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Find one of the 1,500 element14 trackable circuit boards using a GPS receiver and &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoin.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;log it on Geocaching.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;text-align:left;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Take a photograph with the trackable to show your hard work and claim credit!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq743"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to hear from you!&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Have you been geocaching before? Is this your first time doing so? Have you requested a trackable or want to go and find one?&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see and hear about your geocaching adventures, your project builds or what you currently use to geocache with!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;So join us, as part of the Community of Engineers, Makers, Educators and Inventors on a Geocaching adventure!&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;&lt;span style="font-family:inherit;font-style:inherit;line-height:1.5em;"&gt;Build a Raspberry Pi GPS Project?&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;We have an example here:&amp;nbsp;&lt;a href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/putting-together-the-pieces---raspberry-pi-2-gps-geocaching-project"&gt;/products/raspberry-pi/raspberrypi_projects/b/blog/posts/putting-together-the-pieces---raspberry-pi-2-gps-geocaching-project&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: geocaching, element14_trackable, raspberry_pi_2, raspberry_pi_geocaching, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Geocaching with the element14 Circuit Board Trackable</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/19887/geocaching-with-the-element14-circuit-board-trackable/revision/3</link><pubDate>Wed, 15 Dec 2021 13:06:13 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:489eb3df-9a52-4c4a-96bf-79150731b09a</guid><dc:creator>cstanton</dc:creator><description>Revision 3 posted to Documents by cstanton on 12/15/2021 1:06:13 PM&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/505x378/__key/communityserver-wikis-components-files/00-00-00-01-66/0871.contentimage_5F00_69297.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0871.contentimage_69297.png-505x378.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hpbc5JxezMq1EEvr3Vg%2BfKyEznIjDqvk10qwKbc4kfQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=kQpFrbwwO3l5QUJbiOwdzg==" style="max-height: 378px;max-width: 505px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq740"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Polite note: signups have now long since ended (2015), but please continue to post where you get to if you were one of the lucky ones to receive one...&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq741"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;We have a project, and you can help, &lt;/span&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;we want to connect the world! &lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;If you&amp;#39;re lucky enough to sign up and be sent one of the &lt;a class="jive-link-external-small" href="http://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/geocaching" rel="noopener noreferrer" target="_blank"&gt;1,500 element14 Circuit Board trackables&lt;/a&gt; on the 15th of June 2015 then it is your duty to help create a virtual circuit between landmarks of Scientific and Engineering Achievement with your trackable travelling from each geocache to your chosen destination! How far can you get your trackable to go?&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Do not worry if you aren&amp;#39;t one of the first to get hold of a trackable, &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;you can still play your part&lt;/a&gt; and participate by &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;finding one&lt;/a&gt; that is out there in a geocache and help it on its journey!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see you when you&amp;#39;ve found a circuit board trackable - take a photo&amp;#39; of yourself with it and post it onto the &lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="https://www.facebook.com/e14community" rel="nofollow"&gt;element14 Facebook &lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="http://www.twitter.com/e14community" rel="nofollow"&gt;Twitter&lt;/a&gt;&amp;nbsp;with the hashtag #ConnectedWorld &lt;span style="color:#333333;font-size:16px;"&gt;Or here on the Community!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq742"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Trackable Circuit Board?&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;If you&amp;#39;re familiar with Geocaching, these Circuit Board trackables work like &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoinfaq.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;geocoins&lt;/a&gt;. &lt;/span&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Each trackable is uniquely identifiable because they each have a code along with an activation code, and when you activate it on Geocaching.com you can send it on its journey and see where it has travelled or which geocache it is stored in. Along with whom has helped it along its way!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;When you discover the trackable when it is in circulation, you then have the perfect opportunity to look it up on the Geocaching.com site where you can get a cool icon for finding it, read more about what to do with it and then share your experience, either blogging, sharing photo&amp;#39;s or even just commenting here!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Find one of the 1,500 element14 trackable circuit boards using a GPS receiver and &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoin.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;log it on Geocaching.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;text-align:left;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Take a photograph with the trackable to show your hard work and claim credit!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq743"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to hear from you!&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Have you been geocaching before? Is this your first time doing so? Have you requested a trackable or want to go and find one?&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see and hear about your geocaching adventures, your project builds or what you currently use to geocache with!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;So join us, as part of the Community of Engineers, Makers, Educators and Inventors on a Geocaching adventure!&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;&lt;span style="font-family:inherit;font-style:inherit;line-height:1.5em;"&gt;Build a Raspberry Pi GPS Project?&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;We have an example here:&amp;nbsp;&lt;a href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/putting-together-the-pieces---raspberry-pi-2-gps-geocaching-project"&gt;/products/raspberry-pi/raspberrypi_projects/b/blog/posts/putting-together-the-pieces---raspberry-pi-2-gps-geocaching-project&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: geocaching, element14_trackable, raspberry_pi_2, raspberry_pi_geocaching, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Geocaching with the element14 Circuit Board Trackable</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/19887/geocaching-with-the-element14-circuit-board-trackable/revision/2</link><pubDate>Wed, 15 Dec 2021 13:02:47 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:489eb3df-9a52-4c4a-96bf-79150731b09a</guid><dc:creator>cstanton</dc:creator><description>Revision 2 posted to Documents by cstanton on 12/15/2021 1:02:47 PM&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/505x378/__key/communityserver-wikis-components-files/00-00-00-01-66/0871.contentimage_5F00_69297.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0871.contentimage_69297.png-505x378.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hpbc5JxezMq1EEvr3Vg%2BfKyEznIjDqvk10qwKbc4kfQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=kQpFrbwwO3l5QUJbiOwdzg==" style="max-height: 378px;max-width: 505px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq740"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Polite note: signups have now long since ended (2015), but please continue to post where you get to if you were one of the lucky ones to receive one...&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="color:#eb7a3d;font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 id="mcetoc_1fmv2sq741"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;"&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;We have a project, and you can help, &lt;/span&gt;&lt;span style="font-size:14pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;we want to connect the world! &lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;If you&amp;#39;re lucky enough to sign up and be sent one of the &lt;a class="jive-link-external-small" href="http://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/geocaching" rel="noopener noreferrer" target="_blank"&gt;1,500 element14 Circuit Board trackables&lt;/a&gt; on the 15th of June 2015 then it is your duty to help create a virtual circuit between landmarks of Scientific and Engineering Achievement with your trackable travelling from each geocache to your chosen destination! How far can you get your trackable to go?&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Do not worry if you aren&amp;#39;t one of the first to get hold of a trackable, &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;you can still play your part&lt;/a&gt; and participate by &lt;a class="jive-link-external-small" href="https://www.geocaching.com/element14/" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;finding one&lt;/a&gt; that is out there in a geocache and help it on its journey!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see you when you&amp;#39;ve found a circuit board trackable - take a photo&amp;#39; of yourself with it and post it onto the &lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="https://www.facebook.com/e14community" rel="nofollow"&gt;element14 Facebook &lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="jive-link-external-small" style="color:#592d5f;font-family:inherit;font-style:inherit;font-weight:inherit;" href="http://www.twitter.com/e14community" rel="nofollow"&gt;Twitter&lt;/a&gt;&amp;nbsp;with the hashtag #ConnectedWorld &lt;span style="color:#333333;font-size:16px;"&gt;Or here on the Community!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq742"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Trackable Circuit Board?&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;If you&amp;#39;re familiar with Geocaching, these Circuit Board trackables work like &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoinfaq.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;geocoins&lt;/a&gt;. &lt;/span&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;Each trackable is uniquely identifiable because they each have a code along with an activation code, and when you activate it on Geocaching.com you can send it on its journey and see where it has travelled or which geocache it is stored in. Along with whom has helped it along its way!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;" lang="EN-US"&gt;When you discover the trackable when it is in circulation, you then have the perfect opportunity to look it up on the Geocaching.com site where you can get a cool icon for finding it, read more about what to do with it and then share your experience, either blogging, sharing photo&amp;#39;s or even just commenting here!&lt;/span&gt;&lt;/p&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;margin-bottom:0.0001pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Find one of the 1,500 element14 trackable circuit boards using a GPS receiver and &lt;a class="jive-link-external-small" href="http://www.geocaching.com/track/geocoin.aspx" rel="nofollow ugc noopener noreferrer" target="_blank"&gt;log it on Geocaching.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="color:#333333;font-family:Verdana;font-size:12px;margin:0;padding:0px;text-align:left;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Take a photograph with the trackable to show your hard work and claim credit!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 id="mcetoc_1fmv2sq743"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to hear from you!&lt;br /&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;Have you been geocaching before? Is this your first time doing so? Have you requested a trackable or want to go and find one?&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;We want to see and hear about your geocaching adventures, your project builds or what you currently use to geocache with!&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;span style="font-family:arial, helvetica, sans-serif;font-size:12pt;font-style:inherit;font-weight:inherit;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;margin-bottom:0.0001pt;text-align:left;"&gt;&lt;span style="font-family:inherit;font-size:12pt;font-style:inherit;font-weight:inherit;line-height:1.5em;"&gt;So join us, as part of the Community of Engineers, Makers, Educators and Inventors on a Geocaching adventure!, &lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: geocaching, element14_trackable, raspberry_pi_2, raspberry_pi_geocaching, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Geocaching Ideas!!</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/19999/geocaching-ideas</link><pubDate>Fri, 08 Oct 2021 08:31:01 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4734c704-1050-4f8f-a0a6-69bb759897ff</guid><dc:creator>Former Member</dc:creator><description>Current Revision posted to Documents by Former Member on 10/8/2021 8:31:01 AM&lt;br /&gt;
&lt;ul&gt;&lt;li style="text-align:left;"&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;&amp;nbsp; List of any unique container ideas!!&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;&amp;nbsp; List of any cool puzzle caches!!&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;&amp;nbsp; Ideas to better cache hides!!&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt; &lt;span style="font-size:12pt;font-family:andale mono,times;"&gt;I love geocaching and would love to step things up a notch so can anyone please give so ideas on better hides and really cool or unique containers? &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;font-family:andale mono,times;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;font-family:andale mono,times;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: geocaching, raspberry_pi_geocaching, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Geocaching</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/19938/geocaching</link><pubDate>Fri, 08 Oct 2021 08:30:07 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:28c47364-3bb0-41ca-8bf8-4ad0a42e1944</guid><dc:creator>Former Member</dc:creator><description>Current Revision posted to Documents by Former Member on 10/8/2021 8:30:07 AM&lt;br /&gt;
&lt;p style="margin:0;"&gt;Right now I am getting travel bugs ready to drop tomorrow, its fun to watch them travel. I get messages from all over the world.&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; They will be going to a TB Hotel in a cemetery cache. I would love to hear your interests and how you spend your time. Let&amp;#39;s share!!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: geocachers, raspberry_pi_geocaching, raspberry_pi_projects, adventures&lt;/div&gt;
</description></item><item><title>Raspberry Pi 3 B+ GPS Treasure Tracker</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/3493/raspberry-pi-3-b-gps-treasure-tracker</link><pubDate>Wed, 06 Oct 2021 21:31:55 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:72fb5db4-97a2-4e7d-ad7d-1e763528a7b2</guid><dc:creator>biglesp</dc:creator><description>Current Revision posted to Documents by biglesp on 10/6/2021 9:31:55 PM&lt;br /&gt;
&lt;p style="margin:0;font-size:16px;font-weight:bold;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/raspberry-pi/"&gt;Raspberry Pi&lt;/a&gt; 3 B+ GPS Treasure Tracker&lt;/p&gt;&lt;p style="margin:0;"&gt;With the release of the Raspberry Pi 3 B+ we wanted to create a project that would use the new Pi in a fun and engaging way. So The Raspberry Pi 3B+ Treasure Tracker was born. With this device, users can place treasure upon a map, and use GPS to track their progress to the treasure.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 class="western"&gt;For this project we will need&lt;/h2&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A Raspberry Pi 3B +&lt;/li&gt;&lt;li&gt;The official Raspberry Pi Screen&lt;/li&gt;&lt;li&gt;A Microstack Baseboard&lt;/li&gt;&lt;li&gt;A Microstack GPS&lt;/li&gt;&lt;li&gt;GPS Antenna&lt;/li&gt;&lt;li&gt;Enclosure for the project&lt;/li&gt;&lt;li&gt;USB battery with 2 outputs (1 @ 2A &amp;gt; and another @ 1A &amp;gt;)&lt;/li&gt;&lt;li&gt;2 x micro USB to USB A leads&lt;/li&gt;&lt;li&gt;A 3G/4G Mobile wireless device or hot spot.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 class="western"&gt;Raspberry Pi 3 B +?&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1200x900/__key/communityserver-wikis-components-files/00-00-00-01-66/contentimage_5F00_199860.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/contentimage_199860.jpg-1200x900.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=ufFtqsnlD%2BtkjCKsN1JlXt9JO0yKOzLgvV3YB07PSQo%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=JBhn0MTcYSuOUWnX+Ni2ow==" style="max-height: 900px;max-width: 1200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Yes we have a new Raspberry Pi! This incremental update to the original Raspberry Pi 3 offers a slightly faster quad core CPU (1.4Ghz) 1 GB RAM but the real improvement is with the networking. There is new WiFi! Via wireless ac (5GHz) which joins the already great wireless package (2.4GHz b/g/n) and we also have Bluetooth 4.2 and BLE! Not to feel left out, the Ethernet has been beefed up to around 300Mb/s thanks to using a LAN7515 chip over a USB2.0 interface. So now we have much better Ethernet speeds, still not Gigabit, but enough...well until the Pi 4 comes out. Along side the now standard 40pin GPIO we see four new pins marked PoE, Power over Ethernet. Yes this Pi can be powered over PoE via a new add on board, available soon! So with the power of the new Raspberry Pi 3 B + we can create our own GPS Treasure Tracker. So what are we waiting for?&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 class="western"&gt;Building the kit&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1200x900/__key/communityserver-wikis-components-files/00-00-00-01-66/contentimage_5F00_199861.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/contentimage_199861.jpg-1200x900.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=mBFfPJuUY3OsICO1UoBP2L7T9S9C88jp%2FJ1M0FqG5NQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=c1qSr2EssKuJzSfGS38oTA==" style="max-height: 900px;max-width: 1200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;With the Raspberry Pi 3 B + powered down, connect the Raspberry Pi 3B + to the official screen via the instructions included with the kit.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1200x900/__key/communityserver-wikis-components-files/00-00-00-01-66/contentimage_5F00_199862.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/contentimage_199862.jpg-1200x900.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=kc09W5BqizBtp3aMCTUB41SzyGf3RjZj9qyTB8yKBuo%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=wnePbbpm7pzUPGClWO4cdg==" style="max-height: 900px;max-width: 1200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;We shall be powering the screen from a separate micro USB power supply as the GPIO pins will be in use.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1200x900/__key/communityserver-wikis-components-files/00-00-00-01-66/contentimage_5F00_199863.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/contentimage_199863.jpg-1200x900.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=AvP5YWJDXYvx9nHJh0DVcNJTdqZuBag3MGy%2BjJDCoxY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=CMS/AmN6Lf09sVif0GAtig==" style="max-height: 900px;max-width: 1200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;Now attach the Microstack add on board to the first 26 pins of the GPIO, these are the pins nearest the micro SD slot.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1200x900/__key/communityserver-wikis-components-files/00-00-00-01-66/contentimage_5F00_199864.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/contentimage_199864.jpg-1200x900.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=zlfVyoQJ8lJUxwsr5D8DQrVaZDY%2B1qpBRDyPwLe%2FbEw%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=SSUH10DXSUTEYOqL7xamuw==" style="max-height: 900px;max-width: 1200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now attach the Microstack GPS unit to the Microstack board, the location of the connections for the GPS unit are quite clearly marked on the Microstack board, and the GPS unit will only fit in one way.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1200x900/__key/communityserver-wikis-components-files/00-00-00-01-66/contentimage_5F00_199865.jpg"&gt;&lt;img loading="lazy" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/contentimage_199865.jpg-1200x900.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=dyV3T46O05xUzNSpaUSZlb9qp5BR91S%2FI8Qzm2VDYt4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=1tDRhFjo+haltAPVE2j2hg==" style="max-height: 900px;max-width: 1200px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Connect the antenna to the GPS unit but do not allow the metal connectors to touch the Raspberry Pi as this will create a short. Power up the Raspberry Pi and boot to the desktop and we start by configuring the Raspberry Pi 3 B + to use UART. On previous models of Pi (up to Pi 3) UART was found at /dev/ttyAMA0 but that is now used by Bluetooth, and from Pi 3 onwards we can now find the UART device at /dev/ttyS0. But first we need to tell the Pi so. In a terminal type in the following to go to the config.txt document&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo nano /boot/config.txt&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Go to the end of the document and make a new line, then add the following.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#Enable UART for Pi 3
dtparam=spi=on
dtoverlay=pi3-disable-bt-overlay
core_freq=250
enable_uart=1
force_turbo=1&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now close the editor by pressing CTRL + X, then Y and finally Enter.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;br /&gt;Now lets edit the cmdline.txt file which Raspbian uses every time it boots. We need to remove a reference to “console=serial0,115200” and keep “console=tty1”.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;In the terminal type&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo nano /boot/cmdline.txt&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;It should look similar to this but only change what we have said, leave the rest as it is! Otherwise you Pi may not boot.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now close the editor by pressing CTRL + X, then Y and finally Enter.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;To ensure that Bluetooth does not interfere with the UART0 device, we first need to disable the service. In the terminal type.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo systemctl disable hciuart&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;We next edit the hciaurt service so that it uses the correct UART device (ttyS0)&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;In the terminal type&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo nano /lib/systemd/system/hciuart.service&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Then find the line starting “After=dev-serial1.device” and change it to “After=dev-ttyS0.device”&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now close the editor by pressing CTRL + X, then Y and finally Enter.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;With the antenna connected and hung outside of a window for the test, in the terminal enter this command to see the raw output from the GPS unit. It may take your GPS unit a few minutes to get a signal but as long as it can see the sky, it will connect.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo cat /dev/ttyS0&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;You should see raw data stream across the screen, you may be able to see your longitude and latitude as it races across the screen. With the test completed, now we move to installing the software for the project, and for this we need to ensure the system is up to date and that we have the latest software. In a terminal window type.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y &amp;amp;&amp;amp; sudo reboot&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;This may take a while, but once completed the system will reboot to ensure all of the changes have been made. After a few minutes you will see the Raspbian desktop again, and you will need to open a new terminal window.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;We shall stop and disable the tty service as if left running it may generate a few issues. In the terminal type&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl disable serial-getty@ttyS0.service&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Reboot the Raspberry Pi and then return to the Raspbian desktop, open the terminal once more, in here we shall install the software for GPS. In the terminal type.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo apt-get install gpsd gpsd-clients python-gps &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;In order to use GPSD correctly with Raspbian we need to stop and disable a service started by installing GPSD as if left as is it will cause issues for the project. In the terminal enter the following commands to do this.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now lets tell GPSD where to find our GPS unit. In the terminal type&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo gpsd /dev/ttyS0 -F /var/run/gpsd.sock&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now we can test to see if our GPS unit is reporting the correct location. In the terminal use the cgps command to open a client that will tell us everything about our device, and hopefully our location.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;cgps -s&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 class="western"&gt;So where am I?&lt;/h2&gt;&lt;p class="western" style="margin:0;"&gt;In cgps we can see that our latitude and longitude have been found. But how do we check that this is correct? The easiest way is to open &lt;span style="color:#000080;text-decoration:underline;"&gt;&lt;a class="jive-link-external-small" href="http://maps.google.co.uk/" rel="nofollow ugc noopener" target="_blank"&gt;http://maps.google.co.uk&lt;/a&gt;&lt;/span&gt; and once loaded look in the address bar. You will see two numbers. First we have the latitude our position as an angle between north and south. The second number is our longitude, our position east to west as an angle. Replace these numbers with those from cgps and you will see the map centre on your GPS location.&lt;/p&gt;&lt;h2 class="western"&gt;Installing the Python Libraries&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1017x765/__key/communityserver-wikis-components-files/00-00-00-01-66/contentimage_5F00_199866.gif"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/contentimage_199866.gif?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=kpoObGMAq90YTWgJ0rEG73mSS9GLombe7JzpdU3v3Zc%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=vS2BEJWB9VRaYdXcmR5xJg==" style="max-height: 765px;max-width: 1017px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;The Microstack baseboard on to which our Microstack GPS sits, requires a little configuration in order to be used. We need to enable I2C and SPI on our GPIO and to do this we need to go to the Raspbian menu &amp;gt;&amp;gt; Preferences &amp;gt;&amp;gt; Raspberry Pi Configuration. In there select Interfaces and Enable I2C and SPI. Click Ok and for good measure reboot the Pi.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now back to the terminal!&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;We now need to install the Microstack Node Python 3 library, so in a terminal type&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;sudo pip3 install microstacknode&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Once installed, lets check that our Python library can connect and use the Microstack GPS. In your favourite Python 3 editor (IDLE, or Thonny) enter the following code to check our GPS location every two seconds.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;import microstacknode.hardware.gps.l80gps
import time
gps = microstacknode.hardware.gps.l80gps.L80GPS()
while True:
 data = gps.get_gprmc()
 lat = data.get(&amp;quot;latitude&amp;quot;)
 long = data.get(&amp;quot;longitude&amp;quot;)
 print(lat,long)
 time.sleep(2)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Save the code as GPSTest.py and then run the code and you should see your position appear in the Python shell.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Google Maps&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;All across my home town of Blackpool, there is treasure! Not gold or rubies, or bitcoin, rather cultural treasures such as Blackpool Tower, The Blackpool Pleasure Beach (amusement park) and Blackpool Zoo. So lets create a Treasure Tracker that will point us to those locations. But first we need to find those locations on a map.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;br /&gt;Open Google Maps once again, and locate these places (or choose your own, as it is a long walk from Australia to Blackpool)&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;Tower = (53.8159877,-3.0554085)
Zoo = (53.8157874,-3.0107095)
Amusement_Park = (53.7924182,-3.0556338)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Make a note of the latitude and longitude, in the above example we have noted them as objects called tuples, which we can later use in the code.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Open up your favourite Python editor and lets start coding the project! Oh but first ensure that you save the project as “micromapper.py”&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;We start by using a line that will later enable our code to be run as an executable, this line tells the code where to find the Python 3 interpreter.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;#!/usr/bin/env python3&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;We next start importing the libraries that we need and they are...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;gmplot = Plotting data on a Google map&lt;/li&gt;&lt;li&gt;subprocess = Enables us to use Linux commands via Python&lt;/li&gt;&lt;li&gt;time = Used to control the time between screen updates&lt;/li&gt;&lt;/ul&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;import gmplot, subprocess, time
import microstacknode.hardware.gps.l80gps&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;In order to use the Microstack GPS we need to create an object that we can reference, as “microstacknode.hardware.gps.l80gps” is rather a lot to type. So lets call it gps and store the reference in there.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;gps = microstacknode.hardware.gps.l80gps.L80GPS()&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Next we use the locations chosen and store their data as tuples (Python data type that separates values using a comma. Tuples are immutable, meaning they cannot be updated, so need to be destroyed and recreated as a whole new object)&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;Tower = (53.8159877,-3.0554085)
Zoo = (53.8157874,-3.0107095)
Amusement_Park = (53.7924182,-3.0556338)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;In order for us to use the location data, we need to split the data into latitudes and longitudes. To do this we shall use two lists (comma separated data type that is mutable, so it can be updated) the first will contain the latitudes of the locations, and the other the longitudes. To extract these from the tuples we tell the list that for the latitudes we wish to extract the first item in the tuple, this is at position 0 (Python starts counting from 0). For the longitudes we tell the list that we need the data from position 1 in each tuple.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;latitudes = [Tower[0],Zoo[0],Amusement_Park[0]]
longitudes = [Tower[1],Zoo[1],Amusement_Park[1]]&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;So now that we have our locations, lets find out where we are. We tell Python to wait for 2 seconds before moving onwards.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;time.sleep(2)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Then we create an object called “data” that we use to shorten the function that will query the Microstack GPS for information.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;data = gps.get_gprmc()&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;To extract the latitude and longitude data we need to call our new “data” object with an argument to retrieve the information. This is then stored in two variables, lat and long. For debug purposes we then print this information to the Python shell.&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;lat = data.get(&amp;quot;latitude&amp;quot;)
long = data.get(&amp;quot;longitude&amp;quot;)
print(lat,long)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;We next create two lists, used to store the location data saved to our variables lat and long. We need to use a list as we the function used later will need an iterable object, which a list is.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;loc_lat = [lat]
loc_long = [long]&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Now lets get to the code that will centre a Google map on to the users current location. For this we need to create an object called “gmap” and then use that to set the latitude and longitude from the GPS, and set the map to level “20” which zooms the window to nearby street level, but feel free to change this to meet your needs.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;gmap = gmplot.GoogleMapPlotter(lat, long, 20)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;With the map centred, it would be prudent to locate the user. So to do this we use a heat map, normally used to identify areas of high activity, but in this case it looks like a thermal image of a person from space or it looks like the Predator (80s movie) is on the treasure hunt. When using the heat map we need to iterate over values in a list. In this case there is only one value per list, this is because we are not using the heat map for its true purpose. Really we should be using it to iterate over multiple items in lists and then plotting these hot spots on the map. But we are using it just to identify the user.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;gmap.heatmap(loc_lat,loc_long)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;With the user located, now we need to scatter the “treasure” across the map. And for this we scatter red makers across the map. We have all seen these markers on Google Maps before. We tell gmplot to use the data stored in the lists “latitudes” and “longitudes” as the location, then ‘r’ denotes a red marker.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;gmap.scatter(latitudes, longitudes, &amp;#39;r&amp;#39;, marker=True)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;With the user located and the treasure plotted it is now time to create the map. Gmplot can create the HTML needed for the map and in this case we save it as “mymap.html”&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;gmap.draw(&amp;quot;mymap.html&amp;quot;)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;The last line of this section is where we use “subprocess” to call the Chromium browser in full screen mode and open a specially created HTML page (more on that later.) The syntax of the subprocess.call function is that the command and any parameters / arguments need to passed as items in a list. So we wrap the contents in square brackets “[ ]” and separate the contents using commas. Note that this assumes that you have saved your code to the directory GPS_Treasure_Hunt, so change this to match your own setup.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;subprocess.call([&amp;quot;chromium-browser&amp;quot;,&amp;quot; --start-fullscreen&amp;quot;,&amp;quot; /home/pi/GPS_Treasure_Hunt/frame.html&amp;quot;])&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Moving on we now get to the main loop that will continually show the location of the user and update the map to show the direction in which they are moving. Here we use the same “data” object to connect to the GPS unit, then we store the user location into the two variables “lat” and “long”, this is then printed to the Python shell for debug purposes.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;while True:
 data = gps.get_gprmc()
 lat = data.get(&amp;quot;latitude&amp;quot;)
 long = data.get(&amp;quot;longitude&amp;quot;)
 print(lat,long)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;In the next part of this code we centre the map on the user and plot their location using a heat map. Then we update the values stored inside the loc_lat and loc_long lists, printing the values to the shell for debug and then setting the values for our user location, via the heat map.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;gmap = gmplot.GoogleMapPlotter(lat, long, 18)
 loc_lat = [lat]
 loc_long = [long]
 print(loc_lat, loc_long)
 gmap.heatmap(loc_lat,loc_long)&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;We lastly update the map data, and then instruct the code to wait for 5 seconds before repeating the process.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;That is all the code for this part of the project. Save the code but don’t run it just yet as we need to create an HTML frame to store the Python generated map, and to update the contents.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 class="western"&gt;The HTML&lt;/h2&gt;&lt;p class="western" style="margin:0;"&gt;Our Treasure Tracker map is generated and updated by the Python code, but the contents are not dynamically updated in the browser. In order to do this we need to create a new web page, into which we use a http refresh, in the head of the HTML document, to reload the page.&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;Our Python generated map is stored in “mymap.html” and using an iframe, an HTML inline frame, we can open the map inside our web page and specify the size of the iframe to match the resolution of the screen, in this case the official Pi screen is 800 pixels wide, by 480 tall. Using a notepad editor, create this file and save it as “frame.html” inside the same directory as the Python code that we have just written.&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;html&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;head&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;meta http-equiv=&amp;quot;refresh&amp;quot; content=&amp;quot;5&amp;quot;&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;/head&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;body&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;nbsp; &amp;lt;iframe src=&amp;quot;mymap.html&amp;quot; width=800px height=480px&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;p&amp;gt;Your browser does not support iframes.&amp;lt;/p&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;/iframe&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 class="western"&gt;&lt;span style="color:#000000;font-weight:normal;"&gt;Give the code a test!&lt;/span&gt;&lt;/h2&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Head back over to the Python code and save your work, then run the code (Run &amp;gt;&amp;gt; Run Module for IDLE)&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;You should see the code start in the Python shell, and if you are quick you will see the GPS coordinates printed to the shell. But what we really want to see is the map, and after a few seconds you will see a new browser window open, and the map will appear, a few seconds more and the map will update to show the position of the user. Walk around the streets and see the map update!&lt;/span&gt;&lt;/p&gt;&lt;h2 class="western"&gt;Set the code to auto run&lt;/h2&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Our code is completed, but in order to automate the process we need to ensure that it runs from boot. So we need to take two steps. The first is to make the Python code executable, and to do this we need to open the terminal and ensure that we are in the same directory as our code and then enter the following command.&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;chmod +x micromapper.py&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;We can test that the command works by typing &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;./micromapper.py&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The second part of the process is to add a line to cron so that the code will run on boot. To do this we again need the terminal and enter the command&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;crontab -e&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;If you are asked to choose an editor, pick nano, unless you already have a favourite terminal editor. &lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;In the editor scroll to the bottom of the document and type the following (which assumes that our code is saved to /home/pi)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;@reboot /home/pi/micromapper.py&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Now close the editor by pressing CTRL + X, then Y and finally Enter.&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Lets test the code! Reboot the Raspberry Pi 3B + and once it has rebooted we will see the Raspbian desktop, and our Treasure Hunter application will launch!&lt;/span&gt;&lt;/p&gt;&lt;h2 class="western"&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;We’ve done it! &lt;/span&gt;&lt;/h2&gt;&lt;p class="western" style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;We’ve made our own Raspberry Pi 3 B + powered treasure tracker! Now all we need to do is place it in a case, plastic boxes or a 3D printed enclosure would be perfect. We used the Smarti Pi case as it held the screen perfectly. Once you have a case, go for a walk and enjoy searching for your treasures!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: raspberry pi 3 b plus, raspberry pi portable project, rpiintermediate, raspberry pi treasure hunt, 3 b plus, raspberry pi 3 b+, rpi 3b+, raspberry pi, raspberry pi projects, treasure hunt, gps, microstack, raspberry_pi_projects, raspberry pi gps project&lt;/div&gt;
</description></item><item><title>Terms and Conditions for Raspberry Pi Halloween Build Along</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/909/terms-and-conditions-for-raspberry-pi-halloween-build-along</link><pubDate>Wed, 06 Oct 2021 20:40:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a1875654-eb33-435b-97a6-fbfc59c1216b</guid><dc:creator>plowe</dc:creator><description>Current Revision posted to Documents by plowe on 10/6/2021 8:40:49 PM&lt;br /&gt;
&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="color:#000000;font-family:Times New Roman;font-size:12pt;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;ol style="list-style-type:decimal;direction:ltr;"&gt;&lt;li style="font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span style="font-size:12pt;font-family:arial,helvetica,sans-serif;"&gt;This opportunity is organized and sponsored by element14 (the “Organizer”). &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;The application period will be open from &lt;span style="color:#548dd4;"&gt;31-Aug&lt;/span&gt; 2015 – &lt;span style="color:#548dd4;"&gt;17 SEPT&lt;/span&gt;, 2015 &lt;span style="color:#548dd4;"&gt;23:59 PM BST&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;Applications will be reviewed and winners selected by members of the element14 team. Applicants who have been chosen will receive notification via a blog post no later than &lt;span style="color:#548dd4;"&gt;22-SEPT&lt;/span&gt;, 2015. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;Submissions will be selected based on originality, innovation and technical merit at the sole discretion of element14. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;By submitting an application for consideration, the applicant:&lt;/span&gt;&lt;/p&gt;&lt;ol style="list-style-type:decimal;"&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;Agrees that he/she will submit a blog featuring photos and/or videos of his/her build based on the &lt;span style="color:#548dd4;"&gt;Raspberry Pi 2 kit build&lt;/span&gt; and the parts provided. Failure by a selected individual to participate in accordance with the parameters of the giveaway, provided no reasonable cause for this inability to participate is given, may result in exclusion from future element14 Giveaways; &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;Authorizes the Organizer to use their personal data (as defined in the Data Protection Act 1998), application and any content created in relation to this promotion for the purposes of running and promoting element14.com, this year and/or in subsequent years &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;Agrees to positively participate in all publicity surrounding their participation in this give-away.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;This promotion may be terminated at any time if there are, in the sole opinion of element14, an insufficient number of entries, or if the applications are not of an appropriate standard for this promotion. The Organizer has the right to cancel this promotion if necessary due to circumstances outside its reasonable control. The Organizer reserves the right to make changes from time to time and the latest version of these Terms from time to time will be posted to the site. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;General &lt;/span&gt;&lt;/p&gt;&lt;ol style="list-style-type:decimal;"&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;The Organizer reserves the right to delegate all or any of its powers, rights and obligations arising in relation to this promotion to any Associate and certain such rights and powers are assumed by the Organizer on behalf of itself and each Associate. Reference to “Organizer” shall be deemed to include reference to each Associate. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;The Organizer shall have the sole discretion to disqualify (without correspondence or right of appeal) any Applicant it considers to be adversely affecting the process or the operation of this promotion or to be in breach of these Terms or to be acting in a disruptive manner or with intent to annoy, abuse, threaten or harass any other Applicant or Participant. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;The Organizer has the right to amend or add to these Terms from time to time. Revised Terms and Conditions will be posted on the Competition Site and it is a condition of entry to this promotion that Applicants and Participants agree to comply with these Terms and, if appropriate, such Terms as amended from time to time. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;Headings are for convenience only and do not affect the interpretation or construction of these Terms and Conditions. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;"&gt;&lt;p style="margin:0;color:#000000;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:11pt;font-style:normal;font-weight:normal;margin-top:0cm;margin-bottom:0pt;"&gt;&lt;span lang="EN-US"&gt;These Terms and the operation of this promotion shall be governed by and construed in accordance with English Law and any claim or matter arising under these Terms shall be subject to the exclusive jurisdiction of the English courts. &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="color:#000000;font-family:Times New Roman;font-size:12pt;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;margin:0cm 0cm 0pt;"&gt;&lt;span style="color:#000000;font-size:12pt;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&lt;span style="color:#000000;font-family:Times New Roman;font-size:12pt;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="migration-injected-attachments"&gt;&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;Attachments:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;table style="border:0;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="160"&gt;&lt;span class="_se_attachment" id="attid_https://www.element14.com/community/api/core/v3/attachments/187197"&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-66/RaspberryPi2_2D00_HalloweenKit_2D00_TC_2D00_150818.pdf"&gt;community.element14.com/.../RaspberryPi2_2D00_HalloweenKit_2D00_TC_2D00_150818.pdf&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size:80%;"&gt;RaspberryPi2-HalloweenKit-TC-150818.pdf&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Documents</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents</link><pubDate>Fri, 01 Oct 2021 18:01:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a9102b67-eca1-41fd-9453-56864a44f78c</guid><dc:creator>migration.user</dc:creator><description>Current Revision posted to Documents by migration.user on 10/1/2021 6:01:00 PM&lt;br /&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Rendering 3D with Raspberry Pi and Bitscope Blade</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/2898/rendering-3d-with-raspberry-pi-and-bitscope-blade</link><pubDate>Mon, 10 May 2021 18:52:47 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:1733486e-99ad-4ad0-8396-a227e83b1e13</guid><dc:creator>e14phil</dc:creator><description>Current Revision posted to Documents by e14phil on 5/10/2021 6:52:47 PM&lt;br /&gt;
&lt;h1&gt;Building a Render Farm with a Bitscope Blade Quatro&lt;/h1&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Andy Clark &lt;span&gt;&lt;a href="/members/workshopshed"&gt;Workshopshed&lt;/a&gt;&lt;/span&gt; was sent a Bitcope Blade Quatro (for free) as part of our &lt;a class="jivecontainerTT-hover-container jive-link-socialgroup-small" href="/products/roadtest/"&gt;RoadTests &amp;amp; Reviews&lt;/a&gt;. &lt;br /&gt;After completing his &lt;a class="jivecontainerTT-hover-container jive-link-socialgroup-small" href="/products/roadtest/"&gt;RoadTests &amp;amp; Reviews&lt;/a&gt; he was able to keep his &lt;a class="jive-link-wiki-small" href="https://www.element14.com/community/docs/DOC-83927/l/bitscope-blade-flexible-power-and-mounting-solution-for-a-single-raspberry-pi-and-hat"&gt;BitScope Blade flexible power and mounting solution for a single Raspberry Pi and HAT&lt;/a&gt; Quatro, with this in hand Andy has begun building a 3D Render Farm with his Bitscope Blade and &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/raspberry-pi/"&gt;Raspberry Pi&lt;/a&gt;. It is not the fastest rendering farm in the world but provides an amazing demonstration of cluster computing with the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/raspberry-pi/"&gt;Raspberry Pi&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0;"&gt;We have combined and linked the whole series below for your reading pleasure!&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;If you want a bit more of a grounding about the &lt;a class="jive-link-wiki-small" href="https://www.element14.com/community/docs/DOC-83927/l/bitscope-blade-flexible-power-and-mounting-solution-for-a-single-raspberry-pi-and-hat"&gt;BitScope Blade flexible power and mounting solution for a single Raspberry Pi and HAT&lt;/a&gt; Make sure you check out his Roadtest here:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2285/l/roadtest-bitscope-blades-review"&gt;Roadtest: Bitscope Blades - Review&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Or the specifications here:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/m/files/435"&gt;BitScope Blade QUATTRO Specification&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="http://www.bitscope.com/blog/EK/44-FB26K-02.jpg"&gt;&lt;img alt="44-FB26K-02.jpg" class="image-1 jive-image" src="http://www.bitscope.com/blog/EK/44-FB26K-02.jpg" style="width:620px;height:438px;" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;Render Farm Overview&lt;/h2&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;Element14 invited me to take a look at these blades so I started by reading the above page. One of the suggestions was for a render farm for the open source 3D modelling and animation package &lt;a class="" href="https://www.blender.org/" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#007fac;"&gt;blender&lt;/a&gt;. This seemed like a great way to prove out the system in a real-world scenario.&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;My farm will consist of 4 Pi with one acting as a controller node. That will connect to the USB external disk and have a secondary network connection (possibly wifi) so I can copy the files to be rendered and download any packages needed.&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;/h2&gt;&lt;h2&gt;Building a Render Farm Series:&lt;/h2&gt;&lt;h2&gt;&lt;/h2&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-render-farm-with-a-bitscope-blade-quatro---plan-of-action"&gt;Building a Render Farm with a Bitscope Blade Quatro - Plan of action&lt;/a&gt;&lt;/h2&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;The Bitscope Blade is from the same people who make the Bitscope Oscilloscope &amp;amp; Analyzer tools. It&amp;#39;s a host board that allows you to host one to four raspberry Pi and provides power and connectivity. You can stack a series of blades into a chassis and power these from a shared supply.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-render-farm-with-a-bitscope-blade-quatro---hardware"&gt; Building a Render Farm with a Bitscope Blade Quatro - Hardware&lt;/a&gt;&lt;/h2&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;I&amp;#39;m building a small render farm for Blender using the Bitscope Blade. I decided to mount all the components on a sheet of wood so that I could pack the whole thing away when I was not using it.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-render-farm-with-a-bitscope-blade-quatro---pins"&gt;Building a Render Farm with a Bitscope Blade Quatro - Pins&lt;/a&gt;&lt;/h2&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;Following a discussion from DAB&amp;#39;s review of the &lt;/span&gt;&lt;a class="jive-link-roadTestReview" href="https://www.element14.com/community/roadTestReviews/2269/l/roadtest-bitscope-blades-review" style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#007fac;"&gt;Bitscope Blade Uno&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;, I thought it was worth quickly mentioning the different sockets and pins you get on the bays of the blade.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-render-farm-with-a-bitscope-blade-quatro---setup-of-the-nodes"&gt;Building a Render Farm with a Bitscope Blade Quatro - Setup of the nodes&lt;/a&gt;&lt;/h2&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;In this part of the project, I&amp;#39;m looking at the setting up of the nodes.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-render-farm-with-a-bitscope-blade-quatro---setup-of-the-controller"&gt;Building a Render Farm with a Bitscope Blade Quatro - Setup of the controller&lt;/a&gt;&lt;/h2&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;Setup of the controller node&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;&lt;a class="jive-link-blog-small" href="/products/raspberry-pi/raspberrypi_projects/b/blog/posts/building-a-render-farm-with-a-bitscope-blade-quatro---running-blender"&gt;Building a Render Farm with a Bitscope Blade Quatro - Running Blender&lt;/a&gt;&lt;/h2&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;Now we can actually get on with installing and using &lt;/span&gt;&lt;a class="" href="https://www.blender.org/" style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#007fac;"&gt;Blender.&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;&lt;br /&gt;The final output rendering with the Raspberry Pi, Blender and Bitscope Blade Quatro.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="d800e60f_79bd_445b_bbb6_1c5f24885ce7"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=5311877737001"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;You can follow Andy&amp;#39;s progress and content by following his blog:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="/members/workshopshed"&gt;Workshopshed&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: quatro, rpiintermediate, bitscope blade, raspberry-pi3, bitscope, raspberry pi projects, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Raspberry Pi Zero Retro Gaming System</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/1114/raspberry-pi-zero-retro-gaming-system</link><pubDate>Mon, 10 May 2021 18:52:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:9cc34b73-29b3-4587-8765-214043537451</guid><dc:creator>spannerspencer</dc:creator><description>Current Revision posted to Documents by spannerspencer on 5/10/2021 6:52:45 PM&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;When we heard about the &lt;a class="jive-link-external-small" href="/products/raspberry-pi/w/documents/1111/introducing-the-raspberry-pi-zero" target="_blank"&gt;Raspberry Pi Zero&lt;/a&gt;, we decided that we needed a build-along project to help show it off a little. Naturally our first thoughts went toward that most efficient and fun of ways to waste time, so what better than a retro gaming system?!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;NOTE: Do not kill yourself with an open TV.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Not convinced? Check out our Two Minute Makers trailer below. We&amp;#39;ll wait for you.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span id="d8d39cdd_b6d6_4246_aad2_8f62686fe2e0"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=4632703912001"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Now we&amp;#39;ve whipped you up into the prerequisite frenzy, join &lt;span&gt;&lt;a href="/members/cstanton"&gt;cstanton&lt;/a&gt;&lt;/span&gt; and me as we turn the Raspberry Pi Zero into a Mega Drive/Genesis, SNES, Amiga, Master System, NES and a host of other classic video game platforms. Without further ado:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/244x151/__key/communityserver-wikis-components-files/00-00-00-01-66/5633.contentimage_5F00_199738.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5633.contentimage_199738.jpg-244x151.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rSCZclLMlfAXVTu85BWltV3h1ucR9k94RapCv3lXHn0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=IZplIRtQUXIqgYXjWv2sUg==" style="max-height: 151px;max-width: 244px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;Classic Games, Classic TV&lt;/strong&gt;&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Flat screen LCD TVs are ten-a-penny these days, but we really didn&amp;#39;t feel like that would fit with the theme of a retro video game. So we took to the charity shop, and found ourselves a classic CRT!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;The stumbling block here is that it obviously has no HDMI input, and that&amp;#39;s the simplest option for hooking up a display to the Pi Zero (using a mini-HDMI adapter, of course). But there&amp;#39;s also a composite video output available on the tiny Pi, so that&amp;#39;s where we started.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;&lt;strong&gt;Video Drama&lt;/strong&gt;&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;As we didn&amp;#39;t want too many trailing cables or an exposed Pi Zero, everything is going inside the old telly. Initially we cracked open the case and soldered a couple of twisted-pair wires from the Pi Zero&amp;#39;s composite RCA output to the back of the TV&amp;#39;s video input phono socket.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/439x244/__key/communityserver-wikis-components-files/00-00-00-01-66/7752.contentimage_5F00_199739.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7752.contentimage_199739.jpg-439x244.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=xJwm%2BnnvyPgWjdi3xFRRrND1vlJkYShkksnDpCjeo%2FM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=0pqqM7CL10UlI10uaTbf2w==" style="max-height: 244px;max-width: 439px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/431x243/__key/communityserver-wikis-components-files/00-00-00-01-66/5618.contentimage_5F00_199740.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5618.contentimage_199740.jpg-431x243.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=1byvaH0Ahpguh%2BDZAsKfH3bf5f8Fa8khdXehbk0b0oY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=rCPFfDXhGiSn4OLKfkdzuQ==" style="max-height: 243px;max-width: 431px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;But no joy.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;After some tinkering, it seems the phono socket or its PCB had some issues, which turned out to be a blessing. Instead of connecting internally to the phono socket, we opted to make use of the SCART socket instead. Buried within its 21 pins, SCART has a composite video input (and output, for that matter). &lt;strong&gt;Pins 18 and 20&lt;/strong&gt;, for those who want to do the same, rather than assailing the phono socket. We tested it by shoving the wires into the SCART socket, and we got a picture! Kind of...&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Never Twice the Same Colour&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;As you can see, it wasn&amp;#39;t quite the rainbow-tinged dream we were hoping for. We had an image, but in black and white. That&amp;#39;s &lt;em&gt;too&lt;/em&gt; retro, even for us.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/550x364/__key/communityserver-wikis-components-files/00-00-00-01-66/3554.contentimage_5F00_199741.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3554.contentimage_199741.jpg-550x364.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=z1UsCH3CjDiD8ZOh8sSlQBPKpSNgbHRuqQCQy9H3hCU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nBh2GwLwUx+U9D2+Gvo2qQ==" style="max-height: 364px;max-width: 550px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;When looking into the Pi Zero&amp;#39;s config file it turned out that the composite RCA output defaults to NTSC (this&amp;#39;ll be correct for some of you, of course). A quick change in the config file swaps it to a PAL signal, and we&amp;#39;re bathed in glorious rasterised technicolour!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;If you want to switch the RCA output to PAL, open the Pi Zero&amp;#39;s &lt;strong&gt;config.txt&lt;/strong&gt; file (located in &lt;strong&gt;/boot&lt;/strong&gt;) and uncomment (by removing the preceding hash) the following line:&lt;/span&gt;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:18pt;"&gt;&lt;strong&gt;sdtv_mode=2&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&amp;nbsp;&amp;nbsp; &lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Just in Case&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Given that the Pi Zero has just one USB, and its a micro socket, we added a modified, powered hub to the equation so it could accept joypads, keyboards and drives. We&amp;#39;ve another build coming along soon to show you how we modified a cheap USB hub into one with power for the peripherals, but also shared it with the Pi Zero, hence only needing one power supply. Bookmark this page and follow the Raspberry Pi section to be notified when the USB hub post is published.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/474x266/__key/communityserver-wikis-components-files/00-00-00-01-66/6786.contentimage_5F00_199742.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6786.contentimage_199742.jpg-474x266.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=ZU5foWHyS0texvks3A%2F2TBSlnwxdjXlySo1Fnft0%2FR0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hcuhU37K8FSPN2Hchm96LQ==" style="max-height: 266px;max-width: 474px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/411x266/__key/communityserver-wikis-components-files/00-00-00-01-66/4643.contentimage_5F00_199743.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4643.contentimage_199743.jpg-411x266.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=cks0r2mKXX0N9osy3efYoS7%2BNilNL9AeltfwH4H2a3I%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=QZfCFSPuoNUk6jHLjSS8Cg==" style="max-height: 266px;max-width: 411px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;We also took the opportunity to cut a section out of the TVs case while the back was off, and glued the USB hub in place. The power socket was fitted to the case beneath the hub, keeping things neat and the cables out of the way of the screen. A couple of slots cut into the inside of the TV&amp;#39;s casing holds the Pi Zero nicely in place next to the hub.&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;/h1&gt;&lt;h1&gt;Going Retro&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;We tried a few options for installing emulators on the Pi Zero, with &lt;a class="jive-link-external-small" href="http://blog.petrockblock.com/retropie/" rel="nofollow ugc noopener" target="_blank"&gt;RetroPie&lt;/a&gt; proving to be the simplest, easiest and most stable. This is likely because it has a version for the earlier models of Raspberry Pi, which the Zero is more akin to.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/453x303/__key/communityserver-wikis-components-files/00-00-00-01-66/3157.contentimage_5F00_199744.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3157.contentimage_199744.jpg-453x303.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ng0v9v%2BLX5xmZgA8dKmL5rtg3C8%2Bqb6GaL8szzCub2A%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zJH96JmWDIss6zZZpp0Vbg==" style="max-height: 303px;max-width: 453px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;We&amp;#39;re going to cover the installation of RetroPie (and maybe some other OS options) for the Pi Zero shortly, but it wasn&amp;#39;t a chore. Download the SD card image, write it to the card and put it in the Pi Zero. Simple and classic.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;So far we&amp;#39;ve tested it out with two Xbox 360 controllers (given they&amp;#39;re USB native) and the emulator automatically detected them both without fuss. The UI is clean and readable on the old screen, and games up to 16-bit run like a velvet dream!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;If you turn your Pi Zero to gaming uses, or make your own retro console like we did, remember to come on back and tell us all about it right here on element14!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;And if you want more info on the Pi Zero so you can get started on your own awesome projects, &lt;/span&gt;&lt;a class="jive-link-external-small" href="/products/raspberry-pi/w/documents/1111/introducing-the-raspberry-pi-zero" target="_blank"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;here&amp;#39;s where to begin&lt;/strong&gt;.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: emulator, retro, raspberry_pi, pi_zero, raspberrypi, retropie, retro_gaming_console, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Raspberry Pi Weather Station Project</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/1559/raspberry-pi-weather-station-project</link><pubDate>Mon, 10 May 2021 18:52:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3db04b35-242e-4eaf-8406-50e7692ca0dc</guid><dc:creator>jcasiello</dc:creator><description>Current Revision posted to Documents by jcasiello on 5/10/2021 6:52:44 PM&lt;br /&gt;
&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/286x217/__key/communityserver-wikis-components-files/00-00-00-01-66/7776.contentimage_5F00_199811.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7776.contentimage_199811.png-286x217.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=nX32sbWOuyZ9FnOmr5liK8tp9umL4gHsAwgrx9Syqqw%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=VYAlStK0JWTv+RDvviak9w==" style="max-height: 217px;max-width: 286px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align:justify;"&gt;Using SenseHAT, InitialState Cloud Service and your Raspberry Pi, create a working Weather Station&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Overview&lt;/strong&gt;:&lt;/p&gt;&lt;p style="margin:0;"&gt;This kit helps to build your own local weather dashboard, capturing the weather inside and outside your house or office over time. This super-fun and easy project will leverage the Internet of Things (IoT), using the new Raspberry Pi 3 with built-in WiFi, a Sense HAT, and the Initial State cloud platform. Raspberry Pi will capture all the sensor data from SenseHAT and stream it directly to the cloud and this stream of data/information can be monitored or displayed in a professional graphical fashion which can be accessed from your smartphone or computer from anywhere in the world with just a few button clicks.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Project level: Beginner&lt;/li&gt;&lt;li&gt;&lt;p style="margin:0;"&gt;&lt;span style="line-height:1.5;"&gt;Approximate time to complete: 20 minutes&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Get the kit:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-pKB5ASSu-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2525225,2521753,2522592,2520785,2483095,2473872&amp;amp;nsku=77Y6520,77Y6534,77Y6514,77Y6535,49Y7569,49Y1712&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2525225,2521753,2522592,2520785,2483095,2473872&amp;amp;nsku=77Y6520,77Y6534,77Y6514,77Y6535,49Y7569,49Y1712&amp;amp;COM=noscript" target="_blank"&gt;SenseHAT Weather Station&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-pKB5ASSu-unlinked"&gt;SenseHAT Weather Station&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;em&gt;(you can remove individual item(s) at the cart )&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;strong&gt;Project requires:&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;1. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-DXjJ38KC-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2525225&amp;amp;nsku=77Y6520&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2525225&amp;amp;nsku=77Y6520&amp;amp;COM=noscript" target="_blank"&gt;Raspberry Pi3&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-DXjJ38KC-unlinked"&gt;Raspberry Pi3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;2. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-iS8UL9tJ-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2522592&amp;amp;nsku=77Y6514&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2522592&amp;amp;nsku=77Y6514&amp;amp;COM=noscript" target="_blank"&gt;Translucent Enclosure&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-iS8UL9tJ-unlinked"&gt;Translucent Enclosure&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;3. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-QivjoXvY-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2521753&amp;amp;nsku=77Y6534&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2521753&amp;amp;nsku=77Y6534&amp;amp;COM=noscript" target="_blank"&gt;16GB MicroSD card preloaded with NOOBS&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-QivjoXvY-unlinked"&gt;16GB MicroSD card preloaded with NOOBS&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;4. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-fEITR3j8-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2483095&amp;amp;nsku=49Y7569&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2483095&amp;amp;nsku=49Y7569&amp;amp;COM=noscript" target="_blank"&gt;Raspberry Pi Sense HAT&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-fEITR3j8-unlinked"&gt;Raspberry Pi Sense HAT&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;5. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-LOxJInW1-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2520785&amp;amp;nsku=77Y6535&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2520785&amp;amp;nsku=77Y6535&amp;amp;COM=noscript" target="_blank"&gt;Pi3 Power Supply 5V, 2&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-LOxJInW1-unlinked"&gt;Pi3 Power Supply 5V, 2&lt;/span&gt;&lt;/span&gt;A&lt;/p&gt;&lt;p style="margin:0;"&gt;6. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-nH9XwGEs-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2473872&amp;amp;nsku=49Y1712&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2473872&amp;amp;nsku=49Y1712&amp;amp;COM=noscript" target="_blank"&gt;7&amp;quot; Pi Display&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-nH9XwGEs-unlinked"&gt;7&amp;quot; Pi Display&lt;/span&gt;&lt;/span&gt; or HDMI monitor with HDMI cable&lt;/p&gt;&lt;p style="margin:0;"&gt;7. Keyboard &amp;amp; Mouse (for HDMI monitor)&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/413x190/__key/communityserver-wikis-components-files/00-00-00-01-66/1805.contentimage_5F00_199812.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1805.contentimage_199812.png-413x189.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=oFFEqpqVuDGGN3h3psv9R9Mj6c2uVFJLyT0WIl7DqLQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3c3kRm+eeKnB4NA+891WvQ==" style="max-height: 189px;max-width: 413px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Option 1: Follow the instruction if you have downloaded the full Raspberry Pi &lt;/strong&gt;&lt;strong&gt;project images from element14 community.&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Instructions:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;1.&amp;nbsp; Download the full Raspberry Pi image with demo code from &lt;a class="jive-link-external-small" href="https://element14.flexnetoperations.com/control/nwrk/WebContent?fileID=PROJ-FILE-RPI-001" rel="nofollow ugc noopener" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;2.&amp;nbsp; Insert the uSD card into your computer SD card reader and write the downloaded imaged into uSD card using image writing software like “Win32DiskImager”, wait for the write to complete. Exit the imager and eject the SD card.&lt;/p&gt;&lt;p style="margin:0;"&gt;3.&amp;nbsp; Insert the uSD card into Raspberry Pi and boot the system. Now connect your Raspberry Pi to the internet using WiFi setup utility and make sure you are connected to the internet.&lt;/p&gt;&lt;p style="margin:0;"&gt;4.&amp;nbsp; Go to the &lt;a class="jive-link-external-small" href="http://www.InitialState.com/" rel="nofollow ugc noopener" target="_blank"&gt;www.InitialState.com&lt;/a&gt; and signup for a free account.&lt;/p&gt;&lt;p style="margin:0;"&gt;5.&amp;nbsp; Now login to your InitialState account, click on your username in the top right, then go to “my account”. At the bottom of the page click on “Create a New Key” to generate your unique key to stream the data. Make a note of this Access Key.&lt;/p&gt;&lt;p style="margin:0;"&gt;6.&amp;nbsp; On the Pi Desktop you will find a Python project file named “pi_weather.py” which we need to edit and update with the Initial State unique Access Key.&lt;/p&gt;&lt;p style="margin:0;"&gt;7.&amp;nbsp; Now before we move further we need to install Initialstate ISStreamer. Open the LX terminal and execute below command:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;$ cd /home/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;While installing it ll ask your Initialstate account credential created under step 4.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;8.&amp;nbsp; Now we need to edit the demo file using editor of your choice, here given example using Nano editor:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;times new roman&amp;#39;, times;color:#333333;background:silver;"&gt;sudo nano pi_weather.py&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. Replace the text “ENTER YOUR KEY” with your Access Key “XXXX”&lt;/p&gt;&lt;p style="margin:0;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. Save the file with the same name by pressing Ctrl + X (to exit), y (to save the changes in the file, ENTER (to save with the same name).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;9. Now run the modified Python file to start the weather station:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;times new roman&amp;#39;, times;color:#333333;background:silver;"&gt;sudo python pi_weather.py&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;color:#333333;background-position:initial;"&gt;10. Go to the browser from your computer or mobile device and login to your initial state account and start monitoring the data.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/679x350/__key/communityserver-wikis-components-files/00-00-00-01-66/0728.contentimage_5F00_199813.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0728.contentimage_199813.png-679x350.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=SgPMcPEqKERvwbrCkiAt23U3VimawiSbAXMIm8u8ZKU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=gEB17j8YgSAvccoFEHsu/w==" style="max-height: 350px;max-width: 679px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Option 2: Please follow below instruction if you want to build this project from &lt;/strong&gt;&lt;strong&gt;scratch on you existing RPi Image.&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Preparations&lt;/strong&gt;:&lt;/p&gt;&lt;p style="margin:0;"&gt;1. Download the Python project file&lt;a class="jive-link-wiki-small" href="/products/devtools/technicallibrary/m/files/1227"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;2. Copy the downloaded file into a USB drive&lt;/p&gt;&lt;p style="margin:0;"&gt;3. Go to the &lt;a class="jive-link-external-small" href="http://www.InitialState.com/" rel="nofollow ugc noopener" target="_blank"&gt;www.InitialState.com&lt;/a&gt; and signup for a free account.&lt;/p&gt;&lt;p style="margin:0;"&gt;4. Now login to your InitialState account, click on your username in the top right, then go to “my account”. At the bottom of the page click on “Create a New Key” to generate your unique key to stream the data. Make a note of this Access Key.&lt;/p&gt;&lt;p style="margin:0;"&gt;5. Connect the hardware and USB drive&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Hardware &amp;amp; Software Setup:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;1. Connect all the provided hardware and boot the Raspberry Pi 3 as a standard setup. Now connect your Raspberry Pi to the internet using WiFi setup utility and make sure you are connected to the internet.&lt;/p&gt;&lt;p style="margin:0;"&gt;2. Setting up SenseHAT and Initial State streamer on Raspberry Pi to stream sensor data to the cloud;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;a. Installing SenseHAT. Open the LX terminal and execute below commands:&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:60px;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;times new roman&amp;#39;, times;color:#545454;background:silver;"&gt;sudo apt-get update&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:60px;"&gt;&lt;span style="font-family:&amp;#39;times new roman&amp;#39;, times;"&gt;&lt;span style="font-size:10pt;color:#545454;background:silver;"&gt;sudo apt&lt;/span&gt;&lt;span style="font-size:10pt;color:#545454;background:silver;"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;color:#545454;background:silver;"&gt;get install sense&lt;/span&gt;&lt;span style="font-size:10pt;color:#545454;background:silver;"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;color:#545454;background:silver;"&gt;hat&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;b. Initial State: Open the LX terminal and execute below command:&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:60px;"&gt;&lt;span style="font-family:&amp;#39;times new roman&amp;#39;, times;"&gt;&lt;span style="font-size:10pt;color:#545454;background:silver;"&gt;&lt;span&gt;\curl -sSL &lt;/span&gt;&lt;a class="" href="https://get.initialstate.com/python"&gt;https://get.initialstate.com/python&lt;/a&gt;&lt;span&gt; -o - &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;color:#545454;background:silver;"&gt;| sudo bash&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;c. Above two steps will install SenseHAT drivers and Initialstate ISStreamer on to the Pi, it might ask for your Initialstate account credential password to proceed.&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;3. Now insert the USB drive and copy the downloaded Python file from the USB drive into Raspberry Pi working directly or directory of your choice.&lt;/p&gt;&lt;p style="margin:0;"&gt;4. Now we need to edit the Python file to enter you unique Access Key. You can use&lt;/p&gt;&lt;p style="margin:0;"&gt;any editor of your choice, here given example using Nano editor:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:60px;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;times new roman&amp;#39;, times;color:#333333;background:silver;"&gt;sudo nano pi_weather.py&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;a. replace the text “ENTER YOUR KEY” with your Access Key “XXXX”&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;b. Save the file with the same name by pressing Ctrl + X (to exit), y (to save the changes in the file, ENTER (to save with the same name).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;5. Now run the modified Python file to start the weather station:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:60px;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;times new roman&amp;#39;, times;color:#333333;background:silver;"&gt;sudo python pi_weather.py&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;6. Go to the browser from your computer or mobile device and login to your initial state account and start monitoring the data.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/679x350/__key/communityserver-wikis-components-files/00-00-00-01-66/0728.contentimage_5F00_199813.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0728.contentimage_199813.png-679x350.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=SgPMcPEqKERvwbrCkiAt23U3VimawiSbAXMIm8u8ZKU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=gEB17j8YgSAvccoFEHsu/w==" style="max-height: 350px;max-width: 679px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: sense hat, design_projects, rpibeginner, projects, pi weather station kit, raspberry_pi_project, raspberry pi, weather station, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Raspberry Pi Smart Surveillance Monitoring System</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/1586/raspberry-pi-smart-surveillance-monitoring-system</link><pubDate>Mon, 10 May 2021 18:52:43 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:92ea7673-ee44-4cad-b7af-569d655b7c53</guid><dc:creator>jcasiello</dc:creator><description>Current Revision posted to Documents by jcasiello on 5/10/2021 6:52:43 PM&lt;br /&gt;
&lt;h2&gt;Build a Raspberry Pi based smart wireless surveillance monitoring system using MotionEye.&lt;/h2&gt;&lt;h2&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/412x309/__key/communityserver-wikis-components-files/00-00-00-01-66/0552.contentimage_5F00_199820.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0552.contentimage_199820.png-412x308.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2BCRjPvY482iMLpjHH28VSiQ0SYcXOMBrOyJe5FYsaL0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bucASY+hOSMzwSjhJP+zHQ==" style="max-height: 308px;max-width: 412px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:red;"&gt;&lt;span style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;color:#303030;"&gt;With this project, you can design and implement a Raspberry Pi 3 based low-cost smart surveillance monitoring system. With RPi3 on board WiFi, PiCamera and MotionEye OS you will be able to capture High Definition video and live stream video can be accessed/viewed using a web browser from anywhere by just entering the static RPi IP address. The system can automatically initiate video recording, image capturing or send notifications if any kind of motion is detected.&amp;nbsp; The camera can capture wide area and motion sensitivity, brightness, contrast, angle all can be controlled by the user. If you want extra security, you can set authentication which makes the system more secure and can&amp;#39;t be hacked.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Project level: Beginner&lt;/li&gt;&lt;li&gt;Approximate time to complete: 20 minutes&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Get the kit:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-bDMfDfc8-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2525225,2521753,2524080,2520785,2510728&amp;amp;nsku=77Y6520,77Y6534,77Y6509,77Y6535,69W0689&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2525225,2521753,2524080,2520785,2510728&amp;amp;nsku=77Y6520,77Y6534,77Y6509,77Y6535,69W0689&amp;amp;COM=noscript" target="_blank"&gt;Security Camera for Raspberry Pi&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-bDMfDfc8-unlinked"&gt;Security Camera for Raspberry Pi&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;em&gt;(you can remove individual item(s) at the cart )&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;strong&gt;Project requires:&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;1. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-yyL1Y5Tl-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2525225&amp;amp;nsku=77Y6520&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2525225&amp;amp;nsku=77Y6520&amp;amp;COM=noscript" target="_blank"&gt;Raspberry Pi3&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-yyL1Y5Tl-unlinked"&gt;Raspberry Pi3&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;2. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-nSOWVt2N-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2521753&amp;amp;nsku=77Y6534&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2521753&amp;amp;nsku=77Y6534&amp;amp;COM=noscript" target="_blank"&gt;16GB NOOBS MICRO SD CARD&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-nSOWVt2N-unlinked"&gt;16GB NOOBS MICRO SD CARD&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;3. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-UEKdPfHQ-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2510728&amp;amp;nsku=69W0689&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2510728&amp;amp;nsku=69W0689&amp;amp;COM=noscript" target="_blank"&gt;Pi Camera 8MP&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-UEKdPfHQ-unlinked"&gt;Pi Camera 8MP&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;4. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-7O6CiSfZ-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2520785&amp;amp;nsku=77Y6535&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2520785&amp;amp;nsku=77Y6535&amp;amp;COM=noscript" target="_blank"&gt;Pi3 Power Supply 5V, 2.4A&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-7O6CiSfZ-unlinked"&gt;Pi3 Power Supply 5V, 2.4A&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;5. &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-YDgjs439-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2524080&amp;amp;nsku=77Y6509&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2524080&amp;amp;nsku=77Y6509&amp;amp;COM=noscript" target="_blank"&gt;Enclouse with in-built camera slot&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-YDgjs439-unlinked"&gt;Enclouse with in-built camera slot&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Initial Hardware Setup (RPi and SenseHAT)&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;1. Download the latest version of MotionEyeOS for RPi3 from &lt;a class="jive-link-external-small" href="https://github.com/ccrisan/motioneyeos/releases/download/20160410/motioneyeos-raspberrypi3-20160410.img.gz" rel="nofollow ugc noopener" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;2. Insert the uSD card into your computer SD card reader and write the downloaded imaged into uSD card using image writing software like “Win32DiskImager”, wait for the write to complete. Exit the imager and eject the SD card.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;3. Insert the uSD card into Raspberry Pi and boot the system. For initial setup we have to use Ethernet connection and once connected to the network we can setup WiFi connection.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;4. Please refer to the guide how to find RPi IP address without using monitor (using the Pi headless):&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a class="jive-link-external-small" href="https://www.raspberrypi.org/documentation/remote-access/ip-address.md" rel="nofollow ugc noopener" target="_blank"&gt;https://www.raspberrypi.org/documentation/remote-access/ip-address.md&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;5. Now from your computer browse to the identified RPi IP address with your browser. Bingo!! you should see a live video feed from you RPi and camera over you network.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;6. Now to setup your WiFi connection, motion sensing, video resolution etc click on the Key icon in the top-left corner. Login with &lt;strong&gt;admin&lt;/strong&gt; as a username and leaving password field blank. From this panel you can set and control all the system functionality remotely. Once you have setup WiFi connection you can remove Ethernet cable and system will connect using WiFi on next boot automatically.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/548x408/__key/communityserver-wikis-components-files/00-00-00-01-66/5850.contentimage_5F00_199821.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5850.contentimage_199821.png-548x408.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=6LIlhAuc0UVLH4VVtUts2Rcd9xWVol3CyxxMHZnOdq0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=5QsUzyXlWxcHOa5aN3wH8w==" style="max-height: 408px;max-width: 548px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Login Screen:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/629x257/__key/communityserver-wikis-components-files/00-00-00-01-66/6431.contentimage_5F00_199822.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6431.contentimage_199822.png-629x257.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=oYKcjCjAXXXQnWswznk%2F6YYbi2t0YqQkAwfYtXw%2BGkA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=8GOxNNf3rZlNevu/fLQ8Tw==" style="max-height: 257px;max-width: 629px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;WIFI Network&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/560x489/__key/communityserver-wikis-components-files/00-00-00-01-66/6835.contentimage_5F00_199823.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6835.contentimage_199823.png-560x489.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rHXX9oNhZIlQx%2BNNhDgRh3KQpVkwnBmfzsUKW66fESA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=xkaCbRFSWePyLbEEa1H8iA==" style="max-height: 489px;max-width: 560px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Camera Setup:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/553x431/__key/communityserver-wikis-components-files/00-00-00-01-66/0167.contentimage_5F00_199824.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0167.contentimage_199824.png-553x431.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=McyuuiE4Ck2XwSwxJ%2BV4vRN4QRRT4tdPexHJHSEqEGU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hbcYIL2CkC/tsZAUd3GDzg==" style="max-height: 431px;max-width: 553px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Motion Detection &amp;amp; Notification Setup:&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/558x476/__key/communityserver-wikis-components-files/00-00-00-01-66/8562.contentimage_5F00_199825.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8562.contentimage_199825.png-558x476.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=kw%2BGxbqyfNLqioBRA9kALu7yfbedjKzH0g8e5NOZpas%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=5YFE+LsJCC8wUpefMRybRw==" style="max-height: 476px;max-width: 558px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: raspberry pi security camera, pi-camera_project, raspberry pi projects, pi camera, raspberry_pi_projects&lt;/div&gt;
</description></item><item><title>Raspberry Pi Media Center</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/1622/raspberry-pi-media-center</link><pubDate>Mon, 10 May 2021 18:52:42 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:49aa9a39-d332-49dc-9613-c166c98d434d</guid><dc:creator>jcasiello</dc:creator><description>Current Revision posted to Documents by jcasiello on 5/10/2021 6:52:42 PM&lt;br /&gt;
&lt;h2&gt;&lt;span style="color:#333333;font-size:13.3333px;font-family:Verdana, sans-serif;"&gt;&lt;strong&gt;Create a Smart TV using Raspberry Pi and OSMC&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Overview: &lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/399x244/__key/communityserver-wikis-components-files/00-00-00-01-66/1423.contentimage_5F00_199826.png"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1423.contentimage_199826.png-399x244.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=d020CtTMXJZJrX8MFCDRySIzb9WakvtoHJCISBMdxvQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=XhZrSJf86qqM2CGkQDS9gQ==" style="max-height: 244px;max-width: 399px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;color:#333333;background-position:initial;"&gt;This kit will help you to build a fully functional HD-ready media center (or turn you pl;ld TV into Smart TV) for all your movies, music and TV. Turn you raspberry Pi into streaming powerhouse - thanks to &lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#333333;"&gt;OSMC&lt;span style="background-position:initial;"&gt;, a version of Kodi (formerly XBMC) optimised for Raspberry Pi. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Project level: Beginner&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Approximate time to complete: 20 minutes&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;strong&gt;Get the Kit:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span class="e14-init-shown e14-product-link-buynow" id="addProduct-AxttK0hG-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2525225,2522592,2521753,2520785,2473872&amp;amp;nsku=77Y6520,77Y6514,77Y6534,77Y6535,49Y1712&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2525225,2522592,2521753,2520785,2473872&amp;amp;nsku=77Y6520,77Y6514,77Y6534,77Y6535,49Y1712&amp;amp;COM=noscript" target="_blank"&gt;Product Link&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-AxttK0hG-unlinked"&gt;Product Link&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;span style="font-weight:inherit;font-family:inherit;font-style:inherit;"&gt;&lt;em&gt;(you can remove individual item(s) at the cart )&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Project requires:&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-gh3MQ4IA-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2525225&amp;amp;nsku=77Y6520&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2525225&amp;amp;nsku=77Y6520&amp;amp;COM=noscript" target="_blank"&gt;Raspberry Pi 3&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-gh3MQ4IA-unlinked"&gt;Raspberry Pi 3&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-Qg9CZS5J-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2522592&amp;amp;nsku=77Y6514&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2522592&amp;amp;nsku=77Y6514&amp;amp;COM=noscript" target="_blank"&gt;Translucent Enclosure&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-Qg9CZS5J-unlinked"&gt;Translucent Enclosure&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-TM7sWJBU-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2521753&amp;amp;nsku=77Y6534&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2521753&amp;amp;nsku=77Y6534&amp;amp;COM=noscript" target="_blank"&gt;16GB MicroSD card preloaded with NOOBS&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-TM7sWJBU-unlinked"&gt;16GB MicroSD card preloaded with NOOBS&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-xBjpPmY5-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2520785&amp;amp;nsku=77Y6535&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2520785&amp;amp;nsku=77Y6535&amp;amp;COM=noscript" target="_blank"&gt;Pi3 Power Supply 5V, 2A&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-xBjpPmY5-unlinked"&gt;Pi3 Power Supply 5V, 2A&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-1OYD9iA7-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2473872&amp;amp;nsku=49Y1712&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2473872&amp;amp;nsku=49Y1712&amp;amp;COM=noscript" target="_blank"&gt;7&amp;quot; Pi Display&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-1OYD9iA7-unlinked"&gt;7&amp;quot; Pi Display&lt;/span&gt;&lt;/span&gt; or HDMI monitor with HDMI cable&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:.0001pt;background:white;"&gt;&lt;span style="color:#333333;font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;strong&gt;Instructions:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;1.&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt;Download the full Raspberry Pi NOOBS images from &lt;/span&gt;&lt;a class="jive-link-external-small" href="https://downloads.raspberrypi.org/NOOBS_latest" rel="nofollow ugc noopener" target="_blank"&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt;&lt;strong&gt;HERE&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration:underline;font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt; Raspbmc is one of the default OS options pre-packaged with the Raspberry Pi Foundation’s&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; NOOBS installer.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;margin-bottom:.0001pt;background:white;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;2.&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt;Insert the uSD card into RPi, connect the HDMI cable you your HDMI monitor or TV, connect keyboard &amp;amp; mouse and finally connect the supplied RPi power supply to power up the Raspberry Pi. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;3.&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt;Now simply follow the simple RPi setup and when prompted to select a distro package to install, select Raspbmc from the list rather than Raspbian.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;4.&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt;Once it’s installed and booted up, the first thing you’ll want to do is connect to your Wi-Fi network. Head over to the Programs tab using keyboard &amp;amp; mouse, and go into the Raspbmc Settings menu. The Network tab of this menu will allow you to edit your wireless configuration by entering your network name and password, after which you should be fully connected.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#333333;"&gt;5.&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;background-position:initial;"&gt;If your TV supports HDMI CEC, your standard TV remote will work just fine or if you have a smartphone or tablet, you can also use that to control your Pi using open source remote apps and link it to your Raspbmc by entering the MAC &lt;span style="color:#333333;"&gt;address and port details, which can be found in Raspbmc’s system menu.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;background:white;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#333333;"&gt;6.&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Verdana, sans-serif;color:#333333;background-position:initial;"&gt;With all that done, you’re ready to start streaming all your content, instantly and in HD. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10.0pt;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#333333;background:white;"&gt; &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/606x342/__key/communityserver-wikis-components-files/00-00-00-01-66/2084.contentimage_5F00_199827.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2084.contentimage_199827.png-606x342.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Bh0kaLt%2FGRXMThtb2ST5Smg9FgmQiFnjNNTdM0eJwzE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=MuH4xIZg3fCD/lPOPRUWfA==" style="max-height: 342px;max-width: 606px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: media_centre, raspberry pi projects, raspberry_pi_projects, smart_tv, osmc&lt;/div&gt;
</description></item><item><title>Raspberry Pi GPIO Explained</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/957/raspberry-pi-gpio-explained</link><pubDate>Mon, 10 May 2021 18:52:36 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:88dc3de6-65c8-42fd-b0c6-a36577feb11a</guid><dc:creator>shabaz</dc:creator><description>Current Revision posted to Documents by shabaz on 5/10/2021 6:52:36 PM&lt;br /&gt;
&lt;h1&gt;Contents&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/878x485/__key/communityserver-wikis-components-files/00-00-00-01-66/4666.contentimage_5F00_199720.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4666.contentimage_199720.jpg-878x485.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=3e3kgyfQGsWB0PfsS%2FsTP7zn3AHyPoy5WShrMjOstnU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=+8lMoj31OJTggMFk8VRL5w==" style="max-height: 485px;max-width: 878px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;Introduction&lt;/h1&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The Raspberry Pi is a computer, and from a connections point of view it doesn’t look much different to a normal desktop computer. It has USB ports for connecting a keyboard and mouse, and a video output port for connecting up a display.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Because it is more compact and lower cost than a large desktop PC, it becomes possible to use the Raspberry Pi or other small single board computers (SBCs) as they are known, for many scenarios where a desktop or laptop PC would not be feasible.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Often you may want to connect up other ‘things’ to a computer. For example you may wish to use a computer to measure the brightness level and automatically control lights, or to sound an alarm if an intruder is detected.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Broken down to more general terms, there is a desire to be able to use a computer to control (also known as to ‘output’) to electronic circuits, and to gain useful information (aka obtain ‘input’) from circuits.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;This is where the Raspberry Pi and other single board computers excel because one key difference between SBCs and desktop or laptop PCs is that SBCs usually have general purpose input/output (GPIO) capability. This is lacking on larger PCs.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/920x517/__key/communityserver-wikis-components-files/00-00-00-01-66/0456.contentimage_5F00_199721.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0456.contentimage_199721.jpg-920x517.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=dUjoaQOrh%2BXb6KI8vNoX4Oya4aRPGxzLNl1Ee8j2MTQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=wE8kgAvYlOBvEHwwhdIazA==" style="max-height: 517px;max-width: 920px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;By making connections to those pins (they are also known as header pins) the Raspberry Pi can interface to the electronic world which consists (amongst other things) of sensors and indicators and actuators.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;This blog post will provide example circuits that can be used as-is (or can be modified and extended) along with code examples in several programming languages. The information is split up into:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;Connections Overview&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;Understanding Inputs&lt;/strong&gt; (Use the tabs to work through this section)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;Understanding Outputs&lt;/strong&gt; (Use the tabs to work through this section)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;Some Optional (advanced) topics&lt;/strong&gt; (namely &lt;strong&gt;Speed and Jitter&lt;/strong&gt;; again, use the tabs to work through this section)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;To prevent too much scrolling, some of the sections are tabbed at the top, so click on the tabs to see more content. Also, click on the photos to zoom in to see wiring detail.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;There is also a short video that contains some extra detail as well as demonstrations of the circuits and code. The video will be available in about a weeks time (bookmark this post if you wish to be notified).&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Connections Overview&lt;/h1&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The diagram below lists the header pins available on the Raspberry Pi. Pin 1 on circuit boards can typically be identified by looking for the square-shaped pad on the underside of the board. The Raspberry Pi has digital inputs/outputs on its 40-pin connector that comply with 3.3V logic levels. The photo here shows an older Pi 2, but the same connection detail applies for the more recent Pi 3. Notice from the diagram that the pin numbering is in a zig-zag pattern, where pin 1 is lower right, pin 2 is lower left, and then the numbers increase the higher up you go in the zig-zag fashion. Another way of looking at it is to notice that the odd numbered pins are on the right side, and the even numbered pins are on the left side.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/762x644/__key/communityserver-wikis-components-files/00-00-00-01-66/1732.contentimage_5F00_199722.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1732.contentimage_199722.jpg-762x644.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=KAuTY8OAusRnG18sr7xSd5qdJuV3kaKNuDCksstwado%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3hi0MW8P+tBe30EhSSo7/w==" style="max-height: 644px;max-width: 762px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The term &amp;#39;3.3V logic levels&amp;#39; means that the Raspberry Pi will interpret anything very close to zero volts (it doesn&amp;#39;t have to be precisely 0V) as a logic ‘0’ and anything higher than around 2V as a logic ‘1’. Inputs beyond 3.3V will damage the board. Similarly, when GPIO pins are configured to become outputs, the Raspberry Pi will set the pin to either a voltage close to 0V or a voltage close to 3.3V. Everything in electronics has a tolerance, so (say) measuring 3.21V (as an example) instead of precisely 3.30V is considered acceptable.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;For this blog post&amp;#39;s input/output exercises, the pink, white, red and orange pins on the diagram will be used. The remainder pins are for serial interfacing use which is addressed in other blog posts.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;If you are not using the two 5V pins (bottom-left side, pin numbers 2 and 4) then you could prevent accidental shorts to surrounding pins by placing some plastic sleeving/insulation over them.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Understanding Raspberry Pi Outputs&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Work through the three tabs below to get a full understanding of the output functions of your Raspberry Pi.&lt;/span&gt;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;{tabbedtable} Tab Label&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;Tab Content&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1) Digital Outputs: LEDs&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;h1&gt;Getting Started with Digital Outputs: Lighting LEDs&lt;/h1&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;A typical use for output pins is to control an indicator such as an LED or light bulb, or some actuator or motor. Usually an electronic circuit is needed to transform the Raspberry Pi output into something that will control the desired device. For a small LED all that is needed is a series resistor; its purpose is to reduce the current that will flow through the LED in order to protect both the LED and the Raspberry Pi. Not a lot of current can be supplied by the output pins, and LEDs will be damaged by too high current. Furthermore LEDs are non-linear and will not light at all if too low a voltage is applied across them. Small LEDs (particularly red, yellow and green ones) will work fine with the Raspberry Pi outputs provided a resistor is attached in series. The exact resistance doesn’t matter; anything between 100 ohms and 1kohm should allow for sufficient output brightness when the output is set to logic ‘1’.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;As a quick exercise the photo here (click on it to zoom in) shows the Raspberry Pi connected up to an LED using &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-ZyyUWeY4-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2452749&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2452749&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;jumper wires&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-ZyyUWeY4-unlinked"&gt;jumper wires&lt;/span&gt;&lt;/span&gt;. To prevent accidental shorts and for convenience the Raspberry Pi was bolted onto a piece of wood (2mm or 2.5mm diameter bolts; 3mm will not fit) and a bread board glued next to it.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/704x449/__key/communityserver-wikis-components-files/00-00-00-01-66/0246.contentimage_5F00_199723.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0246.contentimage_199723.jpg-704x449.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=xQxUMG9vrXvKe8GQ6KOojrVu6NuHxmAisxuU1LtGiE8%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=9qHBSzZEuTidXjAsc0s6lw==" style="max-height: 449px;max-width: 704px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;A bread board, a single resistor and an LED were connected up to the Raspberry Pi. The GND (also known as 0V) connection was taken from pin 6 on the Raspberry Pi header, and the GPIO pin used was GPIO22 (see the diagram earlier) which is pin 15. Any GPIO pin could be used; they are marked in pink on the earlier diagram. Another way of representing this is shown in the schematic below.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/452x269/__key/communityserver-wikis-components-files/00-00-00-01-66/4478.contentimage_5F00_199724.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4478.contentimage_199724.png-452x268.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=YsdYP1HQONUBUY%2FRxLhltT4zDIvbDdeWZf74IfwzB3Y%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=3pg/toO+1BrUmWD8IH01TA==" style="max-height: 268px;max-width: 452px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Once you’ve connected up the LED, a program or script can be written to control it. The choice of language is up to you. One (popular) example is Python; here is some code that will light up the LED.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;# Connect LED to GPIO22 (pin 15)
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, True)
time.sleep(3)
GPIO.cleanup()

     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Save the code to a file called &lt;strong&gt;led-test.py&lt;/strong&gt; and then to run it, type&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;sudo python led-test.py&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Here is another example in Python. It flashes the LED 10 times (Note: if you&amp;#39;re new to Python, unlike other programming languages the line indentations in the code are important):&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;# connect LED to GPIO22 (pin 15)
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
for x in range(0,10):
  GPIO.setup(22, GPIO.OUT)
  GPIO.output(22, True)
  time.sleep(0.05)
  GPIO.output(22, False)
  time.sleep(0.45)

GPIO.cleanup()
     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Another way to control the output pins is to use a shell script. This appears slightly more complex (unless you enjoy writing shell scripts) but is a good thing just for reference because often other programming languages allow you to run shell scripts, and therefore if needed this can be a quick approach to using GPIO with other languages. Furthermore the method described here is standard across different platforms so your code can be ported to boards other than the Raspberry Pi too. If you&amp;#39;re a beginner to programming, stick with Python for now and move on to the next example; shell scripts can be revisited at a much later stage.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;#!/bin/sh
GPIO_PATH=/sys/class/gpio
LED_PIN=22 #GPIO 22 is pin 15
echo &amp;quot;$LED_PIN&amp;quot; &amp;gt; $GPIO_PATH/export
echo &amp;quot;out&amp;quot; &amp;gt; $GPIO_PATH/gpio$LED_PIN/direction
echo &amp;quot;1&amp;quot; &amp;gt; $GPIO_PATH/gpio$LED_PIN/value
sleep 1
echo &amp;quot;$LED_PIN&amp;quot; &amp;gt; $GPIO_PATH/unexport
     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The first line of the shell script looks like a comment line, but is needed to make it easy for the Linux shell to know what to do with the script upon execution, so don’t modify that. The remainder script lines are used to take control of a GPIO pin, set it to become an output, set it to a logic high value, and then wait for 1 second. Finally control of the GPIO pin is released so other programs can make use of it if desired.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Another programming language that may be encountered is C or its (far) bigger brother C++. An example using C or C++ is given further below in the ‘Voltmeter’ section where the code is used for input from a circuit, and output to an LED.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;2) Output Example: Tone Generator&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;h1&gt;Another Output Example: Tone Generator&lt;/h1&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;A more interesting example than an LED is to use a couple of GPIO pins to control a tone generator circuit. The Raspberry Pi has a headphone connector for audio but sometimes just a simple tone or alarm is needed to signal events (such as for an alarm clock project).&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The photo below shows a very simple single integrated circuit (IC) project that can generate various sounds. By adjusting resistor and capacitor values, different tones and sounds could be created.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/726x485/__key/communityserver-wikis-components-files/00-00-00-01-66/3073.contentimage_5F00_199725.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3073.contentimage_199725.jpg-726x484.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=aFk1NGPwGF%2BBeviiA2cztCO1eeosNkOSaVVz9%2BNzgmU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=6YvkvP19z63MDkc0Q5qEmw==" style="max-height: 484px;max-width: 726px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The circuit connects to two outputs from the Raspberry Pi. One output is used to switch the tone on or off, and the other is used to alternate between two tones. One of the capacitors in the circuit is used to create a sweeping tone transition when tones are alternated. The circuit diagram is shown below; it uses an &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-F1phHYdR-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9663762&amp;amp;nsku=57K3903&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9663762&amp;amp;nsku=57K3903&amp;amp;COM=noscript" target="_blank"&gt;ICM7555 timer integrated circuit&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-F1phHYdR-unlinked"&gt;ICM7555 timer integrated circuit&lt;/span&gt;&lt;/span&gt;. GPIO22 was used to switch the tone on and off, and GPIO27 modifies the tone. C1, R1 and R2 can be adjusted to select the desired tones.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x315/__key/communityserver-wikis-components-files/00-00-00-01-66/3482.contentimage_5F00_199726.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3482.contentimage_199726.png-720x314.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=XZDQ6IOcClbPIhmqplkkQGQdiw4MYxQvMA%2Bf1oesAPY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=V9Y8isgHDqImwNtsqJzHug==" style="max-height: 314px;max-width: 720px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The Python code below plays some alarm tone effects. To use the code, save the code to a file called &lt;strong&gt;tone-test.py&lt;/strong&gt; and then type&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;sudo python tone-test.py&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(22, GPIO.OUT)  # TONE_ENABLE
GPIO.setup(27, GPIO.OUT)  # TONE_CHANGE


GPIO.output(22, True)
for x in range(0,5):
  GPIO.output(27, True)
  time.sleep(0.1)
  GPIO.output(27, False)
  time.sleep(0.2)
GPIO.output(22, False)
time.sleep(0.5)


for x in range(0,5):
  GPIO.output(22, True)
  time.sleep(0.1)
  GPIO.output(22, False)
  time.sleep(0.2)
GPIO.output(27, True)
time.sleep(0.2)


for x in range(0,5):
  GPIO.output(22, True)
  time.sleep(0.05)
  GPIO.output(22, False)
  time.sleep(0.05)


for x in range(0,10):
  GPIO.output(22, True)
  time.sleep(0.1)
  GPIO.output(22, False)
  time.sleep(0.1)
time.sleep(1)


GPIO.cleanup()
     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;line-height:1.5em;"&gt;Note that the circuit uses the 3.3V supply (pin 1) available from the Raspberry Pi. Only use this supply if you know your circuit doesn’t consume much power. More than a few tens of milliamps of current consumption would require your own external power supply. Another approach would be to build a 5V to 3.3V regulator circuit and connect it to the 5V supply available on pin 2 from the Raspberry Pi.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;3) Output Design Tips&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;h1&gt;Output Design Tips&lt;/h1&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;All the circuits described so far have involved low current and low voltage but sometimes higher power devices need to be controlled or monitored. There are some typical methods to achieve this, and they are described here.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Connecting to 5V Logic&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;When the Raspberry Pi is used to &lt;strong&gt;output&lt;/strong&gt; a signal to 5V devices, usually (not always) no additional circuit is needed; many 5V logic device inputs will function just fine with the 3.3V logic output signals from the Raspberry Pi. You can confirm by checking the datasheet for the 5V device.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Low Power, Low Voltage LEDs (red, yellow, green)&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;A single LED can be controlled using a series resistor between around 100 ohms and 1kohm. No other considerations are required.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Any Color Low Power LED&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Blue and white LEDs may require a voltage higher than 3.3V. The easiest way to control a single LED is to use a transistor circuit to switch the 5V supply rail. The value of R1 should be increased if using an LED of any color other than blue or white. In general consult the LED data sheet. Any NPN transistor should work for this circuit.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/456x347/__key/communityserver-wikis-components-files/00-00-00-01-66/2806.contentimage_5F00_199727.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2806.contentimage_199727.png-456x346.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Gs3okS60NgqAv8iqO2UTpmoAgiO5rE73EP7pHb2KOmI%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=pcm4IktspalxA0L6bRytEQ==" style="max-height: 346px;max-width: 456px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Higher Power AC or DC Devices (but not mains!)&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;A relay is useful for this scenario. Virtually any NPN transistor can be used. Popular devices include &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-wUaYsvj9-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9558560&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9558560&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;BC547B&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-wUaYsvj9-unlinked"&gt;BC547B&lt;/span&gt;&lt;/span&gt;, &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-MVhDQgca-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9846743&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9846743&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;2N3904&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-MVhDQgca-unlinked"&gt;2N3904&lt;/span&gt;&lt;/span&gt; and &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-reqoyDua-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2453797&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2453797&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;BC549&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-reqoyDua-unlinked"&gt;BC549&lt;/span&gt;&lt;/span&gt;. If the connected device can function from 5V DC then the Raspberry Pi&amp;#39;s 5V connection on pin 2 of the 40-pin header could be connected to the relay switch as long as the required current is not too high (use 100mA as a very conservative guideline) otherwise the relay switch can be connected to an external supply (take care it doesn&amp;#39;t accidentally short to the 5V supply or any other connection on the Raspberry Pi - keep it totally isolated). Check the relay datasheet to confirm that it is suitable for your needs.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;A small relay with pins convenient for breadboard layout is Finder &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-XtQASCmE-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=1329651&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=1329651&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;32.21.7.005.2000&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-XtQASCmE-unlinked"&gt;32.21.7.005.2000&lt;/span&gt;&lt;/span&gt; and it can switch up to 6A. Note that just because a relay is rated for (say) 250V does not mean it can be used for this. Breadboards and stripboards are designed for far lower voltages. Even with a custom PCB the project should not be used at mains voltages because there are legal requirements for conductor spacing, temperature, types of enclosure material, connection type, conductor clamping method and so on. It is easy to create a product that will fail and cause personal injury or an electrical fire or harm others at some point in time.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/494x347/__key/communityserver-wikis-components-files/00-00-00-01-66/7776.contentimage_5F00_199728.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7776.contentimage_199728.png-494x346.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QjmUFws4ZlTZCu1ZazmV1ZQGWyGuokf1ebOMSzWbANg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=jPRVMq69ph/7n2N9UorWmQ==" style="max-height: 346px;max-width: 494px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Mains Powered Devices&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Treat any circuit or product that directly controls mains devices from a Raspberry Pi with extreme suspicion. Most do not meet safety standards (even though some firms self-certify that they do meet safety standards when clearly their products do not). Instead, a reasonably safe method is to find a reputable remote control product from a reputable manufacturer and a reputable supplier that uses infra-red or wireless (radio) technology to control the mains device. In the UK, the &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-vLx122nb-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2433438&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2433438&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;Energenie RF controlled mains sockets&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-vLx122nb-unlinked"&gt;Energenie RF controlled mains sockets&lt;/span&gt;&lt;/span&gt; appear suitable and they provide a small radio transmitter board that directly plugs onto the Raspberry Pi 40-pin connector and they also supply example Python code for it. For an examination of the hardware and software click to see &lt;a class="jive-link-external-small" href="http://www.element14.com/community/community/designcenter/single-board-computers/blog/2014/11/19/energenie-experiments-remote-power-control-for-the-home" target="_blank"&gt;Energenie Experiments - Remote Power Control for the Home&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Some products for non-UK regions are mentioned at that link too.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Multiple Relays, LEDs or Devices that require less than 200mA Current at 12V&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The ancient (&amp;gt;25 years in production!) yet useful &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-Iiu285cs-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=1094428&amp;amp;nsku=89K1143&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=1094428&amp;amp;nsku=89K1143&amp;amp;COM=noscript" target="_blank"&gt;ULN2803A&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-Iiu285cs-unlinked"&gt;ULN2803A&lt;/span&gt;&lt;/span&gt; integrated circuit can be employed for this scenario. Several hundred milliamps can be supplied by each output pin (there are 8 of them).&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/806x371/__key/communityserver-wikis-components-files/00-00-00-01-66/2818.contentimage_5F00_199729.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2818.contentimage_199729.png-806x370.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=DLy7%2Bu%2FQtzMzGUSHCtXk2xm44h3cvHEE7h3wXpLs%2BCs%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=2A35t3kGlVYHldALVHpAvQ==" style="max-height: 370px;max-width: 806px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3&gt;Driving small DC Motors (the most common motors, also known as ‘Brushed DC’ Motors) and Stepper Motors&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;For small motors consider the &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-xAXvsvcm-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2452189&amp;amp;nsku=93X7452&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2452189&amp;amp;nsku=93X7452&amp;amp;COM=noscript" target="_blank"&gt;Gertbot motor control board&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-xAXvsvcm-unlinked"&gt;Gertbot motor control board&lt;/span&gt;&lt;/span&gt;. It can drive several brushed DC motors if needed, and can also be used for stepper motors.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Driving Brushed DC Motors (Medium to High Power) in either Direction&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Use the&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-eC5JTWXw-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2453485&amp;amp;nsku=93X8231&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2453485&amp;amp;nsku=93X8231&amp;amp;COM=noscript" target="_blank"&gt;&amp;nbsp; Infineon Motor Control board&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-eC5JTWXw-unlinked"&gt;&amp;nbsp; Infineon Motor Control board&lt;/span&gt;&lt;/span&gt;. It can control one motor in both directions, or two motors in one direction. If more motors are needed, add more of the boards.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;&lt;/h1&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Understanding Raspberry Pi Inputs&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Work through the three tabs below to get a full understanding of the input functions of your Raspberry Pi.&lt;/span&gt;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;{tabbedtable} Tab Label&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;Tab Content&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;1) Push Button Switch Input&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;h1&gt;Push Button Switch Input&lt;/h1&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The connections on the Raspberry Pi can be converted into inputs under software control. The example here is about the simplest; a push button switch is wired up to the 40-pin connector:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/584x595/__key/communityserver-wikis-components-files/00-00-00-01-66/7608.contentimage_5F00_199730.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7608.contentimage_199730.jpg-584x594.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Cano0GmHdHAkLkgSiKrAAVrGo%2BBSinbQ%2FJpTd62s9w0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=JW/X6bBV4V/2QzhuZJt1/w==" style="max-height: 594px;max-width: 584px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The circuit diagram is shown below. Note that the LED circuit from the exercises before is still left wired up but is not shown in the diagram below.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/402x340/__key/communityserver-wikis-components-files/00-00-00-01-66/6204.contentimage_5F00_199731.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6204.contentimage_199731.jpg-402x339.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=ZXZMN3Et9B2eJ%2BdYrsGYAafWyB1gCRiIDeRfij2z19o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=W9KpDDBPMrxBhSDMmIDImg==" style="max-height: 339px;max-width: 402px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;As can be seen from the circuit diagram, when the switch is not pressed the input pin is connected to +3.3V through a resistor. The input pin has a high resistance inside the Raspberry Pi, and so the voltage at the input pin is close to the 3.3V that the resistor is connected to. This means that the Raspberry Pi will detect a logic ‘1’ condition when the switch is not pressed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;When the switch is pressed, there is a direct path between the input pin and 0V and so the voltage at the input pin becomes 0V which is a logic ‘0’ condition.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;For this simple switch circuit, the value of resistor R1 is not critical and can be any resistance from around 1k to 47k, but avoid low values since that increases current consumption when the switch is pressed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Here is some example Python code that can detect the push button switch status. To use the code, save the code in a file called &lt;strong&gt;button-test.py&lt;/strong&gt; and then to run it type:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;sudo python button-test.py&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;# Connections:
# GPIO5 (pin 29) is button input
# GPIO22 (pin 15) is LED


import time
import curses
import sys
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(5, GPIO.IN)
GPIO.setup(22, GPIO.OUT)
tc=curses.initscr()
tc.nodelay(1)
old_button_status=GPIO.input(5)
count=0


tc.addstr(1, 0, &amp;quot;Press SPACE to quit:\n&amp;quot;)
tc.addstr(2, 0, str(count))


while 1:
  button_status=GPIO.input(5)
  kbval=tc.getch()
  GPIO.output(22, button_status)
  if old_button_status != button_status:
    if button_status == True:
      tc.addstr(2, 10, &amp;quot;-&amp;quot;) # pin is high, button unpressed
      count=count+1
    else:
      tc.addstr(2, 10, &amp;quot;_&amp;quot;) # pin is low, button pressed
    old_button_status=button_status
    tc.addstr(2, 0, str(count))
  if kbval==0x20:
    break


time.sleep(1)
GPIO.cleanup()
curses.endwin()
print &amp;quot;Goodbye&amp;quot;

     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;line-height:1.5em;"&gt;The code displays the button status on the screen, along with a count of how many times the button was pressed. You’ll notice that occasionally the count increases more than the number of times the button was thought to be pressed and this happens because of ‘contact bounce’; as the switch is pressed, the contacts connect together and release many times rapidly before finally making contact. A similar thing happens when the switch is released. The solution is to have ‘debouncing’ functionality. It can be implemented in hardware or in software (the software method is very common). The code below implements debouncing and will more accurately register the correct number of button presses. The only difference with the earlier code is that this time the input status is checked a second time delayed by about 20msec – this provides time for contact bounce to have completed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="python"&gt;# Connections:
# GPIO5 (pin 29) is button input
# GPIO22 (pin 15) is LED


import time
import curses
import sys
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(5, GPIO.IN)
GPIO.setup(22, GPIO.OUT)
tc=curses.initscr()
tc.nodelay(1)
old_button_status=GPIO.input(5)
count=0


tc.addstr(1, 0, &amp;quot;Press SPACE to quit:\n&amp;quot;)
tc.addstr(2, 0, str(count))


while 1:
  button_status=GPIO.input(5)
  kbval=tc.getch()
  GPIO.output(22, button_status)
  if old_button_status != button_status:
    time.sleep(0.02) # debounce period
    button_status=GPIO.input(5) # re-read the input
    if old_button_status != button_status:


      if button_status == True:
        tc.addstr(2, 10, &amp;quot;-&amp;quot;) # pin is high, button unpressed
        count=count+1
      else:
        tc.addstr(2, 10, &amp;quot;_&amp;quot;) # pin is low, button pressed
      old_button_status=button_status
      tc.addstr(2, 0, str(count))


  if kbval==0x20:
    break


time.sleep(1)
GPIO.cleanup()
curses.endwin()
print &amp;quot;Goodbye&amp;quot;

     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;2) Input Example: Voltmeter&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;h1&gt;Another Input Example: A Voltmeter&lt;/h1&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The Raspberry Pi has digital inputs and outputs but the real world has analog quantities that may need to be measured or controlled. The example here converts analog values into a digital signal that can be read using a Raspberry Pi input connection.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The example is an extremely simple voltmeter; it can measure voltages between 0 and 1V with good precision. Note that this won’t replace a handheld multimeter! It doesn’t have the requisite safety protection and could damage itself or persons or property if used for anything beyond the scope of the examples described here.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/826x465/__key/communityserver-wikis-components-files/00-00-00-01-66/2084.contentimage_5F00_199732.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2084.contentimage_199732.jpg-826x464.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=orjjftvxivB96bGAKeV9Qw4eDiyH840Kp5Q5xWxM6WU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=xxG5hu7A4nnySqpTQKXL/w==" style="max-height: 464px;max-width: 826px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;This is the circuit diagram:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/870x282/__key/communityserver-wikis-components-files/00-00-00-01-66/5226.contentimage_5F00_199733.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5226.contentimage_199733.png-870x282.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=ZwaMbZ1jNeMmzMJ1EjRn52G5pD6o%2BmGJy0dc2anVEJE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=9Ovci+rP6ZYqP8ikiCS8HQ==" style="max-height: 282px;max-width: 870px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The circuit uses an &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-Sp9qSXwH-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9605053&amp;amp;nsku=59K4465&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9605053&amp;amp;nsku=59K4465&amp;amp;COM=noscript" target="_blank"&gt;AD654 integrated circuit&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-Sp9qSXwH-unlinked"&gt;AD654 integrated circuit&lt;/span&gt;&lt;/span&gt; which generates a square wave with frequency dependant on an input voltage. The square wave output is connected to a Raspberry Pi input (GPIO5 in this example). The square wave has a frequency of up to 10kHz and so some accurate timing is needed to determine the voltmeter input. The code here uses the C programming language and a library called &lt;strong&gt;wiringpi&lt;/strong&gt; written by Gordon Henderson. First off, install the wiringpi library:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;mkdir development
cd development
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Next, save the following code into a file called &lt;strong&gt;voltmeter.c&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// AD654 Voltmeter
// Ver 1.0 Shabaz August 2015
// GPIO5 (pin 29) connects to AD654
// GPIO22 (pin 15) connects to LED


#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;wiringPi.h&amp;gt;

#define INREF 5
#define LEDREF 22
#define INVAL (digitalRead(INREF))
#define INVAL_IS_HIGH (digitalRead(INREF)==1)
#define INVAL_IS_LOW (digitalRead(INREF)==0)
#define LED_ON digitalWrite(LEDREF, 1)
#define LED_OFF digitalWrite(LEDREF, 0)


struct timespec ts_zero;


void
get_tzero(void)
{
  clock_gettime(CLOCK_MONOTONIC, &amp;amp;ts_zero);
}


long
get_time(void)
{
  long nsec, sec;
  struct timespec tts;
  clock_gettime(CLOCK_MONOTONIC, &amp;amp;tts);
  sec=tts.tv_sec-ts_zero.tv_sec;
  nsec=tts.tv_nsec-ts_zero.tv_nsec;
  if (sec&amp;gt;0)
  {
    nsec=nsec+1E9; // we don&amp;#39;t expect times greater than 1 sec
  }
  ts_zero=tts;
  return(nsec);
}


int
main(int argc, char *argv[])
{
  int i;
  long avg;
  double mv, v;
  long nsec[65];
  wiringPiSetupGpio();
  pinMode(INREF, INPUT);
  pinMode(LEDREF, OUTPUT);


  while(1)
  {
    LED_ON;
    while(INVAL_IS_LOW);
    get_tzero();
    for (i=0; i&amp;lt;64; i++)
    {
      while(INVAL_IS_HIGH);
      nsec[i]=get_time();
      while(INVAL_IS_LOW);
    }
    avg=0;
    for(i=1; i&amp;lt;65; i++)
    {
      avg=avg+nsec[i];
    }
    avg=avg/64;
    v=1.0E5/((double)avg);
    mv=v*1000;
    printf(&amp;quot;Voltage is %fV\n&amp;quot;, v);
    LED_OFF;
    sleep(1);
  }


  return(0);
}
     &lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;line-height:1.5em;"&gt;The code can be compiled by typing:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;gcc -o voltmeter -lrt -lwiringPi voltmeter.c&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;To run the code, type:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;sudo ./voltmeter&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The code uses an averaging method to get high precision. It rapidly measures the width of the incoming square wave 64 times, and then sums the values and divides by 64 to get the average value. Then it sleeps for a second to allow other processes to do their thing, and then repeats.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The circuit also needs a few things for high precision. The &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-zkotaja0-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=1890179&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=1890179&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;10nF timing capacitor&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-zkotaja0-unlinked"&gt;10nF timing capacitor&lt;/span&gt;&lt;/span&gt; for the AD564 is selected to be a polypropylene part for better accuracy. The &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-gnc3LmOx-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9341102&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9341102&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;1k timing resistor&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-gnc3LmOx-unlinked"&gt;1k timing resistor&lt;/span&gt;&lt;/span&gt; can be a 1% part or alternatively a variable trimming resistor can be used. The circuit runs from the 5V supply from the Raspberry Pi 40-pin connector but this is only approximately 5V and so the circuit would benefit from a dedicated and more accurate 5V supply circuit.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;As a quick check, the circuit shown above had the voltmeter input subjected to a potential divider circuit consisting of two resistors. The calculated voltage (if the resistors were precisely the correct values and the supply was exactly 5V) out of the potential divider is 0.04950V. When the software was run, it reported measurements of 0.04991V in the short test. Not bad for such a simple project!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Diodes D1 and D2 in the circuit above are optional but highly recommended because they will provide some protection to the integrated circuit if the input is accidentally subjected to a voltage outside the 0-1V range.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;3) Input Design Tips&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;h1&gt;Input Design Tips&lt;/h1&gt;&lt;h3&gt;&lt;/h3&gt;&lt;h3&gt;Protected Inputs&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The Raspberry Pi can be protected from accidental connections to higher than expected voltages by adding an additional circuit to the inputs in use. A very good option in some situations is to use an optocoupler alternatively a low-cost method such as the circuit below will tolerate voltages as high as 60V without damaging the Raspberry Pi, and will cope with reversed connections too. The &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-SZMSf55o-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9558560&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9558560&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;BC547B&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-SZMSf55o-unlinked"&gt;BC547B&lt;/span&gt;&lt;/span&gt; transistor in the circuit can be replaced with another type such as &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-XlZRfBWL-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9846743&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9846743&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;2N3904&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-XlZRfBWL-unlinked"&gt;2N3904&lt;/span&gt;&lt;/span&gt; or &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-adKS48Xh-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2453797&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2453797&amp;amp;nsku=NULL&amp;amp;COM=noscript" target="_blank"&gt;BC549&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-adKS48Xh-unlinked"&gt;BC549&lt;/span&gt;&lt;/span&gt; if more convenient to obtain. R1 can be a (normal) 0.25W resistor for inputs up to around 50V, and will need to be a 0.5W part otherwise.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The output of this circuit is inverted, and an input voltage higher than about 2V will pull the output low.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/730x317/__key/communityserver-wikis-components-files/00-00-00-01-66/5621.contentimage_5F00_199734.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5621.contentimage_199734.png-730x316.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ddt64OzQ4c6fi0a%2B9wrqgYt4WzT50kfQHNrFcSHJO7w%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=gt9vucrqzk+t4hIl/Lyc9w==" style="max-height: 316px;max-width: 730px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Connecting to 5V Logic&lt;/h3&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;A direct connection of a 5V logic output to a Raspberry Pi input could cause damage. Different approaches can be taken depending on the specific need.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;If the 5V logic output changes slowly then you could consider using a potential divider circuit (i.e. two resistors) but it is not a great method (it doesn’t work for fast circuits). A far better method is to use a 5V tolerant buffer integrated circuit. A mid-way approach adequate for up to 100kHz switching speed is shown below, using a &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-cXScKAVH-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9525440&amp;amp;nsku=98K4100&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9525440&amp;amp;nsku=98K4100&amp;amp;COM=noscript" target="_blank"&gt;ZVN2110A&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-cXScKAVH-unlinked"&gt;ZVN2110A&lt;/span&gt;&lt;/span&gt; N-channel MOSFET. The output is inverted.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/460x335/__key/communityserver-wikis-components-files/00-00-00-01-66/2577.contentimage_5F00_199735.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2577.contentimage_199735.png-460x334.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=DGfH2CMHDGsJeY5dyUA%2BubpSqCjgyx9wfG%2Bjo4e10kY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=rACWUFbm2uyhhPGkZf4ttw==" style="max-height: 334px;max-width: 460px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Alternative MOSFETs that are suitable include &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-aC8rJc02-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9525483&amp;amp;nsku=98K4098&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9525483&amp;amp;nsku=98K4098&amp;amp;COM=noscript" target="_blank"&gt;ZVNL120A&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-aC8rJc02-unlinked"&gt;ZVNL120A&lt;/span&gt;&lt;/span&gt; and &lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-R0RCNUpp-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9525416&amp;amp;nsku=98K2375&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=9525416&amp;amp;nsku=98K2375&amp;amp;COM=noscript" target="_blank"&gt;VN10LP&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-R0RCNUpp-unlinked"&gt;VN10LP&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;MOSFETs are easy to damage when unsoldered in a circuit due to a very delicate gate structure (it is made of a thin layer internally that can be destroyed with high voltage). Take electrostatic precautions and another good practice is to first connect R3 into your circuit (either on a circuit board or breadboard) and then remove the MOSFET from its safe packaging and connect it into the circuit. The resistor R3 will provide some protection.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h1&gt;&lt;/h1&gt;&lt;h1&gt;&lt;/h1&gt;&lt;h1&gt;Additional Raspberry Pi Input &amp;amp; Output Info&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Check out the three tabs below for a more advanced exercise using the input and output functions, and to see where you can go next with your Raspberry Pi.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;{tabbedtable} Tab Label&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;strong&gt;Tab Content&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Advanced: Speed and Jitter&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;h1&gt;Advanced Topic: Speed and Jitter&lt;/h1&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Beginners: Skip to the next section! Advanced users, read on.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Button-presses and LED outputs are slow events measured in tens or hundreds of milliseconds. Sometimes much higher speed signals are encountered. For example, a TV remote emits infra-red light pulses around 40k times per second. Although the core CPU in the Raspberry Pi runs at speeds approaching 1GHz, input and output signals at that rate are not supported for several reasons that are hardware, electrical and software related. We will consider some of the software factors for the scope of this blog post.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;The Raspberry Pi runs Linux which is a multi-tasking OS. It can (at any time) pre-emptively take control away from your software program in order to service other tasks. It all happens relatively quickly, so it looks like the mouse still works while your program is running, but really the Linux OS is providing short time-slices to your program and to the mouse driver code.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Ordinarily this doesn’t matter, but when you need short or high precision events this can become an issue revealed (for example) as jitter.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Furthermore choice of programming language has an effect too, because some libraries are more suitable than others. Interpreted code may run at a different speed compared to compiled code. In short if very precise timing is needed then either a Linux driver needs to be written or external hardware (such as another microcontroller, or logic circuits and clock) may be needed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;One good question for more advanced use of the Raspberry Pi capabilities is approximately how fast can output signals be toggled using the Python and C libraries and the script method described earlier?&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;To find out, code was written to repeatedly toggle an output pin and an oscilloscope was connected up. The results are shown below.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1489x384/__key/communityserver-wikis-components-files/00-00-00-01-66/6710.contentimage_5F00_199736.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6710.contentimage_199736.png-620x160.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2F8wZ82EebfVhNNKbmYS3%2FLZDtwuACmJ7mzRNDcpvwpI%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bcsZTkSTfoYlX+1nPeUqtA==" style="max-height: 160px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;However, it is always important to remember there is jitter that will be present due to the use of the Linux OS. This is not an issue for general LED toggling of course. The oscilloscope capture below shows part of the nature of the jitter by overlaying multiple traces triggered at the same time. Notice that the jitter can take on many values, although they are all discretely spaced 4nsec apart (250MHz) which is due to internal hardware inside the Raspberry Pi.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/850x453/__key/communityserver-wikis-components-files/00-00-00-01-66/2500.contentimage_5F00_199737.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2500.contentimage_199737.png-850x452.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=gIjjZ3c%2FYEVfIljwPc%2Bvp8nPaBdOSgniOy4u5x53mYY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nEKl0qrv7iqw4phm4cVk1g==" style="max-height: 452px;max-width: 850px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Summary&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;h1&gt;Summary&lt;/h1&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;If you&amp;#39;ve read this far then by now it should be clear that the 40-pin connector on the Raspberry Pi can be used for many diverse projects from driving LEDs and relays to creating voltmeters or generating alarms. With little circuitry the 3.3V logic compatible Raspberry Pi connections can interface to circuits. Using Python it is very easy to control outputs, and reading inputs is not too difficult either. For C programmers the wiringpi library makes control easy.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Next Steps&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;h1&gt;Next Steps&lt;/h1&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;If you have a few basic components (an LED, some resistors and a breadboard and jumper wires) you can begin exploring.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;Rather than just buy a single resistor or capacitor as you need it, consider purchasing a small pack of resistors, capacitors and a few transistors (bipolar and MOSFET), diodes, and a multimeter.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:13.3333px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:13.3333px;"&gt;&lt;span style="font-size:12pt;"&gt;As you dive into deeper projects you&amp;#39;ll also be interested in learning about the serial interface connections available on the 40-pin connector. The serial interfaces are used to send and receive multiple bits of data in a standard method between the Raspberry Pi and other integrated circuits. However there are also many integrated circuits that are very easy to connect to the GPIO connections and several were covered in this blog post. Consider obtaining a few ICM7555 devices - there are a lot of fun and interesting experiments possible with them.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;script&gt;window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadTabbedTables.init(); });&lt;/script&gt;

&lt;div style="font-size: 90%;"&gt;Tags: gpio, rpibeginner, raspberry_pi, raspberry_pi_2, raspberry_pi_projects, guide, rpi_2&lt;/div&gt;
</description></item><item><title>PIK3A: The Raspberry Pi 3 IKEA Retro Gaming Table</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/1383/pik3a-the-raspberry-pi-3-ikea-retro-gaming-table/revision/1</link><pubDate>Mon, 10 May 2021 18:52:32 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5fc1b35b-9f81-4def-a337-b1a5f549b7d2</guid><dc:creator>spannerspencer</dc:creator><description>Revision 1 posted to Documents by spannerspencer on 5/10/2021 6:52:32 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="background-color:#000;" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table cellpadding="0" cellspacing="0" style="margin:6pt 4pt;" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:top;padding-right:4pt;" width="54px"&gt;&lt;a href="http://www.raspberrypi.org/" rel="nofollow ugc noopener" target="_blank"&gt;&lt;img alt="image" height="65px" src="/e14/assets/legacy/raspberrypi/Pilogo_rpi.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td colspan="3" style="vertical-align:top;padding:0pt 2pt;"&gt;&lt;a class="" href="https://www.element14.com/community/community/raspberry-pi/raspberrypi3?ICID=rpimain-Pik3a-doclink"&gt;&lt;span style="color:#fff;font-weight:bold;"&gt;&lt;span style="color:#d6264f;"&gt;NEW!&lt;/span&gt; Raspberry Pi 3 Model B&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1384/raspberry-pi-3-model-b-frequently-asked-questions-faqs"&gt;&lt;span style="color:#fff;"&gt;Frequently Asked Questions&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/17004/raspberry-pi-4-3-b-pi-3-pi-2-b-a-comparison-chart"&gt;&lt;span style="color:#fff;"&gt;Comparison Chart&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1375/raspberry-pi-3-model-b-technical-specifications"&gt;&lt;span style="color:#fff;"&gt;Technical Specifications&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1374/raspberry-pi-3-model-b-unboxing---official-element14-video"&gt;&lt;span style="color:#fff;"&gt;Unboxing Video&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/m/files/17428"&gt;&lt;span style="color:#fff;"&gt;40 Pin Out&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;td style="padding:3pt 2pt 0pt;vertical-align:top;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Gaming is the perfect way to help newcomers to the Raspberry Pi to connect it with a recognisable lifestyle technology. It&amp;#39;s the perfect stepping stone to bring people eye-to-eye with the Raspberry Pi; if it can play all those awesome, classic arcade games, it can also do so much more!&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/446x446/__key/communityserver-wikis-components-files/00-00-00-01-66/3808.contentimage_5F00_199746.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3808.contentimage_199746.jpg-446x446.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=CMIjwNOUXUWf1%2FOvoCVqkF8AaTHqC%2FI0Z9G%2BMI0wobY%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Xi+yv6HBMyxaCGNMfUk4+g==" style="max-height: 446px;max-width: 446px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;And that&amp;#39;s why gaming is often our go-to project when it&amp;#39;s time to show people what the Pi is all about. But this time around, with the &lt;strong&gt;&lt;a class="" href="https://www.element14.com/community/community/raspberry-pi/raspberrypi3?ICID=rpimain-Pik3a-doclink"&gt;Raspberry Pi 3&lt;/a&gt;&lt;/strong&gt; now in the wild, we wanted to do something a little bit different, too. So here&amp;#39;s how to make your own minimalist, contemporary interpretation of the classic coin-op cocktail cabinet that uses an IKEA coffee table and a Raspberry Pi 3.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Meet the &lt;strong&gt;PIK3A Gaming Table&lt;/strong&gt;!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Parts, Bits and Pieces&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;So here&amp;#39;s the gist of this simple, but super-stylish project.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;It&amp;#39;s an IKEA Lack coffee table with an LCD monitor cut into the top, arcade controls next to the monitor, and a Raspberry Pi 3 and accessories buried inside the table.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Let&amp;#39;s begin with an overview of the parts you&amp;#39;ll need:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Cabinet: &lt;/strong&gt;IKEA Lack coffee table.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Brains: &lt;/strong&gt;&lt;a class="jive-link-external-small" href="http://www.element14.com/raspberrypi" target="_blank"&gt;Raspberry Pi&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Controls: &lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;a id="e14-product-link-bb11d" data-at-areainteracted="rte-content" data-at-type="click" data-at-link-type="link" href="https://referral.element14.com/OrderCodeView?fsku=2133071&amp;nsku=07W3936&amp;COM=e14c-noscript&amp;CMP=e14c-noscript&amp;osetc=e14-noscript-tracking-loss" data-at-label="PRODUCT_POPUP_OPEN"class="e14-embedded e14_shopping-cart-far e14-link" onclick="event.preventDefault();e14.func.displayProduct(e14.meta.user.country, this, 'embedded-link', e14.func.getProductLinkJSON('bb11d'));" data-farnell="2133071" data-newark="07W3936" data-comoverride="" data-cmpoverride="" data-cpc="" data-avnetemea="" data-avnetema="" data-avnetasia="" &gt;Arduino Leonardo&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Joystick: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A classic, four-way ball-top joystick.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Buttons: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;a class="jive-link-external-small" href="http://cpc.farnell.com/1/3/arcade-style-push-button" target="_blank"&gt;From CPC&lt;/a&gt;&amp;nbsp; - &lt;a class="jive-link-external-small" href="http://electronics.mcmelectronics.com/electronics/Arcade-Button" target="_blank"&gt;From MCM&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Display: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;An old 17&amp;quot; LCD monitor (4:3 ratio is better given the square shape of the table).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;Th&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;e&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; Sound:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;a class="jive-link-external-small" href="http://cpc.farnell.com/arctic/spaso-sp001bk-gba01/speakers-portable-arctic-s111/dp/CS29306" target="_blank"&gt;This pair of USB-powered computer speakers&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; &lt;strong&gt;Power: &lt;/strong&gt;A Raspberry Pi 2.5A USB power supply, and a mains extension.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;The Stuff: &lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Cables, connectors, screws.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Table Top Gaming&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;This isn&amp;#39;t really intended as a woodworking project, but we trashed at least one table when prototyping this so maybe we can help you to make only the holes the table needs. &lt;/span&gt;&lt;span style="font-size:12pt;"&gt;So, let&amp;#39;s begin with the hacking and sawing, and then we&amp;#39;ll look at the innards.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Dismantle Your Monitor&lt;/h2&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The old Acer AL1716 monitors we used seem fairly generic, in terms of 17&amp;quot; LCD screens, so hopefully yours will pan out the same. By taking the screen chassis out of the plastic casing (nothing complicated there -- take out the screws and prize the two halves apart) you should be left with the screen inside the shielding housing that&amp;#39;s almost exactly the same depth as a LACK coffee table. This means that once you&amp;#39;ve got the screen, all you need to do is drop it into the hole we&amp;#39;re about to cut into the PIK3A table top.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;And by removing the bezel around the LCD, the screen will sit flush with the top of the table, and give you that essential minimalist finish.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;padding:2px;color:#ffffff;text-align:center;" valign="middle"&gt;&lt;strong&gt;{gallery:autoplay=false} Removing the LCD from the Monitor Housing&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Remove the stand, and any screws in the back of the monitor&amp;#39;s housing.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/6131.contentimage_5F00_199747.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6131.contentimage_199747.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=htcUvIrqnxnsJvbWAkMc5ciHA%2BYia%2FvAA%2BJjepB3zZM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=tlwgP1qshMPHxtiukPivew==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;It&amp;#39;s probably all clipped together, so carefully pry the back of the housing away from the silver bezel around the screen.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5545.contentimage_5F00_199748.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5545.contentimage_199748.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=7kR3Z9A0QpoXrANNEl5iSwQpQrMCT0fvzuu69utHsBE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=36tIkpphjGygTYhLAg320A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;You don&amp;#39;t need to remove any of the shielding inside once the housing is apart. This is better left in place, to protect the back of the LCD. Note that you might need to relocate (and protect/insulate) the small PCB with the monitor&amp;#39;s buttons on.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0777.contentimage_5F00_199749.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0777.contentimage_199749.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=bjjCUY11x9TTwz3N8Lrby5Q6u7Pa1wEcE7kMecV3oJM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=7z+ry9+cMDYdtojyrMn/Uw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Remove any small screws that fix the bezel to the LCD&amp;#39;s shielding.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8272.contentimage_5F00_199750.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8272.contentimage_199750.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=r8huthNYG9MDlnL7ltP17J0%2FxpdbQj5%2BrfCDFq4qam8%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hrR4Wqe/dAZ28xKGjANMhg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Leaving you with an LCD panel that&amp;#39;ll sit nice and flush to the table top.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/3414.contentimage_5F00_199751.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3414.contentimage_199751.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=OKocMpIpb7HU9y9mfPQDkPQ%2Ff0oX%2BWd3%2BeBnBpxYwP0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bKW+HnPwhDBlBiHCjcCZLg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Screen Mounting&lt;/h2&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The first time out we used a Dremel with a router attachment to cut the hole in the table top for the monitor, which actually worked very nicely. However, these ultra-cheap tables really don&amp;#39;t warrant that much power tool action, when a Stanley knife does the job just as easily and with a lot less mess. The choice is yours, of course.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Below you can see how we drew around the screen to get the sizing for the hole, and then drilled 13mm holes in each corner to give the cut-out some nice, radius corners.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Clamp a straight edge along the outside of the line you want to cut, and repeatedly run the knife along it. Remember not to cut all the way into the hole on the opposite side from where you started. Chances are the knife will continue and make a mess of the nice radius you put in there. Instead, stop 10cm short and cut again from the other end.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Go around all four sides (it won&amp;#39;t take a lot of effort) and prize out the cut-out piece. It won&amp;#39;t just come free, as it&amp;#39;s glued to the structural filling inside the table, so take care when prizing it up so as not to damage the surface of the table. Run a knife around the honeycomb paper filling, and pull it out. You now have a hole to drop the monitor in.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;padding:2px;color:#ffffff;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Mounting the Screen in the Table&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Lay the dismantled monitor on the table and draw around it. I also put the joystick and buttons roughly in place, to help locate the monitor in its ideal position.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2818.contentimage_5F00_199752.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2818.contentimage_199752.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=hjWA4%2FVnot%2FBocbcYXe%2B7L6OtYbbS0pqlooVcYzVOhQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=H1EpoKQa9yp/kEk3ihFbcg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Use the drill bit for the corners to mark where to drill. This&amp;#39;ll give you nice, rounded corners on the cut out.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5141.contentimage_5F00_199753.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5141.contentimage_199753.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2BVLqU5k%2BQZ4Vl%2FljAHFaN%2B4I0RehPGgj5CJla1NR9ks%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=AbNe7HmFaZuD0/aLvKxV+w==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Drill the four corner holes for the cut out.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/1832.contentimage_5F00_199754.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1832.contentimage_199754.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=pOvq3YgWpbZTQe2WJDXGtO7AZc8AYc2WPKXMADuHAZg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=i5ppwXLuPB9W/VkSTKyMnw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Mask off the area around the hold, to protect the surface of the table when you clamp a straight edge to it.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8787.contentimage_5F00_199755.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8787.contentimage_199755.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2FaJzCuA6rvpgzw%2B0aBdY%2F7SkMjeK9pEDpcBVrILQ1m4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bk/g/3fFRRbyQIZ29JI2Lg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Clamp a straight edge to the outside of the cut out (so if you slip, the damage will be on the piece you&amp;#39;re removing), and make lots of gentler cuts from one hole along the straight edge, stopping short of the second hole. Cut from the second hole, back along the same line to prevent the knife from slipping and damaging the radius of the second hole.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7282.contentimage_5F00_199756.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7282.contentimage_199756.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=DC6OjgytQ81Ywa38johTgNRcc2prwTgDKF0w7E53UBQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=SxrHymUkkiWQl7DnLuxjpQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;When you&amp;#39;ve cut right through the table top on all four sides, carefully pry the cut out up. It&amp;#39;ll be stuck to the innards of the table, but will come free with a little effort. Save the cut out for later on.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2425.contentimage_5F00_199757.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2425.contentimage_199757.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9y8hppgk%2BZvmJ9ITELikzWPGjsWxxjIa%2B1p4tFX%2FrIE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=y0BOfa0Hk5bUmSdoLgR9bA==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Run a knife around the honeycomb and rip it out.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8371.contentimage_5F00_199758.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8371.contentimage_199758.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=n6oMB1WPKxUIu%2FTLUD%2BeqKgHgoFn23youc0maAYaB0A%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=d0uoGYM5iOMQCH5nxXpRHQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;You&amp;#39;ve a nice, neat, monitor-shaped hole in the table!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4162.contentimage_5F00_199759.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4162.contentimage_199759.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=j1sLtsyipEUD4E95Y53APz7iAR2MFLY3TeSs8WE8QWU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=mhNMDIKeoDedNh0neXw3vQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;If it&amp;#39;s all gone well, take a moment to feel a little smug about yourself.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2018.contentimage_5F00_199760.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2018.contentimage_199760.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=qHaMbB0m1EpXncnkpAthYYyW%2Fu20ZhYLWzvetNJdRsM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=1MEptyQb06swDgEATSXP1A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Control Mounting&lt;/h2&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Flip the table top over and cut a letter box into the back. This gives you access to the inside-back of the table top so you can mount the joystick and buttons. Cut it out the same way as before and remove the honeycomb.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Mark where you want to mount your joystick and buttons -- we went with four buttons -- and drill 28mm holes for each one. This is the standard size for arcade buttons, and also gives the joystick plenty of room to move without the hole being visible around the round, flat cover that comes with the joystick.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;But we didn&amp;#39;t want any fixings visible on the PIK3A table top, which meant we couldn&amp;#39;t use the mounting holes in the joystick&amp;#39;s plate. Instead, we removed the mounting plate and used the screws that attach it to the body of the joystick (where the microswitches are) to fix the joystick in place. They&amp;#39;re a little bit short, but when you countersink the holes in the table top, they&amp;#39;ll still reach and grab hold of the thread solidly.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;You&amp;#39;ll need to remove the mounting plate&amp;#39;s screws and the ball top, and then offer the joystick up from underneath the table. It&amp;#39;s a little tricky, as the plate will be loose when you&amp;#39;re inserting the joystick into the table, but it&amp;#39;s not too hard. When it&amp;#39;s in place, replace the mounting plate&amp;#39;s screws when passing them through the table top, put the round cover over the stick, put the ball top back on, and&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; you&amp;#39;ve fixed the joystick in place without any visible screws.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;The buttons are a simple matter -- drill the 28mm hole, and put the nut on the back of the button! We went with a diamond arrangement for the buttons, plus a start button and coin button on the side of the table top.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;padding:2px;color:#ffffff;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Mounting the Controls&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;I was a bit rougher cutting the access panel in the back, as it&amp;#39;s not as visible as the table top. So mark it up, and cut out the minimum that you need (to help maintain the table&amp;#39;s already waning stability).&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7128.contentimage_5F00_199761.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7128.contentimage_199761.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QXaZdegBd2GHsm3%2FrMExRFHRIcAINE1Q1lLN9zBfH4o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=hbtzx/NFJyAae1ro0H1P9w==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;The access panel cut out.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/1351.contentimage_5F00_199762.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1351.contentimage_199762.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ns84CEq2PS05yj8txZ%2FawhJBLe6KRcQeG9km3ds%2FqoU%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=eLkzIlwkxdvAB19fvhctEw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Mark where you want your buttons and joystick (including those on the edge for coin and start), and drill 28mm holes for each one.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8206.contentimage_5F00_199763.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8206.contentimage_199763.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=tBX7uzAVe1kCDir%2FZGke%2B9w1cILEckXkGcN8oeFVtmQ%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=rbl5skAytzIZAgXG588vUw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Remove the mounting plate from the joystick. These are the mounting holes you&amp;#39;ll use to hold the joystick in place.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7612.contentimage_5F00_199764.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7612.contentimage_199764.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BVEOk508G3%2BIr1ez5KHTuhbs00rhE3jNf97c7qBphjk%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=6lnhIgWxUewImKKfMWGDKg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Use the mounting plate to mark the four holes just around the centre. You&amp;#39;ll also need to countersink these holes so the screw heads sit flush.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/2844.contentimage_5F00_199765.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2844.contentimage_199765.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=B9mh7ixH9OLoVqA9nfp%2BWt60vWDbWAmi7lZdS%2FaBIo0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=QnQJh2BG75nuojg8/qthYg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12pt;"&gt;Remove the ball top from the joystick, hold the mounting plate in place underneath and screw the joystick in place from above.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4062.contentimage_5F00_199766.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4062.contentimage_199766.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=oMfJH2FwmBrHdOQohWWNjXT%2BXWHrE2uKbjcoiS4xv0U%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bqxvcl/TYajLuFunmM4Etw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Put the round cover over the joystick and screw the ball top back in place. And you can now fix all the buttons in place, too.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8204.contentimage_5F00_199767.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8204.contentimage_199767.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QYSE2nNEoOnkotbPhQYGABOCyUtIRiXr9JGDTRs3yGA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nPTRh0/Xbpo59JVr0qVfHw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Control Interface&lt;/h2&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Arcade controls are actually very simple. Even the joysticks are effectively just normally open push buttons (one for each of the four directions). The thing is, computers like the Raspberry Pi don&amp;#39;t generally accept such simple buttons as a controller! So we&amp;#39;ve opted for an Arduino Leonardo as a way to interface the arcade controls with the Raspberry Pi (moreover, the video game emulators the Pi will be running), as it can be set to identify itself to the computer/Raspberry Pi as a standard keyboard.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;So each button is connected into one of the Leonardo&amp;#39;s inputs, which translates them into keyboard key presses. A ground wire loops around the other side of each microswitch. Because we love the old coin-ops, we set ours up using the standard keyboard controls for MAME. You don&amp;#39;t have to do this, but it&amp;#39;ll save you a job if you do it this way.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/837x439/__key/communityserver-wikis-components-files/00-00-00-01-66/2437.contentimage_5F00_199768.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2437.contentimage_199768.png-837x439.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=atxRvLRTnUOG1zb1vQvABLUMyJOBbkgGgu7MuVfLT8c%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=E41j3s8CvHyQAJwkS4+9tQ==" style="max-height: 439px;max-width: 837px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;a class="jive-link-external-small" href="https://www.arduino.cc/en/Main/Software" rel="nofollow ugc noopener" target="_blank"&gt;Download and install the Arduino IDE&lt;/a&gt;, if you haven&amp;#39;t already, and plug in your Leonardo to your computer via a USB cable. Below is the code we hammered together that translates the joystick and buttons into key presses (using the MAME standards, as previously mentioned). But coders we ain&amp;#39;t, so if you can improve on this sketch, please post it in the comments.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;Before that, here&amp;#39;s what to do if you&amp;#39;ve never played with Arduino before (skip ahead if you know how to upload the sketch to your Leonardo).&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;A &amp;quot;sketch&amp;quot; is a program that your Leonardo will run after it&amp;#39;s been uploaded. You can copy and paste the code below into the Arduino IDE window, or download the attached sketch file and open it using the IDE window. It&amp;#39;s the same code, but take your pick of how to get onto the Arduino.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Take a read through, and you&amp;#39;ll see how each input relates to a specific keyboard key press. You can make any desired changes here before uploading to the Leonardo.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click the &amp;quot;Tools&amp;quot; menu and select &amp;quot;Arduino Leonardo&amp;quot; from the &amp;quot;Board&amp;quot; option.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click &amp;quot;Tools&amp;quot; again, and select your Leonardo from the list in the &amp;quot;Ports&amp;quot; option. It&amp;#39;s now ready for uploading your sketch.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Click the &amp;quot;Upload&amp;quot; button (a circular button with a right-facing arrow in it) to upload the sketch, and the Leonardo is ready to rock.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;Sketch Code:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;//element14 PIK3A Gaming Table Controls, using an Arduino Leonardo//

void setup() {
  Keyboard.begin();


  //Joystick and buttons pin allocations
  pinMode(0, INPUT_PULLUP); //Joystick Up
  pinMode(1, INPUT_PULLUP); //Joystick Down
  pinMode(2, INPUT_PULLUP); //Joystick Left
  pinMode(3, INPUT_PULLUP); //Joystick Right
  pinMode(4, INPUT_PULLUP); //Button 1
  pinMode(5, INPUT_PULLUP); //Button 2
  pinMode(6, INPUT_PULLUP); //Button 3
  pinMode(7, INPUT_PULLUP); //Button 4
  pinMode(8, INPUT_PULLUP); //Coin
  pinMode(9, INPUT_PULLUP); //Start
}


void loop() {


  // Button labels:
  int joystickUp = digitalRead(0);
  int joystickDown = digitalRead(1);
  int joystickLeft = digitalRead(2);
  int joystickRight = digitalRead(3);
  int button1 = digitalRead(4);
  int button2 = digitalRead(5);
  int button3 = digitalRead(6);
  int button4 = digitalRead(7);
  int coin = digitalRead(8);
  int start = digitalRead(9);


  // Joystick Up - Arrow Up Key
  if (joystickUp == LOW) {
    Keyboard.press(218);
  }
  else {
    Keyboard.release(218);
  }


  // Joystick Down - Arrow Down Key
  if (joystickDown == LOW) {
    Keyboard.press(217);
  }
  else {
    Keyboard.release(217);
  }


  // Joystick Left - Arrow Left Key
  if (joystickLeft == LOW) {
    Keyboard.press(216);
  }
  else {
    Keyboard.release(216);
  }


  // Joystick Right - Arrow Right Key
  if (joystickRight == LOW) {
    Keyboard.press(215);
  }
  else {
    Keyboard.release(215);
  }


  // Button 1 - Left CTRL
  if (button1 == LOW) {
    Keyboard.press(128);
  }
  else {
    Keyboard.release(128);
  }


  // Button 2 - Left ALT
  if (button2 == LOW) {
    Keyboard.press(130);
  }
  else {
    Keyboard.release(130);
  }


  // Button 3 - Left CTRL
  if (button3 == LOW) {
    Keyboard.press(32);
  }
  else {
    Keyboard.release(32);
  }


  // Button 4 - Left CTRL
  if (button4 == LOW) {
    Keyboard.press(129);
  }
  else {
    Keyboard.release(129);
  }


  // Coin - 5
  if (coin == LOW) {
    Keyboard.press(53);
  }
  else {
    Keyboard.release(53);
  }


  // Start - 1
  if (start == LOW) {
    Keyboard.press(49); delay(100);
  }
  else {
    Keyboard.release(49);
  }
  
}&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Audio&lt;/h2&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;These cube-shaped USB speakers from CPC were perfect for this job. Admittedly, you&amp;#39;re about to void the warranty, but they&amp;#39;re not expensive &lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-wikis-components-files/00-00-00-01-66/6758.contentimage_5F00_1.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6758.contentimage_1.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=5H6ZaymZDlHaAI%2B%2BqyhfGNViQbEIhj4H8zgkrUgvpj4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zGEM7pHL10Vt71gae75OdA==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;What&amp;#39;s great about them is that they&amp;#39;re powered externally, so you get better volume, they&amp;#39;re small, and the volume control is beautifully low profile; we&amp;#39;re going to transplant that onto the edge of the PIK3A&amp;#39;s table top next to the start and coin buttons. The speakers themselves are mounted inside the table, pointing downwards (so the grille holes aren&amp;#39;t visible from the top).&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;There&amp;#39;s nothing fancy about this task. Dismantle the speakers, desolder and then resolder each cable &lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;in turn &lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;so you can remove the speaker housings. You&amp;#39;ll also need to extend the wires for the right speaker, as they&amp;#39;re very short on account of being in the same housing as the volume control board. The 3.5mm jack goes into the Pi&amp;#39;s audio output.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Fix the speakers inside the table on either side of the access hole for the joystick and buttons, and drill a 10mm hole in the front edge of the table for the volume control potentiometer. We then used heat glue to keep the volume control board in place.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;padding:2px;color:#ffffff;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Dismantling and Installing the Speakers&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Unscrew the front of the speakers and remove the volume control. You&amp;#39;ll need to pry the dial off the back and unscrew the nut holding it in place.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/4555.contentimage_5F00_199769.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/4555.contentimage_199769.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=CAGAvDTySXmA7wj%2FdGL02HEb%2F5Z1j4goMJfWc80GlgE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=63ZXDjwz1D+TihH8sloogw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;p style="margin:0;"&gt;Desolder and reattach the various cables (one at a time, ideally) from the volume control board so you can remove the cube-shaped housings. Extend the wires for the right speaker, too.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8787.contentimage_5F00_199770.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8787.contentimage_199770.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=D7Tr5VyWmeEHxf3kmDKfIiu9IxjcrlYGBrTaF9%2B0j7o%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=TszLGmYW4uAFKlUFC7WAUg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Drill a mounting hole in the edge of the table to relocate the volume control.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7282.contentimage_5F00_199771.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7282.contentimage_199771.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=bjT%2BnSItAulALRYhNwLnNv88SVQ9biNq4ZHA5wRiZbA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=pLnDZnZx810DBVxFBLZYpQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Mark the mounting holes for the speakers on either side of the rear access panel.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5148.contentimage_5F00_199772.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5148.contentimage_199772.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=jdGLggMu6lLia79KvX5ulvfkZL6cKlfXnWWvB%2FZvNOM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=kB6xiViqnRYh6MPgPM7xYw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Drill a few holes for the sound to get out, and then you can fix the speakers in place and the volume control in place. It&amp;#39;s probably easier to do it before the joystick and buttons are in place.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8371.contentimage_5F00_199773.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8371.contentimage_199773.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=L0kbb%2BbSHRvRMvE92t10eDaaOYSlph%2F1zCkoG6rpPY0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=koJgMIDTQtPukKUuOWXLXQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;Power&lt;/h2&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;There wasn&amp;#39;t really much room left to embed a mains extension inside the table. We cut a connector into the bottom, and wired the extension lead into that. This way we can add a longer power cable if required, or even use one for different regions should the PIK3A table find itself going abroad.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;We&amp;#39;ve powered the speakers and Pi separately, just to spread the load out a bit, but to be honest the Pi3 could handle the speakers from its USB ports. The choice is yours, here.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;The monitor, Pi3 and speakers are all connected into the mains extension, powering everything up while hiding the connections beneath the table.&lt;/span&gt;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;padding:2px;color:#ffffff;text-align:center;" valign="middle"&gt;&lt;strong&gt;&lt;span style="color:#ffffff;text-align:center;"&gt;&lt;strong&gt;{gallery:autoplay=false} &lt;/strong&gt;&lt;/span&gt;Powering all the Parts&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Mark a square in the back corner underneath the table and cut a hole for the power connector. The mains extension is going to connect to the rear of this IEC connector.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0842.contentimage_5F00_199774.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0842.contentimage_199774.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=wKV5f1tDe5oGuAkNtFh7fJDY%2F1CyhruQAZd16nE6VHE%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=dWdtFzQHBf8JHQ6nxLSuEg==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Remove the plug from the back of the mains extensions, feed the cable through the inside of the table and bring it out of the hole for the IEC connector. You can now solder the wires to the reverse of the IEC connector, and fit it in place.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0456.contentimage_5F00_199775.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0456.contentimage_199775.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rs0mcY%2BptG9USrBxWLbiF%2BOCfECh1KK5u0t40F0stWk%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=SJYOea6fgsSZzoOXQlJ3UQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="line-height:1.5;"&gt;It doesn&amp;#39;t hurt to screw the mains extension to the bottom of the table, too. In my experience, they tend to fall off the eyelet holes if there&amp;#39;s a light breeze, so this one is screwed in place from inside.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="line-height:1.5;"&gt;You can plug the monitor and a couple of USB adapters into this, to power the screen, Raspberry Pi and speakers, while only requiring one power cable.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/8284.contentimage_5F00_199776.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8284.contentimage_199776.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=vm0RRbpDdbSJRmJxYslkNPh3FJ%2Bd6sxFfZd6rqJcnBI%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=l87Ev317Qsw8/Rk36havKA==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;&lt;/h2&gt;&lt;h2&gt;Finishing Touches&lt;/h2&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;The monitor is a bit vulnerable here, so we decided to get a piece of 3mm acrylic cut to the same size as the table top (550mm by 550mm). It&amp;#39;s just screwed into the table top in each corner, and the screws hidden behind screw caps. It&amp;#39;s a cheap way to keep things protected.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;I also added a panel mount USB port next to the access panel underneath, just in case I ever need to plug a USB keyboard (or other peripheral -- it could be a joypad if you wanted) into the Pi3.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" style="border:1px solid #000000;width:100%;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;padding:2px;color:#ffffff;text-align:center;" valign="middle"&gt;&lt;strong&gt;{gallery:autoplay=false} Finishing Touches&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;An external USB port that goes into the Pi. This is a good one, as it also has a dust cap, since this probably isn&amp;#39;t going to get a lot of use.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/6131.contentimage_5F00_199777.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/6131.contentimage_199777.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Svw7u9hX8La8UQf0LizA4oYa%2FLFQfa3C8%2F0MZCjaJ%2B4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=xL03CdkLHeZ60oG3QPDcXQ==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;If you decide to put an acrylic or polycarbonate sheet on top to protect the monitor, remember to put it in place before you insert the buttons, as they&amp;#39;ll need to pass through the sheet.&lt;/p&gt;&lt;p style="margin:0;"&gt;Here we&amp;#39;ve screwed it in place in each corner, and covered the screw heads with caps.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/5545.contentimage_5F00_199778.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5545.contentimage_199778.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=72hYmdMPWLhXm0wjLobA98y2VUdlfD9x7MnHI%2BxmM58%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=aavG6GV6ka3/RP1SqTSIjw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;Remember how you saved the cut out from the monitor hole? Trim it down to make a cover for the access panel on the back, after notching the bottom of the table as an exit for the power cables.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/0777.contentimage_5F00_199779.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0777.contentimage_199779.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=c4Ix0kCBgLireuRYa78yes4aRJ9t2MmMQUB3Ibnh9F0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=FzXm7x/SZ5O4GIZz/wok+A==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;p style="margin:0;"&gt;The finished PIK3A table is strong enough to hold Baxter here, but given how much we&amp;#39;ve hollowed it out, be careful about how much weight you put on it. Definitely don&amp;#39;t stand on it to change a light bulb (mind you, I wouldn&amp;#39;t trust these enough do that with a new Ikea table).&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1000x563/__key/communityserver-wikis-components-files/00-00-00-01-66/7624.contentimage_5F00_199780.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7624.contentimage_199780.jpg-1000x563.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BAc1ks8qfb3ubPy2fMZTuczKxvvubDD6lViirPbH0D4%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=EAmUvHOFNSYDdXT7/RlZyw==" style="max-height: 563px;max-width: 1000px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Then it&amp;#39;s just a case of screwing the legs to the table top, and &lt;a class="jive-link-external-small" href="http://blog.petrockblock.com/retropie/" rel="nofollow ugc noopener" target="_blank"&gt;installing RetroPie on the SD card&lt;/a&gt;. There&amp;#39;s one additional step you might have to perform for the time being, to get RetroPie running in the Raspberry Pi 3. The developers will undoubtedly fix things very soon, but for the moment we had to copy over the &amp;quot;&lt;strong&gt;*.elf&lt;/strong&gt;&amp;quot; files &lt;span style="font-size:12pt;"&gt;(that&amp;#39;d be &lt;/span&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/468x263/__key/communityserver-wikis-components-files/00-00-00-01-66/3414.contentimage_5F00_199781.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3414.contentimage_199781.jpg-468x263.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=HH8b8EnceOSv4APOtls4yb37uUm4RxWfaI527TrlM1Y%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=BlPHABF8zWLw0Po3P4wgAQ==" style="max-height: 263px;max-width: 468px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;&lt;strong&gt;&lt;span style="line-height:1.5;"&gt;start.elf, &lt;/span&gt;start_cd.elf, start_db.elf&lt;/strong&gt; and &lt;strong&gt;start_x.elf&lt;/strong&gt;)&lt;/span&gt;&lt;span style="font-size:16px;line-height:24px;"&gt; from the &lt;strong&gt;&amp;quot;Boot&amp;quot;&lt;/strong&gt; partition of an SD card that had the official, Raspberry Pi NOOBs image.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;Not a complex or particularly onerous task, but a necessary one for the time being. This should get RetroPie booted up and running beautifully on your awesome new &lt;strong&gt;PIK3A retro gaming table&lt;/strong&gt;. I&amp;#39;m sure it won&amp;#39;t be long at all before this step becomes unnecessary, of course -- likely by the time you&amp;#39;ve built your cab.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:14pt;line-height:24px;"&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; The RetroPie guys have already released an updated image, so you don&amp;#39;t have to jump through any hoops to get RetroPie working on your Raspberry Pi 3! Great work, guys!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:14pt;line-height:24px;"&gt;&lt;a class="jive-link-external-small" href="http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/" rel="nofollow ugc noopener" target="_blank" title="http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/"&gt;http://blog.petrockblock.com/2016/03/02/retropie-3-6-is-released/&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;As you can see, this is a pretty fascinating interpretation of the classic gaming system, so we&amp;#39;d be particularly interested in seeing how you might do the same, as much as copy our build part for part. &lt;strong&gt;Post your own retro gaming projects right here in the &lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/products/raspberry-pi/raspberrypi_projects/"&gt;Raspberry Pi Projects&lt;/a&gt; sections, and casually blow our minds!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;If you want to see them in action right away, &lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/w/documents/1373/celebrate-the-raspberry-pi-birthday-with-element14"&gt;join us as we head out and about on the Raspberry Pi 3&amp;#39;s launch day in Leeds and Chicago&lt;/a&gt;!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:30px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="font-size:16px;line-height:24px;"&gt;And if you&amp;#39;re looking to delve a little deeper into the Raspberry Pi 3, why not sign up for our RoadTest right now and review the unit for the world to see?&lt;/span&gt;&lt;/p&gt;
&lt;div class="migration-injected-attachments"&gt;&lt;div style="font-weight:bold;margin:15px 0 5px 0;"&gt;Attachments:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;table style="border:0;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td colspan="2"&gt;&lt;span class="_se_attachment" id="attid_https://www.element14.com/community/api/core/v3/attachments/200316"&gt;&lt;a href="https://community.element14.com/cfs-file/__key/communityserver-wikis-components-files/00-00-00-01-66/PIK3A_5F00_Leonardo_5F00_Arcade_5F00_Controller_5F002D005F00_1_5F00_Player.zip"&gt;community.element14.com/.../PIK3A_5F00_Leonardo_5F00_Arcade_5F00_Controller_5F002D005F00_1_5F00_Player.zip&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;script&gt;window.top.e14.func.queueScripts.add(function() { window.top.e14.func.e14DynaloadGallery(window.document);}, true );&lt;/script&gt;

&lt;div style="font-size: 90%;"&gt;Tags: fruitful_three, retro gaming, pi3, gaming, raspberry pi 3, raspberry_pi_projects, pikea, video games&lt;/div&gt;
</description></item><item><title>Getting Started with the Pi-Camera Instructions</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/16822/getting-started-with-the-pi-camera-instructions</link><pubDate>Mon, 10 May 2021 18:52:17 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:5b3cec73-9d11-4a95-a523-6648bb734367</guid><dc:creator>smythec</dc:creator><description>Current Revision posted to Documents by smythec on 5/10/2021 6:52:17 PM&lt;br /&gt;
&lt;h1 align="left"&gt;&lt;a name="top"&gt;&lt;/a&gt;&lt;span style="font-size:24pt;"&gt;Getting Started with the Pi-Camera: Instructions&lt;/span&gt;&lt;/h1&gt;&lt;p style="margin:0;padding:0px;height:8pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Overview"&gt;Overview&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#SysConfig"&gt;System Configuration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#BoM"&gt;Bill of Materials&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#BoM_SysConfig"&gt;System Configuration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#BoM_HardConfig"&gt;Hardware Configuration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#BoM_SoftConfig"&gt;Software Configuration&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Instructions"&gt;Set of Instructions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#More"&gt;More Details&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#MoreRPi"&gt;Configure the R-Pi System&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#MorePiCamera"&gt;Connect and Configure the Pi-Camera&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#MoreRPiApps"&gt;Use the Raspbian Camera and Video Applications&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#MorePythonAPI"&gt;Install the Python Pi-Camera API&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Use"&gt;Using the Camera&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Trouble"&gt;Trouble Shooting&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppA"&gt;Appendix A - The Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppB"&gt;Appendix B - Python Pi-Camera API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Terminology"&gt;Terminology&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AtD"&gt;About this Document&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;padding:0px;height:8pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="Overview"&gt;&lt;/a&gt;Overview&lt;/h1&gt;&lt;p style="margin:0;"&gt;This Project is about the use of the Pi-Camera with the Raspberry Pi (R-Pi) and enabling a user to quickly, within a couple of hours of effort, and easily obtain, and store, still images and video. This project is aimed at people who have limited experience of using the R-Pi and programming. The key learning objectives of this project are for a novice developer to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Learn how the R-Pi and Pi-Camera can be connected and configured using the standard Raspbian drivers and applications;&lt;/li&gt;&lt;li&gt;Learn how to access and control the Pi-Camera from a Python program. A user will be able to take still images and video clips and to store them on the SD Card of the R-Pi.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;The associated &lt;a class="jive-link-anchor-small" href="#BoM"&gt;Bill of Materials&lt;/a&gt; describes the set of components, hardware and software, required to complete this project.&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="SysConfig"&gt;&lt;/a&gt;1. System Configuration&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The system configuration is shown in Figure 1.1. The basic configuration is:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="text-align:-webkit-auto;color:#000000;"&gt;R-Pi (Model A/B) - this project can make use of either Model. In the case of Model A, it is recommended that a WiPi is used to provide network connectivity (wireless, IEEE 802.11, via the USB2 port on the R-Pi). Network connectivity makes it easier to download and install the necessary software updates required by the Pi-Camera. A USB2 hub is recommended to enable more than two USB devices to be linked to the R-Pi (the R-Pi has two USB ports). It is assumed that the keyboard and mouse are linked via the USB Hub and, if required, the WiPi. The monitor can be linked either via the HDMI interface or the yellow RCA phono connector for composite video output. In this project a PiView connector is used to enable a monitor with a VGA connector to be connected to the R-Pi via the HDMI interface;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-align:-webkit-auto;color:#000000;"&gt;Pi-Camera - the PiCamera is attached to the R-Pi via the CSI bus (see later for instructions on how to make the connection)&lt;/span&gt;&lt;span style="color:#000000;text-align:-webkit-auto;line-height:1.5em;"&gt;. &lt;span style="color:#000000;"&gt;The camera sensor has a native resolution of 5 megapixel, and has a fixed focus lens onboard. In terms of still images, the camera is capable of 2592 x 1944 pixel static images, and also supports 1080p30, 720p60 and 640x480p60/90 video.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;height:8pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width:40%;border:1px solid #000000;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;color:#ffffff;text-align:center;padding:3px;font-family:arial, helvetica, sans-serif;height:30px;vertical-align:middle;border:1px solid #000000;"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Figure 1.1 System Configuration.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;color:#000000;padding:3px;background-color:transparent;font-family:arial, helvetica, sans-serif;border:1px solid #000000;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x541/__key/communityserver-wikis-components-files/00-00-00-01-66/3582.contentimage_5F00_199588.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3582.contentimage_199588.jpg-620x466.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=sU7%2BaLZPGFGTVqjxNZs0yWDiuuNBEnx%2FBJyt1y1PT9c%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=e5MsLRBNK3N7FFB6Fyb34g==" style="max-height: 466px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;When the complete system is built it will look as shown in Figure 1.2.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width:40%;border:1px solid #000000;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;color:#ffffff;text-align:center;padding:3px;font-family:arial, helvetica, sans-serif;height:30px;vertical-align:middle;border:1px solid #000000;"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Figure 1.2 The completed system.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;color:#000000;padding:3px;background-color:transparent;font-family:arial, helvetica, sans-serif;border:1px solid #000000;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/16x16/__key/communityserver-wikis-components-files/00-00-00-01-66/0447.contentimage_5F00_199589.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0447.contentimage_199589.png-16x16.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=pCWbdhqimJcdcklEomH6l%2B32ay0kKr2SBju2BjpEibs%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=EWJu22e1kVhYo5GNM4fzPw==" style="max-height: 16px;max-width: 16px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="BoM"&gt;&lt;/a&gt;2. Bill of Materials&lt;/h1&gt;&lt;h2&gt;&lt;a name="BoM_SysConfig"&gt;&lt;/a&gt;2.1 System Configuration&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The architecture is based upon the use of an R-Pi to drive a Pi-Camera. The configuration is shown in Figure 2.1 and the key to the alphanumeric labels is provided in Tables 2.1 and 2.2.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;height:8pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width:40%;border:1px solid #000000;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;color:#333333;text-align:center;padding:3px;font-family:arial, helvetica, sans-serif;height:30px;vertical-align:middle;border:1px solid #000000;"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Figure 2.1 - System configuration for the &amp;#39;Bill of Materials&amp;#39;&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;color:#000000;padding:3px;background-color:transparent;border:1px solid #000000;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x499/__key/communityserver-wikis-components-files/00-00-00-01-66/7384.contentimage_5F00_199590.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/7384.contentimage_199590.jpg-620x430.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=eN1GU9oFSW%2FU8J2H%2FRZ%2FIRSN%2FJH721qZRUzDKBKWRXk%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=NTqIscVVr8+lxOVcgGvLZg==" style="max-height: 430px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;height:8pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;text-align:left;"&gt;&lt;span style="color:#000000;"&gt;The associated bill of materials for the system shown in Figure 2.1 is listed in Table 2.1.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;text-align:center;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Table 2.1 - the Bill of Materials.&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width:100%;border:1px solid #000000;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:5%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:15%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Part&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:55%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Comment&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:5%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Qty&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:20%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Order Code&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1 (a)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:left;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi Model A&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:left;border:1px solid #000000;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Either Model can be used (includes 4GB SD Card). Use a Multicomp enclosure to protect the R-Pi base.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:Times;font-size:medium;"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-Om4E3Hw6-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2254699&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2254699&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Raspberry Pi (Model A)&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-Om4E3Hw6-unlinked"&gt;Raspberry Pi (Model A)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1 (b)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi Model B&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Include a Cat 5 Ethernet cable. Use a Multicomp enclosure to protect the R-Pi base.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-sUBmSOiM-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2191863&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2191863&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Raspberry Pi (Model B)&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-sUBmSOiM-unlinked"&gt;Raspberry Pi (Model B)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1 (c)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi Enclosure&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Multicomp enclosure to protect the R-Pi base.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-DCBqgiQy-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2113799&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2113799&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;MC-RP001-CLR&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-DCBqgiQy-unlinked"&gt;MC-RP001-CLR&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1 (d)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;SD Card&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Storage medium (8GB) for the R-Pi (with NOOBS pre-installed).&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-3SiADzsn-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2334981&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2334981&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;RASPBERRY-PI / PROG-8GB-USD&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-3SiADzsn-unlinked"&gt;RASPBERRY-PI / PROG-8GB-USD&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;font-family:Times;font-size:medium;"&gt;2&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Pi-Camera&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;This includes the 15-way flat-flex cable for connection to the R-Pi via the CSI bus.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-ltNZHfWV-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2302279&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2302279&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Pi-Camera&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-ltNZHfWV-unlinked"&gt;Pi-Camera&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;3&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Keyboard&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Include a USB cable.&amp;nbsp; Get as part of an Accessory Bundle (see 4 below).&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td rowspan="2" style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-fdAaMJfT-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2144556&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2144556&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;RPI-CABLE+ACC/DVI&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-fdAaMJfT-unlinked"&gt;RPI-CABLE+ACC/DVI&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Mouse&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Include a USB cable.&amp;nbsp; Get as part of an Accessory Bundle (see 3 above).&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;WiPi&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Wireless access via USB.&amp;nbsp; Required to provide network access if a R-Pi Model A is used.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-19y0oVTI-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2133900&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2133900&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;WiPi&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-19y0oVTI-unlinked"&gt;WiPi&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;6&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;PiView&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;HDMI/VGA adapter to provide connection to a non-HDMI enabled monitor.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-8NGumQFD-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2133899&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2133899&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;PiView&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-8NGumQFD-unlinked"&gt;PiView&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;7&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Monitor&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;A suitable colour monitor (VGA or HDMI connectivity recommended).&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;8&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;USB2 Hub&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Includes the power supply and USB2 cables.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-3ySRV1nN-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2115058&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2115058&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;USB-H70-1A2.0&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-3ySRV1nN-unlinked"&gt;USB-H70-1A2.0&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;9&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Power Supply&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi power supply with 5V/1A output. Micro USB connector.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-MiHZ9Tcz-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2254792&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;&lt;span class="pf-widget-map pf-productlink-cart-icon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a class="jive-link-product pf-embedded-product-link" href="https://www.element14.com/community/view-product.jspa?fsku=2254792&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;RPI-PSU-UK-MK1&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-MiHZ9Tcz-unlinked"&gt;RPI-PSU-UK-MK1&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;10&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Power Supply&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;USB2 power supply (5V/1A with 2.1mm x 5.5mm Barrel Plug connector). &lt;br /&gt;Included with the USB2 Hub (see 8 above).&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;11&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Ethernet Cable&lt;br /&gt;(Cat5/6 - twisted pair)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;To provide network access when using a R-Pi Model B.&amp;nbsp; Should be connected to the appropriate network access box e.g. broadband router.&amp;nbsp; &lt;span style="color:#000000;"&gt;Get as part of an Accessory Bundle (see 3 above).&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;1&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;See 3/4 above.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;height:8pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="color:#000000;text-align:-webkit-auto;"&gt;&lt;a name="BoM_HardConfig"&gt;&lt;/a&gt;&lt;strong&gt;2.2 Hardware Configuration&lt;/strong&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The hardware connectivity is detailed in Table 2.2.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;text-align:center;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Table 2.2 - Hardware connectivity.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width:100%;border:1px solid #000000;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:5%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:15%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Connector&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:25%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Connection&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;width:55%;height:30px;text-align:center;vertical-align:middle;border:1px solid #000000;" valign="middle"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Comment&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;A&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;VGA (PiView)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Monitor/R-Pi&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Part of the Monitor cable to the R-Pi.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;B&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;HDMI (PiView)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi/Monitor&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Part of the Monitor cable to the R-Pi.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;C&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Power Cable&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi Micro USB/Mains&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Power supply for the R-Pi.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;D&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Ethernet (Cat5/6)&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi/Switch or Router&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Cable-based network access. Wireless access via the WiPi is an alternative.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;E&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;15-way Flat-Flex Cable&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;R-Pi/PiCamera&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Camera Serial Interface (CSI) bus between the R-Pi and PiCamera. Supplied as part of the PiCamera.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;F&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Power Cable&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;USB2 Hub/Mouse + Keyboard&lt;br /&gt;USB2 Hub/WiPi&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;Power for the USB2 hub - the hub supports seven ports.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;G&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;USB Cable&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;USB2 Hub/Mouse + Keyboard&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;USB2 Hub/WiPi&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;USB cable connection for the Mouse and Keyboard. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The WiPi will be plugged directly into the USB2 hub.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;border:1px solid #000000;"&gt;H&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;USB Cable&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;USB2 Hub/R-Pi&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:1px solid #000000;"&gt;&lt;span style="color:#000000;"&gt;USB cable to connect the USB hub to the R-Pi. The R-Pi can also draw power using this cable.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="color:#000000;font-family:Times;text-align:-webkit-auto;"&gt;&lt;a name="BoM_SoftConfig"&gt;&lt;/a&gt;&lt;strong&gt;2.3 Software Configuration&lt;/strong&gt;&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The software required to support this project that must be installed on the R-Pi is:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;R-Pi Operating System (Raspbian) - this is installed using the NOOBS that comes pre-installed on the R-Pi SD cards.&amp;nbsp; If NOOBS is not preinstalled it is available at &lt;a class="jive-link-external-small" href="http://www.raspberrypi.org/downloads" rel="nofollow" target="_blank"&gt;Downloads&lt;/a&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Integrated Development Environment - IDLE with Python 3.x support with the &amp;#39;tkinter&amp;#39; modules installed (normally installed as part of Raspbian);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Raspistill and Raspivid applications - these are still image and video capture operating system applications (normally installed as part of Raspbian);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Omxplayer - an application to enable the H.264 encoded video to be played back on the monitor from the R-Pi (normally installed as part of Raspbian);&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Pure Python interface to the R-Pi PiCamera (Python 2.7 and above and Python 3.2 and above) by Dave Hughes - the documentation is available at: &lt;a class="jive-link-external-small" href="http://picamera.readthedocs.org/en/release-0.8/index.html" rel="nofollow ugc noopener" target="_blank"&gt;http://picamera.readthedocs.org/en/release-0.8/index.html&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;NOTE: This project has been tested using v0.7 and v0.8 of the Python Pi-Camera interface. There MAY be problems with other versions.&amp;nbsp; Please inform us if you have problems with other versions of the Python Pi-Camera API.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="Instructions"&gt;&lt;/a&gt;3. Set of Instructions&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-style:inherit;color:#000000;"&gt;The set of instructions for using the Pi-Camera are:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="text-align:-webkit-auto;color:#000000;font-style:inherit;"&gt;Configure the R-Pi system in preparation for the connection of the Pi-Camera and usage of the software i.e. the monitor, USB2 Hub, keyboard and mouse and the network connection (using either a WiPi for wireless access or using the wired Ethernet port) - see &lt;a class="jive-link-anchor-small" href="#MoreRPi"&gt;More Detail&lt;/a&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="text-align:-webkit-auto;color:#000000;font-style:inherit;"&gt;The Pi-Camera must now be connected to the R-Pi. The Pi-Camera is connected to the R-Pi using the CSI bus located between the Ethernet and HDMI connectors.&amp;nbsp; The 15-way flat-flex connector cable, supplied with the Pi-Camera, is inserted into the CSI connector with the metallic connectors facing the HDMI connector. The system software must now be installed - see &lt;a class="jive-link-anchor-small" href="#MorePiCamera"&gt;More Detail&lt;/a&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;font-style:inherit;text-align:-webkit-auto;"&gt;The connection and configuration of the Pi-Camera is tested using the &amp;#39;raspistill and &amp;#39;raspivid&amp;#39; applications. These two applications are supplied as part of the Raspbian operating system.&amp;nbsp; The &amp;#39;raspistill&amp;#39; image is used to capture one or more still images (the default format is JPEG but other formats can be used) and the &amp;#39;raspivid&amp;#39; application is used to capture and store a video (it is saved in H.264 format) - see &lt;a class="jive-link-anchor-small" href="#MoreRPiApps"&gt;More Detail&lt;/a&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;font-style:inherit;text-align:-webkit-auto;"&gt;The Pure Python Pi-Camera API must now be installed. This API is used to enable the Pi-Camera to be controlled using a Python program i.e. a developer can write a program that can control the Pi-Camera to take still images and video clips - see &lt;a class="jive-link-anchor-small" href="#MorePythonAPI"&gt;More Detail&lt;/a&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;font-style:inherit;text-align:-webkit-auto;"&gt;Download and run the Python Pi-Camera software. Download the LED chooser software file &amp;#39;&lt;a class="jive-link-external-small" href="https://github.com/element14/pi_project/blob/master/Pi_Camera/CamInterfacev1p0p0.py" rel="nofollow ugc noopener" target="_blank"&gt;CamInterfacev1p*.py&lt;/a&gt;&amp;#39;, written in Python 3, to control the Pi-Camera.&amp;nbsp; This software provides a GUI that allows a user to take a single still image, a sequence of still images and a video clip - see &lt;a class="jive-link-anchor-small" href="#Use"&gt;More Detail&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="More"&gt;&lt;/a&gt;4. More Details&lt;/h1&gt;&lt;h2&gt;&lt;a name="MoreRPi"&gt;&lt;/a&gt;4.1 Configure the R-Pi System&lt;/h2&gt;&lt;p style="margin:0;"&gt;The layout of the R-Pi (Model B) is shown in Figure 4.1. Once the various cables have been connected to the R-Pi, the configuration is as shown in Figure 4.2 (the alphanumeric annotations refer to the identifier entries in Tables 2.1 and 2.2).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" height="425" style="border:1px solid #000000;font-size:12px;font-family:Verdana;color:#333333;width:1146px;height:407px;" width="1144"&gt;&lt;thead style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;th style="border:1px solid black;border:1px solid #000000;border:0px;background-position:no-repeat no-repeat;background-color:#6690bc;text-align:center;font-family:arial, helvetica, sans-serif;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span style="color:#ffffff;font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Figure 4.1 - R-Pi Model B board layout.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;border:0px;background-position:no-repeat no-repeat;background-color:#6690bc;text-align:center;font-family:arial, helvetica, sans-serif;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span style="color:#ffffff;font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Figure 4.2 - The R-Pi with the set of connected cables.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style="font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:0px;color:#000000;text-align:center;font-family:inherit;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/495x368/__key/communityserver-wikis-components-files/00-00-00-01-66/2526.contentimage_5F00_199591.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2526.contentimage_199591.jpg-495x368.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ed2SrwulJgBOzOmoulC13HyTyPhJbq6jkisEj0uuK8g%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=bvBOg+Ty3Y1ScpgZ2ERVow==" style="max-height: 368px;max-width: 495px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:0px;color:#000000;text-align:center;font-family:inherit;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/587x355/__key/communityserver-wikis-components-files/00-00-00-01-66/8473.contentimage_5F00_199592.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8473.contentimage_199592.jpg-587x355.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=PSiTCH6SDJKq2isKLrvVbnWcMlJ1tfGVELJI%2BiIoZsM%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=8GoMy2VSZ3c7xdcAYSPJzQ==" style="max-height: 355px;max-width: 587px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="MorePiCamera"&gt;&lt;/a&gt;4.2 Connect and Configure the Pi-Camera&lt;/h2&gt;&lt;p style="margin:0;"&gt;The front and rear views of the Pi-Camera are shown in Figure 4.3. The Pi-Camera should be handled carefully as it is susceptible to electrostatic damage. Before handling the Pi-Camera discharge yourself by touching an earthed object e.g. a radiator. When handling the camera unit itself grip the PCB surround and not the electronics or the camera lens.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" height="546" style="border:1px solid #000000;font-size:12px;font-family:Verdana;color:#333333;width:650px;height:531px;"&gt;&lt;thead style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;th style="border:1px solid black;border:1px solid #000000;border:0px;background-position:no-repeat no-repeat;background-color:#6690bc;text-align:center;font-family:arial, helvetica, sans-serif;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span style="color:#ffffff;font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Figure 4.3 - The Pi-Camera.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style="font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:0px;color:#000000;text-align:center;font-family:inherit;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x268/__key/communityserver-wikis-components-files/00-00-00-01-66/2502.contentimage_5F00_199593.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2502.contentimage_199593.jpg-620x231.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=UUX7NW8H%2BbCjz9W%2B0uDwoXUgNpx%2FKC%2BRZEr%2BEXAPHeA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=nKf8ncE0AFFlNRJWQYWjGQ==" style="max-height: 231px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(a) Front View&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x219/__key/communityserver-wikis-components-files/00-00-00-01-66/5734.contentimage_5F00_199594.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/5734.contentimage_199594.jpg-620x189.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=nve5FOBu6yPcGtM4qmEn0aLBFydayPieOSG9YwmN6hA%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=CevVmou7Ho32N/UlFv9fJQ==" style="max-height: 189px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b) Rear View&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The Pi-Camera must now be connected to the R-Pi (this is shown in Video 1 in &lt;a class="jive-link-anchor-small" href="#Use"&gt;Section 5&lt;/a&gt;). Another good video for the connection of the Pi-Camara is available at: &lt;a class="jive-link-external-small" href="http://www.raspberrypi.org/camera" rel="nofollow ugc noopener" target="_blank" title="http://www.raspberrypi.org/camera"&gt;Camera | Raspberry Pi&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="width:40%;border:1px solid #000000;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;color:#ffffff;text-align:center;padding:3px;font-family:arial, helvetica, sans-serif;height:30px;vertical-align:middle;border:1px solid #000000;"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Figure 4.4a Close-up of the CSI cable connection for the Pi-Camera&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;background-color:#6690bc;color:#ffffff;text-align:center;padding:3px;font-family:arial, helvetica, sans-serif;height:30px;vertical-align:middle;border:1px solid #000000;"&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;Figure 4.4b Pi-Camera connected to the R-Pi.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;color:#000000;padding:3px;background-color:transparent;font-family:arial, helvetica, sans-serif;border:1px solid #000000;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x509/__key/communityserver-wikis-components-files/00-00-00-01-66/3681.contentimage_5F00_199595.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/3681.contentimage_199595.jpg-620x438.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=XsSqkKU00i9VaXsp0Kw1HWqV1ubd8Pn%2F8nx7toEUde0%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=zE7Hvpmw4JadTpPwHhfHEA==" style="max-height: 438px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;color:#000000;padding:3px;background-color:transparent;font-family:arial, helvetica, sans-serif;border:1px solid #000000;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1488x900/__key/communityserver-wikis-components-files/00-00-00-01-66/1537.contentimage_5F00_199596.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/1537.contentimage_199596.jpg-620x375.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=f6yYfTfSQrf6%2FjGYQ0JjyOHEMV45ksNhJWKZUfsXtOg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=67zA8RxhvHBnBUc9E2ZOrw==" style="max-height: 375px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;As shown in Figure 4.4a, the Pi-Camera cable is placed into the CSI Bus Connector (E). The top plate of the connector must be raised to allow the cable to be inserted. The cable is inserted with the metallic connections pointing to the left i.e. towards the HDMI connector.&amp;nbsp; Make sure the cable is pushed well down.&amp;nbsp; Now push the connector plate down (note in Figure 4.4a the plate has not been pushed fully down yet). When connected the system now looks as shown in Figure 4.4b.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The next step is to update the Raspian operating system and to make sure that the Pi-Camera is configured correctly. An excellent set of detailed instructions on the software configuration is available at: &lt;a class="jive-link-external-small" href="http://www.raspberrypi.org/camera" rel="nofollow ugc noopener" target="_blank" title="http://www.raspberrypi.org/camera"&gt;Camera | Raspberry Pi&lt;/a&gt;. The steps to be taken to configure the Pi-Camera software require the use of the LX Terminal application on the R-Pi.&amp;nbsp; Start the LX Terminal and then type:-&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;&lt;strong&gt;sudo apt-get update&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;&lt;strong&gt;sudo apt-get upgrade&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;These update the R-Pi firmware and ensure the latest versions of the Raspbian operating system is installed. The next step is to make sure that the Pi-Camera is enabled. Type:-&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;strong&gt;&lt;em&gt;sudo raspi-config&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Use the cursor key to move to the camera option and select enable. On exiting raspi-config it will ask to reboot. The enable option will ensure that on reboot the correct GPU firmware will be running for the use of the Pi-Camera. Use the instructions at: &lt;a class="jive-link-external-small" href="http://www.raspberrypi.org/camera" rel="nofollow ugc noopener" target="_blank" title="http://www.raspberrypi.org/camera"&gt;Camera | Raspberry Pi&lt;/a&gt; for more details on how enable the Camera. Make sure you reboot the R-Pi once the P-Camera has been enabled.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="MoreRPiApps"&gt;&lt;/a&gt;4.3 Use the Raspbian Image and Video Capture Applications&lt;/h2&gt;&lt;p style="margin:0;"&gt;The correct installation of the PiCamera can be checked by using the &amp;#39;raspistill&amp;#39; and raspivid&amp;#39; applications that are supplied as part of the Raspbian O/S. An extensive set of documentation about these two applications is available at: &lt;a class="jive-link-external-small" href="https://github.com/raspberrypi/userland/blob/master/host_applications/linux/apps/raspicam/RaspiCamDocs.odt" rel="nofollow ugc noopener" target="_blank" title="https://github.com/raspberrypi/userland/blob/master/host_applications/linux/apps/raspicam/RaspiCamDocs.odt"&gt;https://github.com/raspberrypi/userland/blob/master/host_applications/linux/apps/raspicam/RaspiCamDocs.odt&lt;/a&gt;. Still images can be taken by launching the LX Terminal and typing:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;&lt;strong&gt;raspistill -o image.jpg&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;A JPEG image will now be taken and stored in the file &amp;#39;image.jpg&amp;#39; in the directory from which the terminal emulator was run. The image is captured after a 5s preview period and the image about to be taken is displayed on the desk-top. The 5s period can be altered by using the &amp;#39;-timeout&amp;#39; instruction on the command line.&amp;nbsp; The image can be viewed by clicking on the file under the Raspbian file manager. A video (in format H.264) can be captured by typing:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;&lt;strong&gt;raspivid -o video.h264&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;This will capture a 5s duration video (again the duration can be changed using the &amp;#39;-timeout&amp;#39; instruction). The video can be viewed by using the &amp;#39;omxplayer&amp;#39; application (see bullet 3 in&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#Use"&gt;Section 5&lt;/a&gt;&lt;span style="color:#000000;"&gt;).&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="MorePythonAPI"&gt;&lt;/a&gt;4.4 Install the Python Pi-Camera API&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Now that it has been confirmed that the Pi-Camera is correctly installed and configured, the next step is to install the Python Pi-Camera API. Download the documentation at: &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://picamera.readthedocs.org/en/release-0.8/index.html" rel="nofollow ugc noopener" target="_blank"&gt;http://picamera.readthedocs.org/en/release-0.8/index.html&lt;/a&gt;&lt;span style="color:#000000;"&gt;. It is recommended that the Python API is installed so that it is available to ALL users i.e. a System Installation. The &amp;#39;CamInterfacev1p0p0.py&amp;#39; software that has been written for this project uses Python 3 so the Python 3 version of the Pi-Camera API is required.&amp;nbsp; The relevant set of instructions are given in Section 1.2.2 (page 5) of the API documentation.&amp;nbsp; Thefollowing instruction are entered into the LX Terminal:-&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="color:#000000;"&gt;&lt;em&gt;&lt;strong&gt;sudo apt-get install python3-setuptools&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="color:#000000;"&gt;&lt;em&gt;&lt;strong&gt;sudo easy_install3 picamera&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Upgrades should be installed using the instruction:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="color:#000000;"&gt;&lt;em&gt;&lt;strong&gt;sudo easy_install3 -U picamera&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The next and final stage is to download the user GUI i.e. the &amp;#39;CamInterfacev1p0p0.py&amp;#39; software (see &lt;a class="jive-link-anchor-small" href="#Use"&gt;Section 5&lt;/a&gt;).&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="Use"&gt;&lt;/a&gt;5. Using the Camera&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The user camera software is started by running the Python 3 file &amp;#39;CamInterfacev1p0p0.py&amp;#39; (it should be possible to start the file by just clicking on it otherwise open the file using the IDLE 3 application).&amp;nbsp; When the software starts the window shown in Figure 5.1 is displayed.&amp;nbsp; The user can now:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Take a Single Photo - click on the left most radio button labelled &amp;#39;Take a Single Photo&amp;#39;.&amp;nbsp; Now enter the name of the file, in which the image is to be stored, in the text box labelled &amp;#39;Photo Filename&amp;#39;. Now press the button &amp;#39;Camera, Lights, ACTION&amp;#39;.&amp;nbsp; The image that the Pi-Camera will take is now shown in a window in the bottom left of the screen. The image is taken after a one second delay and stored in the named file (this user software always creates a JPEG version - this can be changed by altering line 307 in the CamInterface file i.e. in the method &amp;#39;action_single&amp;#39;). The image is stored in the same directory as that in which the CamInterfacev1p0p0.py file is stored.&amp;nbsp; If this file is now clicked then it will be displayed on the desk-top. All of the user actions are reported in the message window (below the &lt;span style="color:#000000;"&gt;&amp;#39;Camera, Lights, ACTION&amp;#39;&lt;/span&gt; and &amp;#39;QUIT&amp;#39; buttons) and if an attempt is made to take the image without providing the file name then an error message is displayed;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Take a Sequence of Multiple Photos - &lt;span style="color:#000000;"&gt;click on the right most radio button labelled &amp;#39;Take multiple Photos&amp;#39;.&amp;nbsp; &lt;span style="color:#000000;"&gt;Now enter the name of the directory, in which the set of images is to be stored, in the text box labelled &amp;#39;Directory name&amp;#39;. Next enter the number of images to be taken and the delay between each image in the text boxes &amp;#39;Number of images&amp;#39; and &amp;#39;Seconds between images&amp;#39; respectively. &lt;span style="color:#000000;"&gt;Now press the button &amp;#39;Camera, Lights, ACTION&amp;#39;.&amp;nbsp; Each image that the Pi-Camera will take is now shown in a window in the bottom left of the screen. The set of images are now taken sequentially and stored in the named directory (&lt;span style="color:#000000;"&gt;this directory is in the same directory as that in which the CamInterfacev1p0p0.py file is stored). These images can now be viewed by clicking on them. &lt;span style="color:#000000;"&gt;Again, all of the user actions are reported in the message window (below the &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;#39;Camera, Lights, ACTION&amp;#39;&lt;/span&gt;&lt;span style="color:#000000;"&gt; and &amp;#39;QUIT&amp;#39; buttons) and if an attempt is made to take the images without providing the full set of information then an error message is displayed;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Shoot a Video - &lt;span style="color:#000000;"&gt;enter the name of the file, in which the video is to be stored, in the text box labelled &amp;#39;Video Filename&amp;#39;. Now press the button &amp;#39;Start Video&amp;#39;. &lt;span style="color:#000000;"&gt;The video that the Pi-Camera will take is now shown in a window in the bottom left of the screen.&lt;/span&gt; To stop the video capture press the &amp;#39;Stop Video&amp;#39; button. &lt;span style="color:#000000;"&gt;The video is stored in the same directory as that in which the CamInterfacev1p0p0.py file is stored.&amp;nbsp; The video is stored as a H.264 format and this cannot be easily viewed on a Raspbian desktop. Viewing this video requires the use of an application such as &amp;#39;omxplayer&amp;#39;. The instructions to view the new video are to use the LX Terminal set for the directory containing the video and to type (shown in bold):&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;padding-left:60px;"&gt;&lt;strong&gt;&lt;em&gt;omxplayer &amp;lt;filename&amp;gt;.h264&lt;/em&gt;&lt;/strong&gt; - used if the display is connected to the composite output (the yellow connector)&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:60px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:60px;"&gt;OR&lt;/p&gt;&lt;p style="margin:0;padding:0px;padding-left:60px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:60px;"&gt;&lt;strong&gt;&lt;em&gt;omxplayer -o hdmi &amp;lt;filename&amp;gt;.h264&lt;/em&gt;&lt;/strong&gt; - used if the display is connected to the HDMI output&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="color:#000000;font-size:10pt;line-height:1.5em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;span style="color:#000000;font-size:10pt;line-height:1.5em;"&gt;The video will now be played on the display. Again, all of the user actions are reported in the message window (below the &amp;#39;Camera, Lights, ACTION&amp;#39; and &amp;#39;QUIT&amp;#39; buttons) and if an attempt is made to take the video without providing the file name then an error message is displayed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-size:10pt;line-height:1.5em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-size:10pt;line-height:1.5em;"&gt;When the &amp;#39;QUIT&amp;#39; button is pressed, the Pi-Camera is stopped and the program must be restarted before further images and/or videos can be captured.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="border:1px solid #000000;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;thead style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;th style="border:1px solid black;border:1px solid #000000;border:0px;background-position:no-repeat no-repeat;background-color:#6690bc;text-align:center;font-family:arial, helvetica, sans-serif;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span style="color:#ffffff;font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Figure 5.1 - The startup display for the software.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style="font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:0px;text-align:center;color:#000000;font-family:inherit;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1468x899/__key/communityserver-wikis-components-files/00-00-00-01-66/2117.contentimage_5F00_199597.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/2117.contentimage_199597.jpg-620x380.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=BqtBfQPCUNKH15npWnEp9qp20E9AnNyxldVaCGB0Rrg%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Zau6ZIGRPBNnHLXFfAwCAg==" style="max-height: 380px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;A video, 7 minutes long, demonstrating the use of the Python camera software is shown in Video 1.&amp;nbsp; This video is available in low resolution (a) and high resolution (b) - the high resolution will require at least a 3.5Mbps broadband data rate to view.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="border:1px solid #000000;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;thead style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;border:0px;background-position:no-repeat no-repeat;background-color:#6690bc;text-align:center;font-family:arial, helvetica, sans-serif;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span style="color:#ffffff;font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Video 1 - The Python Pi-Camera GUI software.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style="font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:0px;color:#000000;text-align:center;border:1px solid #000000;padding:3px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="50fa87eb_49e6_4071_9f7f_89cd5215c648"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3049900302001"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(a)&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:0px;color:#000000;text-align:center;border:1px solid #000000;padding:3px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="963771fe_7eb8_4c0a_99b8_041962424171"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3049988198001"&gt;players.brightcove.net/.../index.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="Trouble"&gt;&lt;/a&gt;6. Trouble Shooting&lt;/h1&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table align="left" border="0" cellpadding="0" cellspacing="0" style="border:0px;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;tbody style="font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 1&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;font-family:inherit;font-style:inherit;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;Once the video has been captured and stored, the video cannot be replayed on the display. When the video file, produced by the camera, is &amp;#39;clicked&amp;#39; the operating system asks which application should be used to open the file.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;The CamInterface program stores the video in H.264 format. &lt;span style="color:#000000;"&gt;Viewing this video requires the use of an application such as &amp;#39;omxplayer&amp;#39;.&lt;/span&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&amp;nbsp; See bullet 3 in Section 5, &lt;a class="jive-link-external-small" href="/" rel="nofollow ugc noopener" target="_blank"&gt;Using the &lt;/a&gt;&lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#Use"&gt;Camera, &lt;/a&gt;for instructions&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt; on how to use the &amp;#39;omxplayer&amp;#39;.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 2&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The software quits prematurely with the statement that the &amp;#39;picamera&amp;#39; library is not available.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;The Python Pi-Camera API has not been installed or is not available.&amp;nbsp; To install the API follow the instructions in sub-section 4.4 (&lt;a class="jive-link-anchor-small" href="#MorePythonAPI"&gt;Install the Python Pi-Camera API&lt;/a&gt;). If the API Documentation has been used as the source of the installation then make sure that the &amp;#39;System Installation&amp;#39; instructions have been used as opposed to the &amp;#39;User Installation&amp;#39; and that the Python 3 version instructions are followed.&amp;nbsp; A &amp;#39;User Installation&amp;#39; will require all of the software to be in the same user directory.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 3&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;The software quits prematurely with the statement that the &amp;#39;tkinter&amp;#39; library is not available.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;Make sure that you are using the Python 3 shell. While the Python Pi-Camera API supports both Python 2.* and 3.* the GUI-based software uses the &amp;#39;tkinter&amp;#39; library and so the program must be run using the Python 3 shell.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 4&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;The raspistill and raspivid applications do not work.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="6%"&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;border:0px solid black;padding-left:4px;padding-right:4px;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;Check that the Pi-Camera has been enabled and that the latest version of the Raspbian operating system has been installed. Follow the instructions in &lt;a class="jive-link-anchor-small" href="#MorePiCamera"&gt;Section 4.2&lt;/a&gt;.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="AppA"&gt;&lt;/a&gt;Appendix A - The Software&lt;/h1&gt;&lt;p style="margin:0;"&gt;The &amp;#39;&lt;a class="jive-link-external-small" href="https://github.com/element14/pi_project/blob/master/Pi_Camera/CamInterfacev1p0p0.py" rel="nofollow ugc noopener" target="_blank"&gt;CamInterfacev1p0p0.py&lt;/a&gt;&amp;#39; software written for this project is available in the Element14 GitHub at: &lt;a class="jive-link-external-small" href="https://github.com/element14/pi_project/tree/master/Pi_Camera" rel="nofollow ugc noopener" target="_blank" title="https://github.com/element14/pi_project/tree/master/Pi_Camera"&gt;https://github.com/element14/pi_project/tree/master/Pi_Camera&lt;/a&gt;. A clone of this software should be established using an appropriate software versioning application. The clone can be established at: &lt;a class="jive-link-external-small" href="https://github.com/element14/pi_project.git" rel="nofollow ugc noopener" target="_blank" title="https://github.com/element14/pi_project.git"&gt;https://github.com/element14/pi_project.git&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The CamInterface software consist of one class (Application). The design of the Application class is shown in Figure A1. The software design is based upon four classes:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#000000;font-size:10pt;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;Tk - this is core class for the Tkinter GUI library. &lt;span style="color:#000000;font-size:small;"&gt;The list of operations are those that are used by the Application class. &lt;/span&gt;This class is contained in the library &amp;#39;&lt;/span&gt;tkinter&lt;span style="font-style:inherit;font-family:inherit;"&gt;&amp;#39; (this is only available to Python 3 programs);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;font-size:10pt;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;PiCamera - this is the pure Python Pi-Camera API and is used to provide &lt;/span&gt;the&lt;span style="font-style:inherit;font-family:inherit;"&gt; control over the Pi-Camera. The list of operations are those that are used by the Application class. &lt;/span&gt;The&lt;span style="font-style:inherit;font-family:inherit;"&gt; class is contained in the library &amp;#39;picamera&amp;#39; (see &lt;a class="jive-link-anchor-small" href="#AppB"&gt;Appendix B&lt;/a&gt; for more details on this class);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;font-size:10pt;"&gt;Frame - the parent class for the Application. The Frame class provides the GUI framework, from the &amp;#39;tkinter&amp;#39; library, on which the Application GUI is based;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span style="color:#000000;font-size:10pt;font-style:inherit;font-family:inherit;"&gt;Application - the class that provides the user with the &lt;/span&gt;&lt;span style="color:#000000;"&gt;features&lt;/span&gt;&lt;span style="color:#000000;font-size:10pt;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt; to control the Pi-Camera &lt;/span&gt;directly&lt;span style="font-style:inherit;font-family:inherit;"&gt; from the Python program. It is this class that has been written for this project and which is downloaded from the GitHub.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" cellpadding="3" cellspacing="0" class="jiveBorder" style="border:1px solid #000000;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;thead style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;th class="header" style="border:1px solid black;border:1px solid #000000;border:0px;background-position:no-repeat no-repeat;background-color:#6690bc;text-align:center;font-family:arial, helvetica, sans-serif;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span style="color:#ffffff;font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;Figure A1 - The class structure of the CamInterface software.&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style="font-style:inherit;font-family:inherit;"&gt;&lt;tr style="border:0px;font-style:inherit;font-family:inherit;"&gt;&lt;td style="border:1px solid black;border:1px solid #000000;border:0px;color:#000000;text-align:center;font-family:inherit;font-style:inherit;border:1px solid #000000;padding:3px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/443x411/__key/communityserver-wikis-components-files/00-00-00-01-66/8054.contentimage_5F00_199598.jpg"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/8054.contentimage_199598.jpg-443x411.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=GFV5SOAwXIKrUz%2BRvMVm1j%2Be6V4eWmMsLbE6HcIU%2F90%3D&amp;amp;se=2026-04-14T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=JUThliBE7/xmUPxpcRjDLw==" style="max-height: 411px;max-width: 443px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-style:inherit;font-family:inherit;color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;This class has no attributes and eleven methods. The functionality of the eleven methods is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;__init__ () - defines all the initialisation states for the GUI (this function is called when the &amp;#39;app&amp;#39; object is instantiated using the statement &lt;em&gt;app = Application (root)&lt;/em&gt;);&lt;/li&gt;&lt;li&gt;action_camera () - controls whether or not a single or set of still images are taken by the Pi-Camera;&lt;/li&gt;&lt;li&gt;action_multiple () - controls the Pi-Camera to take a sequence of still images;&lt;/li&gt;&lt;li&gt;action_single () - controls the Pi-Camera to take a single still image;&lt;/li&gt;&lt;li&gt;choose_multiple_photos () - directs the input of the information required to take a sequence of still images;&lt;/li&gt;&lt;li&gt;choose_single_photo () - directs the input of the information required to take a single still image;&lt;/li&gt;&lt;li&gt;create_widgets () - creates the set of instructions, buttons and the text area as shown in Figure 5.1. Defines the actions to be invoked when the state of the GUI is changed;&lt;/li&gt;&lt;li&gt;exit_camera () - provides the controlled close-down of the Pi-Camera;&lt;/li&gt;&lt;li&gt;setup_camera () - instantiates the Pi-Camera object and defines the operational configuration for the Pi-Camera;&lt;/li&gt;&lt;li&gt;start_video () - starts the video capture using the Pi-Camera;&lt;/li&gt;&lt;li&gt;stop_video () - stops the video capture using the Pi-Camera.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;The relationships between the class Application and the other libraries is defined by the header instructions of:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;from tkinter import * &lt;/em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Load the full set tkinter library&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;from tkinter import messagebox&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;from time import sleep&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;import picamera &lt;/em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # The Python Pi-Camera API&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;import os&lt;/em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Raspian Operating system functions&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;The main program instructions are:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;root = Tk ()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Create the GUI root object&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;root.title (&amp;quot;Image Capture V1.0&amp;quot;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Give the application window a title&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;app = Application (root)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Create the root application object frame&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;root.mainloop ()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Establish the operational loop&lt;/em&gt;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="AppB"&gt;&lt;/a&gt;Appendix B - Python Pi-Camera API&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The pure Python interface to the R-Pi Pi-Camera (Python 2.7 and above and Python 3.2 and above) was created by Dave Hughes and the excellent documentation is available at: &lt;a class="jive-link-external-small" href="http://picamera.readthedocs.org/en/release-0.8/index.html" rel="nofollow ugc noopener" target="_blank"&gt;http://picamera.readthedocs.org/en/release-0.8/index.html&lt;/a&gt;. This provides an extensive amount of information about how to use the API to control the Pi-Camera.&amp;nbsp; As shown in Figure A1, the set of PiCamera API methods that are used by the &amp;#39;CamInterface &lt;/span&gt;&lt;span style="color:#000000;"&gt;software&amp;#39; is (the page references are with respect to the v0.8 release of the Python Pi-Camera API documentation):&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;capture () - to capture an image from the Pi-Camera and to store it in the defined output stream (page 24);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;capture_continuous () - capture images continuously from the Pi-Camera as an infinite iterator (page 25);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;close () - finalises the state of the Pi-Camera (page 27);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;preview_fullscreen () - retrieves or sets full-screen for the preview window&lt;span style="color:#000000;"&gt; (page 32);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;preview_window () - retrieves or sets the size of the preview window&lt;span style="color:#000000;"&gt; (page 32);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;recording () - returns &amp;#39;True&amp;#39; if the &amp;#39;start_recording()&amp;#39; method has been called and no &amp;#39;stop_recording()&amp;#39; call has been made yet&lt;span style="color:#000000;"&gt; (page 33);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;resolution () - retrieves or sets the resolution at which image captures, video recordings and previews will be captured&lt;span style="color:#000000;"&gt; (page 33);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;start-preview () - displays the preview window &lt;span style="color:#000000;"&gt;(page 27);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;start-recording () - start recording video from the Pi-Camera and store in the defined output stream&lt;span style="color:#000000;"&gt; (page 27);&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;font-size:10pt;line-height:1.5em;"&gt;stop _preview () - close the preview window display&lt;/span&gt;&lt;span style="color:#000000;"&gt; (page 28);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;stop_recording () - stop recording from the Pi-Camera&lt;span style="color:#000000;"&gt; (page 28).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;In the CamInterface program the Python Pi-Camera API is instantiated in the method &amp;#39;setup_camera ()&amp;#39; using the code (line 408):&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding-left:30px;"&gt;&lt;em&gt;self.camera = picamera.PiCamera ()&lt;/em&gt;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="Terminology"&gt;&lt;/a&gt;Terminology&lt;/h1&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table align="left" border="0" cellpadding="0" cellspacing="0" style="width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;CSI Bus&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The Camera Serial Interface (CSI) Bus is used to enable the R-Pi processor to use an external digital camera. Connection to the CSI bus is via a 15-way &amp;#39;flat-flex&amp;#39; connector on the R-Pi that provides a MIPI CSI-2 hardware interface for a digital camera (used for stills or video).&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;HDMI&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;High Definition Multimedia Interface.&amp;nbsp; This is one of the interfaces to the monitor.&amp;nbsp; The PiView is connected to this interface.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;IDLE&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Integrated Development Environment for Python. It is completely written in Python and the Tkinter Graphical User Interface (GUI) toolkit (wrapper functions for Tcl/Tk). This is the development environment used for producing the software in this project.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;NOOBS&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;New Out Of Box Software.&amp;nbsp; NOOBS is used to install the appropriate version of Operating System (O/S) onto the R-Pi SD card.&amp;nbsp; The Raspbian O/S is used for this project.&amp;nbsp; In many cases, NOOBS is now pre-installed on SD cards that are sold for use with the R-Pi.&amp;nbsp; The latest version of NOOBS is available from the Raspberry Pi Foundation &lt;a class="jive-link-external-small" href="http://www.raspberrypi.org/downloads" rel="nofollow" target="_blank"&gt;downloads&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="1" style="border:0px solid black;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Omxplayer&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="1" style="border:0px solid black;"&gt;&lt;span style="color:#000000;"&gt;An application that converts the H.264 video format into a format that can be displayed using a display connected using the composite or HDMI interfaces to the R-Pi.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Pi-Camera&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The Raspberry Pi Camera Module is a custom designed add-on for R-Pi. It attaches to R-Pi by way of one of the two small sockets on the board upper surface. This interface uses the dedicated CSI bus, which was designed especially for interfacing to cameras. The CSI bus is capable of extremely high data rates, and it exclusively carries pixel data.&amp;nbsp; The board itself is tiny, at around 25mm x 20mm x 9mm. It also weighs just over 3g, making it perfect for mobile or other applications where size and weight are important. It connects to R-Pi by way of a short ribbon cable. The camera is connected to the BCM2835 processor on the R-Pi via the CSI bus, a higher bandwidth link that carries pixel data from the camera back to the processor. This bus travels along the ribbon cable that attaches the camera board to the R-Pi. The sensor itself has a native resolution of 5 megapixel, and has a fixed focus lens onboard. In terms of still images, the camera is capable of 2592 x 1944 pixel static images, and also supports 1080p30, 720p60 and 640x480p60/90 video.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The software in this project is written using Python 3.&amp;nbsp; IDLE is used to support the development of the Python code.&amp;nbsp; Note that the game playing software will not work using a Python 2 shell because Python 2 does not support the Tkinter GUI libraries.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Raspberry Pi&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The R-Pi is the single board computer at the heart of this project.&amp;nbsp; This project will work on both Model A and B versions.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Raspistill&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The R-Pi application, available as part of the latest Raspbian O/S, that can be used to obtain still images from a Pi-Camera connected to the R-Pi via the CSI bus.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Raspivid&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;The R-Pi application, available as part of the latest Raspbian O/S, that can be used to obtain videos from an external Pi-Camera connected to the R-Pi via the CSI bus..&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;SD&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;span style="color:#000000;"&gt;Secure Digital (SD) is a non-volatile memory card format for use in portable devices. This is the storage medium for the R-Pi.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;USB&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Universal Serial Bus.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="12%"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;VGA&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="88%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;A Video Graphics Array (VGA) connector is a three-row 15-pin DE-15 connector. The 15-pin VGA connector is found on many video cards, computer monitors, and high definition television sets.&amp;nbsp; In this project a PiView was used to connect the VGA monitor to the HDMI on the R-Pi.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;h1&gt;&lt;a name="AtD"&gt;&lt;/a&gt;About this Document&lt;/h1&gt;&lt;p style="margin:0;padding:0px;height:8pt;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table align="left" border="0" cellpadding="0" cellspacing="0" style="width:60%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="10%"&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="20%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Authors&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:45px;border:0px solid black;" valign="top" width="70%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Colin Smythe (Dunelm Services Limited)&amp;nbsp; &lt;br /&gt;Christine Smythe (Dunelm Services Limited)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="10%"&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="20%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Date&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="70%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;13th January, 2014&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="10%"&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="20%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Version&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="70%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;1.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="10%"&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="20%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Copyright&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="70%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;Premier Farnell&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="10%"&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="20%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;License&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:0px solid black;height:30px;border:0px solid black;" valign="top" width="70%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;"&gt;GPLv3+&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="text-align:right;clear:both;"&gt;&lt;a class="jive-link-anchor-small" href="#top"&gt;top&lt;/a&gt;&lt;/div&gt;&lt;hr /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: pi-camera, rpibeginner, pi-camera_project, raspberry_pi_projects&lt;/div&gt;
</description></item></channel></rss>