<?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>Controlling a Scalextric Car Using a Gertboard</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/16803/controlling-a-scalextric-car-using-a-gertboard</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Controlling a Scalextric Car Using a Gertboard</title><link>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/16803/controlling-a-scalextric-car-using-a-gertboard</link><pubDate>Mon, 10 May 2021 18:52:14 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:96aad336-d70d-4a4a-bbe1-4bee3eb4605b</guid><dc:creator>smythec</dc:creator><comments>https://community.element14.com/products/raspberry-pi/raspberrypi_projects/w/documents/16803/controlling-a-scalextric-car-using-a-gertboard#comments</comments><description>Current Revision posted to Documents by smythec on 5/10/2021 6:52:14 PM&lt;br /&gt;
&lt;h1&gt;&lt;a name="top"&gt;&lt;/a&gt;&lt;span style="font-size:24pt;"&gt;Controlling a Scalextric Car Using a Gertboard&lt;/span&gt;&lt;/h1&gt;&lt;p style="margin:0;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="#MoreGertboard"&gt;Connecting the Gertboard&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#MoreGertboardPot"&gt;Using a Potentiometer to Control the Scalextric Car&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#MoreGertboardKeybd"&gt;Using the R-Pi Keyboard to Control the Scalextric Car&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#MoreGertboardBrowser"&gt;Using a Browser to Control the Scalextric Car&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;Racing the Scalextric Car&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Video_1"&gt;Powering the Scalextric Cars Via the Track&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Video_2"&gt;Wiring the Gertboard Motor Controller&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Video_3"&gt;Wiring the Gertboard Potentiometer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Video_4"&gt;Using the Potentiometer to Control the Scalextric Car&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Video_5"&gt;Using the R-Pi Keyboard to Control the Scalextric Car&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Video_6"&gt;Wiring the Countdown Kit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#Video_7"&gt;Using the Browser to Control the Scalextric Car&lt;/a&gt;&lt;/li&gt;&lt;/ul&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="#Further"&gt;Further Development Ideas&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppA"&gt;Appendix A - The Gertboard&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppA_A1"&gt;The Gertboard Layout&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppA_A2"&gt;The Gertboard Motor Controller&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppB"&gt;Appendix B - The Software&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1"&gt;The System Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B2"&gt;Potentiometer-based Scalextric Speed Control Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B3"&gt;R-Pi Keyboard-based Scalextric Control Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B4"&gt;Web/Browser-based Scalextric Control Software&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppC"&gt;Appendix C - The Scalextric Primer&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppC_C1"&gt;The Cars&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppC_C2"&gt;The Car Controllers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a class="jive-link-anchor-small" href="#AppC_C3"&gt;The Track&lt;/a&gt;&lt;/li&gt;&lt;/ul&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;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;font-size:12px;font-family:Verdana;color:#333333;"&gt;This Project is about using the Gertboard to extend the functionality of the Raspberry Pi (R-Pi) to control the speed of a Scalextric car (note this is for the standard analogue cars and NOT the digital equivalents). The normal Scalextric car controller is replaced by an R-Pi/Gertboard combination. The speed of the car is then controlled using several different hardware/software approaches:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Controlling the speed via a potentiometer;&lt;/li&gt;&lt;li&gt;Controlling the speed via the keyboard on the R-Pi;&lt;/li&gt;&lt;li&gt;Controlling the speed via a browser.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="line-height:1.5em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="line-height:1.5em;"&gt;The key learning objectives of this project are for an intermediate/novice developer to learn:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;How to use the LED, push-button switch, ADC and external external motor control features on a Gertboard connected to a R-Pi;&lt;/li&gt;&lt;li&gt;How to write software that can be used by any browser-enable device e.g. smart phone, tablet, desktop, etc. to access the control the speed of a Scalextric car.&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;The associated &lt;a class="jive-link-anchor-small" href="#BoM" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;Bill of Materials&lt;/a&gt; describes the set of components, hardware and software, required to complete this project. When complete, the system will look as shown in the Figure below. There is a significant amount of information about the Gertboard available on the &lt;a class="jive-link-external-small" href="/products/raspberry-pi/w/documents/10860/assembled-gertboard-for-raspberry-pi#apps" style="font-style:inherit;font-family:inherit;color:#592d5f;" target="_blank"&gt;Element14 Community Gertboard web-site&lt;/a&gt;.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="462" style="border:1px solid #000000;width:509px;height:406px;" width="539"&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;The completed system.&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;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/511x409/__key/communityserver-wikis-components-files/00-00-00-01-66/4073.contentimage_5F00_142032.html"&gt;community.element14.com/.../4073.contentimage_5F00_142032.html&lt;/a&gt;&lt;/span&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="SysConfig"&gt;&lt;/a&gt;1. System Configuration&lt;/h1&gt;&lt;p style="margin:0;"&gt;The system configuration is shown in Figure 1.1. The basic configuration is:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;R-Pi (Model A/B) - this project can make use of either Model. In both cases 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 is required to provide access to the R-Pi Web server and to download and install the necessary software updates required by the Gertboard software. 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 necessary, 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;/li&gt;&lt;li&gt;Gertboard - &lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;a single Gertboard is connected to the GPIO interface on the R-Pi. The Gertboard configurations vary depending on the input/output operations required. For this set of instructions the Gertboard will be configured, separately, to drive the internal/external Light Emitting Diodes (LEDs), the external switch/button, the external potentiometer and the motor controller interface. The Gertboard User Manual (Revision 2.0 published in 2012 by Fen Logic Ltd) is available at: &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.element14.com/community/servlet/JiveServlet/previewBody/51727-102-3-267366/Gertboard_UM_final_with_schematics.pdf" style="font-size:12px;font-family:Verdana;color:#592d5f;" target="_blank"&gt;Gertboard User Manual&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;. This is required reading;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;LEDs, Switch and Potentiometer (Pot) and Motor Controller circuitry - the 6 LEDS are wired so that they can be driven as outputs via the Gertboard buffers. The LEDs used in this project have a forward voltage of between 2.0V-2.2V.&amp;nbsp; The external switch is a &amp;#39;Push-to-Make&amp;#39; button and also connected to the Gertboard buffer. The &amp;#39;Pot&amp;#39; is wired to the Analogue-to-Digital Converter (ADC) interface on the Gertboard. The Scalextric track and the Variable DC Power Supply are connected to the Motor Controller interface on the Gertboard.&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;The basic approach is to use the Motor Controller interface on the Gertboard to vary the voltage supplied to the Scalextric track i.e. to replace the usual Scalextric car controller. The voltage is varied via the R-Pi and the use of Pulse Width Modulation (PWM) output from the R-Pi and supplied to the Gertboard through the GPIO interface. The PWM signal is applied to the voltage supplied by the Variable DC Power Supply (the variability of this power supply is NOT used to vary the voltage to the Scalextric cars) and the resulting output voltage from the Motor Controller interface on the Gertboard applied directly to the Scalextric track.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="673" style="border:1px solid #000000;width:617px;height:634px;" width="648"&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;Figure 1.1 System configuration.&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;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x720/__key/communityserver-wikis-components-files/00-00-00-01-66/0882.contentimage_5F00_142033.jpg"&gt;&lt;img alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/01/66/0882.contentimage_142033.jpg-620x620.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=mPRyT3FnTl4TiKkDQ0g0wPF6EiEdsvgVHqB2Xbg0kno%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=F7C/e6z6pwjuZG5BMv4Xrw==" style="max-height: 620px;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;When the complete system is built it will look as shown in Figure 1.2.&amp;nbsp; The views shown in Figure 1.2 are full view (a) and close-up (b).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="486" style="border:1px solid #000000;width:872px;height:421px;" width="1082"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" 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;Figure 1.2 The completed system.&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;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/513x411/__key/communityserver-wikis-components-files/00-00-00-01-66/1830.contentimage_5F00_142034.html"&gt;community.element14.com/.../1830.contentimage_5F00_142034.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(a) Full view.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/512x410/__key/communityserver-wikis-components-files/00-00-00-01-66/6840.contentimage_5F00_142035.html"&gt;community.element14.com/.../6840.contentimage_5F00_142035.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b) Close-up 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;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;The architecture is based upon the use of an R-Pi to drive a Gertboard with the software controlled by access through a web browser. 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;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="673" style="border:1px solid #000000;width:648px;height:623px;"&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;Figure 2.1 System configuration for the bill of materials.&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;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x620/__key/communityserver-wikis-components-files/00-00-00-01-66/4786.contentimage_5F00_142036.html"&gt;community.element14.com/.../4786.contentimage_5F00_142036.html&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;The associated bill of materials for the system shown in Figure 2.1 is listed in Table 2.1.&lt;/p&gt;&lt;p style="margin:0;text-align:center;"&gt;&lt;strong&gt;Table 2.1 - the Bill of Materials.&lt;/strong&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" width="5%"&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/th&gt;&lt;th style="border:1px solid black;border:1px solid #000000;width:12%;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle" width="15%"&gt;&lt;strong&gt;Part&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" width="55%"&gt;&lt;strong&gt;Comment&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" width="3%"&gt;&lt;strong&gt;Qty&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" width="12%"&gt;&lt;strong&gt;Order Code&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;text-align:center;padding:2px;"&gt;1(a)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;R-Pi Model A&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;Either Model can be used (includes 4GB SD Card). Use a 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;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-605CXpQp-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-605CXpQp-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;padding:2px;"&gt;1(b)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;R-Pi Model B&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;Use a Multicomp enclosure to protect the R-Pi base. &lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;Can include a Cat 5 Ethernet cable.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-q0Y0Crpm-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-q0Y0Crpm-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;padding:2px;"&gt;1(c)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;R-Pi Enclosure&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-NUqlbAj3-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;PR-Pi Enclosure&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-NUqlbAj3-unlinked"&gt;PR-Pi Enclosure&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;padding:2px;"&gt;1(d)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;SD Card&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-ZpexrVfX-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;SD Card&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-ZpexrVfX-unlinked"&gt;SD Card&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;padding:2px;"&gt;2&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Gertboard&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The external board, connected to the R-Pi using the GPIO interface, responsible for controlling the speed of the Scalextric car.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-6nCwwdaG-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2250034&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=2250034&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Gertboard&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-6nCwwdaG-unlinked"&gt;Gertboard&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;padding:2px;"&gt;3&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Keyboard&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;1&lt;/td&gt;&lt;td rowspan="2" style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-uFbHUrEr-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;Accessory Bundle&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-uFbHUrEr-unlinked"&gt;Accessory Bundle&lt;/span&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;text-align:center;padding:2px;"&gt;4&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Mouse&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;5&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;WiPi&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-tIWxaG0b-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-tIWxaG0b-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;padding:2px;"&gt;6&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;PiView&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-LLh6IxD4-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-LLh6IxD4-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;padding:2px;"&gt;7&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Monitor&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;N/A&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;8&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;USB2 Hub&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-d9Q3xYsU-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;USB2 Hub&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-d9Q3xYsU-unlinked"&gt;USB2 Hub&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;"&gt;9&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Power Supply&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-BOlyaBp8-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;R-Pi Power Supply&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-BOlyaBp8-unlinked"&gt;R-Pi Power Supply&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;"&gt;10&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Power Supply&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;USB2 power supply (5V/1A with 2.1mm x 5.5mm Barrel Plug connector). &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;Included with the USB2 Hub (see 8 above).&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;text-align:center;"&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;"&gt;11&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Browser-based Devices&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Tablet Computers, Smart Phones, Laptops and Desktop Computers.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;N/A&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;12&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Scalextric Set&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;The Scalextric Set consisting of the Track, Cars, Powerbase and Car Controllers.&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;N/A&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;13&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Variable DC Power Supply&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;The power supply that will be modulated by the Pulse Width Modulation signal from the R-Pi/Gertboard to provide the voltage to drive the Scalextric car.&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-BpR1dTLz-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2216730&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=2216730&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Variable DC Power Supply&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-BpR1dTLz-unlinked"&gt;Variable DC Power Supply&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;"&gt;14&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;LEDs&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;2 Red, 2 Green and 2 Yellow 5MM/2V LEDs.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;p style="margin:0;"&gt;2&lt;/p&gt;&lt;p style="margin:0;"&gt;2&lt;/p&gt;&lt;p style="margin:0;"&gt;2&lt;/p&gt;&lt;/td&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;span class="e14-init-shown" id="addProduct-1o29HGMR-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2217953&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=2217953&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Red LEDs&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-1o29HGMR-unlinked"&gt;Red LEDs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-aFsX4FfN-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2217954&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=2217954&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Green LEDs&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-aFsX4FfN-unlinked"&gt;Green LEDs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-xZntIcPA-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=2217955&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=2217955&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Yellow LEDs&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-xZntIcPA-unlinked"&gt;Yellow LEDs&lt;/span&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;text-align:center;"&gt;15&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Resistors&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;60-100 Ohm resistors to drop the 3.3V voltage on the Gertboard to the 2.2 V for the LEDs.&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;3&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;N/A&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;16&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Switch&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Multicomp &amp;#39;Push-to-Make&amp;#39; switch. 28mm long and 7mm diameter.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-IotUtdr5-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=1634684&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=1634684&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;Switch&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-IotUtdr5-unlinked"&gt;Switch&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;"&gt;17&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Potentiometer&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;A linear/radial analogue potentiometer.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-PfsF64ZZ-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=1872361&amp;amp;nsku=43K2387&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=1872361&amp;amp;nsku=43K2387&amp;amp;COM=noscript" target="_blank"&gt;Rotary Potentiometer&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-PfsF64ZZ-unlinked"&gt;Rotary Potentiometer&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;"&gt;18&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;2-Pin Headers&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;These pins (2.54mm) are used to provide connection to the external LEDs and switches.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;4&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;span&gt;&lt;span class="e14-init-shown" id="addProduct-fVqfxsJa-linked" style="white-space:nowrap;"&gt;&lt;a class="jive-link-product-addtolist" href="https://www.element14.com/community/view-product.jspa?fsku=9731148&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=9731148&amp;amp;nsku=&amp;amp;COM=noscript" target="_blank"&gt;2-Pin Header&lt;/a&gt;&lt;/span&gt;&lt;span class="e14-init-hidden" id="addProduct-fVqfxsJa-unlinked"&gt;2-Pin Header&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;"&gt;19&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Wires&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;A 2m mixture a red/black single core wires of wiring of the LEDs, Switch, Potentiometer and the Variable DC Power Supply.&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;A set of longer wiring straps (8cm) for connecting on the Gertboard.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;p style="margin:0;"&gt;1&lt;/p&gt;&lt;p style="margin:0;"&gt;12&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;&lt;p style="margin:0;"&gt;N/A&lt;/p&gt;&lt;p style="margin:0;"&gt;N/A&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;"&gt;20&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Copper Strip Board&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Used to hold the LEDs, switches and resistors to create the display and the switch mount units.&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;1&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;N/A&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="BoM_HardConfig"&gt;&lt;/a&gt;2.2 Hardware Configuration&lt;/h2&gt;&lt;p style="margin:0;"&gt;The hardware connectivity is detailed in Table 2.2.&lt;/p&gt;&lt;p style="margin:0;text-align:center;"&gt;&lt;span style="text-align:center;"&gt;&lt;strong&gt;Table 2.2 - Hardware connectivity.&lt;/strong&gt;&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" width="5%"&gt;ID&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" width="15%"&gt;&lt;strong&gt;Connector&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" width="25%"&gt;&lt;strong&gt;Connection&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" width="55%"&gt;&lt;strong&gt;Comment&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;text-align:center;padding:2px;"&gt;A&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;VGA (PiView)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Monitor/R-Pi&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;B&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;HDMI (PiView)&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;R-Pi/Monitor&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;C&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Power Cable&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;R-Pi Micro USB/Mains&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;D&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;GPIO&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;R-Pi/Gertboard&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The Gertboard can be plugged directly into the R-Pi.&amp;nbsp; Alternatively a separate GPIO flat-flex cable (male-to-female).&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;padding:2px;"&gt;E&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;Power Cable&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;USB2 Hub&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;padding:2px;"&gt;F&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;USB Cable&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;USB2 Hub/Mouse + Keyboard&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;USB cable connection for the Mouse and Keyboard.&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;padding:2px;"&gt;G&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;USB Insert&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;R-Pi/WiPi&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;padding:2px;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;The WiPi will be plugged directly into 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;"&gt;H&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;USB Cable&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&gt;USB2 Hub/R-Pi&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#000000;font-family:Verdana;font-size:12px;"&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;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;I&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Wires&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;LEDs wiring&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;Switch wiring&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;Potentiometer wiring&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="line-height:1.5em;"&gt;Variable DC Power Supply&lt;/span&gt;&lt;span style="line-height:1.5em;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;External wiring for the LEDs, potentiometer, switch and between the variable DC power supply/Gertboard motor controller.&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;"&gt;J&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Wiring Straps&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;Gertboard/Gertboard&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;A set of coloured straps ar supplied as part of the Gertboard. More coloured wiring straps are required to support the full range of links.&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;"&gt;K&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Jumpers&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Gertboard&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;These are used to configure the various I/O capabilities for the Gertboard.&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;"&gt;L&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Wires&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Variable DC Power Supply/Gertboard Motor Controller&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;The red/black wires that are used to connect the positive/negative poles of the peer supply to the MOT+ and GND ports of the Gertboard Motor Control interface.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;"&gt;M&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Modified Scalextric Controller Cable&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;Gertboard Motor Controller/Scalextric Powerbase&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;"&gt;The cable that is used to connect the Gertboard Motor Control interface (MOTA and MOTB ports) to the car controller socket on the Scalextric Powerbase device that supplies the voltage to the track.&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="BoM_SoftConfig"&gt;&lt;/a&gt;2.3 Software Configuration&lt;/h2&gt;&lt;p style="margin:0;"&gt;The software required to support this project that must be installed on the R-Pi is:&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;The Apache2 Web Server - this may be installed as part of the Raspbian operating system. If not, then use the instructions provided in &lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;Appendix B1.5&lt;/a&gt;.&lt;/li&gt;&lt;/ul&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="color:#333333;font-family:Verdana;font-size:12px;"&gt;The set of instructions for using the Gertboard to control a Scalextric car is:&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Configure the R-Pi system in preparation for the connection of the Gertboard 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).&amp;nbsp; If the WiPi is to be used then insert the WiPi into one of the USB ports on the R-Pi - see &lt;a class="jive-link-anchor-small" href="#MoreRPi" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;More Detail&lt;/a&gt;;&lt;/li&gt;&lt;li style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The next step is to connect the Gertboard to the R-Pi.&amp;nbsp; The Gertboard/R-Pi connection is via the GPIO interface on the top of the R-Pi and the underside of the Gertboard (the layout of the Gertboard is shown in &lt;a class="jive-link-anchor-small" href="#AppA" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;Appendix A&lt;/a&gt;). The Gertboard is supplied with a set of 6 plastic rods that can be inserted into the Gertboard so that it can be stood without the underside of the board touching the surface and so that the GPIO interface does not take all of the weight of the Gertboard on the R-Pi.&amp;nbsp; If the Gertboard is to be inserted directly into the R-Pi then do not insert the plastic rod on the bottom left corner of the Gertboard when looking at the underside with the GPIO connector at the bottom (this corner rests over the video jack port). It is possible to use a extra GPIO male/female cable (not supplied as part of the Gertboard) to connect the Gertboard to the R-Pi but in these instructions direct connection is assumed - see &lt;a class="jive-link-anchor-small" href="#MoreGertboard" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;More Detail&lt;/a&gt;;&lt;/li&gt;&lt;li style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The Scalextric track can now be built. Check that the track and cars are working correctly. The mains transformer must be connected to the Scalextric Powerbase as should the two controllers (see &lt;a class="jive-link-anchor-small" href="#Video_1"&gt;Video 1&lt;/a&gt; for wiring the Scalextric track and car);&lt;/li&gt;&lt;li style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Once it has been confirmed that the track and car are working correctly the next step is to replace one of the standard controllers with the R-Pi/Gertboard approach. The best way to create the new cable between the Gertboard and the Scalextric Powerbase is to cut off the cable from a standard controller (this means that the jack connector for the Powerbase can be used). At the cut end of the cable, tape the Green wire so that it cannot short the other two wires. The Black and Red wires are now ready to be inserted into the Motor Controller interface on the Gertboard. &lt;a class="jive-link-anchor-small" href="#Video_2"&gt;Video 2&lt;/a&gt; demonstrates how the Gertboard/Scalextric Powerbase are wired together &lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;- see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#MoreGertboard" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;More Detail&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Now that the basic system has been wired the next step is to control the speed of the Scalextric car using three different methods: i) a potentiometer, ii) the R-Pi keyboard, and iii) a Web browser;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;To control the Scalextric car using the R-Pi keyboard download and install the software (this is the file &amp;#39;fsmot-wpv1p0p0.py&amp;#39; on the Element14 Github - see &lt;a class="jive-link-anchor-small" href="#AppB_B3"&gt;Appendix B3&lt;/a&gt;). Once the Python software is started the Scalextric car can be driven around the track by using the &amp;#39;f&amp;#39; (to go faster) and &amp;#39;s&amp;#39; (to go slower) keys on the R-Pi keyboard (see &lt;a class="jive-link-anchor-small" href="#Video_5"&gt;Video 5&lt;/a&gt;) - see &lt;a class="jive-link-anchor-small" href="#MoreGertboardKeybd"&gt;More Detail&lt;/a&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;To control the Scalextric car using a potentiometer the ADC pins on the Gertboard are used. The Gertboard has two ADC channels but only one is used. Three wires are used to connect the potentiometer to the ADC channel 0 on the Gertboard (see &lt;a class="jive-link-anchor-small" href="#Video_3"&gt;Video 3&lt;/a&gt; for how to wire the potentiometer configuration for the Gertboard). The Python software required to drive the Scalextric car is now downloaded and installed (this is the file &amp;#39;potmot-1way-wpv1p0p0.py&amp;#39; on the Element14 Github - see &lt;a class="jive-link-anchor-small" href="#AppB_B2"&gt;Appendix B2&lt;/a&gt;). Once the Python software is started the Scalextric car can be driven around the track by turning the knob on the potentiometer to make the car go faster and slower (see &lt;a class="jive-link-anchor-small" href="#Video_4"&gt;Video 4&lt;/a&gt;) - see &lt;a class="jive-link-anchor-small" href="#MoreGertboardPot"&gt;More Detail&lt;/a&gt;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;When using a Web browser to control the Scalextric car the Gertboard wiring just requires the basic motor controller wiring. The Web browser software must be downloaded and installed (downloaded from the Element14 Github - see &lt;a class="jive-link-anchor-small" href="#AppB_B4"&gt;Appendix B4&lt;/a&gt;).&amp;nbsp; A Web browser is now used to open the Web page &amp;#39;ScalextricControllerv1p0p0.html&amp;#39; on the R-Pi Web server (this requires the use of the IP address for the R-Pi). The car can now be driven around the track using the Web browser. The next step is to wire the Gertboard to enable the countdown board to be used. The countdown board is required so that the external LEDs and button can be controlled using the Gertboard (see &lt;a class="jive-link-anchor-small" href="#Video_6"&gt;Video 6&lt;/a&gt;) to provide a start of race LEDs countdown. The countdown software (either of the files &amp;#39;countdown-rgv1p0p0.py&amp;#39; and &amp;#39;countdown-wpv1p0p0.py&amp;#39; is now used to start the race) and the Web browser used to control one of the Scalextric cars (see &lt;a class="jive-link-anchor-small" href="#Video_7"&gt;Video 7&lt;/a&gt;) - see &lt;a class="jive-link-anchor-small" href="#MoreGertboardBrowser"&gt;More Detail&lt;/a&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;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&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). The latest versions of the Raspbian operating system can be installed using the instructions in &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Appendix B1.1&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;. Make sure that the Git client is installed (see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Appendix B1.2&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;).&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" height="427" style="border:1px solid #000000;width:1156px;height:380px;"&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;Figure 4.1 - &lt;span style="font-size:12px;font-family:Verdana;color:#ffffff;text-align:center;"&gt;&lt;strong&gt;R-Pi Model board B layout.&lt;/strong&gt;&lt;/span&gt;&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;Figure 4.2 - &lt;span style="font-size:12px;font-family:Verdana;color:#ffffff;text-align:center;"&gt;&lt;strong&gt;The R-Pi with the set of connected cables.&lt;/strong&gt;&lt;/span&gt;&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;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/498x372/__key/communityserver-wikis-components-files/00-00-00-01-66/6735.contentimage_5F00_142037.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/6735.contentimage_142037.jpg-498x372.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Nx5pqRzP88CcuyZIwwsO1hJfh8zrFaia68kgeUQBmKE%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=LP/GcZJ3lVWs2tGcDZnYxg==" style="max-height: 372px;max-width: 498px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/601x363/__key/communityserver-wikis-components-files/00-00-00-01-66/4682.contentimage_5F00_142038.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/4682.contentimage_142038.jpg-601x363.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=9oGYs6TgclxEx19VRQKQAoW5z6U9xgOmq9nFhmivkDU%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=Brk3/Oqx+5LkIlMRCi0pdg==" style="max-height: 363px;max-width: 601px;" /&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;If the WiPi has been inserted, the use of the appropriate wireless network must be established (this requires a wireless network to be activated, via an appropriate wireless network access device e.g. a wireless router, and for that device to be assigning IP addresses using DHCP). This is achieved by working on the desktop:&lt;/p&gt;&lt;ol style="font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;Click on the &amp;#39;wifi config&amp;#39; icon;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;Now click on the &amp;#39;scan&amp;#39; button;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;From the resulting scanned list pick your wireless network;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;Enter the password for the network in the &amp;#39;psk&amp;#39; box and click &amp;#39;Add&amp;#39;;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;Click &amp;#39;Connect&amp;#39;. The wireless network access point will now allocate an IP address to the R-Pi and will display the IP address (for example this will take the form of 192.168.1.99). Make a note of this address as this value will be required in some of the later instructions;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;Test that there is network access by running the Midori web browser to access a web-site e.g. the BBC web-site at: &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.bbc.co.uk/" rel="nofollow" style="font-style:inherit;font-family:inherit;color:#592d5f;" target="_blank"&gt;http://www.bbc.co.uk&lt;/a&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12px;font-family:Verdana;color:#333333;"&gt;Once the above WiPi configuration has been completed, the R-Pi can be rebooted without repeating the above actions. However, each time the R-Pi is rebooted, the DHCP may not allocate the same IP address. In this case the IP address can be obtained by:&lt;/span&gt;&lt;/p&gt;&lt;ol style="font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;li&gt;Click on the &amp;#39;LXTerminal&amp;#39; icon;&lt;/li&gt;&lt;li&gt;Type the instruction: &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;Hostname -I&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;padding:0px;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;The same approach for obtaining the IP address is used if the Ethernet port on the R-Pi Model B is being used.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="MoreGertboard"&gt;&lt;/a&gt;4.2 Connecting the Gertboard&lt;/h2&gt;&lt;p style="margin:0;"&gt;T&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;he Gertboard and the R-Pi are connected via the GPIO connectors. The GPIO interface on the underside of the Gertboard (female) is inserted into the GPIO interface (male) on the R-Pi. Figure 4.3 shows the resulting layout. If the &amp;#39;Missing&amp;#39; Stand Pin was not missing then this form of connection would NOT be possible and so a separate cable would be required.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="522" style="border:1px solid #000000;width:427px;height:429px;" width="568"&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;Figure 4.3 - Connecting the Gertboard to the R-Pi.&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;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/540x469/__key/communityserver-wikis-components-files/00-00-00-01-66/7824.contentimage_5F00_142039.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/7824.contentimage_142039.jpg-540x469.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=moLvUa%2FS9nNOhFyCRm0QsZgpZadaib4WbSZLF9H8dtk%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=yL18um9w5xarsl8cBHZyIQ==" style="max-height: 469px;max-width: 540px;" /&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;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="line-height:1.5em;"&gt;Once the Gertboard and the R-Pi have been connected then various software should be installed (the installation of the software does not require the Gertboard to be connected to the R-Pi). The software to be installed is:&lt;/span&gt;&lt;/p&gt;&lt;ol style="font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;li&gt;The WiringPi Python module - &lt;span style="font-style:inherit;"&gt;see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;Appendix B1.3&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;The SPI Dev module - &lt;span style="font-style:inherit;"&gt;see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;Appendix B1.4&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;The Apache2 Web Server - &lt;span style="font-style:inherit;"&gt;see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;Appendix B1.5&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height:1.5em;"&gt;The new Gertboard Scalextric control software (from the Element14 Github) - see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B2" style="font-family:inherit;line-height:1.5em;font-style:inherit;color:#592d5f;"&gt;Appendices B2, B3 and B4&lt;/a&gt;&lt;span style="line-height:1.5em;"&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin:0;padding:0px;text-align:left;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;text-align:left;"&gt;A jumper should be placed across the top two pins of the three 3V3 pins to ensure that a logic &amp;#39;1&amp;#39; level on the board equates to a voltage of 3.3V (this jumper is not shown in Figure 4.3 but can be seen in Figure 4.4). Figure 4.4 shows the wiring of the DC power supply and the Powerbase cables to the Gertboard&amp;#39;s motor controller interface (more detail on the detailed wiring of the Gertboard for this project is given in &lt;a class="jive-link-anchor-small" href="#AppA_A2"&gt;Appendix A2&lt;/a&gt;).&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:left;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="540" style="border:1px solid #000000;width:569px;height:433px;" width="648"&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;Figure 4.4 - The wiring for the motor control interface on the Gertboard.&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;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x566/__key/communityserver-wikis-components-files/00-00-00-01-66/4101.contentimage_5F00_142040.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/4101.contentimage_142040.jpg-620x487.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=cSXRvvSBjhNU0IGajJ26aFDfK%2BIDvtWUYBdE4tRud98%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=czcnnE18yg5B9E/BxG2t/A==" style="max-height: 487px;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;text-align:left;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;text-align:left;"&gt;The two wiring straps required to configure the motor controller interface are labelled in Figure 4.4. If a variable DC power supply is used then set it at a supply voltage of 12V as this will not cause damage to the track. A 12V battery pack can be used instead of the variable supply voltage. The power supply needs to be able to provide at least a 0.25A current and a voltage of at least 2V is required before the car will start. It should be noted that if a 10V supply is used that, in general, this does not stop the car from reaching a maximum speed.&amp;nbsp; In many cases, for a 12V supply,&amp;nbsp; the PWM setting for the car will not exceed 300 (note that this has an absolute maximum value of 1023) before the car starts to veer off curves in the track.&amp;nbsp; If a lower voltage is used then a higher PWM is required to achieve the same speed but this will still be well below the 1023 maximum.&amp;nbsp; See &lt;a class="jive-link-anchor-small" href="#Video_2"&gt;Video 2&lt;/a&gt; for a demonstration the wiring of the motor controller interface.&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:left;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="MoreGertboardPot"&gt;&lt;/a&gt;4.3 Using the Potentiometer to Control the Scalextric Car&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;To control the Scalextric car using a potentiometer the ADC pins on the Gertboard are used. The Gertboard has two ADC channels but only one is used. Three wires are used to connect the potentiometer to the ADC channel 0 on the Gertboard (see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#Video_3" style="font-family:Verdana;font-size:12px;"&gt;Video 3&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt; for how to wire the potentiometer configuration for the Gertboard). The wiring on the Gertboard is shown in Figure 4.5.&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" height="440" style="border:1px solid #000000;width:656px;height:442px;"&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;Figure 4.5 - Wiring of the Gertboard for potentiometer control of the Scalextric car.&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;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/560x379/__key/communityserver-wikis-components-files/00-00-00-01-66/8233.contentimage_5F00_142041.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/8233.contentimage_142041.jpg-560x379.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=UFjTLfmw6tSBJKEjtgF8nKIJIdDZRo8OgqdgAAAw1tI%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=GSFQJXoHpcL0BDyA5cz56g==" style="max-height: 379px;max-width: 560px;" /&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:#333333;font-family:Verdana;font-size:12px;"&gt;The Python software required to drive the Scalextric car is now downloaded and installed (this is the file &amp;#39;potmot-1way-rgv1p0p0.py&amp;#39; on the Element14 Github - see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B2" style="font-family:Verdana;font-size:12px;"&gt;Appendix B2&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;). The program is started using the LXTerminal command:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;sudo python &lt;/strong&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;strong&gt;potmot-1way-wpv1p0p0.py&lt;/strong&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Once the Python software is started the Scalextric car can be driven around the track by turning the knob on the potentiometer to make the car go faster and slower as shown in &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#Video_4" style="font-family:Verdana;font-size:12px;"&gt;Video 4&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&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="MoreGertboardKeybd"&gt;&lt;/a&gt;4.4 Using the R-Pi Keyboard to Control the Scalextric Car&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The wiring of the Gertboard for control by the R-Pi keyboard requires only the use of the motor controller interface (remove the ADC wires and jumpers in Figure 4.5). However, the software will still work if the wiring for the other modes remains in place (the software ensures that the GPIO pins are used in the correct mode). To control the Scalextric car using the R-Pi keyboard, download and install the software (this is the file &amp;#39;fsmot-wpv1p0p0.py&amp;#39; on the Element14 Github - see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B3" style="font-family:Verdana;font-size:12px;"&gt;Appendix B3&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;). &lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The program is started using the LXTerminal command:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;sudo python fsmot-wpv1p0p0.py&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Once the Python software is started the Scalextric car can be driven around the track by using the &amp;#39;f&amp;#39; or &amp;#39;F&amp;#39; (to go faster) and &amp;#39;s&amp;#39; or &amp;#39;S&amp;#39; (to go slower) keys on the R-Pi keyboard (see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#Video_5" style="font-family:Verdana;font-size:12px;"&gt;Video 5&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;). It is a simple edit of the Python program to allow the use of other keys.&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="MoreGertboardBrowser"&gt;&lt;/a&gt;4.5 Using a Browser to Control the Scalextric Car&lt;/h2&gt;&lt;p style="margin:0;"&gt;Figure 4.6 shows the full countdown-based Gertboard configuration.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="511" style="border:1px solid #000000;width:648px;height:471px;"&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;Figure 4.6 - The component wiring for the Web browser Scalextric car control.&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;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/720x532/__key/communityserver-wikis-components-files/00-00-00-01-66/1452.contentimage_5F00_142042.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/1452.contentimage_142042.jpg-620x458.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ix%2BYDG1HZbqSiwwwwN6tqcLsFMEWlw8gsT5W%2FmUSlj8%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=/xO1QCeziXxQSByj3joWeQ==" style="max-height: 458px;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;The next step is to build the countdown board to provide a start of race LEDs countdown. The countdown board enables the external LEDs and button to be controlled using the Gertboard. Figure 4.7 shows the countdown board top view (a) and underside view (b) and a demonstration of wiring the board is shown in &lt;a class="jive-link-anchor-small" href="#Video_6"&gt;Video 6&lt;/a&gt;. The Gertboard provides a 3.3V source voltage and so a 60-100Ohm drop-down resistor is required for each pair of LEDs (the LEDs have a forward voltage of 2.0-2.2V).&amp;nbsp; Each set of coloured LEDs is wired in parallel (as shown in Figure 4.7b).&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="449" style="border:1px solid #000000;width:701px;height:436px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" 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;Figure 4.7 - The wiring of the countdown board.&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;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/301x376/__key/communityserver-wikis-components-files/00-00-00-01-66/8308.contentimage_5F00_142043.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/8308.contentimage_142043.jpg-301x376.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=iIFvoiYvNSsqQVAKawUQAXNIiwTcBSxjctrOoe%2FxVkA%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=fjbvwu876jYmlSZ4lCiu5Q==" style="max-height: 376px;max-width: 301px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(a) Top view of the countdown board.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/348x377/__key/communityserver-wikis-components-files/00-00-00-01-66/2045.contentimage_5F00_142044.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/2045.contentimage_142044.jpg-348x377.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=uOJPZyKQILBz3v%2BjC%2BFtISEjM6gfKeTVTCvR7c9cqQw%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=CdgvhBxEd0fe1quos/UJ2A==" style="max-height: 377px;max-width: 348px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b) Underside view of countdown board.&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 detailed R-Pi/Gertboard wiring when using the countdown board and the Web browser to control the Scalextric car is shown in Figure 4.8.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="871" style="border:1px solid #000000;width:1044px;height:801px;" width="1158"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" 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;Figure 4.8 - The R-Pi/Gertboard configuration for the Web browser Scalextric car control.&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;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/538x400/__key/communityserver-wikis-components-files/00-00-00-01-66/5277.contentimage_5F00_142045.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/5277.contentimage_142045.jpg-538x400.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=EDF3dRo4HDZ7iV5vu%2F1NNNhM76GmNsWwqf8zIcV%2B7WA%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=e+e+A3oPs3GUOvdEOv6qeA==" style="max-height: 400px;max-width: 538px;" /&gt;&lt;/a&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;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/563x399/__key/communityserver-wikis-components-files/00-00-00-01-66/3124.contentimage_5F00_142046.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/3124.contentimage_142046.jpg-563x399.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=YfkbR18z2Y6QGKBNgXpcew3%2BOsfOk9zNIbz93VBlZkI%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=5QJCyDiQVCcMYHhqFzGAgA==" style="max-height: 399px;max-width: 563px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b)&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/296x343/__key/communityserver-wikis-components-files/00-00-00-01-66/2538.contentimage_5F00_142047.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/2538.contentimage_142047.jpg-296x343.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=QNVoU19zjpXoFM3badrFfeHmNJM6fAQ2iL4eykE6tSA%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=7sMm1ptLDZDcpoZ/RdHNEw==" style="max-height: 343px;max-width: 296px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(c)&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/435x345/__key/communityserver-wikis-components-files/00-00-00-01-66/6761.contentimage_5F00_142048.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/6761.contentimage_142048.jpg-435x345.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=IaciwavoWB1OsYGLbnat%2FgafiY7isH%2Fg%2Be7IDiSLvlY%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=WTzsRWgCcAbOZKgIImFygg==" style="max-height: 345px;max-width: 435px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(d)&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 countdown software (either of the files &amp;#39;countdown-rgv1p0p0.py&amp;#39; and &amp;#39;countdown-wpv1p0p0.py&amp;#39; is now used to start the race). The LXTerminal application is used to start these programs using the following instructions:&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;&amp;nbsp; &lt;strong&gt;&lt;em&gt;sudo python countdown-wpv1p0p0.py&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;or&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;&amp;nbsp; &lt;strong&gt;&lt;em&gt;sudo python countdown-rgv1p0p0.py&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;A Web browser is now used to open the Web page &amp;#39;ScalextricControllerv1p0p0.html&amp;#39; on the R-Pi Web server (this requires the use of the IP address for the R-Pi - see &lt;a class="jive-link-anchor-small" href="#AppB_B4"&gt;Appendix B4&lt;/a&gt;). The web-page is opened by using the following URL:&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:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;em&gt;&lt;strong&gt;&lt;a class="jive-link-external-small" href="/" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#592d5f;" target="_blank"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://&lt;/a&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&amp;lt;Your IP Address&amp;gt;/ScalextricControllerv1p0p0.html&lt;/span&gt;&lt;/strong&gt;&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;The car can now be driven around the track using the Web browser. A demonstration of using the Web browser to control one of the Scalextric cars is shown in &lt;a class="jive-link-external-small" href="http://www.element14.com/community/docs/DOC-65592/Video_7" target="_blank"&gt;Video 7&lt;/a&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. Racing the Scalextric Car&lt;/h1&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;All of the videos below are available in medium resolution (a) and high resolution (b) - the high resolution will require, typically, a 3.5Mbps broadband data rate to view in streamed mode.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;a name="Video_1"&gt;&lt;/a&gt;5.1 Powering the Scalextric Cars Via the Track&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;A video, 6 minutes long, explaining how the Gertboard will be used to control the speed of the Scalextric by varying the voltage applied to the Scalextric track is shown in Video 1.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="379" style="border:1px solid #000000;width:1053px;height:233px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;Video 1 - Providing the voltage to the Scalextric track.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="a4182e2a_1ca5_4d17_b9a4_5f35f7c64014"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496335811001"&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) High resolution.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="3b683e54_24af_477d_a525_cbe4d53cfc72"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3500440363001"&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) Medium resolution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;text-align:left;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;a name="Video_2"&gt;&lt;/a&gt;5.2 Wiring the Gertboard Motor Controller&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;A video, 4 minutes long, explaining how the Gertboard motor controller is wired to support the various control software modes is shown in Video 2.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="379" style="border:1px solid #000000;width:1053px;height:307px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;Video 2 - Wiring the motor controller on the Gertboard&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="579d2cb6_b6aa_48f1_8b69_3c263b5aff22"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496588930001"&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) High resolution.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="1fdd5685_3547_4579_841d_3d1457101c91"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496750429001"&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) Medium resolution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;text-align:left;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;a name="Video_3"&gt;&lt;/a&gt;5.3 Wiring the Gertboard Potentiometer&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;A video, 4 minutes long, explaining how the Gertboard is wired for the use of the potentiometer to control the Scalextric car is shown in Video 3.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="394" style="border:1px solid #000000;width:1058px;height:396px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;Video 3 - Wiring of the Gertboard for the use of the potentiometer to control the Scalextric car.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="942cc233_fe97_4b87_98cf_ca7ceabe3ecd"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3500335413001"&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) High resolution.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="d8d3d108_7ce9_4201_b86c_1c9df24a84e4"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496636535001"&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) Medium resolution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;text-align:left;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;a name="Video_4"&gt;&lt;/a&gt;5.4 Using the Potentiometer to Control the Scalextric Car&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;A video, 2 minutes long, explaining how the potentiometer can be used to control the speed of the Scalextric car is shown in Video 4.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="379" style="border:1px solid #000000;height:311px;width:1061px;" width="1059"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;Video 4 - Using the potentiometer to control the speed of the Scalextric car.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="c4fc07b9_931c_4595_b339_f978e7a39b18"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496515473001"&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) High resolution.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="4c05ab4f_4c26_4e5c_a6db_43310e1ba4f6"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496335833001"&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) Medium resolution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;text-align:left;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;a name="Video_5"&gt;&lt;/a&gt;5.5 Using the R-Pi Keyboard to Control the Scalextric Car&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;A video, 2 minutes long, explaining how the R-Pi keyboard can be used to control the speed of the Scalextric car is shown in Video 5.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="379" style="border:1px solid #000000;height:372px;width:1062px;" width="1060"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;Video 5 - Using the R-Pi keyboard to control the speed of the Scalextric car.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="9887c1e5_27aa_474c_b83d_d8db5e4ac753"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496516383001"&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) High resolution.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="b91b80ea_70ff_453e_aab5_080508234a07"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496335834001"&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) Medium resolution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;a name="Video_6"&gt;&lt;/a&gt;5.6 Wiring the Countdown Kit&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;A video, 2 minutes long, explaining how the countdown block is created is shown in Video 6.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="379" style="border:1px solid #000000;height:376px;width:1061px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;Video 6 - Wiring the countdown block.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="91a9932e_601d_4a9f_8ed3_6ea297e4c83c"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496480913001"&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) High resolution.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="5cfef7a2_29ba_4ce4_a7be_4911923ff4be"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496692014001"&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) Medium resolution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;&lt;a name="Video_7"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h2&gt;5.7 Using the Browser to Control the Scalextric Car&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;A video, 2 minutes long, explaining how a browser can be used to control the speed of the Scalextric car is shown in Video 7.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;text-align:center;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="379" style="border:1px solid #000000;height:375px;width:1063px;" width="1061"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;Video 7 - &lt;span style="color:#ffffff;text-align:center;background-color:#6690bc;"&gt;Using a browser to control the speed of the Scalextric car.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="2486fb5e_e46a_4cce_b5a5_85582edc315e"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496480843001"&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) High resolution.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span id="9d6365f7_8793_4126_83fb_f3c6d0c3ea57"&gt;&lt;span&gt;&lt;a href="https://players.brightcove.net/1362235890001/NkxiVJdjx_default/index.html?videoId=3496336128001"&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) Medium resolution.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&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="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;"&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="10%"&gt;&lt;strong&gt;Problem 1&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;font-style:inherit;font-family:inherit;border:0px solid black;" valign="top" width="90%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;At runtime, a WiringPi module error is displayed when attempting to run one of the Python software files: &amp;#39;countdown-wpv1p0p0.py.&amp;#39;, &amp;#39;fsmot-wpv1p0p0.py&amp;#39; or &amp;#39;pot mot-1way-wpv1p0p0.py&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="10%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="90%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;This error occurs when the WiringPi module has not been installed on the R-Pi. To install the module correctly follow the instructions in &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Appendix B1.3&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;. Once installed rerun the Python software again.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="10%"&gt;&lt;strong&gt;Problem 2&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="90%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;At runtime, a py-spidev module error is displayed when attempting to run the Python &amp;#39;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;potmot-1way-wpv1p0p0.py&lt;/span&gt;&amp;#39; file.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="10%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="90%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;This error occurs when either the &amp;#39;py-spidev&amp;#39; Python module is not installed or the SPI has not be configured correctly on the R-Pi. To install the &amp;#39;py-spidev&amp;#39; Python module and to configure the SPI correctly see the instructions in &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Appendix B1.4&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;. Once installed rerun the Python software again.&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;padding-right:4px;padding-left:4px;border:0px solid black;" 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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;When attempting to access the demonstration software web-page, &amp;#39;ScalextricControllerv1p0p0.html&amp;#39;, using a web browser, the message &amp;#39;Server not found&amp;#39; is displayed on the browser.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;This type of error message occurs when the Web Server that contains the required web-page(s) cannot be found. The possible causes are: i) the R-Pi is not on the network; ii) the device hosting the browser cannot connect with the network to which the R-Pi is connected; iii) the Web Server on the R-Pi is not installed, active or correctly configured. To confirm that the R-Pi is connected to the Internet use the Midora browser on the R-PI to visit a well known web-site. If this access is not possible then confirm that the R-Pi has an IP address (see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#MoreRPi" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Section 4.1&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;) and that either the WiPi is correctly installed/working (see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#MoreRPi" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Section 4.1&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;) or the Ethernet cable is connected to the R-Pi. You may need to confirm that connection to the Internet is possible through your router (for some networks the relevant MAC address, in this case the MAC address for the R-PI, must be registered with the router - see the corresponding instructions for your router). If there are no network access issues then make sure that the Apache2 Web Server is installed and active on the R-Pi (see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B1" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Appendix B1.5&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;).&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;padding-right:4px;padding-left:4px;border:0px solid black;" 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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;When attempting to access the demonstration software web-page, &amp;#39;ScalextricControllerv1p0p0.html&amp;#39;, using a web browser, the message &amp;#39;404 Page not found&amp;#39; is displayed or there is a placeholder were the expected image is missing is displayed on the browser.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;These errors occur when the Web Server cannot get the web-pages requested by the browser. In this case make sure that the HTML web-page and the three image files are correctly installed/located in the Web Server. See &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B4" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Appendix B4&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt; for more details on installing the web-pages. Also, make sure that you are using the correct file name for the test web page i.e. &amp;#39;ScalextricControllerv1p0p0.html&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 5&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;When attempting to access the demonstration software web-page, &amp;#39;ScalextricControllerv1p0p0.html&amp;#39;, using a web browser, the message &amp;#39;You do not have the access rights&amp;#39; is displayed on the web browser.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;This error occurs when the web-page being requested is attempting local processing on the Web Server but the Web Server does not have the correct access rights for the files to be processed. The access rights to the files must be changed (see &lt;/span&gt;&lt;a class="jive-link-anchor-small" href="#AppB_B4" style="font-size:12px;font-family:Verdana;color:#592d5f;"&gt;Appendix B4&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt; for the details on how to change the access rights and for which files these rights must be changed).&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 6&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;When varying the value of the external potentiometer i.e. twisting the knob, there is NO change in the speed of the car.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;Make sure that the wire to the wiper pin on the potentiometer (the central pin) is correctly connected. Check that the other two wires are correctly used.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 7&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When using the countdown board, the LEDs are not lit in the correct sequence (red, red/amber, red/amber flashing, green).&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;This can be resolved by checking that the wiring from the Buffered Output pins on the Gertboard are connected to the correct LEDs 2-Pin headers on the countdown board. If this is correct, then check that the wiring straps between the GPIO pins and the &amp;#39;B1-B12&amp;#39; In/Out port pins are correct (note that if you have changed the GPIO ports used in the corresponding Python software then the wiring must be altered to be consistent with the software). If only some of the LEDs are working then check that the LEDs are not &amp;#39;blown&amp;#39; and that the wiring on the Countdown board is sound. Finally, make sure the there&amp;nbsp; jumpers on the &amp;#39;B2-B4&amp;#39; Output Jumper pins are present.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 8&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;The Scalextric car goes the wrong way around the track to that expected. The car should go in the same direction whether a standard controller or the Gertboard controller approaches are used.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;The wiring for the Motor Controller interface on the Gertboard is incorrect. The DC power supply should be connected to the GND (-ve) and the MOT+ (+ve) ports. The connection to the Scalextric Powerbase from the Gertboard should have the Black wire connected to the MOTA port (to which the PWM is being applied) and the Red wire to the MOTB port.&amp;nbsp; If the order of those wires has been reversed then the car will travel the wrong way/backwards around the track.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 9&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When using the potentiometer-based or keyboard-based controller approaches, the car does not move unless the speed value exceeds 140 (this value has a range of 0 ≤ value ≤1023 ).&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;This is to be expected. The drive from the car has to overcome the basic inertia of the motor and the friction of the track. A value of 140, when the DC power source is set at 12V, is sufficient to overcome this inertia. It should also be noted that the gradual increase of the voltage may be insufficient to get the car moving until some tipping point at which the car accelerates rapidly.&amp;nbsp; In this case use a rapid change in the voltage (rapid rotation of the potentiometer or many key/button presses) should be sufficient to make the car move.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 10&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When using the bowser-based controller approach and when the &amp;#39;Start&amp;#39; button is pressed, the Scalextric car either does not move or sets off too quickly and &amp;#39;flies&amp;#39; off the track at the first curve.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When the &amp;#39;Start&amp;#39; button is pressed, the associated software sets the speed value at 250.&amp;nbsp; If the car moves too rapidly then lower this value to approximately 200 and try again (this change requires the Python software in the &amp;#39;startv1p0p0.py&amp;#39; file in the &amp;#39;cgi&amp;#39; directory to be edited). Conversely, if the car is moving too slowly then increase the value to 275 and try again.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 11&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When using the browser-based controller approach, the Scalextric car is very slow to respond to the various button presses.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;This problem is caused by the response time of the Web server and the network delay encountered between the browser and the R-Pi. In general, a faster local network will have minimal improvements. Avoid having to use any network other than the one in your home i.e. make sure both the device hosting the browser and the R-Pi are on the same wireless network. When using the R-Pi avoid having other software running at the same time as your are using the Web server. The R-Pi is a relatively slow device. One cause of delay is the use of a local file on the Web sever to store the speed setting for the car. An alternative Web service design can be used to avoid having to use local storage (see &lt;a class="jive-link-anchor-small" href="#Further"&gt;Further Development Ideas&lt;/a&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 12&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When using any of the Gertboard-based controller approaches, it is impossible to get the Scalextric car to move.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;There is no power being supplied from the Motor Controller interface to the Scalextric Powerbase. Check that the wiring on the Motor Controller interface is correct (see Solution 8 above). If a Variable DC Power Supply is being used then make sure that it is switched on. Check that the basic track/car is OK by using a standard controller in the same Powerbase socket (when using a standard controller make sure the mains transformer is connected to the Powerbase). If the car does not move using the standard controller then inspect the car, Powerbase and track to find the problem.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 13&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When using any of the Gertboard-based controller approaches the Scalextric car moves off and remains at a fixed speed irrespective of the attempts to vary the speed.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;If the PWM is not working as expected the logic &amp;#39;1&amp;#39; signal on a GPIO port is interpreted as an equivalent PWM value of 1023. Only GPIO18 provides the hardware PWM signal from the R-Pi. A wiring strap is required between the GPIO18 pin and the MOTA Motor Controller pin on the Gertboard. If any other GPIO pin is used then PWM software must be used otherwise the MOTA port on the Motor Controller interface will be logic &amp;#39;1&amp;#39; i.e. interpreted as PWM value 1023. Therefore, check that the two wiring straps for the GPIO17 and GPIO18 pins are connected to the Motor Controller pins MOTB and MOTA respectively.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;Problem 14&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;When the Gertboard is connected to the Scalextric Powerbase, the red light on the Powerbase flashes.&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;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="6%"&gt;&lt;strong&gt;&amp;nbsp; Solution&lt;/strong&gt;&lt;/td&gt;&lt;td style="border:0px solid black;border:0px;border:0px;padding-right:4px;padding-left:4px;border:0px solid black;" valign="top" width="94%"&gt;&lt;p style="margin:0;"&gt;In this case the cable connections between the Powerbase and the Gertboard&amp;#39;s&amp;nbsp; Motor Controller interface are incorrect. It is ONLY the Black and Red wires in the controller cable that are used i.e. isolate/tape the Green wire so that it cannot short the other two wires. The Black wire must be connected to the MOTA port and the Red wire to the MOTB port on the Gertboard.&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="Further"&gt;&lt;/a&gt;7. Further Development Ideas&lt;/h1&gt;&lt;p style="margin:0;"&gt;This project can be developed in a number of ways. Some ideas for you to think about, and work on, are:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The current Web server approach makes use of a local file to store the speed of the car. Think about an alternative approach where no local storage is required e.g. pass the actual speed in the HTTP call being made from the browser. The current speed must now be stored in the browser and the new speed passed as an input parameter on the HTTP call;&lt;/li&gt;&lt;li&gt;In the current project the speed of the car is controlled by a human using the R-Pi/Gertboard as a delivery mechanism. Try using just the R-Pi to control the speed of the car.&amp;nbsp; This should be possible using various approaches:&lt;ul&gt;&lt;li&gt;Require the layout of the track to be entered into the R-Pi.&amp;nbsp; Without the use of sensors to provide information about the position of the car the software will have to per-determine the speed of the car at different times. The R-Pi must then vary the speed according to the elapsed time&lt;/li&gt;&lt;li&gt;Take the previous approach and add support for external sensors i.e. light and/or pressure sensors, at various points around the track. This information should the be used to confirm actual against expected position on the track. The variation of the speed can the be modified to improve the accuracy of the prediction and hence control of the car&lt;/li&gt;&lt;li&gt;Instead of using predefined knowledge of the track layout, use a PiCamera to enable the layout to be acquired automatically using image capture and analysis. The speed of the car can then be either predefined or sensor input can be used to refine the speed variation&lt;/li&gt;&lt;li&gt;Alternatively a PiCamera can be used to provide real-time visual information about the progress of the car around the track (it will not be possible to place the R-Pi/PiCamera on the car itself). This will require real-time vision processing to identify when the car is approaching/leaving a curve;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;At present each R-Pi can only control a single Scalextric Car. To enable a race between two cars would require a second independent R-Pi/Gertboard configuration, for three cars it would need three R-Pi/Gertboard systems, etc. Is it possible to have a single R-Pi control more than one Scalextric Car?&amp;nbsp;&amp;nbsp; A Gertboard has only one Motor Control interface and so a separate Gertboards will be required for each car. If several Gertboard can be linked to a R-Pi (a PiRack will provide the physical connection but control lines will need to be added to enable the R-Pi to control the flow of separate information to each Gertboard). If the control is via a browser then separate users must be supported with concurrent access to the Web Server.&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="AppA"&gt;&lt;/a&gt;Appendix A - The Gertboard&lt;/h1&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="AppA_A1"&gt;&lt;/a&gt;A1 The Gertboard Layout&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The layout of the Gertboard is shown in Figures A1.1a (top view), A1b (top view with detailed jumper pins layout) and A1.1c (underside view). The top view shows the location of the GPIO pins, the buffered input/output pins, the onboard LEDs, the ADC pins, the 3.3V power pins, the motor controller pins and the three onboard switches. The Gertboard provides 12 buffer ports that can be configured for either Input or Output (see Figure A1.1a) and these have a set of LEDs that also show the status of the signal level on the port. The buffer ports are configured as either Input or Output ports using the three sets of input jumper pins (the &amp;#39;B1..B4&amp;#39;, &amp;#39;B5..B8&amp;#39; and &amp;#39;B9..B12&amp;#39; In-Jumper pins) and the three sets of output jumper pins (the &amp;#39;B1..B4&amp;#39;, &amp;#39;B5..B8&amp;#39; and &amp;#39;B9..B12&amp;#39; Out-Jumper pins) - see Figure A1.1b. Jumpers are placed cross the relevant pins to set the configuration.&amp;nbsp; The buffered ports are linked to the corresponding GPIO ports, and hence the R-PI, using wiring straps between the twelve GPIO Pins (Figure A1.1a) and the twelve &amp;#39;B1..B12&amp;#39; In/Out Port Pins (see Figure A1.1b). Details for the configuration of the Gertboard for external LED control, external button control and the ADC pins is explained in the &lt;a class="jive-link-wiki-small" href="/products/raspberry-pi/raspberrypi_projects/w/documents/16801/an-introduction-to-using-the-gertboard-with-the-raspberry-pi"&gt;Introduction to Using the Gertboard with the R-Pi&lt;/a&gt; instructions.&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" height="1627" style="border:1px solid #000000;width:648px;height:1587px;"&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;Figure A1.1 - The Gertboard layout.&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;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x492/__key/communityserver-wikis-components-files/00-00-00-01-66/6433.contentimage_5F00_142063.html"&gt;community.element14.com/.../6433.contentimage_5F00_142063.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(a) Top view.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x508/__key/communityserver-wikis-components-files/00-00-00-01-66/4370.contentimage_5F00_142064.html"&gt;community.element14.com/.../4370.contentimage_5F00_142064.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b) &lt;span style="color:#333333;font-family:Verdana;font-size:12px;text-align:center;"&gt;Top view for detailed jumper pins layout.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/581x436/__key/communityserver-wikis-components-files/00-00-00-01-66/8512.contentimage_5F00_142065.html"&gt;community.element14.com/.../8512.contentimage_5F00_142065.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(c) Underside 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;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The Gertboard is supplied with a set of 6 plastic rods that can be inserted into the Gertboard so that it can stand without the underside of the board touching the surface and so that the GPIO interface does not take all of the weight of the Gertboard on the R-Pi.&amp;nbsp; If the Gertboard is to be inserted directly into the R-Pi then do not insert the plastic rod on the bottom left corner of the Gertboard when looking at the underside with the GPIO connector at the bottom (this corner rests over the video jack port).&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="AppA_A2"&gt;&lt;/a&gt;A2 The Gertboard Motor Controller&lt;/h2&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The wiring of the Gertboard for use with the motor controller, LEDs, button and ADC is shown in Figures A2.1a (top view) and A2.1b (schematic top view). This wiring is for the use of the ADC0 channel only. The wiring for this configuration is:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;One short wiring strap is used to link the GPIO25 pins to the &amp;#39;B1&amp;#39; In/Out port pins (to set as input port). Two long, wiring straps are used to connect the external button to the buffered I/O ports. This defines the external button usage configuration;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;Three, short, wiring straps are used to link the GPIO24-GPIO22 pins to the &amp;#39;B2-B4&amp;#39; In/Out port pins (to set as output ports). Finally, 6, long, wiring straps are used to connect the LEDs to the buffered I/O ports;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;line-height:1.5em;"&gt;Three wiring straps are required when the ADC is to be used i.e. Black to the 3.3V pin, Red to the GND pin (line 1 in Figure A3.1b) and Yellow to the ADC0 pin. It is the Yellow wire that must be connected to the wiper on the potentiometer. The connection of the Red and Black wires to the potentiometer determines the direction in which movement changes, increasing/decreasing, the resistance;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;Two, short, wiring straps are used to link the GPIO18-GPIO17 pins to the MOTA and MOTB pins respectively (note that the hardware PWM signal from the R-Pi is only available on the GPIO18 port);&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;The Variable DC Power Supply is connected to the &amp;#39;GND&amp;#39; and &amp;#39;MOT+&amp;#39; ports on the motor controller.&amp;nbsp; The car controller wires are connected to the &amp;#39;MOTA&amp;#39; (black wire in the controller cable) and &amp;#39;MOTB&amp;#39; (red wire in the controller wire) ports on the motor controller.&amp;nbsp; This configuration provides the PWM signal from the GPIO port to the &amp;#39;MOTA&amp;#39; port on the motor controller.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The associated set of jumpers are (note that no jumpers are required for configuration of the motor controller port):&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;Three jumpers on the B2-B4 Out jumper pins sets used to define the output ports to drive the three sets of LEDs;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;One jumper on the B1 In jumper pins set used to define the input ports for the button monitoring;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-size:12px;font-family:Verdana;"&gt;Four Jumpers between the pins GP11-SCLK, GP10-MOSI, GP9-MISO and GP8-CSnA are required when the ADC input is used for the external potentiometer;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;A Jumper on the 3V3 pins is used to set the high logic level as 3.3V.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="470" style="border:1px solid #000000;width:1160px;height:412px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;span style="font-size:12px;font-family:Verdana;color:#ffffff;text-align:center;"&gt;&lt;strong&gt;Figure A2.1 - Gertboard wiring for the use of the motor controller, LEDs, button and ADC.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/520x395/__key/communityserver-wikis-components-files/00-00-00-01-66/1731.contentimage_5F00_142066.html"&gt;community.element14.com/.../1731.contentimage_5F00_142066.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(a) &lt;span style="color:#333333;font-family:Verdana;font-size:12px;text-align:center;"&gt;Top view wiring for use of the motor control, LEDs and button (ADC wiring not present).&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/583x395/__key/communityserver-wikis-components-files/00-00-00-01-66/8715.contentimage_5F00_142067.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/8715.contentimage_142067.jpg-583x395.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=42hl7DC2%2FgMA5t8xyeAknoPEmUX8PtxRwGNLbf55Iyk%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=AD+N9z2uxeNSRx5zv14/ew==" style="max-height: 395px;max-width: 583px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b) &lt;span style="color:#333333;font-family:Verdana;font-size:12px;text-align:center;"&gt;Schematic view for use of the motor control, LEDs, button and ADC.&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;"&gt;Further side views of the layout are shown in Figure A2.2.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="1077" style="border:1px solid #000000;width:963px;height:1036px;" width="1040"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan="2" style="border:1px solid black;border:1px solid #000000;padding:2px;color:#ffffff;background-color:#6690bc;text-align:center;" valign="middle"&gt;&lt;span style="font-size:12px;font-family:Verdana;color:#ffffff;text-align:center;"&gt;&lt;strong&gt;Figure A2.2 - Side views for the Gertboard wiring for the use of the motor controller, LEDs, button and ADC.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/529x405/__key/communityserver-wikis-components-files/00-00-00-01-66/5661.contentimage_5F00_142068.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/5661.contentimage_142068.jpg-529x405.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=Ej3NrRQAmA0MSS7DUPbP87Do9auUdsa1Ru4aOHYeOpE%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=qjmrGkj5mmC8cRFMoHAgAw==" style="max-height: 405px;max-width: 529px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(a) Side view.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/429x402/__key/communityserver-wikis-components-files/00-00-00-01-66/4863.contentimage_5F00_142069.html"&gt;community.element14.com/.../4863.contentimage_5F00_142069.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(b) Side view.&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;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/422x546/__key/communityserver-wikis-components-files/00-00-00-01-66/4477.contentimage_5F00_142070.html"&gt;community.element14.com/.../4477.contentimage_5F00_142070.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(c) Side view.&lt;/p&gt;&lt;/td&gt;&lt;td style="border:1px solid black;border:1px solid #000000;text-align:center;padding:2px;"&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/454x546/__key/communityserver-wikis-components-files/00-00-00-01-66/6114.contentimage_5F00_142071.html"&gt;community.element14.com/.../6114.contentimage_5F00_142071.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;(d) Side 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;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 - The Software&lt;/h1&gt;&lt;h2&gt;&lt;a name="AppB_B1"&gt;&lt;/a&gt;B1 System Software&lt;/h2&gt;&lt;h3 style="font-family:arial;color:#333333;"&gt;B1.1 Update the Operating System&lt;/h3&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;To ensure that you have the latest version of the operating system and the Python development environment then working in the LXTerminal application type the following instructions:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo apt-get update&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo apt-get install python-get python-pip&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;This will download and install the latest versions of the software.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style="font-family:arial;color:#333333;"&gt;B1.2 Install GIT&lt;/h3&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;A lot of the required software is stored in GitHub.&amp;nbsp; Access to this software repository requires the use of Git. To install Git, use the LXTerminal and type the following instructions:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo apt-get install git-core&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;The installation process will inform you if you already have the latest version of Git installed and will not overwrite that latest version.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style="font-family:arial;color:#333333;"&gt;B1.3 Install the Wiring.Pi Module&lt;/h3&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;Using the LXTerminal application type the following instruction:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo clone git://git.drogon.net/wiringPi&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;To build and install the WiringPi module type:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;cd wiringPi&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo ./build&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;Once this installation has been completed it can be confirmed by typing the instruction:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;gpio -v&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;This should print to the terminal a list of the states of all the GPIO devices. This list provides a map between the WiringPi Pin Number, the BCM (Broadcom chip) GPIO Pin Number, Physical Pin Number, Mode and Value.&amp;nbsp; Take a copy of this table.&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;NOTE: If you use the GPIO Utility then be careful because some functions use the &amp;#39;BCM Pin Number&amp;#39; whereas others use the &amp;#39;WiringPi Pin Number&amp;#39; by default.&amp;nbsp; Read the GPIO Utility notes carefully.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style="font-family:arial;color:#333333;"&gt;B1.4 Install and Enable the SPI Dev Module&lt;/h3&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;Using the LXTerminal application, the &amp;#39;py-spidev&amp;#39; module is installed by typing the following instructions (make sure that Git has been installed):&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;cd ~&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;git clone git://github.com/doceme/py-spidev&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;Once completed, type:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;cd py-spidev&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo python setup.py install&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;Once the module has been installed, the SPI capability for the R-Pi operating system must be enabled. To enable the SPI driver the file &lt;span style="font-family:inherit;"&gt;&lt;em&gt;raspi-blacklist.conf&lt;/em&gt;&lt;/span&gt; file has to be edited and the line &amp;#39;blacklist spi-bcm2708&amp;#39; must be &amp;#39;commented out&amp;#39;.&amp;nbsp; Once edited the line should read as (the hash makes the line a comment):&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family:inherit;"&gt;&lt;em&gt;#blacklist spi-bcm2708&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;The file &lt;span style="font-family:inherit;"&gt;&lt;em&gt;raspi-blacklist.conf&lt;/em&gt;&lt;/span&gt; can be edited by typing into the terminal interface:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo nano /etc/modprobe.d/raspi-blacklist.conf&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;If you use the alternative technique of typing into the terminal the instruction:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo modprobe spi-bcm2708&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;then you will have to do this every time the R-Pi is restarted. Now restart the R-Pi.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style="font-family:arial;color:#333333;"&gt;B1.5 Installation and Configuration of the Apache2 Web Server&lt;/h3&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;The new software written for this project makes use of a Web Server. &lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;To install the Apache2 Web Server, using the LXTerminal application type the following instruction:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo apt-get install apache2&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;Now that once the Web Server has been installed it has to be configured to support the running of Python programs. All of the web pages must be placed in the folder &lt;span style="font-family:inherit;"&gt;&lt;em&gt;/var/www&lt;/em&gt;&lt;/span&gt; whereas the Python programs must be placed in the folder &lt;span style="font-family:inherit;"&gt;&lt;em&gt;/usr/lib/cgi-bin&lt;/em&gt;&lt;/span&gt;. Whereas Apache is already configured to handle &amp;#39;.html&amp;#39; files it must be configured to execute the &amp;#39;.cgi&amp;#39; and &amp;#39;.py&amp;#39; files. &lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;Again using the LXTerminal application type the instructions:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;cd //&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;cd /etc/apache2/sites-available&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;Now make a copy of the current default file so that the original can be reused at a later date.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo cp default old_default&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;Now edit the current &amp;#39;default&amp;#39; file by starting the editor:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo nano edit default&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;In the section starting ScriptAlias /cgi-bin /usr/lib/cgi-bin/ the following line must be added:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-family:inherit;"&gt;&lt;em&gt;AddHandler cg-script .cgi .py&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;Save the change and exit the editor. Now restart Apache:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;sudo restart apache2&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;This new line has configured Apache2 so that any script files in the folder &lt;span style="font-family:inherit;"&gt;&lt;em&gt;/usr/lib/cgi-bin&lt;/em&gt;&lt;/span&gt; which have a file extension of &amp;#39;.cgi&amp;#39; or &amp;#39;.py&amp;#39; are scripts that can be called and executed from &amp;#39;.html&amp;#39; files.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="AppB_B2"&gt;&lt;/a&gt;B2 Potentiometer-based Scalextric Speed Control Software&lt;/h2&gt;&lt;h3&gt;B2.1 Installing the Software&lt;/h3&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The 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/Gertboard_Scalextric" rel="nofollow ugc noopener" target="_blank" title="https://github.com/element14/pi_project/tree/master/Gertboard_Scalextric"&gt;https://github.com/element14/pi_project/tree/master/Gertboard_Scalextric&lt;/a&gt;&lt;/span&gt;.&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt; A clone of this software should be established using an appropriate software versioning application. The clone can be established at: &lt;/span&gt;&lt;a class="jive-link-external-small" href="https://github.com/element14/pi_project.git" rel="nofollow" style="font-size:12px;font-family:Verdana;color:#592d5f;" target="_blank"&gt;https://github.com/element14/pi_project.git&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;. The Python software used to control the Scalextric car using the potentiometer is contained in the &amp;#39;potmot-1way-wpv1p0p0.py&amp;#39; file in the directory named &amp;#39;python&amp;#39;. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;B2.2 Using the Software&lt;/h3&gt;&lt;p style="margin:0;"&gt;To run the potentiometer control software use the LXTerminal or double click on the Python program (double clicking will start the IDLE environment).&amp;nbsp; If the LXTermminal is used then make sure that you are in the same directory as the python source file and type:&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;&amp;nbsp; &lt;strong&gt;&lt;em&gt;sudo python potmot-1way-wpv1p0p0.py&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;This software uses the WiringPi&amp;nbsp; and py-spidev modules and so it &lt;span style="line-height:1.5em;font-size:10pt;"&gt;requires root access hence the use of &amp;#39;sudo&amp;#39;.&amp;nbsp; The program will now start and display the configuration requirements for using the ADC input to drive the motor controller. When ready to start the &amp;#39;enter&amp;#39; key should be pressed. As the potentiometer is turned a line of &amp;#39;#&amp;#39; characters are printed on the screen indicating the voltage level followed by an integer value (in the range 0 ≤ value ≤ 1023) that indicates the input value from the ADC lines. As the rotation of the potentiometer is altered, the voltage level can be increased/decreased appropriately, and so the corresponding speed of the Scalextric car is increased/decreased. The &lt;/span&gt;software&lt;span style="font-size:10pt;"&gt;&lt;span style="line-height:1.5em;"&gt; is designed to run for about 30s or less if the &amp;#39;CTRL+C&amp;#39; keys are pressed.&amp;nbsp; It is a simple&lt;/span&gt;&lt;span style="line-height:1.5em;"&gt; change to allow the software to run for longer periods.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;B2.3 Design of the Software&lt;/h3&gt;&lt;p style="margin:0;"&gt;This is a very simple piece of software. It has no classes and consists of three functions and the main code. The three functions are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;get_adc(channel) - to read the SPI input i.e. the ADC value on the identified channel;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;reset_ports() - to rest the ports for a safe exit from the program;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;display(char, reps, add_value, spaces) - to provide the &amp;#39;#&amp;#39; bar display.&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;Once the program has started it prints the Gertboard configuration expectations i.e. using GPIO 17 and 18 (with 18 set in PWM mode). Next the user presses &amp;#39;enter&amp;#39; to start the program. Once started the program samples the ADC channel every 0.05 seconds and writes this value to the GPIO18 port (this is the PWM value). The program will run for 30s or until the &amp;#39;CTRL+C&amp;#39; keys are pressed. Remember, this software requires the installation of both the WiringPi and py-spidev Python modules.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="AppB_B3"&gt;&lt;/a&gt;B3 R-Pi Keyboard-based Scalextric Control Software&lt;/h2&gt;&lt;h3&gt;B3.1 Installing the Software&lt;/h3&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The 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/Gertboard_Scalextric" rel="nofollow ugc noopener" target="_blank" title="https://github.com/element14/pi_project/tree/master/Gertboard_Scalextric"&gt;https://github.com/element14/pi_project/tree/master/Gertboard_Scalextric&lt;/a&gt;&lt;/span&gt;.&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt; A clone of this software should be established using an appropriate software versioning application. The clone can be established at: &lt;/span&gt;&lt;a class="jive-link-external-small" href="https://github.com/element14/pi_project.git" rel="nofollow" style="font-size:12px;font-family:Verdana;color:#592d5f;" target="_blank"&gt;https://github.com/element14/pi_project.git&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;. The Python software used to control the Scalextric car using the potentiometer is contained in the &amp;#39;fsmot-wpv1p0p0.py&amp;#39; file in the directory named &amp;#39;python&amp;#39;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;B3.2 Using the Software&lt;/h3&gt;&lt;p style="margin:0;"&gt;To run the keyboard control software use the LXTerminal or double click on the Python program (double clicking will start the IDLE environment).&amp;nbsp; If the LXTermminal is used then make sure that you are in the same directory as the python source file and type:&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;&amp;nbsp; &lt;strong&gt;&lt;em&gt;sudo python fsmot-wpv1p0p0.py&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;This software uses the WiringPi&amp;nbsp; module and so it &lt;span style="font-size:10pt;"&gt;requires root access hence the use of &amp;#39;sudo&amp;#39;.&amp;nbsp; The program will now start and display the configuration requirements drive the motor controller. &lt;/span&gt;The&lt;span style="font-size:10pt;"&gt; program the requests the user to enter the step value to be use to increment/decrement the speed of the car as the faster/slower keys are pressed.&amp;nbsp; When ready to start the &amp;#39;enter&amp;#39; key should be pressed. The &amp;#39;f&amp;#39; key is pressed to make the car go faster and the &amp;#39;s&amp;#39; key to make it go slower. As the &amp;#39;f&amp;#39; and &amp;#39;s&amp;#39; keys are pressed a line of &amp;#39;#&amp;#39; characters are printed on the screen indicating the voltage level followed by an integer value (in the range 0 ≤ value ≤ 1023) that indicates the input value from the PWM. As the &amp;#39;f&amp;#39; and &amp;#39;s&amp;#39; keys are pressed the voltage level can be increased/decreased appropriately, and so the corresponding speed of the Scalextric car is increased/decreased. The &lt;/span&gt;software&lt;span style="font-size:10pt;"&gt; will run &lt;/span&gt;until&lt;span style="font-size:10pt;"&gt; either the &amp;#39;ESC&amp;#39; or&amp;nbsp; the &amp;#39;CTRL+C&amp;#39; keys are pressed.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;B3.3 Design of the Software&lt;/h3&gt;&lt;p style="margin:0;"&gt;This is a relatively simple piece of software. It has no classes and consists of four functions and the main code. The four functions are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;inkey() - to read a key press;&lt;/li&gt;&lt;li&gt;setup_ports() - to configure the GPIO system to drive motor using PWM;&lt;/li&gt;&lt;li&gt;reset_ports() - to rest the ports for a safe exit from the program;&lt;/li&gt;&lt;li&gt;display(char, pwm_value) - to provide the &amp;#39;#&amp;#39; bar display.&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;Once the program has started it prints the Gertboard configuration expectations i.e. using GPIO 17 and 18 (with 18 set in PWM mode). Next the program asks the user to supply the increment value (1 ≤ increment ≤ 200) - the software requires a number in the predefined otherwise the user will be prompted again. Next the user presses &amp;#39;enter&amp;#39; to start the program. The program senses the keyboard every 0.05 seconds. If the &amp;#39;f&amp;#39; or &amp;#39;F&amp;#39; keys are pressed the new value for the PWM is used (old value plus increment) and if the &amp;#39;s&amp;#39; or &amp;#39;S&amp;#39; keys are pressed the new PWM values is calculated (old value minus the increment). The software ensure the PWM value is within the range 0 ≤ PWM &amp;lt; 1023. The software will run unit either the &amp;#39;ESC&amp;#39; or&amp;nbsp; the &amp;#39;CTRL+C&amp;#39; keys are pressed.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="AppB_B4"&gt;&lt;/a&gt;B4 Web/Browser-based Scalextric Speed Control Software&lt;/h2&gt;&lt;h3&gt;B4.1 Installing the Software&lt;/h3&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;The 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/Gertboard_Scalextric" rel="nofollow ugc noopener" target="_blank" title="https://github.com/element14/pi_project/tree/master/Gertboard_Scalextric"&gt;https://github.com/element14/pi_project/tree/master/Gertboard_Scalextric&lt;/a&gt;&lt;/span&gt;.&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt; A clone of this software should be established using an appropriate software versioning application. The clone can be established at: &lt;/span&gt;&lt;a class="jive-link-external-small" href="https://github.com/element14/pi_project.git" rel="nofollow" style="font-size:12px;font-family:Verdana;color:#592d5f;" target="_blank"&gt;https://github.com/element14/pi_project.git&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;. &lt;/span&gt;&lt;span style="color:#333333;font-family:Verdana;"&gt;&lt;span style="font-size:12px;line-height:1.5em;"&gt;The software is collected in &lt;/span&gt;&lt;span style="font-size:12px;line-height:18px;"&gt;three&lt;/span&gt;&lt;span style="font-size:12px;line-height:1.5em;"&gt; folders: &amp;#39;cgi-bin&amp;#39;, &amp;#39;www&amp;#39; and &amp;#39;python&amp;#39;. The software files are:&lt;/span&gt;&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="line-height:1.5em;"&gt;&amp;#39;cgi-bin&amp;#39; folder&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;fasterv1p0p0.py - the Python script to increase the speed of the car;&lt;/li&gt;&lt;li&gt;slowerv1p0p0.py - the Python script to decrease the speed of the car;&lt;/li&gt;&lt;li&gt;startv1p0p0.py - the Python script to start the car;&lt;/li&gt;&lt;li&gt;stopv1p0p0.py - the Python script to stop the car;&lt;/li&gt;&lt;li&gt;pwmvaluev1p0p0.txt - the container for the current speed of the car.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;#39;www&amp;#39; folder&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ScalextricControllerv1p0p0.html - the webpage you see on the remote browser;&lt;/li&gt;&lt;li&gt;FasterButtonv1p0p0.png - the image for the “FASTER” button;&lt;/li&gt;&lt;li&gt;SlowerButtonv1p0p0.png - the image for the “SLOWER” button;&lt;/li&gt;&lt;li&gt;StartButtonv1p0p0.png - the image for the “START” button;&lt;/li&gt;&lt;li&gt;StopButtonv1p0p0.png - the image for the “STOP” button.&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;#39;python&amp;#39;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;countdown-rgv1p0p0.py - the race countdown Python program (using the RP.GPIO module);&lt;/li&gt;&lt;li&gt;countdown-wpv1p0p0.py - the race countdown Python program (using the WiringPi module);&lt;/li&gt;&lt;li&gt;fsmot-wpv1p0p0.py - keyboard-based speed controller Python program;&lt;/li&gt;&lt;li&gt;potmot-1way-wpv1p0p0.py - potentiometer-based speed controller Python program.&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;The files in the &amp;#39;www&amp;#39; folder should be copied into the R-Pi directory &amp;#39;/var/www/&amp;#39; and the files in the &amp;#39;cgi-bin&amp;#39; folder should be copied into the R-Pi directory &amp;#39;/usr/ib/cgi-bin/&amp;#39;. Place the files in the &amp;#39;python&amp;#39; directory wherever is most convenient to you. The next step is to make sure that these files have the correct access rights i.e. readable and exectable by Apache2. Using the LXTerminal application type the following instructions:&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-size:10pt;font-family:inherit;"&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;strong&gt;cd //&lt;/strong&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cd /var/www&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod 755&amp;nbsp; ScalextricControllerv1p0p0.html&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod 755&amp;nbsp; FasterButtonv1p0p0.png&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod&amp;nbsp; 755 SlowerButton&lt;span style="color:#333333;font-size:12px;font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;v1p0p0&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;.png&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod&amp;nbsp; 755 StartButton&lt;span style="color:#333333;font-size:12px;font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;v1p0p0&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;.png&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="color:#333333;font-size:12px;font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod&amp;nbsp; 755 StopButton&lt;span style="color:#333333;font-size:12px;font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;v1p0p0&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;.png&lt;/strong&gt;&lt;/em&gt;&lt;/strong&gt;&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;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;cd //&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cd /usr/lib/cgi-bin&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod 755&amp;nbsp; fasterv1p0p0.py&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="color:#333333;font-size:12px;font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod 755&amp;nbsp; pwmvaluev1p0p0.txt&lt;/strong&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod 755&amp;nbsp; slowerv1p0p0.py&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod 755&amp;nbsp; startv1p0p0.py&lt;/strong&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&lt;span style="color:#333333;font-size:12px;font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sudo chmod 755&amp;nbsp; stopv1p0p0.py&lt;/strong&gt;&lt;/em&gt;&lt;/strong&gt;&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;Ensure that the Apache2 Web Server is active.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;B4.2 Using the Software&lt;/h3&gt;&lt;h4&gt;B4.2.1 The Browser-Related Software&lt;/h4&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;To use and test that the software has been correctly installed start a browser on a device that is on the same local network as the R-Pi. In your browser type in the location (the URL for the test page):&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;&lt;a class="jive-link-external-small" href="/" style="font-weight:inherit;font-style:inherit;font-family:inherit;color:#592d5f;" target="_blank"&gt;http://&lt;/a&gt;&lt;span style="font-weight:inherit;font-style:inherit;font-family:inherit;"&gt;&amp;lt;Your IP Address&amp;gt;/ScalextricControllerv1p0p0.html&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;The &amp;#39;Your IP Address&amp;#39; can be obtained using the LXTerminal application and typing the command:&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-style:inherit;font-family:inherit;"&gt;&lt;em&gt;&lt;strong&gt;Hostname -I&lt;/strong&gt;&lt;/em&gt;&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;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;If the browser software has been installed correctly the web page show in Figure B4.1 should be displayed on your browser. If not, then read the &lt;a class="jive-link-anchor-small" href="#Trouble" style="font-style:inherit;font-family:inherit;color:#592d5f;"&gt;Troubleshooting&lt;/a&gt; instructions.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="575" style="border:1px solid #000000;width:429px;height:481px;" width="648"&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;Figure B4.1 - &lt;span style="font-size:12px;font-family:Verdana;color:#ffffff;text-align:center;background-color:#6690bc;"&gt;&lt;strong&gt;The start web page displayed for the Scalextric Controller.&lt;/strong&gt;&lt;/span&gt;&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;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/531x447/__key/communityserver-wikis-components-files/00-00-00-01-66/3515.contentimage_5F00_142072.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/3515.contentimage_142072.jpg-531x447.jpg?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=1sLUICdbV531xbwZRg6UKkls23UH4hrbV9b8Mmj5%2Bu4%3D&amp;amp;se=2026-04-16T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=7mX1dkkOqKggka7z741mCg==" style="max-height: 447px;max-width: 531px;" /&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;The web-page provides four buttons to control the speed of the car. The speed of the car is shown in the centre cell and this has a value of 0 ≤ speed ≤ 1023 (this is the value that is being sent via the PWM pin).&amp;nbsp; When the &amp;#39;START&amp;#39; button is pressed the car speed will become 250 and when the &amp;#39;STOP&amp;#39; button is reseed it will become 0. The &amp;#39;SLOWER&amp;#39; and &amp;#39;FASTER&amp;#39; buttons decrease/increase the speed by a value of 10.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h4&gt;B4.2.2 The Countdown Software&lt;/h4&gt;&lt;p style="margin:0;"&gt;The countdown software is used to provide a race countdown. It is available is two form: &amp;#39;countdown-rgv1p0p0.py&amp;#39; which uses the RP.GPIO Python module; and &amp;#39;countdown&lt;span style="font-size:10pt;line-height:1.5em;"&gt;-wpv1p0p0.py&amp;#39; which uses the WiringPi Python module.&amp;nbsp; To start these programs using the LXTerminal application, type:&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;&amp;nbsp; &lt;em&gt;&lt;strong&gt;sudo python countdown-rgv1p0p0.py&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;or&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;&amp;nbsp; &lt;strong&gt;&lt;em&gt;sudo python countdown-wpv1p0p0.py&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;Once the software starts the line &amp;quot;Press button to start countdown&amp;quot; is printed to the terminal screen and all the LEDs on the countdown board will be off. The software waits until the button on the countdown board is pressed.&amp;nbsp; Once pressed the statement &amp;quot;Starting countdown&amp;quot; is displayed. The LEDs on the countdown board are now lit in the sequence:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Only the Red LEDs are on for 2s;&lt;/li&gt;&lt;li&gt;Both the Red and Yellow LEDs are on for 2s;&lt;/li&gt;&lt;li&gt;Both the Red and Yellow LEDs are flashing for 2s;&lt;/li&gt;&lt;li&gt;Only the Green LEDs are on for 6s.&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;Once complete the statement &amp;quot;Countdown complete&amp;quot; is printed on the screen. The race should start once the Green LEDs are lit.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;B4.3 Design of the Software&lt;/h3&gt;&lt;h4&gt;B4.3.1 The Overall Design&lt;/h4&gt;&lt;p style="margin:0;"&gt;The software for the browser-based control has four components:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The four Python scripts that control the speed of the car i.e. start, stop, faster and slower. These files are placed in the &amp;#39;cgi-bin&amp;#39; directory;&lt;/li&gt;&lt;li&gt;The text file &amp;#39;pmwvalue.txt&amp;#39; that is used to contain the current PWM value of the car i.e. its speed. The Web Service is a stateless data exchange and so this file is placed on the Web Server as a non-volatile store for that speed thereby removing the need for the speed value to be sent from the browser to the server. This file is also placed in the &amp;#39;cgi-bin&amp;#39; directory;&lt;/li&gt;&lt;li&gt;The entry HTML web-page and the associated images that used called by the browser. These files are placed in the &amp;#39;www&amp;#39; directory;&lt;/li&gt;&lt;li&gt;The countdown control Python code that is used to control the countdown board.&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;The countdown control software is invoked using the LXTerminal application whereas the Scalextric control HTML page is invoked using a browser. All of this software is under the R-Pi operating system,&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h4&gt;B4.3.2 The HTML Code&lt;/h4&gt;&lt;p style="margin:0;font-size:12px;font-family:Verdana;color:#333333;"&gt;When using a Browser the associated Python programs used by the Web Server make use of &amp;#39;bash&amp;#39; shell commands to achieve the same access to the R-PI&amp;#39;s GPIO interface. &lt;span style="line-height:1.5em;"&gt;The core HTML code for the web-page is shown below:&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;01&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;html xmlns=&amp;quot;&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://www.w3.org/1999/xhtml" rel="nofollow" target="_blank"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;&lt;span&gt;&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;02&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;03&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=UTF-8&amp;quot; /&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;04&lt;span style="font-size:10pt;line-height:1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Gertboard Scalextric Car Controller Program&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;05&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;06&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;07&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h1 align=&amp;quot;center&amp;quot;&amp;gt;Scalextric Controller Program&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;08&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;hr/&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;09&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table width=&amp;quot;450&amp;quot; border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#CCC&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;10&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;lt;tr&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;11&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;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;12&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;lt;td&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&amp;lt;a href=&amp;quot;/cgi-bin/startv1p0p0.py&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;StartButtonv1p0p0.png&amp;quot; width=&amp;quot;120&amp;quot; height=&amp;quot;75&amp;quot; alt=&amp;quot;Start Button&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;13&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;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;14&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;lt;/tr&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;15&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;lt;tr&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;16&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;lt;td&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;/cgi-bin/slowerv1p0p0.py&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;SlowerButtonv1p0p0.png&amp;quot; width=&amp;quot;120&amp;quot; height=&amp;quot;75&amp;quot; alt=&amp;quot;Slower Button&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;17&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;lt;td bgcolor=&amp;quot;#FFF&amp;quot;&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Speed&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;0&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;18&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;lt;td&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;/cgi-bin/fasterv1p0p0.py&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;FasterButtonv1p0p0.png&amp;quot; width=&amp;quot;120&amp;quot; height=&amp;quot;75&amp;quot; alt=&amp;quot;Faster Button&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;19&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;lt;/tr&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;20&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;lt;tr&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;21&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;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;22&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;lt;td&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;p&amp;gt;&amp;lt;a href=&amp;quot;/cgi-bin/stopv1p0p0.py&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;StopButtonv1p0p0.png&amp;quot; width=&amp;quot;120&amp;quot; height=&amp;quot;75&amp;quot; alt=&amp;quot;Stop Button&amp;quot;/&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;23&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;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;24&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;lt;/tr&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;25&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;26&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;p&amp;gt;To control your Scalextric Car use the buttons above.&amp;lt;/p&amp;gt;&amp;lt;/div&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="font-size:10pt;line-height:1.5em;"&gt;27&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;hr/&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;28&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/html&amp;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:#333333;font-family:Verdana;font-size:12px;"&gt;The key features are lines 12, 16, 18 and 22 which define the code that is to be run on the Web Server when the associated &amp;#39;button&amp;#39; on the web-page is pressed. For example, in line 12, the image StartButtonv1p0p0.png&amp;#39; is used to invoke the Python code in the file &amp;#39;startv1p0p0.py&amp;#39; in the &amp;#39;cgi-bin&amp;#39; directory. When a user presses the image, an HTTP call is sent to the Web Server which upon receipt runs the corresponding Python program. In this case it causes the car to start. Once competed the Python code redraws the web-page on the browser in preparation for another user action. The speed of the car is written by line&amp;nbsp; 17.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana;font-size:12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h4&gt;B4.3.3 The CGI Code&lt;/h4&gt;&lt;p style="margin:0;"&gt;The &lt;span style="line-height:1.5em;color:#333333;font-family:Verdana;font-size:12px;"&gt;&amp;#39;cgi-bin&amp;#39; folder contains four Python scripts:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;fasterv1p0p0.py - the Python script to increase the speed of the car. Writes the new incremented value for the PWM into the pwm text file and applies the value to the GPIO18 pin. The Scalextric controller web page is now displayed with the new speed and the car should accelerate to that new speed;&lt;/li&gt;&lt;li&gt;slowerv1p0p0.py - the Python script to decrease the speed of the car. Writes the new decremented value for the PWM into the pwm text file and applies the value to the GPIO18 pin. The Scalextric controller web page is now displayed with the new speed and the car should slow to that new speed;&lt;/li&gt;&lt;li&gt;startv1p0p0.py - the Python script to start the car. Writes the initial value for the PWM into the pwm text file and applies the value to the GPIO18 pin. The Scalextric controller web page is now displayed with the new speed and the car should start to move;&lt;/li&gt;&lt;li&gt;stopv1p0p0.py - the Python script to stop the car. Writes the value &amp;#39;0&amp;#39; for the PMW into the pmw text fie and applied the value to the GPIO 18 pin. The Scalextric controller web page is now displayed with the &amp;#39;speed=0&amp;#39; and the car should come to a halt.&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;The web page display control is contained in each of the four scripts so that the format can be varied.&amp;nbsp; If no variation is required then this code could be removed and placed into a single common Python file that is linked to the others. All of the Python scripts control the settings of the GPIO pins using &amp;#39;bash&amp;#39; instructions. The &amp;#39;pmwvalue.txt&amp;#39; file is the non-volatile store on the Web Server for the speed of the car.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h4&gt;B4.3.4 The Countdown Code&lt;/h4&gt;&lt;p style="margin:0;"&gt;The code for the countdown control is very simple. The only complexity is to ensure that the GPIO pins used to drive the LEDs and monitor the button are not 17 and 18 (these are used for the motor controller). GPIO 25 is assigned to the button and GPIO 24, 23 and 22 to the Red, Yellow and Green LEDs.&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="AppC"&gt;&lt;/a&gt;Appendix C - Scalextric Primer&lt;/h1&gt;&lt;p style="margin:0;"&gt;In this project we are using the original analogue Scalextric cars. The newer digital cars have different electrical characteristics and so the approach used in this project will not work for digital cars.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="AppC_C1"&gt;&lt;/a&gt;C1 The Cars&lt;/h2&gt;&lt;p style="margin:0;"&gt;The Scalextric cars consist of a plastic shell for the car frame that contains the electric motor to drive the rear wheels. This is a standard 12-20V DC brush motor depending on the type of car.&amp;nbsp; Between the front wheels is the slot rider surrounded by the metal track brushes that supply the drive voltage to the motor.&amp;nbsp; A traction magnet is placed towards the rear of the car to reduce the likelihood of the car skidding out of control when curves are encountered at high sped.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="AppC_C2"&gt;&lt;/a&gt;C2 The Car Controllers&lt;/h2&gt;&lt;p style="margin:0;"&gt;The wiring for a Scalextric Car Controller that is supplied with a Scalextric Kit is shown in Figure C1.1.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table border="1" class="jiveBorder" height="673" style="border:1px solid #000000;width:648px;height:558px;"&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;Figure C1.1 - Wiring for a Scalextric Controller.&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;text-align:center;padding:2px;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/620x620/__key/communityserver-wikis-components-files/00-00-00-01-66/4061.contentimage_5F00_142073.html"&gt;community.element14.com/.../4061.contentimage_5F00_142073.html&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;The controller handle has a lever that is used to vary the value of the potentiometer enclosed in the controller.&amp;nbsp; The controller is connected to the Scalextric track via the Scalextric Powerbase box.&amp;nbsp; The Powerbase has two jack connectors, one for each of the car controllers, and the socket for the mains transformer (the transformer provides the 12V-20V DC supply for each of the controllers).&amp;nbsp; The controller cable consists of there coloured wires: red, black and green. The wires are used to:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Red - provide the ground voltage from the Powerbase (-ve) and this is not connected to the potentiometer. When the wiper is connected to this wire it acts as a break to the car;&lt;/li&gt;&lt;li&gt;Green - provide the positive voltage from the Powerbase (+ve) to the potentiometer. Note that this wire is not connected to the actual Scalextric track;&lt;/li&gt;&lt;li&gt;Black - is connected to the wiper on the potentiometer (+ve).&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;The power to the Scalextric car, via the track, is supplied via the Red (-ve) and Black (+ve) wires.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;a name="AppC_C3"&gt;&lt;/a&gt;C3 The Track&lt;/h2&gt;&lt;p style="margin:0;"&gt;The standard Scalextric track parts have two slots and so two cars can be race against each other.&amp;nbsp; If more cars are to be raced at the same time then multiple tracks are used in parallel.&amp;nbsp; The power to the track is supplied via the Powerbase. The mains transformer is connected to the Powerbase (the transformer produces the 12V-20V DC supply).&amp;nbsp; Each Powerbase has two jack connectors - one for each of the two controllers (this configuration can be used for one or two car racing). When the Powerbase is correctly powered from the transformer the red light is continuously on. If there is a problem with the power to the Powerbase, the red light will flash. The total current used by the track depends on the size of the track: the bigger the track the larger the current required.&amp;nbsp; The typical current drawn is 0.5A-1A. The glider on the underside of the Scalextric car is placed in one of the slots: the wire brushes on either side of the glider now rest on the two metallic strips adjacent to the slot. This now completes the circuit to the DC motor in the Scalextric car.&amp;nbsp; When the controller lever is now squeezed, the corresponding DC voltage is applied to the two metallic strips, and hence the DC motor, and so the Scalextric car moves forward. When the lever is released the DC voltage flow ends and so the car comes to a stop. The speed of the car is varied by increasing/decreasing the squeeze on the lever of the controller.&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="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;Analogue to Digital Converter&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;This is the conversion of an arbitrary analogue signal (in the range 0V-3.3V) into its digital equivalent. The ADC capability on the Gertboard is based upon two channels with a sampling rate of 72 samples per second with a maximum digital value of 1023 for an input single of 3.3V.&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;DHCP&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 Dynamic Host Configuration Protocol (DHP) is responsible for allocating an IP Address to a device from a DHCP Server (typically supported in the local wireless/broadband router that is also connected to the Internet). DHCP avoids having to allocate a device with a specific, unique, IP address.&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;Gertboard&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 Gertboard is an input/output extension board for the R-Pi. It fits onto the GPIO pins of the R-Pi via a socket on the back of the Gertboard. The Gertboard has a collection of functional blocks which can be connected together, using cable straps and jumpers, in a wide range of ways using header pins.&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;Gertboard Motor Controller&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;The Gertboard has a ROHM BD6222HFP motor controller. This is for brushed DC motors and can handle a maximum 18V and a maximum current of 2A. The speed of the motor is controlled using Pulse Width Modulation (PWM). More information is available in the &lt;a class="jive-link-external-small" href="http://www.element14.com/community/servlet/JiveServlet/previewBody/51727-102-3-267366/Gertboard_UM_final_with_schematics.pdf" style="font-size:12px;font-family:Verdana;color:#592d5f;" target="_blank"&gt;Gertboard User Manual&lt;/a&gt; (page 27).&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;GPIO&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 General Purpose Input/Output interface that is used to connect the Gertboard to the R-Pi. The GPIO can be driven in several ways depending on what is required and the nature of the software that is driving the interface. In the case of Python-based software the GPIO interface can be driven using the RPi.GPIO and WiringPi packages.&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;IP Address&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;This is the address for a device that enables it to access the Internet.&amp;nbsp; Every device that uses the standard Internet (assuming that it is based upon the Internet Protocol, IP) must have an IP Address that is in the form of &amp;#39;***.***.***.***&amp;#39; e.g. &amp;#39;192.68.2.1&amp;#39;.&amp;nbsp; This is typically allocated through the use of DHCP.&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;LED&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;Light Emitting Diode.&amp;nbsp; A set of 6 LEDs is used 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 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;Pulse Width Modulation (PWM)&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;This is the process by which the width of a square wave, or pulse, is used to modulate a voltage source. Although this modulation technique can be used to encode information for transmission, its main use is to allow the control of the power supplied to electrical devices, especially to inertial loads such as motors. PWM is used in this project to enable the R-Pi/Gertboard to replace the manual Scalextric Car Controller. More information is available on &lt;a class="jive-link-external-small" href="http://en.wikipedia.org/wiki/Pulse_width_modulation" rel="nofollow ugc noopener" target="_blank"&gt;Wikipedia&lt;/a&gt;.&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;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.&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;Scalextric Powerbase&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;This is the unit that provides the voltage to the Scalextric track. It takes a 12-20V DC input (this is usually supplied via the mains transformer that is supplied with a Scalextric Kit) and provides the connectors for the Car Controllers.&amp;nbsp; These controllers are used to vary the voltage actually applied to the track.&amp;nbsp; The controller contains a potentiometer that is varied by moving the lever in the handle.&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;Scalextric Racing &lt;br /&gt;(Slot Car Racing)&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;This is a low voltage model car racing game that uses a slotted track (hence the term slot car racing)&amp;nbsp; to guide the path of the cars. Races are typically between two cars but tracks for greater numbers are regularly used. Further information is available at &lt;a class="jive-link-external-small" href="http://www.scalextric.com/" rel="nofollow ugc noopener" target="_blank"&gt;Scalextric&lt;/a&gt; and &lt;a class="jive-link-external-small" href="http://en.wikipedia.org/wiki/Slot_car" rel="nofollow ugc noopener" target="_blank"&gt;Wikipedia&lt;/a&gt; websites.&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;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;Variable DC Power Supply&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;This is a DC voltage source in which the output voltage can be varied. This source is plugged into the mains and so is a convenient way to avoid using batteries. In this project this is used to supply the source voltage for the Scalextric track.&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;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;Web Server&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 Web Server is the software that is responsible for providing access to web pages i.e. pages written in HTML and accessed using HTTP. The R-Pi contains a Web Server. The corresponding web services are accessed by pointing a browser at the web-site using the appropriate combination of the IP Address and the specific directory/file names (this avoids having to register a domain name e.g. &amp;#39;www.element14.com&amp;#39; but still allows the R-Pi Web Server features to be used).&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;WiPi&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 device that can connect an R-Pi to a wireless network (using the IEEE 802.11 media access control protocol). The WiPi is inserted into the USB port of the R-Pi. A WiPi must be used for all R-Pi Model A devices otherwise access to the Internet will not be available.&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;Wireless Router&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;This is the router that provides the interconnection between the local wireless network and the broadband Internet access. It is the router that creates the wireless network to which all compatible user devices are connected.&lt;br /&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;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;"&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;28th April, 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: controller, raspberry_pi_projects, scalextric, gertboard&lt;/div&gt;
</description></item></channel></rss>