<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.52pi.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dre</id>
	<title>52Pi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.52pi.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dre"/>
	<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=Special:Contributions/Dre"/>
	<updated>2026-11-06T17:04:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.2</generator>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6468</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6468"/>
		<updated>2019-10-11T09:22:24Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* How to setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please install the battery first, then connect the UPS to the Raspberry Pi.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot:&#039;&#039;&#039;UPS will start when the button is pressed&#039;&#039;&#039;&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
*1.First install the battery into the UPS board.&lt;br /&gt;
*2.Connect the UPS board to the Raspberry Pi.&lt;br /&gt;
*3.Tighten the screws.&lt;br /&gt;
*4.Finished!&lt;br /&gt;
&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
* Q: What happens if I use a battery that is not of good quality?&lt;br /&gt;
  A: The battery may explode.We recommend you using a high quality battery.&lt;br /&gt;
* Q: It will be hot when using the battery. Is this normal?&lt;br /&gt;
  A: Not only when it is used, it will heat up when it is charged,but the temperature couldn&#039;t too high.Temperature cannot exceed 60 degrees Celsius.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6467</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6467"/>
		<updated>2019-10-10T09:07:16Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please install the battery first, then connect the UPS to the Raspberry Pi.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot:&#039;&#039;&#039;UPS will start when the button is pressed&#039;&#039;&#039;&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
* Q: What happens if I use a battery that is not of good quality?&lt;br /&gt;
  A: The battery may explode.We recommend you using a high quality battery.&lt;br /&gt;
* Q: It will be hot when using the battery. Is this normal?&lt;br /&gt;
  A: Not only when it is used, it will heat up when it is charged,but the temperature couldn&#039;t too high.Temperature cannot exceed 60 degrees Celsius.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6466</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6466"/>
		<updated>2019-10-10T09:06:38Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please install the battery first, then connect the UPS to the Raspberry Pi.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot:&#039;&#039;&#039;UPS will start when the button is pressed&#039;&#039;&#039;&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
* Q: What happens if I use a battery that is not of good quality?&lt;br /&gt;
  A: The battery may explode.We recommend you using a high quality battery.&lt;br /&gt;
* Q: It will be hot when using the battery. Is this normal?&lt;br /&gt;
  A: Not only when it is used, it will heat up when it is charged,but the temperature couldn&#039;t too high.Temperature cannot exceed 60 degrees Celsius.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6465</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6465"/>
		<updated>2019-10-10T09:05:26Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please install the battery first, then connect the UPS to the Raspberry Pi.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot:&#039;&#039;&#039;UPS will start when the button is pressed&#039;&#039;&#039;&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
* Q: What happens if I use a battery that is not of good quality?&lt;br /&gt;
  A: The battery may explode.We recommend you using a high quality battery.&lt;br /&gt;
* Q: It will be hot when using the battery. Is this normal?&lt;br /&gt;
  A: Not only when it is used, it will heat up when it is charged,but the temperature couldn&#039;t too high.Temperature cannot exceed 60 degrees Celsius.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6464</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6464"/>
		<updated>2019-10-10T02:38:13Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot:&#039;&#039;&#039;UPS will start when the button is pressed&#039;&#039;&#039;&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
* Q: What happens if I use a battery that is not of good quality?&lt;br /&gt;
  A: The battery may explode.We recommend you using a high quality battery.&lt;br /&gt;
* Q: It will be hot when using the battery. Is this normal?&lt;br /&gt;
  A: Not only when it is used, it will heat up when it is charged,but the temperature couldn&#039;t too high.Temperature cannot exceed 60 degrees Celsius.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6463</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6463"/>
		<updated>2019-10-10T02:37:02Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot:&#039;&#039;&#039;UPS will start when the button is pressed&#039;&#039;&#039;&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
* Q: What happens if I use a battery that is not of good quality?&lt;br /&gt;
  A: The battery may explode.We recommend you using a high quality battery.&lt;br /&gt;
* Q: It will be hot when using the battery. Is this normal?&lt;br /&gt;
  A: Yes,but the temperature couldn&#039;t too high.Temperature cannot exceed 60 degrees Celsius.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6462</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6462"/>
		<updated>2019-10-10T02:35:29Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
* Q: What happens if I use a battery that is not of good quality?&lt;br /&gt;
  A: The battery may explode.We recommend you using a high quality battery.&lt;br /&gt;
* Q: It will be hot when using the battery. Is this normal?&lt;br /&gt;
  A: Yes,but the temperature couldn&#039;t too high.Temperature cannot exceed 60 degrees Celsius.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=Z-0051&amp;diff=6461</id>
		<title>Z-0051</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=Z-0051&amp;diff=6461"/>
		<updated>2019-10-10T02:26:26Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Raspberry Pi 7 inch HDMI HD LCD Screen 1024 * 600 Display Module Kit=&lt;br /&gt;
==Description==&lt;br /&gt;
*Note: The LCD screen without HDMI or VGA cable, un-touch screen version doesn&#039;t need drivers. &lt;br /&gt;
[[File:7cun.jpg|thumb|left|600px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; &amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Attention&amp;lt;/font&amp;gt;&#039;&#039;&#039;：The following picture shows the latest version of 7-inch-1024x600 Display kit, it has new blue color on board.&lt;br /&gt;
[[File:Screen1.jpg|thumb|none|620px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; &amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Compatibility List==&lt;br /&gt;
* Compatibility&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Platform !! Screen and driver board !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 4 Model B  || √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model A Plus|| √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B Plus|| √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 2 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
| windows 7/8/10 ||√ ||&lt;br /&gt;
|-&lt;br /&gt;
| Mac  || √||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Feature:==&lt;br /&gt;
*Operating voltage: 5V(current requirement 1A-2A)-12V&lt;br /&gt;
*Rated power: 6-7W[[File:Screen2.jpg|thumb|right|200px]]&lt;br /&gt;
*Signal input:  AV + VGA + HDMI (HDMI 1.2)&lt;br /&gt;
*Support 5V DC voltage input, you can use USB, or power bank, but the positive and negative can not be reversed, to avoid damage the circuit board&lt;br /&gt;
*Resolution: 1024 * 600, [[File:Screen3.jpg|thumb|right|200px]]&lt;br /&gt;
*Plug and Play: Support&lt;br /&gt;
*OSD language: Simplified Chinese, Traditional Chinese, English, Japanese, Korean, Spanish, French, German, Italian, Portuguese&lt;br /&gt;
*Control: Multi-function OSD operation or potentiometer adjust the brightness and color&lt;br /&gt;
*Features: Using mature program, clear display&lt;br /&gt;
*Support image flip up and down, the image can conversion 4: 3 / 16: 9 display format&lt;br /&gt;
[[File:Screen4.jpg|thumb|right|200px]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==LCD screen parameters:==&lt;br /&gt;
&lt;br /&gt;
*Display size: 7 inch&lt;br /&gt;
*Touch screen: Not support&lt;br /&gt;
*Dimensions: 165 (W) × 100 (H) × 5 (D) mm&lt;br /&gt;
*Viewing area: 154.08 (H) × 85.92 (V)&lt;br /&gt;
*Resolution: 1024 × 3 (RGB) ×600&lt;br /&gt;
*Point distance: 0.05 (W) × 0.15 (H) mm&lt;br /&gt;
*Viewing angle: L70 ° R70 ° U50 ° D60&lt;br /&gt;
*Panel type: TFT&lt;br /&gt;
*Display color: 262K&lt;br /&gt;
*Contrast ratio: 500: 1&lt;br /&gt;
*Brightness: 220cd / m2&lt;br /&gt;
*Interface type: Digital&lt;br /&gt;
*The number of connection: 50 PIN Digital (TTL) TCON&lt;br /&gt;
*Backlight: LED&lt;br /&gt;
*Applications: mobile DVD, digital photo frame, car systems, multimedia applications and other audiovisual systems&lt;br /&gt;
----&lt;br /&gt;
==Package includes:==&lt;br /&gt;
&lt;br /&gt;
*1 x 7-inch LCD screen&lt;br /&gt;
*1 x LCD Driver board&lt;br /&gt;
*1 x White cable (connected to the key board)&lt;br /&gt;
*1 x Long green key board&lt;br /&gt;
*1 x USB to DC5.5 power line&lt;br /&gt;
----&lt;br /&gt;
==Documents==&lt;br /&gt;
*How to wire up: &lt;br /&gt;
[[File:Screen6.jpg|thumb|left|200px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; &amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Raspberry Pi Configure==&lt;br /&gt;
*How to setup resolution for the screen:&lt;br /&gt;
**You can modify /boot/config.txt file with vim.tiny or nano editor, and change the parameters as following chart:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Resolution!! config file &lt;br /&gt;
|-&lt;br /&gt;
|1024x600|| &lt;br /&gt;
hdmi_group=2  &amp;lt;br&amp;gt;&lt;br /&gt;
hdmi_mode=87 &amp;lt;br&amp;gt;&lt;br /&gt;
hdmi_cvt 1024 600 60 3 0 0 0 &amp;lt;br&amp;gt;&lt;br /&gt;
hdmi_force_hotplug=1&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;font color=red&amp;gt;Please reboot Raspberry Pi after modifying the /boot/config.txt &amp;lt;/font&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==How to setup Resolution Automatically==&lt;br /&gt;
There is a easy way to setup resolution of your screen by a shell script, you can download the scripts by git tool and use it to change resolution for your screens as following steps:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/geeekpi/lcd-config.git &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~/lcd-config &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;sudo  chmod +x resolution_tool.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;sudo bash resolution_tool.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
and then follow the step to chose the screen type that you have, and it will automatically setup the resolution for you.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Screen Dimension==&lt;br /&gt;
[[File:TP Dimension.jpg|left|600px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
==Video Driver Board Mechanical Drawing==&lt;br /&gt;
[[File:Outlinedrawing 7 1 1 1.jpg|left | 600px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: How can I use this screen in my car ?&lt;br /&gt;
  A: Sorry, we do not recommend you put this screen in your car, it may distract your attention when you driving your car. &lt;br /&gt;
&lt;br /&gt;
* Q: Which wire cable can i use?&lt;br /&gt;
  A: This screen&#039;s driver board can offer both VGA and HDMI cables for output.&lt;br /&gt;
&lt;br /&gt;
* Q: Does it have 12v sense input to switch to AV1&lt;br /&gt;
  A: No, If you switch to AV1, the next time you starting the channel is AV1&lt;br /&gt;
&lt;br /&gt;
* Q: If my screen dosen&#039;t work anymore,how could i do for it?&lt;br /&gt;
  A: Please try another MicroUSB cable which supports data transfer.And the extra power cable also needs to  connect.If it still doesn&#039;t work,you need to check if the FPC cable is not fitted tightly, then reconnect the screen to your device.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0072&amp;diff=6460</id>
		<title>EP-0072</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0072&amp;diff=6460"/>
		<updated>2019-10-10T02:18:58Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==&#039;&#039;&#039;5 Inch 800 x 480 HDMI TFT LCD Touch Screen for Raspberry Pi&#039;&#039;&#039;==&lt;br /&gt;
===Description===&lt;br /&gt;
 [[File:A01.jpg|thumb|right|200px]]&lt;br /&gt;
This 5 inch HDMI TFT LCD touch screen is especially designed for Raspberry Pi. We have updated the Image and User Manual for the Latest Raspberry Pi 3.You can download the image to use this screen directly or follow the steps to configure your own system. Check out the User Manual for more details.&lt;br /&gt;
----&lt;br /&gt;
==Compatibility List==&lt;br /&gt;
* Compatibility&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Platform !!Version 2.02 !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B Plus|| √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 2 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Features:===&lt;br /&gt;
----&lt;br /&gt;
[[File:A02.jpg|thumb|right|200px]]&lt;br /&gt;
*800×480 resolution(HD)&lt;br /&gt;
*Support touch control&lt;br /&gt;
*Compatible with all models of Raspberry Pi&lt;br /&gt;
*Can Be plugged directly into any version of Raspberry Pi except for first generation Pi Model B which requires an HDMI cable&lt;br /&gt;
*User Manual and official Raspberry Pi drive available.&lt;br /&gt;
[[File:A03.jpg|thumb|right|200px]]&lt;br /&gt;
*Support any Raspberry Pi Image, Ubuntu, Linux Mint, Win 10 IOT and other systems.&lt;br /&gt;
*Universal HDMI display is not limited to raspberry pi (with resolution configuration When you use this screen for display function only, it does not occupy any I/O. When you use the touch function, it takes some I/O.&lt;br /&gt;
* NOTE:  It&#039;s Raspberry Pi Only.&lt;br /&gt;
[[File:A04.jpg|thumb|right|200px]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Parameters:===&lt;br /&gt;
&lt;br /&gt;
*Power: 5V Power via GPIO from Raspberry pi&lt;br /&gt;
*Display Type: 5 inch TFT LCD&lt;br /&gt;
*Resolution: 800x480&lt;br /&gt;
*Touchscreen: SPI Via Raspberry pi&lt;br /&gt;
*Dimensions: 120mm x 74mm x 7mm&lt;br /&gt;
*Net Weight without package: 125g&lt;br /&gt;
*Weight with package: 145g&lt;br /&gt;
----&lt;br /&gt;
===Package Includes:===&lt;br /&gt;
*1x 5 inch HDMI LCD&lt;br /&gt;
*1x HDMI Connector&lt;br /&gt;
*1x Touch Pen&lt;br /&gt;
*1x RPi Screws Pack (4pcs)&lt;br /&gt;
----&lt;br /&gt;
===Mechanical Drawing===&lt;br /&gt;
[[File:A11.jpg|left|300px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
some makers like to build funny things, something like make a retroPie game box or make it as XBMC, MiniPC and so on...&lt;br /&gt;
{|-&lt;br /&gt;
| [[File:A05.jpg|thumb|left|150px]]&lt;br /&gt;
| [[File:A06.jpg|thumb|none|150px]]&lt;br /&gt;
| [[File:A07.jpg|thumb|none|150px]]&lt;br /&gt;
| [[File:A08.jpg|thumb|none|150px]]&lt;br /&gt;
|}&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Documents===&lt;br /&gt;
&amp;lt;font color=red&amp;gt;Download Readme :  [[File:5inch Touch Screen Readme.pdf ]]&amp;lt;br&amp;gt;&lt;br /&gt;
Download User Manual: [[File:5 inch (with TS) 800x480 Resolution Setting Tutorial.pdf]]&amp;lt;br&amp;gt;&lt;br /&gt;
Download User Manual: [[File:Touch Screen Calibration Tutorial.pdf]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
*How to wire up:  &lt;br /&gt;
** 1.Connect Raspberry Pi mainboard to the screen on GPIO pins, please align to HDMI port.&lt;br /&gt;
** 2.Connect Raspberry Pi and screen with HDMI converter, as following picture:&lt;br /&gt;
** [[File:A09.jpg|thumb|left|300px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;font color=red&amp;gt;Raspberry Pi must be connected to internet so that the calibration software can be download, Please refer to the document which our wiki provided.&amp;lt;/font&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==How to adjust resolution of the screen==&lt;br /&gt;
*5 inch (with TS) screen Resolution Setting Tutorial&lt;br /&gt;
**How to set resolution in Raspberry Pi?&lt;br /&gt;
***1.	Download Raspbian image and burn your TF card by win32_disk_imager or other tools.&lt;br /&gt;
***[Raspbian Image Download Link| https://www.raspberrypi.org/downloads/raspbian/ ]&lt;br /&gt;
***2.	Login to your Raspberry Pi and edit /boot/config.txt file, make sure it has following parameters:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
framebuffer_width=800&lt;br /&gt;
framebuffer_height=480&lt;br /&gt;
hdmi_force_hotplug=1&lt;br /&gt;
hdmi_group=2&lt;br /&gt;
hdmi_mode=87&lt;br /&gt;
hdmi_edid_file=1&lt;br /&gt;
hdmi_cvt  800  480  60  6  0  0  0 &lt;br /&gt;
dtoverlay=ads7846,penirq=22,speed=100000,xohms=150&lt;br /&gt;
dtparam=spi=on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PS: Please change “device_tree” type according to your Raspberry Pi’s version as following list:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Device Tree Type !! !! Product Model &lt;br /&gt;
|-&lt;br /&gt;
|bcm2708-rpi-b-plus.dtb|| →  || Raspberry Pi B+&lt;br /&gt;
|-&lt;br /&gt;
|bcm2708-rpi-b.dtb|| → ||Raspberry Pi B&lt;br /&gt;
|-   &lt;br /&gt;
|bcm2709-rpi-2-b.dtb|| →|| Raspberry Pi 2 mode B&lt;br /&gt;
|-&lt;br /&gt;
|bcm2710-rpi-3-b.dtb||→ || Raspberry Pi 3 mode B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
**3.  Download this edid.dat file and unzip it, and then upload it to /boot/ folder.&lt;br /&gt;
&amp;lt;font color=red&amp;gt; Very Important&amp;lt;/font&amp;gt;: [Download edid.dat file |http://wiki.52pi.com/images/a/af/Edid.dat.zip] &amp;lt;br&amp;gt;&lt;br /&gt;
*For example: &lt;br /&gt;
The su command is used to become another user during a login session.&amp;lt;br&amp;gt; &lt;br /&gt;
Invoked without a username, su defaults to becoming the superuser. &amp;lt;br&amp;gt;&lt;br /&gt;
The optional argument - may be used to provide an environment similar to what the user would expect had the user logged in directly.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su - &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
And please just input your Pi user&#039;s password and press enter.&lt;br /&gt;
* Download edid.dat.zip file.&lt;br /&gt;
&amp;lt;code&amp;gt;wget http://wiki.52pi.com/images/a/af/Edid.dat.zip &amp;lt;/code&amp;gt;&lt;br /&gt;
*unzip it and move it to /boot folder&lt;br /&gt;
&amp;lt;code&amp;gt; unzip  Edid.dat.zip&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; sudo mv edid.dat  /boot &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==How to setup Resolution Automatically(New)==&lt;br /&gt;
There is a easy way to setup resolution of your screen by a shell script, you can download the scripts by git tool and use it to change resolution for your screens as following steps:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/geeekpi/lcd-config.git &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~/lcd-config/ &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; chmod +x resolution_tool.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; sudo  bash resolution_tool.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
and then follow the step to chose the screen type that you have, and it will automatically setup the resolution for you.&amp;lt;br&amp;gt;&lt;br /&gt;
Reboot your Raspberry Pi and have fun.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==How to calibrate Touch Screen Automatically(NEW)==&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/geeekpi/lcd-config.git &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~/lcd-config/ &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; sudo chmod +x calibration_tool.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; sudo bash calibration_tool.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
and then follow the step to chose the screen type that you have, and it will automatically setup the resolution for you.&amp;lt;br&amp;gt;&lt;br /&gt;
Reboot your Raspberry Pi and have fun.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
*2 After rebooting, open a terminal and typing this command :&lt;br /&gt;
&amp;lt;code&amp;gt; DISPLAY=:0.0  xinput_calibrator &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Press the cross sign on the screen，it will calculate the position parameters and it will display on your screen.&amp;lt;br&amp;gt;&lt;br /&gt;
DO REMEMBER to copy and paste it into a file under /etc/X11/xorg.conf.d/99-calibration.conf file and reboot your  system.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
If you do not want to setup and configure the config.txt file, you can just download the image and burned it into your TF card, then insert it into your Pi and boot it up.&lt;br /&gt;
*Image File Download:&lt;br /&gt;
https://www.dropbox.com/s/43mnj057kmcybyu/PI-HDMI5B-tester-Build-201650331-Raspbian-GNOME.7z?dl=0&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Related Video Tutorial===&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
{|-&lt;br /&gt;
|How to assemble Acrylic case with cooling fan: || [video|http://wiki.52pi.com/index.php/How_to_assemble_Acrylic_case_with_cooling_fan]&lt;br /&gt;
|-&lt;br /&gt;
|How to install heat sink on Raspberry Pi: ||[video|http://wiki.52pi.com/index.php/How_to_install_heat_sink_on_Raspberry_Pi]&lt;br /&gt;
|-&lt;br /&gt;
|How to setup the Resolution &amp;amp; how to calibrate touch screen: ||[video|http://wiki.52pi.com/index.php/How_to_Calibrate_your_touch_screen#How_to_calibrate_touch_screen_on_Raspberry_Pi]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==3D Print File==&lt;br /&gt;
* You can make an OctoPi control center by making a 3D printed case for your raspberry Pi. please download from this&lt;br /&gt;
link below:&lt;br /&gt;
[[File:Thing.jpg|thumb|left|200px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
(http://www.thingiverse.com/thing:1712906) &lt;br /&gt;
----&lt;br /&gt;
===FAQ===&lt;br /&gt;
* Q: Can this be plugged straight into a graphics card?&lt;br /&gt;
  A: No.&lt;br /&gt;
&lt;br /&gt;
* Q: Would the display work as a pure monitor over hdmi?&lt;br /&gt;
  A: Yes，it will be a nice monitor via HDMI and you can also enable the touch screen.&lt;br /&gt;
&lt;br /&gt;
* Q: I would like to know how can I change the brightness and contrast?&lt;br /&gt;
  A: I&#039;m so sorry about that, you can not change the brightness and contrast.&lt;br /&gt;
&lt;br /&gt;
* Q: There is a blank space on the right side of the screen, is that broken ?  &lt;br /&gt;
[[File:Blankscreen.jpg|thumb|left|300px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
  A:Please try to setup your resolution and try again.&lt;br /&gt;
&lt;br /&gt;
* Q:  why dose it appear  white screen when i power up my Raspberry Pi ? &lt;br /&gt;
  A:  Please check FPC cable and make sure your power supply can provide 5v-2.5A output, and we strongly advise that you should use the high quality HDMI wire cable(original version).&lt;br /&gt;
&lt;br /&gt;
* Q:  how to setup the resolution of my screen? &lt;br /&gt;
  A:   just follow the PDF file and edit  the /boot/config.txt file and reboot your system.&lt;br /&gt;
----&lt;br /&gt;
* Q:  The Pi works fine plugged into a big screen TV, and it worked for a short time when connect to the 5 inch screen, then it quit and won&#039;t light up at all. Completely dead screen. But still works with TV.&lt;br /&gt;
  A:  Please check the HDMI converter is plugged in, and make sure the power supply is 5v-2.5A, if it&#039;s still out of work, please reset the resolution by edit /boot/config.txt in HDMI_mode parameter. &lt;br /&gt;
***Reference:   You can edit /boot/config.txt  file and modify the value of mode ，for example: “hdmi_mode=16” .&lt;br /&gt;
For example ：640x480 60Hz, means  “hdmi_mode=4”&lt;br /&gt;
here is a list about mode number and resolution: &lt;br /&gt;
***These values are valid if hdmi_group=2 (DMT)&lt;br /&gt;
****hdmi_mode=1 640x350 85Hz&lt;br /&gt;
****hdmi_mode=2 640x400 85Hz&lt;br /&gt;
****hdmi_mode=3 720x400 85Hz&lt;br /&gt;
****hdmi_mode=4 640x480 60Hz&lt;br /&gt;
****hdmi_mode=5 640x480 72Hz&lt;br /&gt;
****hdmi_mode=6 640x480 75Hz&lt;br /&gt;
****hdmi_mode=7 640x480 85Hz&lt;br /&gt;
****hdmi_mode=8 800x600 56Hz&lt;br /&gt;
****hdmi_mode=9 800x600 60Hz&lt;br /&gt;
****hdmi_mode=10 800x600 72Hz&lt;br /&gt;
****hdmi_mode=11 800x600 75Hz&lt;br /&gt;
****hdmi_mode=12 800x600 85Hz&lt;br /&gt;
****hdmi_mode=13 800x600 120Hz&lt;br /&gt;
****hdmi_mode=14 848x480 60Hz&lt;br /&gt;
****hdmi_mode=15 1024x768 43Hz DO NOT USE&lt;br /&gt;
****hdmi_mode=16 1024x768 60Hz&lt;br /&gt;
****hdmi_mode=17 1024x768 70Hz&lt;br /&gt;
****hdmi_mode=18 1024x768 75Hz&lt;br /&gt;
****hdmi_mode=19 1024x768 85Hz&lt;br /&gt;
****hdmi_mode=20 1024x768 120Hz&lt;br /&gt;
****hdmi_mode=21 1152x864 75Hz&lt;br /&gt;
****hdmi_mode=22 1280x768 reduced blanking&lt;br /&gt;
****hdmi_mode=23 1280x768 60Hz&lt;br /&gt;
****hdmi_mode=24 1280x768 75Hz&lt;br /&gt;
****hdmi_mode=25 1280x768 85Hz&lt;br /&gt;
****hdmi_mode=26 1280x768 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=27 1280x800 reduced blanking&lt;br /&gt;
****hdmi_mode=28 1280x800 60Hz&lt;br /&gt;
****hdmi_mode=29 1280x800 75Hz&lt;br /&gt;
****hdmi_mode=30 1280x800 85Hz&lt;br /&gt;
****hdmi_mode=31 1280x800 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=32 1280x960 60Hz&lt;br /&gt;
****hdmi_mode=33 1280x960 85Hz&lt;br /&gt;
****hdmi_mode=34 1280x960 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=35 1280x1024 60Hz&lt;br /&gt;
****hdmi_mode=36 1280x1024 75Hz&lt;br /&gt;
****hdmi_mode=37 1280x1024 85Hz&lt;br /&gt;
****hdmi_mode=38 1280x1024 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=39 1360x768 60Hz&lt;br /&gt;
****hdmi_mode=40 1360x768 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=41 1400x1050 reduced blanking&lt;br /&gt;
****hdmi_mode=42 1400x1050 60Hz&lt;br /&gt;
****hdmi_mode=43 1400x1050 75Hz&lt;br /&gt;
****hdmi_mode=44 1400x1050 85Hz&lt;br /&gt;
****hdmi_mode=45 1400x1050 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=46 1440x900 reduced blanking&lt;br /&gt;
****hdmi_mode=47 1440x900 60Hz&lt;br /&gt;
****hdmi_mode=48 1440x900 75Hz&lt;br /&gt;
****hdmi_mode=49 1440x900 85Hz&lt;br /&gt;
****hdmi_mode=50 1440x900 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=51 1600x1200 60Hz&lt;br /&gt;
****hdmi_mode=52 1600x1200 65Hz&lt;br /&gt;
****hdmi_mode=53 1600x1200 70Hz&lt;br /&gt;
****hdmi_mode=54 1600x1200 75Hz&lt;br /&gt;
****hdmi_mode=55 1600x1200 85Hz&lt;br /&gt;
****hdmi_mode=56 1600x1200 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=57 1680x1050 reduced blanking&lt;br /&gt;
****hdmi_mode=58 1680x1050 60Hz&lt;br /&gt;
****hdmi_mode=59 1680x1050 75Hz&lt;br /&gt;
****hdmi_mode=60 1680x1050 85Hz&lt;br /&gt;
****hdmi_mode=61 1680x1050 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=62 1792x1344 60Hz&lt;br /&gt;
****hdmi_mode=63 1792x1344 75Hz&lt;br /&gt;
****hdmi_mode=64 1792x1344 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=65 1856x1392 60Hz&lt;br /&gt;
****hdmi_mode=66 1856x1392 75Hz&lt;br /&gt;
****hdmi_mode=67 1856x1392 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=68 1920x1200 reduced blanking&lt;br /&gt;
****hdmi_mode=69 1920x1200 60Hz&lt;br /&gt;
****hdmi_mode=70 1920x1200 75Hz&lt;br /&gt;
****hdmi_mode=71 1920x1200 85Hz&lt;br /&gt;
****hdmi_mode=72 1920x1200 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=73 1920x1440 60Hz&lt;br /&gt;
****hdmi_mode=74 1920x1440 75Hz&lt;br /&gt;
****hdmi_mode=75 1920x1440 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=76 2560x1600 reduced blanking&lt;br /&gt;
****hdmi_mode=77 2560x1600 60Hz&lt;br /&gt;
****hdmi_mode=78 2560x1600 75Hz&lt;br /&gt;
****hdmi_mode=79 2560x1600 85Hz&lt;br /&gt;
****hdmi_mode=80 2560x1600 120Hz reduced blanking&lt;br /&gt;
****hdmi_mode=81 1366x768 60Hz&lt;br /&gt;
****hdmi_mode=82 1080p 60Hz&lt;br /&gt;
****hdmi_mode=83 1600x900 reduced blanking&lt;br /&gt;
****hdmi_mode=84 2048x1152 reduced blanking&lt;br /&gt;
****hdmi_mode=85 720p 60Hz&lt;br /&gt;
****hdmi_mode=86 1366x768 reduced blanking&lt;br /&gt;
&lt;br /&gt;
***Remember reboot your system after modified  /boot/config.txt file.&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6459</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6459"/>
		<updated>2019-10-10T02:16:27Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;If Raspberry Pi is equipped with GPIO display drivers,the HDMI port will have no signal output&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If Raspberry Pi is equipped with GPIO display drivers such as MPI2411, MPI2418, MPI2801, MPI3201, MPI3501, etc., the HDMI port will have no signal output&lt;br /&gt;
*If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD-hdmi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd LCD-show/&lt;br /&gt;
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;br /&gt;
* Q: Why is there no output on my HDMI interface?&lt;br /&gt;
  A: If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
     &amp;lt;code&amp;gt;cd LCD-show/&amp;lt;code&amp;gt;&lt;br /&gt;
     &amp;lt;code&amp;gt;sudo ./LCD-hdmi&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6458</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6458"/>
		<updated>2019-10-10T02:16:05Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;If Raspberry Pi is equipped with GPIO display drivers,the HDMI port will have no signal output&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If Raspberry Pi is equipped with GPIO display drivers such as MPI2411, MPI2418, MPI2801, MPI3201, MPI3501, etc., the HDMI port will have no signal output&lt;br /&gt;
*If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD-hdmi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd LCD-show/&lt;br /&gt;
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;br /&gt;
* Q: Why is there no output on my HDMI interface?&lt;br /&gt;
  A: If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
     &amp;lt;code&amp;gt;cd LCD-show/&amp;lt;code&amp;gt;&lt;br /&gt;
     &amp;lt;code&amp;gt;sudo ./LCD-hdmi&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6457</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6457"/>
		<updated>2019-10-10T02:15:01Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Install LCD driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*If Raspberry Pi is equipped with GPIO display drivers such as MPI2411, MPI2418, MPI2801, MPI3201, MPI3501, etc., the HDMI port will have no signal output&lt;br /&gt;
*If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD-hdmi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd LCD-show/&lt;br /&gt;
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;br /&gt;
* Q: Why is there no output on my HDMI interface?&lt;br /&gt;
  A: If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
     &amp;lt;code&amp;gt;cd LCD-show/&amp;lt;code&amp;gt;&lt;br /&gt;
     &amp;lt;code&amp;gt;sudo ./LCD-hdmi&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6456</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6456"/>
		<updated>2019-10-10T02:14:32Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Install LCD driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&lt;br /&gt;
If Raspberry Pi is equipped with GPIO display drivers such as MPI2411, MPI2418, MPI2801, MPI3201, MPI3501, etc., the HDMI port will have no signal output&lt;br /&gt;
If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD-hdmi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd LCD-show/&lt;br /&gt;
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;br /&gt;
* Q: Why is there no output on my HDMI interface?&lt;br /&gt;
  A: If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
     &amp;lt;code&amp;gt;cd LCD-show/&amp;lt;code&amp;gt;&lt;br /&gt;
     &amp;lt;code&amp;gt;sudo ./LCD-hdmi&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6455</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6455"/>
		<updated>2019-10-10T02:14:21Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Install LCD driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
If Raspberry Pi is equipped with GPIO display drivers such as MPI2411, MPI2418, MPI2801, MPI3201, MPI3501, etc., the HDMI port will have no signal output&lt;br /&gt;
If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD-hdmi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd LCD-show/&lt;br /&gt;
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;br /&gt;
* Q: Why is there no output on my HDMI interface?&lt;br /&gt;
  A: If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
     &amp;lt;code&amp;gt;cd LCD-show/&amp;lt;code&amp;gt;&lt;br /&gt;
     &amp;lt;code&amp;gt;sudo ./LCD-hdmi&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6454</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6454"/>
		<updated>2019-10-09T09:11:28Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B/3B+/3B&lt;br /&gt;
&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0100&amp;diff=6453</id>
		<title>EP-0100</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0100&amp;diff=6453"/>
		<updated>2019-10-09T09:04:39Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry Pi 3B/3B Plus==&lt;br /&gt;
[[File:EP-0100 04.jpg|right |300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is an uninterruptible power supply for the Raspberry Pi. &amp;lt;br&amp;gt;&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving, &amp;lt;br&amp;gt;&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&amp;lt;br&amp;gt;&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&amp;lt;br&amp;gt;&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&amp;lt;br&amp;gt;&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&amp;lt;br&amp;gt;&lt;br /&gt;
You can directly connect to the external power supply for charging. &amp;lt;br&amp;gt;&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Features==&lt;br /&gt;
[[File:EP-0100 02.jpg|right|300px]]&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 3B/3B+&lt;br /&gt;
* 4.85v/1.7A ≈ 8.25W output capability&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Thimble output, to avoid occupying GPIO-&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* 2.4A synchronous boost conversion, 2.1A synchronous switch charging&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Charging voltage accuracy: ±0.5%&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Standby power consumption is less than 100 μA&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
* ESD 4KV, instantaneous withstand voltage 12V&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:EP-0100 04.jpg|left | 600px]]&lt;br /&gt;
|[[File:EP-0100 02.jpg|right| 600px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:EP-0100 Mech Drawing.jpg|500px|left]]&lt;br /&gt;
|[[File:EP-0100 mach drawing2.png|none|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
* 1. Insert 18650 Batteries and Do not mistake the battery polarity, otherwise it will directly burn the UPS equipment.&lt;br /&gt;
* 2. Fixed the UPS and Acrylic shield  with Long copper sticks.&lt;br /&gt;
* 3. Fixed Raspberry Pi 3B/3B Plus and UPS  via short copper sticks.&lt;br /&gt;
* 4. Fixed to Raspberry Pi via M2.5 nuts &amp;amp; screws.&lt;br /&gt;
* 5. Makesure UPS against to Raspberry Pi 5V and GND pins.&lt;br /&gt;
* 6. Press the Power button, it will turn on the UPS and Raspberry Pi. &lt;br /&gt;
&amp;lt;Pre&amp;gt; Note: Hold the Power button for several second will turn off the UPS.&amp;lt;/pre&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:EP-0100 07.jpg|800px|left]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package include==&lt;br /&gt;
* 1* UPS for Raspberry Pi 3B/3B Plus &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: My device is switching off the power to the Pi after 5-10 seconds after I had pressed the power button, I was thinking it should stay on until I power off the unit.What to do?&lt;br /&gt;
  A: It likes a power switch when you press it for several seconds, if you just press once it will not turn off your power unless the battery is dead.&lt;br /&gt;
* Q: Why my wi-fi lost frequntly by using UPS?&lt;br /&gt;
  A: That may caused by your battery is lack of power, need to be charged immediately.&lt;br /&gt;
* Q: Why my touch screen did not work preporly with UPS?  &lt;br /&gt;
  A: Please change the batteries.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6452</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6452"/>
		<updated>2019-10-09T09:02:35Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
It provides enough power for the Raspberry Pi to make your Raspberry Pi still work while moving,&lt;br /&gt;
and its design is so smart that you can get rid of troubled of a mass wire.&lt;br /&gt;
This UPS can provide you with the operation of replacing the battery yourself.&lt;br /&gt;
It can use most of the 18650 standard batteries and fully comply with the battery characteristics in terms of battery life.&lt;br /&gt;
In addition, the power display provided on the circuit board is also very user-friendly.&lt;br /&gt;
The illuminated LED light can quickly show the remain power and support the discharging while charging.&lt;br /&gt;
You can directly connect to the external power supply for charging.&lt;br /&gt;
At the same time, the Raspberry Pi will not be turned off.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* 5v/4A = 20W output capability&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6451</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6451"/>
		<updated>2019-10-09T09:01:34Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Caution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery!&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* 5v/4A = 20W output capability&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6450</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6450"/>
		<updated>2019-10-09T09:01:16Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Caution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Please do not reverse the battery&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* 5v/4A = 20W output capability&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6449</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6449"/>
		<updated>2019-10-09T09:00:10Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Gallery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* 5v/4A = 20W output capability&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6448</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6448"/>
		<updated>2019-10-09T09:00:02Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Package includes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* 5v/4A = 20W output capability&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6447</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6447"/>
		<updated>2019-10-09T08:58:46Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* 5v/4A = 20W output capability&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6446</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6446"/>
		<updated>2019-10-09T08:58:12Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
This is a new version of UPS Board.It not only supports Raspberry Pi 4B but also adds type C output.&lt;br /&gt;
&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6445</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6445"/>
		<updated>2019-10-09T08:53:45Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* LED light status definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
* Discharge Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| C &amp;gt;= 75% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75%	||   ON ||  ON  ||   ON   ||   OFF   &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt;50% ||  ON  ||  ON  ||    OFF  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 3% &amp;lt;= C &amp;lt; 25% ||   ON || OFF  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
| 0% &amp;lt;= C &amp;lt; 3% ||   1.5Hz Blink ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Charging Status &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Power C(%) !! LED1 !! LED2 !! LED3 !! LED4&lt;br /&gt;
|-&lt;br /&gt;
| 100% ||  ON   || ON   ||   ON   ||  ON     &lt;br /&gt;
|-&lt;br /&gt;
| 75% &amp;lt;= C||   ON ||  ON  ||   ON   ||   1.5Hz Blink&lt;br /&gt;
|-&lt;br /&gt;
| 50% &amp;lt;= C &amp;lt;75% ||  ON  ||  ON  ||     1.5Hz Blink  ||   OFF    &lt;br /&gt;
|-&lt;br /&gt;
| 25% &amp;lt;= C &amp;lt; 50% ||   ON || 1.5Hz Blink  ||   OFF  ||   OFF  &lt;br /&gt;
|-&lt;br /&gt;
|  C &amp;lt; 25% ||   1.5Hz Shining ||  OFF  ||    OFF  ||   OFF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6444</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6444"/>
		<updated>2019-10-09T08:52:31Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Package includes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
* 1* UPS for Raspberry Pi 4B/3B+/3B &lt;br /&gt;
* 4* M2.5*  copper stick &lt;br /&gt;
* 4* M2.5  screws&lt;br /&gt;
* 4* M2.5*  long copper stick&lt;br /&gt;
* 4* M2.5 nuts&lt;br /&gt;
* 1* Acrylic shield&lt;br /&gt;
* 1* Instuctions&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6443</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6443"/>
		<updated>2019-10-09T08:51:47Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: May it feels hungry,I think it should be charged.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6442</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6442"/>
		<updated>2019-10-09T08:51:26Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why i press the button,the UPS Board works for seconds then turn off?&lt;br /&gt;
  A: I think it should be charged.May it feels hungry.&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6441</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6441"/>
		<updated>2019-10-09T08:49:41Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Keywords */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
==FAQ==&lt;br /&gt;
==Keywords==&lt;br /&gt;
* battery, 18650, lipo battery, UPS, current, power supply,raspberrypi 4B&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6440</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6440"/>
		<updated>2019-10-09T08:47:27Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Mechanical Drawing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
[[File:UPS 1.png|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
==FAQ==&lt;br /&gt;
==Keywords==&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=File:UPS_1.png&amp;diff=6439</id>
		<title>File:UPS 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=File:UPS_1.png&amp;diff=6439"/>
		<updated>2019-10-09T08:46:21Z</updated>

		<summary type="html">&lt;p&gt;Dre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6438</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6438"/>
		<updated>2019-10-09T08:42:31Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* LED remaining battery prompt&lt;br /&gt;
* Replaceable battery solution&lt;br /&gt;
* Support Raspberry Pi 4B&lt;br /&gt;
* Extended Two USBA port power output&lt;br /&gt;
* Extended type C port power output&lt;br /&gt;
* Output overcurrent protection&lt;br /&gt;
* Tap to boot, long press to shut down&lt;br /&gt;
* Support the charge and discharge power display&lt;br /&gt;
* The battery holder can be quickly replaced&lt;br /&gt;
* Synchronous switch charge and discharge&lt;br /&gt;
* Built-in power path management, support side-loading&lt;br /&gt;
* Support load high current line compensation function&lt;br /&gt;
* Adaptive charge current regulation to match all adapters&lt;br /&gt;
* Support LED power display&lt;br /&gt;
* Button boot&lt;br /&gt;
* Automatically detect phone insertion and removal&lt;br /&gt;
* Low power consumption&lt;br /&gt;
* Intelligent identification of load, automatic standby&lt;br /&gt;
* Multiple protection, high reliability&lt;br /&gt;
* Output overcurrent, overvoltage, short circuit protection&lt;br /&gt;
* Input overvoltage, overcharge, overdischarge, overcurrent discharge protection&lt;br /&gt;
* Machine over temperature protection&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
==FAQ==&lt;br /&gt;
==Keywords==&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6437</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6437"/>
		<updated>2019-10-09T08:39:11Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Caution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;Warning!&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This product belongs to the power supply device. &lt;br /&gt;
Please keep it out of the reach of children. Please strictly refer to the instructions for the UPS  product. If the battery polarity is reversed, it will directly burn the power management chip of the device and even cause fire or personal injury. Do not add any Components by yourself, all accidental damage caused by the cause is at your own risk.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
==FAQ==&lt;br /&gt;
==Keywords==&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6436</id>
		<title>EP-0114</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0114&amp;diff=6436"/>
		<updated>2019-10-09T08:33:01Z</updated>

		<summary type="html">&lt;p&gt;Dre: Created page with &amp;quot;==UPS for Raspberry PI 4B/3B+/3B== ==Description== ==Caution== ==Features== ==Gallery== ==Mechanical Drawing== ==How to setup== ==LED light status definition== ==Package inclu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UPS for Raspberry PI 4B/3B+/3B==&lt;br /&gt;
==Description==&lt;br /&gt;
==Caution==&lt;br /&gt;
==Features==&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Mechanical Drawing==&lt;br /&gt;
==How to setup==&lt;br /&gt;
==LED light status definition==&lt;br /&gt;
==Package includes==&lt;br /&gt;
==FAQ==&lt;br /&gt;
==Keywords==&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=Main_Page&amp;diff=6435</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=Main_Page&amp;diff=6435"/>
		<updated>2019-10-09T08:29:36Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Extension Modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&#039;&#039;&#039;RaspberryPi Modules&#039;&#039;&#039;=&lt;br /&gt;
The following contents include all of our products,  Top10 modules are list here, those modules are fit for Raspberry Pi A，A+，B，B+，2 Model B，3 Model B and some other platform. &lt;br /&gt;
you can select one of them and click the links to get more information about it.&lt;br /&gt;
==HCL==&lt;br /&gt;
This is Hardware Compatible List.&lt;br /&gt;
[[Hardware Compatible List]]&lt;br /&gt;
&lt;br /&gt;
==Hat Stack==&lt;br /&gt;
* [[ DockerPi NightLight SKU: EP-0098 ]]&lt;br /&gt;
* [[ DockerPi 4 Channel Relay SKU: EP-0099 ]]&lt;br /&gt;
* [[ DockerPi PowerBoard SKU: EP-0104 ]]&lt;br /&gt;
* [[ DockerPi Sensor Hub Development Board SKU: EP-0106 ]]&lt;br /&gt;
* [[ DockerPi Motor Board(A) SKU: EP-0108 ]]&lt;br /&gt;
* [[ DockerPi DIY Programmable intelligent toycar SKU: EP-0109]]&lt;br /&gt;
* [[ IoT Node(A) SKU: EP-0105 ]]&lt;br /&gt;
&lt;br /&gt;
==Development Boards==&lt;br /&gt;
==AI Learning==&lt;br /&gt;
* [[ NVIDIA® Jetson Nano™ Developer Kit SKU: EZ-0075 ]]&lt;br /&gt;
&lt;br /&gt;
==IoT Modules==&lt;br /&gt;
* [[ ESP32 WROVER KIT SKU: EP-0090 ]]&lt;br /&gt;
* [[ ESP32 WROVER SKU: EZ-0061 ]]&lt;br /&gt;
* [[ GeeekNET ESP32 Development Board SKU: EZ-0062 ]]&lt;br /&gt;
* [[ GeeekNET ESP32-WROVER Development Board SKU: EZ-0063 ]]&lt;br /&gt;
----&lt;br /&gt;
==Tinker Board==&lt;br /&gt;
* [[ ASUS Tinker Board SKU: EZ-0066 ]]&lt;br /&gt;
* [[ ASUS Tinker Board Model S SKU: EZ-0065  ]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi==&lt;br /&gt;
* [[ Raspberry Pi 4 Model B 2GB Version SKU: ER-0018 ]]&lt;br /&gt;
* [[ Raspberry Pi 3 Model B SKU: ER-0007 ]]&lt;br /&gt;
* [[ Raspberry Pi zero w (with enclosure)Kit SKU: K-0231 ]]&lt;br /&gt;
* [[ Raspberry Pi zero (with enclosure) Kit  SKU:K-0230 ]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Banana Pi==&lt;br /&gt;
* [[ Banana Pi R64 SKU: EB-0020 ]]&lt;br /&gt;
* [[ Banana Pi M4 SKU: EP-0019 ]]&lt;br /&gt;
* [[ Banana Pi M64 SKU: EB-0012 ]]&lt;br /&gt;
* [[ Banana Pi M2 ULTRA  SKU: EB-0013 ]]&lt;br /&gt;
&lt;br /&gt;
==Gaming Assesory==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ 8579 Switch Bluetooth Programming Handle (Black) SKU: Z-0252 ]]&lt;br /&gt;
* [[ 8579 Switch Bluetooth Programming Handle (Blue) SKU: Z-0253 ]]&lt;br /&gt;
* [[ 8580 Switch Bluetooth Handle (Gray) SKU: Z-0254 ]]&lt;br /&gt;
* [[ 8951 PS4 Private mode Bluetooth controller SKU: Z-0255 ]]&lt;br /&gt;
* [[ 8577 Switch Split Gamepad SKU: Z-0257 ]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ GPI Case SKU: Z-0260 ]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Extension Modules==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ Pitaya go SKU: Z-0269 ]]&lt;br /&gt;
* [[TFmini PLus Lidar Module（Distance measurement） SKU:Z-0231 ]]&lt;br /&gt;
* [[ Raspberry Pi Zero/Zero W Camera Ribben Cable Wire(Gold finger) SKU: Z-0209 ]]&lt;br /&gt;
* [[ Raspberry Pi night vision camera adjustable-focus module ER-0016 ]]&lt;br /&gt;
* [[1602 Serial LCD Module Display SKU:Z-0234 ]]&lt;br /&gt;
* [[2004 Serial LCD Module Display SKU:Z-0235 ]]&lt;br /&gt;
* [[USB Isolator SKU:EP-0101 ]]&lt;br /&gt;
* [[USB dongle for Raspberry Pi Zero/Zero W SKU:EP-0097 ]] &lt;br /&gt;
* [[MicroBit Basic Extension Board Horizontal Version SKU: EP-0095 ]]&lt;br /&gt;
* [[MicroBit Basic Extension Board Vertical Version SKU: EP-0096 ]]&lt;br /&gt;
* [[TFmini Lidar Module（Distance measurement） SKU:EZ-0068 ]]&lt;br /&gt;
* [[Raspberry Pi GPIO Breakout Board Big Black (T-Type) SKU: EP-0094 ]]&lt;br /&gt;
* [[Raspberry Pi GPIO Breakout Board V1.1(T-Type) SKU: K-0291 ]]&lt;br /&gt;
* [[GeeekPi 1/2 Sized Breadboard SKU: EP-0091 ]]&lt;br /&gt;
* [[GeeekPi 1/4 Sized Breadboard SKU: EP-0092 ]]&lt;br /&gt;
* [[GeeekPi Full Sized Breadboard SKU: EP-0093 ]]&lt;br /&gt;
* [[Pi Zero Enc28j60 Network Adapter Module SKU: EP-0088 ]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[UPS for Raspberry Pi 4B/3B+/3B SKU: EP-0110]]&lt;br /&gt;
* [[UPS for Raspberry Pi 3B/3B+ SKU: EP-0100]]&lt;br /&gt;
* [[USB Joystick controller Board SKU: EP-0080 ]]&lt;br /&gt;
* [[Raspberry Pi LM75B temperature Sensor v1.0  SKU:EP-0031]]&lt;br /&gt;
* [[Raspberry Pi Super Capacitor RTC(English)|Raspberry Pi Super Capacitor RTC]]&lt;br /&gt;
* [[DS1307 RTC Module with BAT for Raspberry Pi  SKU: EP-0059]]&lt;br /&gt;
* [[Raspberry Pi Expansion Board(English)|Raspberry Pi Expansion Board]]&lt;br /&gt;
* [[RPI-B+-GPIO-Triple(English)| RPI-B+-GPIO-Triple]]&lt;br /&gt;
* [[Raspberry Pi Heatsink(English) | Raspberry Pi Heatsink]]&lt;br /&gt;
* [[Raspberry Pi ADC-DAC Module(English) | Raspberry Pi ADC-DAC Module]]&lt;br /&gt;
* [[USB Gamepad SKU: Z-0177 ]]&lt;br /&gt;
* [[Power Button For RPi  SKU: EP-0077]]&lt;br /&gt;
* [[Pi Supply &amp;amp; USB HUB SKU: EP-0078]]&lt;br /&gt;
* [[Pi Supply &amp;amp; USB HUB Without Battery SKU: EP-0079]]&lt;br /&gt;
* [[RPI 5MP CSI Camera SKU: ER-0011]]&lt;br /&gt;
* [[ESP32 Module SKU: EZ-0059 ]]&lt;br /&gt;
* [[Brand new 2.4G wireless mini keyboard with mouse touchpad SKU: Z-0153 ]]&lt;br /&gt;
* [[RPI-ADS1115-ADC-Module SKU:EP-0076]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[RPI B+ GPIO Reference Board SKU:EP-0021 ]]&lt;br /&gt;
* [[RPI B+ Rectangle Extend Board SKU:EP-0020 ]]&lt;br /&gt;
* [[RaspberryPi Downgrade(English)| RaspberryPi Downgrade]]&lt;br /&gt;
* [[RaspberryPi B+ GPIO Reference Board(English)| RaspberryPi B+ GPIO Reference Board]]&lt;br /&gt;
* [[RaspberryPi RS232 UART Board(English)| RaspberryPi RS232 UART Board]]&lt;br /&gt;
* [[GPS Module SKU:EZ-0024]]&lt;br /&gt;
* [[USB-Port-GPS Module SKU:EZ-0048]]&lt;br /&gt;
* [[VGA666 Module For RPi  SKU:EP-0073]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Case &amp;amp; Enclosure &amp;amp; Heat sink==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ E Type ABS Case for RPi 4B  SKU: ZP-0081 ]]&lt;br /&gt;
* [[ L Type ABS Case for RPi 4B  SKU: ZP-0082 ]]&lt;br /&gt;
* [[ Y Type ABS Case for RPi 4B  SKU: ZP-0083 ]]&lt;br /&gt;
* [[ ABS Electrical Box for RPi 4B SKU: Z-0272 ]]&lt;br /&gt;
* [[ ABS Buckle Case for RPi 4B SKU: Z-0273 ]]&lt;br /&gt;
* [[ 5-layer acrylic case for RPi 4B SKU: ZP-0080 ]]&lt;br /&gt;
* [[ Armor Case For RPi 4B with Dual Fan SKU: ZP-0077 ]]&lt;br /&gt;
* [[ Armor Case For RPi 4B/3B/3B+ without Fan SKU: ZP-0074 ]]&lt;br /&gt;
* [[ New ABS H-Type Case for Raspberry Pi 4B SKU: ZP-0075 ]]&lt;br /&gt;
* [[ ABS experiment holder platform SKU: ZP-0073 ]]&lt;br /&gt;
* [[ 9 Layers Acrylic Case with 4010 Fan SKU: ZP-0076 ]]&lt;br /&gt;
* [[ 9 Layers Acrylic Case with Fan SKU: ZP-0067 ]]&lt;br /&gt;
* [[ Single layer Acrylic Case with transparent fan SKU: ZP-0066 ]]&lt;br /&gt;
* [[ Brown single layer Acrylic Case with fan SKU: ZP-0065 ]]&lt;br /&gt;
* [[ Square radiator for Raspberry Pi 4B SKU: ZP-0038 ]]&lt;br /&gt;
* [[ Aluminum Case for Jetson Nano SKU: ZP-0072 ]]&lt;br /&gt;
* [[ Aluminum Heat Sink Pack for Raspberry Pi 4B SKU: Z-0266 ]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ Metal Case for RPi 4B with 4010 Fan SKU: ZP-0070 ]]&lt;br /&gt;
* [[ Metal Case for RPi 4B (Silver &amp;amp; Black) SKU: ZP-0071 ]]&lt;br /&gt;
* [[ Metal Case for RPi 4B (Silver &amp;amp; Black) SKU: Z-0264 ]]&lt;br /&gt;
* [[ ICE-Tower CPU Cooling Fan for Raspberry Pi SKU: EP-0107 ]]&lt;br /&gt;
* [[ Armor Case For RPi 3B+ without Fan SKU: ZP-0051 ]]&lt;br /&gt;
* [[Armor Case for Raspberry Pi 3A+ SKU: Z-0237 ]]&lt;br /&gt;
* [[3510 Version Extreme Cooling Fan Kit For Raspberry Pi 3B+  SKU: ZP-0042]]&lt;br /&gt;
* [[New version Copper Heat Sink SKU: Z-0185]]&lt;br /&gt;
* [[Ultimate Cooling Fan Kit For Raspberry Pi 4B/3B+/3B/2B/B+ SKU: ZP-0037]]&lt;br /&gt;
* [[ABS case with fan and heat sink for Raspberry Pi 3B+/3B/2B/B+(Black/White) SKU: Z-0183]] &lt;br /&gt;
* [[Raspberry Pi 3B white acrylic case SKU: Z-0127]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Raspberry Pi 3 Enclosure with heat sinks SKU: K-0172]]&lt;br /&gt;
* [[ USB HUB Power Supply for Raspberry Pi Double Layer Acrylic Rack SKU: K-0178 ]]&lt;br /&gt;
* [[ Black ABS enclosure with screwdriver for Raspberry Pi SKU: Z-0157 ]]&lt;br /&gt;
* [[4-layer-Transparent-Acrylic-Case-Clear-Shell-Enclosure-for-Raspberry-Pi-3-Model-B/2B/B+ SKU: ZP-0024]]&lt;br /&gt;
* [[Micro-HDMI-to-Standard-HDMI-Male-Cable-4K-Pi4B SKU:L-0030]]&lt;br /&gt;
* [[ Ultimate Cooling Fan Kit for Raspberry Pi 3/2/B+  SKU: ZP-0029 ]]&lt;br /&gt;
* [[RPi ABS Case SKU: ZP-0049 ]]&lt;br /&gt;
* [[Armor Case For RPi 3B SKU: Z-0193]]&lt;br /&gt;
* [[Armor Case For RPi 3B+ SKU: Z-0208 ]]&lt;br /&gt;
* [[10 Layers Acrylic Case for Raspberry Pi 3B+/3B/2B/B+ SKU: Z-0190]]&lt;br /&gt;
* [[Raspberry Pi 3 Aluminum alloy Case SKU: Z-0184]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Displays==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[0.91 Inch OLED Module  SKU: EP-0060]]&lt;br /&gt;
* [[0.96 Inch OLED Module  SKU:EP-0049]]&lt;br /&gt;
* [[52Pi-BPi LCD 1602 Module SKU:EP-0045]]&lt;br /&gt;
* [[RGB LCD1602 SKU:EP-0058]]&lt;br /&gt;
* [[RPI-RGB-LED-Matrix SKU:EP-0075]]&lt;br /&gt;
* [[Raspberry Pi 2.2 Inch GPIO display(without touch screen)  SKU:EP-0062]]&lt;br /&gt;
* [[Raspberry Pi 2.4 Inch GPIO touch screen  SKU:EP-0063]]&lt;br /&gt;
* [[TFT28 Display + Touch Panel + NoPCB  SKU:EP-0066 ]]&lt;br /&gt;
* [[TFT28 Display + Touch Panel + PCB SKU:EP-0065 ]]&lt;br /&gt;
* [[5-Inch-800x480-HDMI-TFT-LCD-Touch-Screen  SKU:Z-0053]]&lt;br /&gt;
* [[5-Inch-800x480-HDMI-GPIO-Touch-Screen  SKU:EP-0072]]&lt;br /&gt;
* [[5-Inch-800x480-Capacitive-Touch-Screen SKU: EP-0081 ]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ 7 inch 1024x600 Screen and driver board with Amplifier and Two speakers Kit SKU: EP-0089]]&lt;br /&gt;
* [[7-Inch-1024x600 Capacitive Touch Screen (Extend Two USB HOST Port) with 720P Camera SKU: EP-0087 ]]&lt;br /&gt;
* [[7-Inch-1024x600 Capacitive Touch Screen (Extend Two USB HOST Port) SKU: EP-0085 ]]&lt;br /&gt;
* [[7-Inch-1024x600 Capacitive Touch Screen DIY Kit SKU: EP-0084]]&lt;br /&gt;
* [[7-Inch-1024x600 Capacitive Touch Panel DIY Kit SKU: EP-0082]]&lt;br /&gt;
* [[7-Inch-1024x600 Display Kit (with Touch Screen)   SKU:Z-0017]]&lt;br /&gt;
* [[7-Inch-1024x600 Display Kit (without Touch Screen) SKU:Z-0051]]&lt;br /&gt;
* [[7-Inch-1024x600 Monitor SKU:K-0106 ]]&lt;br /&gt;
* [[7-Inch-800x480 Display Kit(without Touch Screen)  SKU:Z-0111]]&lt;br /&gt;
* [[7-Inch-1280x800 Display Kit(without Touch Screen) SKU:Z-0112]]&lt;br /&gt;
* [[7-Inch-800x480 Monitor  SKU:K-0101]]&lt;br /&gt;
* [[7-Inch-1280*800 Monitor SKU:K-0102]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[10.1 Inch 1280x800 Display Kit(without Touch Screen) SKU: S-0001 ]]&lt;br /&gt;
* [[10.1-Inch-1024x600 Display Kit (without Touch Screen) SKU:Z-0113]]&lt;br /&gt;
* [[10.1-Inch-1366x768 Display Kit(without Touch Screen) SKU:Z-0114]]&lt;br /&gt;
* [[ 10.1-Inch-1280x800 Display Kit(Without Touch Screen) SKU:Z-0143]]&lt;br /&gt;
* [[10.1-Inch-1366x768 Monitor SKU:K-0103]]&lt;br /&gt;
* [[Super Luxury 10.1 LCD Television SKU: K-0104]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Power Supply==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[5V-4A Travel Adapter SKU:P-0001]]&lt;br /&gt;
* [[5V-2.5A-AU-Standard  SKU:Z-0132]]&lt;br /&gt;
* [[5V-2.5A-UK-Standard  SKU:Z-0133]]&lt;br /&gt;
* [[5V-2.5A-US-Standard  SKU:Z-0121]]&lt;br /&gt;
* [[5V-2.5A-EU-Standard  SKU:Z-0097]]&lt;br /&gt;
* [[5V-2.5A-EU/US/UK/AU-Plug  SKU:Z-0136]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[US-Standard-With-Power-Switch-5V-2.5A SKU:Z-0147]]&lt;br /&gt;
* [[EU-Standard-With-Power-Switch-5V-2.5A SKU:Z-0148]]&lt;br /&gt;
* [[AU-Standard-With-Power-Switch-5V-2.5A SKU:Z-0149]]&lt;br /&gt;
* [[UK-Standard-With-Power-Switch-5V-2.5A SKU:Z-0150]]&lt;br /&gt;
* [[Banana Pi US-standard Power Supply SKU: Z-0154]]&lt;br /&gt;
* [[Banana Pi EU-standard Power Supply SKU: Z-0155]]&lt;br /&gt;
* [[MicroUSB Cable with LCD Voltage/Current Display SKU: L-0026 ]]&lt;br /&gt;
* [[MicroUSB Cable with LCD Voltage/Current Display(Support IPhone) SKU: L-0027 ]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi Kits==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen SKU: K-0403 ]]&lt;br /&gt;
* [[Arcade Game Machine DIY Kits with Joysticks(Double Players) SKU: K-0167 ]]&lt;br /&gt;
* [[Arcade Game Machine DIY Kits without Joysticks (Single Player) SKU: K-0168 ]]&lt;br /&gt;
* [[Arcade Game Machine DIY Kits without Joysticks (Double Players) SKU: K-0169 ]]&lt;br /&gt;
* [[7 inch 1024x600 Capacitive Touch Screen(Extend Two USB Hosts) with 720P Camera and Acrylic Case Kit SKU: K-0259 ]]&lt;br /&gt;
* [[5 inch Capacitive touch screen &amp;amp; Acrylic Case Kit SKU: K-0238 ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Retro Game Kit (Single Player) SKU: K-0185]]&lt;br /&gt;
* [[Retro Game Kit (Double Players) SKU: K-0186 ]]&lt;br /&gt;
* [[Starter Kit  SKU: Z-0142]]&lt;br /&gt;
* [[Raspberry Pi Complete kit SKU: K-0111]]&lt;br /&gt;
* [[Raspberry Pi 3B Overlays Application Kit SKU: Z-0144]]&lt;br /&gt;
* [[Raspberry Pi Retro Gamepads Kit with 10.1 inch Monitor  SKU: K-0171]]&lt;br /&gt;
* [[Raspberry Pi RetroPie Game Kit (with 5 inch GPIO TouchScreen &amp;amp; GamePad x2 )  SKU: K-0174]]&lt;br /&gt;
* [[Raspberry Pi RetroPie Game Kit with 2.4GHz wireless GamePad x2]]&lt;br /&gt;
* [[Raspberry Pi Acrylic DIY Retro Game Arcade Kit SKU:K-0180]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Official Support Products==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Raspberry Pi official 7-Inch-Touch-Screen  SKU:Z-0104]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Banana Pi official 7-Inch-Capacitance-Screen  SKU:Z-0088]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
==X-Series Expansion Board==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;font color=red&amp;gt;New Products 2019.8.12 updated&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* [[ X855 SKU: EZ-0083 ]]&lt;br /&gt;
* [[ X825 SKU: EZ-0082 ]]&lt;br /&gt;
* [[ X822 SKU: EZ-0076 ]]&lt;br /&gt;
* [[ X852 SKU: EZ-0077 ]]&lt;br /&gt;
* [[ X860 SKU: EZ-0078 ]]&lt;br /&gt;
* [[ X870 SKU: EZ-0079 ]]&lt;br /&gt;
* [[ X735 SKU: EZ-0080 ]]&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;font color=Green&amp;gt;Old Products 2018.6.6 updated&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* [[ X720 SKU: EZ-0072]]&lt;br /&gt;
* [[ X730 SKU: EZ-0073]]&lt;br /&gt;
* [[ X830 SKU: EZ-0064]]&lt;br /&gt;
* [[ X105 SKU: EZ-0008]]&lt;br /&gt;
* [[ X200 SKU: EZ-0002]]&lt;br /&gt;
* [[ X300 SKU: EZ-0003]]&lt;br /&gt;
* [[ X205 SKU: EZ-0046]]&lt;br /&gt;
* [[ X400 SKU: EZ-0044]]&lt;br /&gt;
* [[ X600  SKU:EZ-0045]]&lt;br /&gt;
* [[ X3000 SKU:EZ-0051]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[ X6000P-7.1CH DIY Kits SKU:EZ-0052]]&lt;br /&gt;
* [[ X5000P Raspberry Pi HiFi Sound Card SKU:EZ-0053]]&lt;br /&gt;
* [[ X4000P SKU:EZ-0054]]&lt;br /&gt;
* [[ X4000K DIY Kits SKU:EZ-0055]]&lt;br /&gt;
* [[ X6000K-8.0CH DIY Kits SKU:EZ-0056]]&lt;br /&gt;
* [[ X5000K DIY Kits SKU:EZ-0057]]&lt;br /&gt;
* [[ X1000K DIY Kits SKU:EZ-0058]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operation System Card==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[OctoPrint]]&lt;br /&gt;
* [[Noobs]]&lt;br /&gt;
* [[Raspbian]]&lt;br /&gt;
* [[DietPi]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[Batocera]]&lt;br /&gt;
* [[RetroPie]]&lt;br /&gt;
* [[Ubuntu Mate 16.04]]&lt;br /&gt;
* [[OSMC]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[5-inch-GPIO-touch-screen-Based-on-Raspbian]]&lt;br /&gt;
* [[Windows 10 IOT R2 (Red Stone) 16GB]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==52Pi Expand Modules ( End Of Life )==&lt;br /&gt;
&amp;lt;table border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[RPI T-Cobbler GPIO Extend Board With Level shifting SKU:EP-0014]]&lt;br /&gt;
* [[RPI T-Cobbler GPIO Extend Board SKU:EP-0003]]&lt;br /&gt;
* [[RPI 16x2 LCD+Keypad Kit SKU:Z-0019]]&lt;br /&gt;
* [[RPI B+ to B GPIO Downgrade Board SKU:EP-0027 ]]&lt;br /&gt;
* [[RPI I2C GPIO Extend Board SKU:EP-0013]]&lt;br /&gt;
* [[RPI AD/DA Extend Board SKU:EP-0022]]&lt;br /&gt;
* [[RPI B GPIO Reference Board SKU:EP-0018]]&lt;br /&gt;
* [[RPI GPIO Triple Extend Board SKU:EP-0012]]&lt;br /&gt;
* [[RPI GPIO Rectangle Extend Board SKU:EP-0011]]&lt;br /&gt;
* [[RPI I2C Logic Level Converter SKU:EP-0026]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[RPI Infinity cascade IO expand Module SKU:EP-0028]]&lt;br /&gt;
* [[RPI Arduino Board SKU:EP-0023]]&lt;br /&gt;
* [[RPI RTC Module SKU:EP-0016]]&lt;br /&gt;
* [[RPI B TF TO SD SKU:EP-0032]]&lt;br /&gt;
* [[RPI UART Extend Board SKU:EP-0017]]&lt;br /&gt;
* [[RPI B+ Prototyping Pi Plate  Board SKU:EP-0042]]&lt;br /&gt;
* [[RPI B+ GPIO Triple Extend Board SKU:EP-0029]]&lt;br /&gt;
* [[RPI B Prototyping Pi Plate  Board SKU:EP-0004]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; vertical-align: top; width: 32%;&amp;quot;&amp;gt;&lt;br /&gt;
* [[RPI HAT Breakout Mini Kit SKU:EP-0056]]&lt;br /&gt;
* [[RPI HAT Prototype Module SKU:EP-0057]]&lt;br /&gt;
* [[RPI T Type Extension Board SKU:EP-0046]] &lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Documentation===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;Some simple guides to setting up the software on your Raspberry Pi.&lt;br /&gt;
Beginners should start with NOOBS, which gives the user a choice of operating system from the standard distributions.&lt;br /&gt;
The recommended distribution for normal use is Raspbian. &lt;br /&gt;
Alternatives are available, such as LibreELEC (Kodi media centre) or Arch Linux.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Installing operation system on your Raspberry Pi &lt;br /&gt;
** [[NOOBS]]&lt;br /&gt;
** [[Installing images]]&lt;br /&gt;
** [[SD Cards]]&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6434</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6434"/>
		<updated>2019-10-09T03:41:22Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd LCD-show/&lt;br /&gt;
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;br /&gt;
* Q: Why is there no output on my HDMI interface?&lt;br /&gt;
  A: If you need to switch back to the HDMI display mode, execute:&lt;br /&gt;
     &amp;lt;code&amp;gt;cd LCD-show/&amp;lt;code&amp;gt;&lt;br /&gt;
     &amp;lt;code&amp;gt;sudo ./LCD-hdmi&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6433</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6433"/>
		<updated>2019-10-08T08:06:09Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Touch screen calibration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd LCD-show/&lt;br /&gt;
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6432</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6432"/>
		<updated>2019-10-08T08:03:46Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Touch screen calibration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
  &amp;lt;code&amp;gt;cd LCD-show/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
  &amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6431</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6431"/>
		<updated>2019-10-08T08:03:18Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Install LCD driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Touch screen calibration==&lt;br /&gt;
*This LCD can be calibrated using a program called xinput_calibrator&lt;br /&gt;
*Install it with the commands:&lt;br /&gt;
&amp;lt;code&amp;gt;cd LCD-show/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
*Click the Men button on the task bar, choose Preference -&amp;gt; Calibrate Touchscreen.&lt;br /&gt;
*Finish the touch calibration following the prompts. Maybe rebooting is required to make calibration active.&lt;br /&gt;
*You can create a 99-calibration.conf file to save the touch parameters (not necessary if file exists).&lt;br /&gt;
&amp;lt;code&amp;gt;/ect/X11/xorg.conf.d/99-calibration.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
*Save the touch parameters&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6430</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6430"/>
		<updated>2019-10-08T07:58:58Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Install LCD driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm -rf LCD-show&lt;br /&gt;
git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
chmod -R 755 LCD-show&lt;br /&gt;
cd LCD-show/&lt;br /&gt;
sudo ./LCD35-show&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6429</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6429"/>
		<updated>2019-10-08T07:58:10Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Install LCD driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
*sudo rm -rf LCD-show&lt;br /&gt;
*git clone https://github.com/goodtft/LCD-show.git&lt;br /&gt;
*chmod -R 755 LCD-show&lt;br /&gt;
*cd LCD-show/&lt;br /&gt;
*sudo ./LCD35-show&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6428</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6428"/>
		<updated>2019-10-08T07:57:37Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Package Includes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==Install LCD driver==&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6427</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6427"/>
		<updated>2019-10-08T07:55:36Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: The screen is whitish and there is no display what should i do?&lt;br /&gt;
  A: You don&#039;t install the script.&lt;br /&gt;
* Q: If I set it according to the operation, what should I do if I start the display character interface?&lt;br /&gt;
  A: Please re-burn the system and do the same operation.&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0073&amp;diff=6426</id>
		<title>EP-0073</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0073&amp;diff=6426"/>
		<updated>2019-10-08T07:54:25Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* For Raspberry Pi Zero/Zero W/2B/2B+3B/3B+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=VGA666 Module For RPi=&lt;br /&gt;
[[File:Vga66602.jpg|thumb|left|300px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Description==&lt;br /&gt;
This Module has another name: Gert-VGA-adapter, or Passive VGA adapter 666 for Raspberry Pi A+/B+/2B/3B/Zero&amp;lt;br&amp;gt;&lt;br /&gt;
The Raspberry Pi has an HDMI port to connect a display.&amp;lt;br&amp;gt; &lt;br /&gt;
If your monitor only has VGA, you have to use an adapter. &amp;lt;br&amp;gt;&lt;br /&gt;
Because this requires a digital-to-analogue conversion, those adapters can be quite pricey, and they can draw lots of power.&amp;lt;br&amp;gt;&lt;br /&gt;
As well as just allowing you to connect a VGA monitor natively. &amp;lt;br&amp;gt;&lt;br /&gt;
And unlike composite video, the DPI interface can be run independent of the HDMI. &amp;lt;br&amp;gt;&lt;br /&gt;
The software for dual screens is still under development. &amp;lt;br&amp;gt;&lt;br /&gt;
Running two screens at maximum resolution will depend on the speed of GPIO.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;This wasn’t possible on the Model A or B.&amp;lt;br&amp;gt;&lt;br /&gt;
And there’s a catch: as the board uses most of your GPIO pins, you lose access to them.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All above are from  raspberry pi official website.(https://www.raspberrypi.org/blog/gert-vga-adapter/)&amp;lt;br&amp;gt;&lt;br /&gt;
More information about VGA666 module please visit here: (https://www.raspberrypi.org/forums/viewtopic.php?f=91&amp;amp;t=94424)&lt;br /&gt;
----&lt;br /&gt;
==Compatibility List==&lt;br /&gt;
* Compatibility&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Platform !! VGA 666 Module !! Notes&lt;br /&gt;
|-&lt;br /&gt;
||Raspberry Pi 4 Model B || √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B Plus|| √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi zero || √|| &lt;br /&gt;
|-&lt;br /&gt;
| Raspberry Pi zero W  || √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 2 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi Model B+|| √|| Old Version Image&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Licence==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VGA adaptor for the Raspberry-Pi computer.&lt;br /&gt;
&lt;br /&gt;
Copyright © 2014 Fen Logic Ltd.&lt;br /&gt;
&lt;br /&gt;
This document and the related databases are free: you can redistribute it and/or modify it &lt;br /&gt;
under the terms of the GNU General Public License as published by the Free Software Foundation,&lt;br /&gt;
either version 3 of the License, or any later version. &lt;br /&gt;
This document and the related databases are distributed in the hope that it will be useful, &lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;br /&gt;
See the GNU General Public License for more details. &lt;br /&gt;
You should have received a copy of the GNU General Public License along with this database. &lt;br /&gt;
If not, see http://www.gnu.org/licenses/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Feature==&lt;br /&gt;
* Support for Raspberry Pi A+, Raspberry Pi B+, Raspberry Pi Zero, Raspberry Pi 2,model B, Raspberry Pi 3 model B&lt;br /&gt;
* The VGA output supports resolution:from 800x600 up to 30fps.&lt;br /&gt;
* With 6 bits per channel you have a maximum of 262144 colours.&lt;br /&gt;
* Easy to setup.&lt;br /&gt;
* Easy to configure. &lt;br /&gt;
* Dimension:  64.00mm x 32.24mm&lt;br /&gt;
* Weight:  16.48 g&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Package included:==&lt;br /&gt;
* 1 x VGA666 Module For RPi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Pictures==&lt;br /&gt;
{|-&lt;br /&gt;
|[[File:Vga66601.jpg|thumb|left|300px]]&lt;br /&gt;
|[[File:Vga66602.jpg|thumb|none|300px]]&lt;br /&gt;
|}&lt;br /&gt;
{|-&lt;br /&gt;
|[[File:Vga66603.jpg|thumb|left|300px]]&lt;br /&gt;
|[[File:Vga66604.jpg|thumb|none|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; &amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==How to wire it up==&lt;br /&gt;
Plug into GPIO as following Picture:&lt;br /&gt;
[[File:vga66601.jpg|thumb|left|400px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==How to use it==&lt;br /&gt;
===For Raspberry Pi 4B ===&lt;br /&gt;
Edit /boot/config.txt file with vim.tiny or other editor.  and modify as following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_width=800&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_height=600&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_group=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_mode=24&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=i2c_arm=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=spi=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart0=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart1=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=pi3-disable-bt-overlay&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=vga666&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;enable_dpi_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;display_default_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;force_pwm_open=0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=audio=on&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;start_x=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gpu_mem=128&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===For Raspberry Pi Zero/Zero W/2B/3B/3B+===&lt;br /&gt;
Edit /boot/config.txt file with vim.tiny or other editor.  and modify as following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_width=800&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_height=600&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_group=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_mode=86&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=i2c_arm=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=spi=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart0=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart1=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=pi3-disable-bt-overlay&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=vga666&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;enable_dpi_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;display_default_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;force_pwm_open=0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=audio=on&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;start_x=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gpu_mem=128&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;You should disable all of GPIO pin&#039;s function so that it can work properly.  we strongly recommend that you use 800x600 resolution. &amp;lt;br&amp;gt;&lt;br /&gt;
the highly resolution will slow down your Pi and cost more RAM.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
*Question: It is out of work on my raspberry pi 4B, it was twisted, please help me!&lt;br /&gt;
[[File:TIM图片20190718151140.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
**Answer:  please modify the /boot/config.txt file and change this parameter and try to reboot your pi.&lt;br /&gt;
&amp;lt;font color=red&amp;gt;dpi_mode=24&amp;lt;/font&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:20190718151149.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0073&amp;diff=6425</id>
		<title>EP-0073</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0073&amp;diff=6425"/>
		<updated>2019-10-08T07:54:03Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* For Raspberry Pi 3B/3B+ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=VGA666 Module For RPi=&lt;br /&gt;
[[File:Vga66602.jpg|thumb|left|300px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Description==&lt;br /&gt;
This Module has another name: Gert-VGA-adapter, or Passive VGA adapter 666 for Raspberry Pi A+/B+/2B/3B/Zero&amp;lt;br&amp;gt;&lt;br /&gt;
The Raspberry Pi has an HDMI port to connect a display.&amp;lt;br&amp;gt; &lt;br /&gt;
If your monitor only has VGA, you have to use an adapter. &amp;lt;br&amp;gt;&lt;br /&gt;
Because this requires a digital-to-analogue conversion, those adapters can be quite pricey, and they can draw lots of power.&amp;lt;br&amp;gt;&lt;br /&gt;
As well as just allowing you to connect a VGA monitor natively. &amp;lt;br&amp;gt;&lt;br /&gt;
And unlike composite video, the DPI interface can be run independent of the HDMI. &amp;lt;br&amp;gt;&lt;br /&gt;
The software for dual screens is still under development. &amp;lt;br&amp;gt;&lt;br /&gt;
Running two screens at maximum resolution will depend on the speed of GPIO.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;This wasn’t possible on the Model A or B.&amp;lt;br&amp;gt;&lt;br /&gt;
And there’s a catch: as the board uses most of your GPIO pins, you lose access to them.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All above are from  raspberry pi official website.(https://www.raspberrypi.org/blog/gert-vga-adapter/)&amp;lt;br&amp;gt;&lt;br /&gt;
More information about VGA666 module please visit here: (https://www.raspberrypi.org/forums/viewtopic.php?f=91&amp;amp;t=94424)&lt;br /&gt;
----&lt;br /&gt;
==Compatibility List==&lt;br /&gt;
* Compatibility&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
!Platform !! VGA 666 Module !! Notes&lt;br /&gt;
|-&lt;br /&gt;
||Raspberry Pi 4 Model B || √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B Plus|| √|| &lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi zero || √|| &lt;br /&gt;
|-&lt;br /&gt;
| Raspberry Pi zero W  || √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 3 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi 2 Model B|| √||&lt;br /&gt;
|-&lt;br /&gt;
|Raspberry Pi Model B+|| √|| Old Version Image&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Licence==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
VGA adaptor for the Raspberry-Pi computer.&lt;br /&gt;
&lt;br /&gt;
Copyright © 2014 Fen Logic Ltd.&lt;br /&gt;
&lt;br /&gt;
This document and the related databases are free: you can redistribute it and/or modify it &lt;br /&gt;
under the terms of the GNU General Public License as published by the Free Software Foundation,&lt;br /&gt;
either version 3 of the License, or any later version. &lt;br /&gt;
This document and the related databases are distributed in the hope that it will be useful, &lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&lt;br /&gt;
See the GNU General Public License for more details. &lt;br /&gt;
You should have received a copy of the GNU General Public License along with this database. &lt;br /&gt;
If not, see http://www.gnu.org/licenses/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Feature==&lt;br /&gt;
* Support for Raspberry Pi A+, Raspberry Pi B+, Raspberry Pi Zero, Raspberry Pi 2,model B, Raspberry Pi 3 model B&lt;br /&gt;
* The VGA output supports resolution:from 800x600 up to 30fps.&lt;br /&gt;
* With 6 bits per channel you have a maximum of 262144 colours.&lt;br /&gt;
* Easy to setup.&lt;br /&gt;
* Easy to configure. &lt;br /&gt;
* Dimension:  64.00mm x 32.24mm&lt;br /&gt;
* Weight:  16.48 g&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Package included:==&lt;br /&gt;
* 1 x VGA666 Module For RPi&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Pictures==&lt;br /&gt;
{|-&lt;br /&gt;
|[[File:Vga66601.jpg|thumb|left|300px]]&lt;br /&gt;
|[[File:Vga66602.jpg|thumb|none|300px]]&lt;br /&gt;
|}&lt;br /&gt;
{|-&lt;br /&gt;
|[[File:Vga66603.jpg|thumb|left|300px]]&lt;br /&gt;
|[[File:Vga66604.jpg|thumb|none|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot; &amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==How to wire it up==&lt;br /&gt;
Plug into GPIO as following Picture:&lt;br /&gt;
[[File:vga66601.jpg|thumb|left|400px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==How to use it==&lt;br /&gt;
===For Raspberry Pi 4B ===&lt;br /&gt;
Edit /boot/config.txt file with vim.tiny or other editor.  and modify as following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_width=800&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_height=600&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_group=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_mode=24&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=i2c_arm=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=spi=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart0=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart1=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=pi3-disable-bt-overlay&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=vga666&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;enable_dpi_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;display_default_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;force_pwm_open=0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=audio=on&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;start_x=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gpu_mem=128&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===For Raspberry Pi Zero/Zero W/2B/2B+3B/3B+===&lt;br /&gt;
Edit /boot/config.txt file with vim.tiny or other editor.  and modify as following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_width=800&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;framebuffer_height=600&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_group=2&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dpi_mode=86&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=i2c_arm=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=spi=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart0=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=uart1=off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=pi3-disable-bt-overlay&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtoverlay=vga666&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;enable_dpi_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;display_default_lcd=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;force_pwm_open=0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dtparam=audio=on&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;start_x=1&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;gpu_mem=128&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=red&amp;gt;You should disable all of GPIO pin&#039;s function so that it can work properly.  we strongly recommend that you use 800x600 resolution. &amp;lt;br&amp;gt;&lt;br /&gt;
the highly resolution will slow down your Pi and cost more RAM.&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
*Question: It is out of work on my raspberry pi 4B, it was twisted, please help me!&lt;br /&gt;
[[File:TIM图片20190718151140.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
**Answer:  please modify the /boot/config.txt file and change this parameter and try to reboot your pi.&lt;br /&gt;
&amp;lt;font color=red&amp;gt;dpi_mode=24&amp;lt;/font&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:20190718151149.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6424</id>
		<title>K-0403</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=K-0403&amp;diff=6424"/>
		<updated>2019-10-08T07:03:15Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Keywords */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ABS Case for RPi 4B with 3.5 Inch Resistive Touch Screen==&lt;br /&gt;
[[File:K0403a1.jpg|right|300px]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
This is a kit for Raspberry Pi 4B. &amp;lt;br&amp;gt;&lt;br /&gt;
It contains an ABS case and a 3.5 inch Resistive touch screen. &amp;lt;br&amp;gt;&lt;br /&gt;
This TFT display is  3.5&amp;quot; diagonal adn bright (6 white-LED backlight) and colorful.&amp;lt;br&amp;gt;&lt;br /&gt;
It has 480x320 pixels with individual RGB pixel control and a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen.&lt;br /&gt;
It is good for DIY projects such as mini gamepad, Desktop clock, appointment reminder, access control viewer and so on.&lt;br /&gt;
The Raspberry Pi 3.5 inch Touch Screen can adjust the resolution by the software which also available for connecting Raspberry Pi 3 B+ directly, without additional power.(The RPI screen original resolution is 320×480).&amp;lt;br&amp;gt;&lt;br /&gt;
The screen support 125MHz SPI signal input, the refresh rate is about 50fps which is enough to play the videos or games and display stable without flicker.&amp;lt;br&amp;gt;&lt;br /&gt;
It supports Raspbian, Ubuntu, and Kali system, the drivers and image are provides freely. &amp;lt;br&amp;gt;&lt;br /&gt;
The case can be used as raspberry pi case with mini cooling fan and 3.5 inch screen case.&amp;lt;br&amp;gt;&lt;br /&gt;
The 3.5 inch resistive Touch Screen can be directly inserted into any version of the Raspberry Pi (Raspberry Pi zero, zero w, a, A+, b, B+, 2B, 3B, 3B+)&amp;lt;br&amp;gt;&lt;br /&gt;
(Raspberry Pi is not included in the package)&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Easy to assemble&lt;br /&gt;
* 3.5&amp;quot; diagonal LCD TFT display &lt;br /&gt;
* Resistive touch screen &lt;br /&gt;
* ABS material case&lt;br /&gt;
* Supported OS: Raspbian buster for RPi 4B; Ubuntu mate, kali-linux, Raspbian stretch for RPi 3B/3B+&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
* Power Input: 5V/0.13A&lt;br /&gt;
* Resolution: 320x480&lt;br /&gt;
* Refresh rate：5fps&lt;br /&gt;
* Colors:  65535&lt;br /&gt;
* Backlight: LED&lt;br /&gt;
* Aspect Ratio: 8:5&lt;br /&gt;
* Dimention: 91mm x 62mm x 34mm&lt;br /&gt;
[[File:K0403a5.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:K0403a2.jpg|left|320px]]&lt;br /&gt;
|[[File:K0403a3.jpg|none|320px]]&lt;br /&gt;
|[[File:K0403a4.jpg|none|320px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Package Includes==&lt;br /&gt;
* 1 x ABS Case for RPi 4B&lt;br /&gt;
* 1 x 3.5 Inch Resistance Touch Screen&lt;br /&gt;
* 1 x Resistance Pen &lt;br /&gt;
* 1 x Aluminum Heat Sinks pack(4PCS)&lt;br /&gt;
==How to assemble==&lt;br /&gt;
[[File:Assmeblek0403.jpg|left|500px]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Keywords==&lt;br /&gt;
* ABS case, Raspberry Pi 4B, RPi 4B, 3.5 inch TFT screen, resistive touch screen, 3.5 inch touch screen, gameboy screen, monitor, display, 480x320&lt;br /&gt;
==FAQ==&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6421</id>
		<title>EP-0109</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6421"/>
		<updated>2019-09-30T07:49:25Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Use the Keyboard to control the toycar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DockerPi DIY Programmable intelligent toycar==&lt;br /&gt;
==Description==&lt;br /&gt;
DockerPi DIY Programmable intelligent toycar is based on DockerPi Motor Board(A) and DockerPi Power Board.You could DIY it&#039;s appearance and power.&lt;br /&gt;
&lt;br /&gt;
Of course,if you want to get started directly,we also provide the power board and Arcylic board for you.We offer several packages to you.The DockerPi &lt;br /&gt;
&lt;br /&gt;
Power Board could provide powerful power for the car.You could choose to design its appearance by yourself.Besides,you could connect the camera module &lt;br /&gt;
&lt;br /&gt;
to achieve the function of identifying objects.The following we will show you how to use the wireless keyboard and wireless handle to control the car by pygame.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Remember:Don&#039;t assemble and disassemble the board when the power supply is working.They don&#039;t support hot plug&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* DockerPi Series&lt;br /&gt;
* Programmable&lt;br /&gt;
* Intelligent toycar&lt;br /&gt;
* Easy to control&lt;br /&gt;
* DIY&lt;br /&gt;
* Selective control&lt;br /&gt;
* Wireless control&lt;br /&gt;
* Handle&lt;br /&gt;
* Keyboard&lt;br /&gt;
* Motor&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package Includes==&lt;br /&gt;
*Essentials&lt;br /&gt;
** 1 x Battery case&lt;br /&gt;
***3 x 18650(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;Not included&#039;&#039;&#039;&amp;lt;/font&amp;gt;)&lt;br /&gt;
*** 2 x DC Motor&lt;br /&gt;
*** 2 x Acrylic gasket&lt;br /&gt;
*** 2 x M*12 Half-round head screw&lt;br /&gt;
*** 2 x PH Connector&lt;br /&gt;
** 2 x 65mm Black rubber wheel&lt;br /&gt;
***4 x M4*4 Hexagon socket tightening screw&lt;br /&gt;
***8 x M3*9 Half-round head screw&lt;br /&gt;
***8 x M3 Nut&lt;br /&gt;
***4 x M3*5 Half-round head screw&lt;br /&gt;
***2 x M4*5 Half-round head screw&lt;br /&gt;
** 1 x All around wheel&lt;br /&gt;
***4 x M3*22 + 6 Copper stick&lt;br /&gt;
***4 x M2.5 Nut&lt;br /&gt;
***4 x M5*4 Half-round head screw&lt;br /&gt;
**1 x Motor Board&lt;br /&gt;
**2 x Coupling&lt;br /&gt;
**2 x Coupling fixing bracket&lt;br /&gt;
** 1 x Power Board&lt;br /&gt;
** 1 x Instruction&lt;br /&gt;
** 1 x Acrylic sheet design drawings&lt;br /&gt;
** 4 x M2.5 Nut&lt;br /&gt;
** 4 x M2.5*6+6Copper stick&lt;br /&gt;
** 8 x M2.5*12+6Copper&lt;br /&gt;
** 4 x M2.5*6 Half-round head screw&lt;br /&gt;
&lt;br /&gt;
*Optional&lt;br /&gt;
** TF card&lt;br /&gt;
** Arcylic board&lt;br /&gt;
** RaspberryPi&lt;br /&gt;
** Wireless handle&lt;br /&gt;
** Wireless keyboard&lt;br /&gt;
&lt;br /&gt;
==Announcements==&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Please turn off the power when you connect it!&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*DockerPi Series Board does not support hot plug&lt;br /&gt;
*Please do not install reverse battery&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
&lt;br /&gt;
==Configuring I2C(Raspberry Pi)==&lt;br /&gt;
*Run &#039;&#039;&#039;sudo raspi-config&#039;&#039;&#039; and follow the prompts to install i2c support for the ARM core and linux kernel&amp;lt;br /&amp;gt;&lt;br /&gt;
*Go to &#039;&#039;&#039;Interfacing Options&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-1.png |none|400px]]&lt;br /&gt;
then &#039;&#039;&#039;I2C&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-2.png |none|400px]]&lt;br /&gt;
Enable!&lt;br /&gt;
[[File:Raspi-config-3.png |none|400px]]&lt;br /&gt;
Done!&lt;br /&gt;
[[File:Raspi-config-4.png |none|400px]]&lt;br /&gt;
&lt;br /&gt;
==How to use==&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Handle to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Handle model:A-038 2.4G wireless gamepad&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Note:Different models of handles may not match the program&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please install the python3&#039;s joystick&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install joystick&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please install the python3&#039;s matplotlib&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install matplotlib&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the arrowkey of up:Go ahead&lt;br /&gt;
*Press the arrowkey of down:Go back&lt;br /&gt;
*Press the arrowkey of left:Turn left&lt;br /&gt;
*Press the arrowkey of right:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import joystick&lt;br /&gt;
import sys&lt;br /&gt;
import time&lt;br /&gt;
import pygame&lt;br /&gt;
import smbus&lt;br /&gt;
&lt;br /&gt;
bus = smbus.SMBus(1)&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp0 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 -100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 -100) &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,(temp0 - 100) &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp0 &amp;gt;&amp;gt; 8)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
# Define some colors&lt;br /&gt;
BLACK    = (   0,   0,   0)&lt;br /&gt;
WHITE    = ( 255, 255, 255)&lt;br /&gt;
# This is a simple class that will help us print to the screen&lt;br /&gt;
class TextPrint:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        self.reset()&lt;br /&gt;
        self.font = pygame.font.Font(None, 20)&lt;br /&gt;
    def print(self, screen, textString):&lt;br /&gt;
        textBitmap = self.font.render(textString, True, BLACK)&lt;br /&gt;
        screen.blit(textBitmap, [self.x, self.y])&lt;br /&gt;
        self.y += self.line_height  &lt;br /&gt;
    def reset(self):&lt;br /&gt;
        self.x = 10&lt;br /&gt;
        self.y = 10&lt;br /&gt;
        self.line_height = 15   &lt;br /&gt;
    def indent(self):&lt;br /&gt;
        self.x += 10     &lt;br /&gt;
    def unindent(self):&lt;br /&gt;
        self.x -= 10&lt;br /&gt;
pygame.init()&lt;br /&gt;
# Set the width and height of the screen [width,height]&lt;br /&gt;
size = [500, 700]&lt;br /&gt;
screen = pygame.display.set_mode(size)&lt;br /&gt;
pygame.display.set_caption(&amp;quot;My Game&amp;quot;)&lt;br /&gt;
#Loop until the user clicks the close button.&lt;br /&gt;
done = False&lt;br /&gt;
# Used to manage how fast the screen updates&lt;br /&gt;
clock = pygame.time.Clock()&lt;br /&gt;
# Initialize the joysticks&lt;br /&gt;
pygame.joystick.init()&lt;br /&gt;
# Get ready to print&lt;br /&gt;
textPrint = TextPrint()&lt;br /&gt;
# -------- Main Program Loop -----------&lt;br /&gt;
while done==False:&lt;br /&gt;
    # EVENT PROCESSING STEP&lt;br /&gt;
    for event in pygame.event.get(): # User did something&lt;br /&gt;
        if event.type == pygame.QUIT: # If user clicked close&lt;br /&gt;
            done=True # Flag that we are done so we exit this loop&lt;br /&gt;
    # DRAWING STEP&lt;br /&gt;
    # First, clear the screen to white. Don&#039;t put other drawing commands&lt;br /&gt;
    # above this, or they will be erased with this command.&lt;br /&gt;
    screen.fill(WHITE)&lt;br /&gt;
    textPrint.reset()&lt;br /&gt;
    # Get count of joysticks&lt;br /&gt;
    joystick_count = pygame.joystick.get_count()&lt;br /&gt;
    #textPrint.print(screen, &amp;quot;Number of joysticks: {}&amp;quot;.format(joystick_count) )&lt;br /&gt;
    textPrint.indent()&lt;br /&gt;
    # For each joystick:&lt;br /&gt;
    for i in range(joystick_count):&lt;br /&gt;
        joystick = pygame.joystick.Joystick(i)&lt;br /&gt;
        joystick.init()&lt;br /&gt;
        # Usually axis run in pairs, up/down for one, and left/right for&lt;br /&gt;
        # the other.&lt;br /&gt;
        axes = joystick.get_numaxes()&lt;br /&gt;
        #textPrint.print(screen, &amp;quot;Number of axes: {}&amp;quot;.format(axes) )&lt;br /&gt;
        #textPrint.indent()   &lt;br /&gt;
        for i in range( axes ):&lt;br /&gt;
            axis = joystick.get_axis( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Axis {} value: {:&amp;gt;6.3f}&amp;quot;.format(i, axis) )&lt;br /&gt;
            if i==1 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Left up&amp;quot;,axis)&lt;br /&gt;
            if i==1 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left down&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Left left&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left right&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Right up&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right down&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Right left&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right right&amp;quot;,axis)&lt;br /&gt;
            if i==2 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;LT&amp;quot;,axis)&lt;br /&gt;
            if i==5 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;RT&amp;quot;,axis)&lt;br /&gt;
       &lt;br /&gt;
        textPrint.unindent()   &lt;br /&gt;
        buttons = joystick.get_numbuttons()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of buttons: {}&amp;quot;.format(buttons) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( buttons ):&lt;br /&gt;
            button = joystick.get_button( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Button {:&amp;gt;2} value: {}&amp;quot;.format(i,button) )&lt;br /&gt;
            if i==0 and button ==1:&lt;br /&gt;
                print(&amp;quot;A&amp;quot;)&lt;br /&gt;
            if i==1 and button ==1:&lt;br /&gt;
                print(&amp;quot;B&amp;quot;)&lt;br /&gt;
            if i==2 and button ==1:&lt;br /&gt;
                print(&amp;quot;X&amp;quot;)&lt;br /&gt;
            if i==3 and button ==1:&lt;br /&gt;
                print(&amp;quot;Y&amp;quot;)&lt;br /&gt;
            if i==4 and button ==1:&lt;br /&gt;
                print(&amp;quot;LB&amp;quot;)&lt;br /&gt;
            if i==5 and button ==1:&lt;br /&gt;
                print(&amp;quot;RB&amp;quot;)&lt;br /&gt;
            if i==6 and button ==1:&lt;br /&gt;
                print(&amp;quot;BACK&amp;quot;)&lt;br /&gt;
            if i==7 and button ==1:&lt;br /&gt;
                print(&amp;quot;START&amp;quot;)&lt;br /&gt;
            if i==8 and button ==1:&lt;br /&gt;
                print(&amp;quot;Logitech&amp;quot;)&lt;br /&gt;
            if i==9 and button ==1:&lt;br /&gt;
                print(&amp;quot;Left GA&amp;quot;)&lt;br /&gt;
            if i==10 and button ==1:&lt;br /&gt;
                print(&amp;quot;Right GA&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
        textPrint.unindent()&lt;br /&gt;
        # Hat switch. All or nothing for direction, not like joysticks.&lt;br /&gt;
        # Value comes back in an array.&lt;br /&gt;
        hats = joystick.get_numhats()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of hats: {}&amp;quot;.format(hats) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( hats ):&lt;br /&gt;
            speed = 300&lt;br /&gt;
            hat = joystick.get_hat( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Hat {} value: {}&amp;quot;.format(i, str(hat)) )&lt;br /&gt;
            if hat==(1,0) :&lt;br /&gt;
                print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                turnright()&lt;br /&gt;
            if hat==(-1,0) :&lt;br /&gt;
                print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                turnleft()&lt;br /&gt;
            if hat==(0,1):&lt;br /&gt;
                print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                &lt;br /&gt;
            if hat==(0,0):&lt;br /&gt;
                print(&amp;quot;Slowing down&amp;quot;)&lt;br /&gt;
                temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
                print(temp1)&lt;br /&gt;
                speed = temp1&lt;br /&gt;
                while speed &amp;gt; 0 :&lt;br /&gt;
                    speed = speed - 8&lt;br /&gt;
                    time.sleep(0.01)&lt;br /&gt;
                    setspeed() &lt;br /&gt;
            if hat==(0,-1):&lt;br /&gt;
                print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                        print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                        turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
        textPrint.unindent()      &lt;br /&gt;
        #textPrint.unindent()&lt;br /&gt;
&lt;br /&gt;
    # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT   &lt;br /&gt;
    # Go ahead and update the screen with what we&#039;ve drawn.&lt;br /&gt;
    pygame.display.flip()&lt;br /&gt;
    # Limit to 20 frames per second&lt;br /&gt;
    clock.tick(20)  &lt;br /&gt;
# Close the window and quit.&lt;br /&gt;
# If you forget this line, the program will &#039;hang&#039;&lt;br /&gt;
pygame.quit ()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless handle receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Keyboard to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Software environment&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the key of W:Go ahead&lt;br /&gt;
*Press the key of S:Go back&lt;br /&gt;
*Press the key of A:Turn left&lt;br /&gt;
*Press the key of D:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import sys&lt;br /&gt;
import smbus&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Address&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_BUS = 1&lt;br /&gt;
bus = smbus.SMBus(MOTOR_DRIVER_BUS)&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Functions&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
screen = pygame.display.set_mode((600, 400))&lt;br /&gt;
pygame.display.set_caption(&#039;pygame event&#039;)&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def decspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp1 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp1 &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 &amp;gt;&amp;gt; 8) | 0x80)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 &amp;gt;&amp;gt; 8) | 0x80)) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 - 100) &amp;amp; 0xff) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for event in pygame.event.get():&lt;br /&gt;
        if event.type == pygame.QUIT:&lt;br /&gt;
            sys.exit()&lt;br /&gt;
        #  &lt;br /&gt;
        keyboard_list = [pygame.K_w,pygame.K_s,pygame.K_a,pygame.K_d]   &lt;br /&gt;
        keys_pressed = pygame.key.get_pressed()    &lt;br /&gt;
        if keys_pressed[keyboard_list[0]]:&lt;br /&gt;
            print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 300):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        &lt;br /&gt;
        elif keys_pressed[keyboard_list[1]]:&lt;br /&gt;
            print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 350):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        elif keys_pressed[keyboard_list[2]]:&lt;br /&gt;
            print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
            turnleft()&lt;br /&gt;
            &lt;br /&gt;
        elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
            print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
            turnright()       &lt;br /&gt;
        else:&lt;br /&gt;
            temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
            print(temp1)&lt;br /&gt;
            while (temp1 &amp;gt; 0):&lt;br /&gt;
                time.sleep(0.01)&lt;br /&gt;
                temp1 -= 4&lt;br /&gt;
                decspeed()&lt;br /&gt;
    pygame.display.update()   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo DISPLAY=:0.0 python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless keyboard receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Can the Bluetooth controller be used?&lt;br /&gt;
  A: Yes,we do not recommend it, the delay is very high&lt;br /&gt;
* Q: Why can I control it when I use the handle, sometimes I can’t control it?&lt;br /&gt;
  A: Please observe if the four lights on your handle are flashing together.If the flashing together means re-pairing, &lt;br /&gt;
     the signal cannot be transmitted.&lt;br /&gt;
* Q: What is the maximum speed the car can reaching?&lt;br /&gt;
  A: It will be faster than your imagination,the max is 1300r/min.However, i suggest you don&#039;t do like this,it may damage the car.&lt;br /&gt;
&lt;br /&gt;
* Q: Sometimes,the toycar is out of my control,what&#039;s wrong with it?&lt;br /&gt;
  A: Maybe the raspberry pie&#039;s wireless signal is too weak.Also,this is related to your program.&lt;br /&gt;
&lt;br /&gt;
* Q: Why i have executed the command:sudo halt,but the Raspberypi and Power Board&#039;s Led is still working?&lt;br /&gt;
  A: Because you havn&#039;t installed the script about power.Please install it then have a try.&lt;br /&gt;
&lt;br /&gt;
* Q: If i have ran the program and the raspberrypi is fine,i have reed the value of register of speed,but the car has&#039;t any response?&lt;br /&gt;
  A: Please check the Power Board&#039;s power supply pin.It may be broken.&lt;br /&gt;
     Meantime,you may not plug the wireless keyboard receiver into the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
==Keywords==&lt;br /&gt;
DockerPi,DIY,toycar,intelligent,Programmable&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6420</id>
		<title>EP-0109</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6420"/>
		<updated>2019-09-30T07:45:16Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Use the Keyboard to control the toycar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DockerPi DIY Programmable intelligent toycar==&lt;br /&gt;
==Description==&lt;br /&gt;
DockerPi DIY Programmable intelligent toycar is based on DockerPi Motor Board(A) and DockerPi Power Board.You could DIY it&#039;s appearance and power.&lt;br /&gt;
&lt;br /&gt;
Of course,if you want to get started directly,we also provide the power board and Arcylic board for you.We offer several packages to you.The DockerPi &lt;br /&gt;
&lt;br /&gt;
Power Board could provide powerful power for the car.You could choose to design its appearance by yourself.Besides,you could connect the camera module &lt;br /&gt;
&lt;br /&gt;
to achieve the function of identifying objects.The following we will show you how to use the wireless keyboard and wireless handle to control the car by pygame.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Remember:Don&#039;t assemble and disassemble the board when the power supply is working.They don&#039;t support hot plug&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* DockerPi Series&lt;br /&gt;
* Programmable&lt;br /&gt;
* Intelligent toycar&lt;br /&gt;
* Easy to control&lt;br /&gt;
* DIY&lt;br /&gt;
* Selective control&lt;br /&gt;
* Wireless control&lt;br /&gt;
* Handle&lt;br /&gt;
* Keyboard&lt;br /&gt;
* Motor&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package Includes==&lt;br /&gt;
*Essentials&lt;br /&gt;
** 1 x Battery case&lt;br /&gt;
***3 x 18650(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;Not included&#039;&#039;&#039;&amp;lt;/font&amp;gt;)&lt;br /&gt;
*** 2 x DC Motor&lt;br /&gt;
*** 2 x Acrylic gasket&lt;br /&gt;
*** 2 x M*12 Half-round head screw&lt;br /&gt;
*** 2 x PH Connector&lt;br /&gt;
** 2 x 65mm Black rubber wheel&lt;br /&gt;
***4 x M4*4 Hexagon socket tightening screw&lt;br /&gt;
***8 x M3*9 Half-round head screw&lt;br /&gt;
***8 x M3 Nut&lt;br /&gt;
***4 x M3*5 Half-round head screw&lt;br /&gt;
***2 x M4*5 Half-round head screw&lt;br /&gt;
** 1 x All around wheel&lt;br /&gt;
***4 x M3*22 + 6 Copper stick&lt;br /&gt;
***4 x M2.5 Nut&lt;br /&gt;
***4 x M5*4 Half-round head screw&lt;br /&gt;
**1 x Motor Board&lt;br /&gt;
**2 x Coupling&lt;br /&gt;
**2 x Coupling fixing bracket&lt;br /&gt;
** 1 x Power Board&lt;br /&gt;
** 1 x Instruction&lt;br /&gt;
** 1 x Acrylic sheet design drawings&lt;br /&gt;
** 4 x M2.5 Nut&lt;br /&gt;
** 4 x M2.5*6+6Copper stick&lt;br /&gt;
** 8 x M2.5*12+6Copper&lt;br /&gt;
** 4 x M2.5*6 Half-round head screw&lt;br /&gt;
&lt;br /&gt;
*Optional&lt;br /&gt;
** TF card&lt;br /&gt;
** Arcylic board&lt;br /&gt;
** RaspberryPi&lt;br /&gt;
** Wireless handle&lt;br /&gt;
** Wireless keyboard&lt;br /&gt;
&lt;br /&gt;
==Announcements==&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Please turn off the power when you connect it!&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*DockerPi Series Board does not support hot plug&lt;br /&gt;
*Please do not install reverse battery&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
&lt;br /&gt;
==Configuring I2C(Raspberry Pi)==&lt;br /&gt;
*Run &#039;&#039;&#039;sudo raspi-config&#039;&#039;&#039; and follow the prompts to install i2c support for the ARM core and linux kernel&amp;lt;br /&amp;gt;&lt;br /&gt;
*Go to &#039;&#039;&#039;Interfacing Options&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-1.png |none|400px]]&lt;br /&gt;
then &#039;&#039;&#039;I2C&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-2.png |none|400px]]&lt;br /&gt;
Enable!&lt;br /&gt;
[[File:Raspi-config-3.png |none|400px]]&lt;br /&gt;
Done!&lt;br /&gt;
[[File:Raspi-config-4.png |none|400px]]&lt;br /&gt;
&lt;br /&gt;
==How to use==&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Handle to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Handle model:A-038 2.4G wireless gamepad&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Note:Different models of handles may not match the program&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please install the python3&#039;s joystick&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install joystick&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please install the python3&#039;s matplotlib&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install matplotlib&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the arrowkey of up:Go ahead&lt;br /&gt;
*Press the arrowkey of down:Go back&lt;br /&gt;
*Press the arrowkey of left:Turn left&lt;br /&gt;
*Press the arrowkey of right:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import joystick&lt;br /&gt;
import sys&lt;br /&gt;
import time&lt;br /&gt;
import pygame&lt;br /&gt;
import smbus&lt;br /&gt;
&lt;br /&gt;
bus = smbus.SMBus(1)&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp0 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 -100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 -100) &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,(temp0 - 100) &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp0 &amp;gt;&amp;gt; 8)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
# Define some colors&lt;br /&gt;
BLACK    = (   0,   0,   0)&lt;br /&gt;
WHITE    = ( 255, 255, 255)&lt;br /&gt;
# This is a simple class that will help us print to the screen&lt;br /&gt;
class TextPrint:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        self.reset()&lt;br /&gt;
        self.font = pygame.font.Font(None, 20)&lt;br /&gt;
    def print(self, screen, textString):&lt;br /&gt;
        textBitmap = self.font.render(textString, True, BLACK)&lt;br /&gt;
        screen.blit(textBitmap, [self.x, self.y])&lt;br /&gt;
        self.y += self.line_height  &lt;br /&gt;
    def reset(self):&lt;br /&gt;
        self.x = 10&lt;br /&gt;
        self.y = 10&lt;br /&gt;
        self.line_height = 15   &lt;br /&gt;
    def indent(self):&lt;br /&gt;
        self.x += 10     &lt;br /&gt;
    def unindent(self):&lt;br /&gt;
        self.x -= 10&lt;br /&gt;
pygame.init()&lt;br /&gt;
# Set the width and height of the screen [width,height]&lt;br /&gt;
size = [500, 700]&lt;br /&gt;
screen = pygame.display.set_mode(size)&lt;br /&gt;
pygame.display.set_caption(&amp;quot;My Game&amp;quot;)&lt;br /&gt;
#Loop until the user clicks the close button.&lt;br /&gt;
done = False&lt;br /&gt;
# Used to manage how fast the screen updates&lt;br /&gt;
clock = pygame.time.Clock()&lt;br /&gt;
# Initialize the joysticks&lt;br /&gt;
pygame.joystick.init()&lt;br /&gt;
# Get ready to print&lt;br /&gt;
textPrint = TextPrint()&lt;br /&gt;
# -------- Main Program Loop -----------&lt;br /&gt;
while done==False:&lt;br /&gt;
    # EVENT PROCESSING STEP&lt;br /&gt;
    for event in pygame.event.get(): # User did something&lt;br /&gt;
        if event.type == pygame.QUIT: # If user clicked close&lt;br /&gt;
            done=True # Flag that we are done so we exit this loop&lt;br /&gt;
    # DRAWING STEP&lt;br /&gt;
    # First, clear the screen to white. Don&#039;t put other drawing commands&lt;br /&gt;
    # above this, or they will be erased with this command.&lt;br /&gt;
    screen.fill(WHITE)&lt;br /&gt;
    textPrint.reset()&lt;br /&gt;
    # Get count of joysticks&lt;br /&gt;
    joystick_count = pygame.joystick.get_count()&lt;br /&gt;
    #textPrint.print(screen, &amp;quot;Number of joysticks: {}&amp;quot;.format(joystick_count) )&lt;br /&gt;
    textPrint.indent()&lt;br /&gt;
    # For each joystick:&lt;br /&gt;
    for i in range(joystick_count):&lt;br /&gt;
        joystick = pygame.joystick.Joystick(i)&lt;br /&gt;
        joystick.init()&lt;br /&gt;
        # Usually axis run in pairs, up/down for one, and left/right for&lt;br /&gt;
        # the other.&lt;br /&gt;
        axes = joystick.get_numaxes()&lt;br /&gt;
        #textPrint.print(screen, &amp;quot;Number of axes: {}&amp;quot;.format(axes) )&lt;br /&gt;
        #textPrint.indent()   &lt;br /&gt;
        for i in range( axes ):&lt;br /&gt;
            axis = joystick.get_axis( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Axis {} value: {:&amp;gt;6.3f}&amp;quot;.format(i, axis) )&lt;br /&gt;
            if i==1 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Left up&amp;quot;,axis)&lt;br /&gt;
            if i==1 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left down&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Left left&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left right&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Right up&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right down&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Right left&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right right&amp;quot;,axis)&lt;br /&gt;
            if i==2 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;LT&amp;quot;,axis)&lt;br /&gt;
            if i==5 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;RT&amp;quot;,axis)&lt;br /&gt;
       &lt;br /&gt;
        textPrint.unindent()   &lt;br /&gt;
        buttons = joystick.get_numbuttons()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of buttons: {}&amp;quot;.format(buttons) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( buttons ):&lt;br /&gt;
            button = joystick.get_button( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Button {:&amp;gt;2} value: {}&amp;quot;.format(i,button) )&lt;br /&gt;
            if i==0 and button ==1:&lt;br /&gt;
                print(&amp;quot;A&amp;quot;)&lt;br /&gt;
            if i==1 and button ==1:&lt;br /&gt;
                print(&amp;quot;B&amp;quot;)&lt;br /&gt;
            if i==2 and button ==1:&lt;br /&gt;
                print(&amp;quot;X&amp;quot;)&lt;br /&gt;
            if i==3 and button ==1:&lt;br /&gt;
                print(&amp;quot;Y&amp;quot;)&lt;br /&gt;
            if i==4 and button ==1:&lt;br /&gt;
                print(&amp;quot;LB&amp;quot;)&lt;br /&gt;
            if i==5 and button ==1:&lt;br /&gt;
                print(&amp;quot;RB&amp;quot;)&lt;br /&gt;
            if i==6 and button ==1:&lt;br /&gt;
                print(&amp;quot;BACK&amp;quot;)&lt;br /&gt;
            if i==7 and button ==1:&lt;br /&gt;
                print(&amp;quot;START&amp;quot;)&lt;br /&gt;
            if i==8 and button ==1:&lt;br /&gt;
                print(&amp;quot;Logitech&amp;quot;)&lt;br /&gt;
            if i==9 and button ==1:&lt;br /&gt;
                print(&amp;quot;Left GA&amp;quot;)&lt;br /&gt;
            if i==10 and button ==1:&lt;br /&gt;
                print(&amp;quot;Right GA&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
        textPrint.unindent()&lt;br /&gt;
        # Hat switch. All or nothing for direction, not like joysticks.&lt;br /&gt;
        # Value comes back in an array.&lt;br /&gt;
        hats = joystick.get_numhats()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of hats: {}&amp;quot;.format(hats) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( hats ):&lt;br /&gt;
            speed = 300&lt;br /&gt;
            hat = joystick.get_hat( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Hat {} value: {}&amp;quot;.format(i, str(hat)) )&lt;br /&gt;
            if hat==(1,0) :&lt;br /&gt;
                print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                turnright()&lt;br /&gt;
            if hat==(-1,0) :&lt;br /&gt;
                print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                turnleft()&lt;br /&gt;
            if hat==(0,1):&lt;br /&gt;
                print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                &lt;br /&gt;
            if hat==(0,0):&lt;br /&gt;
                print(&amp;quot;Slowing down&amp;quot;)&lt;br /&gt;
                temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
                print(temp1)&lt;br /&gt;
                speed = temp1&lt;br /&gt;
                while speed &amp;gt; 0 :&lt;br /&gt;
                    speed = speed - 8&lt;br /&gt;
                    time.sleep(0.01)&lt;br /&gt;
                    setspeed() &lt;br /&gt;
            if hat==(0,-1):&lt;br /&gt;
                print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                        print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                        turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
        textPrint.unindent()      &lt;br /&gt;
        #textPrint.unindent()&lt;br /&gt;
&lt;br /&gt;
    # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT   &lt;br /&gt;
    # Go ahead and update the screen with what we&#039;ve drawn.&lt;br /&gt;
    pygame.display.flip()&lt;br /&gt;
    # Limit to 20 frames per second&lt;br /&gt;
    clock.tick(20)  &lt;br /&gt;
# Close the window and quit.&lt;br /&gt;
# If you forget this line, the program will &#039;hang&#039;&lt;br /&gt;
pygame.quit ()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless handle receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Keyboard to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Software environment&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the key of W:Go ahead&lt;br /&gt;
*Press the key of S:Go back&lt;br /&gt;
*Press the key of A:Turn left&lt;br /&gt;
*Press the key of D:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import sys&lt;br /&gt;
import smbus&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Address&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_BUS = 1&lt;br /&gt;
bus = smbus.SMBus(MOTOR_DRIVER_BUS)&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Functions&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
screen = pygame.display.set_mode((600, 400))&lt;br /&gt;
pygame.display.set_caption(&#039;pygame event&#039;)&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def decspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp1 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp1 &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 &amp;gt;&amp;gt; 8) | 0x80)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 &amp;gt;&amp;gt; 8) | 0x80)) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 - 100) &amp;amp; 0xff) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for event in pygame.event.get():&lt;br /&gt;
        if event.type == pygame.QUIT:&lt;br /&gt;
            sys.exit()&lt;br /&gt;
        #  &lt;br /&gt;
        keyboard_list = [pygame.K_w,pygame.K_s,pygame.K_a,pygame.K_d]   &lt;br /&gt;
        keys_pressed = pygame.key.get_pressed()    &lt;br /&gt;
        if keys_pressed[keyboard_list[0]]:&lt;br /&gt;
            print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 300):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        &lt;br /&gt;
        elif keys_pressed[keyboard_list[1]]:&lt;br /&gt;
            print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 350):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        elif keys_pressed[keyboard_list[2]]:&lt;br /&gt;
            print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
            turnleft()&lt;br /&gt;
            &lt;br /&gt;
        elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
            print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
            turnright()       &lt;br /&gt;
        else:&lt;br /&gt;
            temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
            print(temp1)&lt;br /&gt;
            while (temp1 &amp;gt; 0):&lt;br /&gt;
                time.sleep(0.01)&lt;br /&gt;
                temp1 -= 4&lt;br /&gt;
                decspeed()&lt;br /&gt;
    pygame.display.update()   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo DISPLAY=:0.0 python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless keyboard receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Can the Bluetooth controller be used?&lt;br /&gt;
  A: Yes,we do not recommend it, the delay is very high&lt;br /&gt;
* Q: Why can I control it when I use the handle, sometimes I can’t control it?&lt;br /&gt;
  A: Please observe if the four lights on your handle are flashing together.If the flashing together means re-pairing, &lt;br /&gt;
     the signal cannot be transmitted.&lt;br /&gt;
* Q: What is the maximum speed the car can reaching?&lt;br /&gt;
  A: It will be faster than your imagination,the max is 1300r/min.However, i suggest you don&#039;t do like this,it may damage the car.&lt;br /&gt;
&lt;br /&gt;
* Q: Sometimes,the toycar is out of my control,what&#039;s wrong with it?&lt;br /&gt;
  A: Maybe the raspberry pie&#039;s wireless signal is too weak.Also,this is related to your program.&lt;br /&gt;
&lt;br /&gt;
* Q: Why i have executed the command:sudo halt,but the Raspberypi and Power Board&#039;s Led is still working?&lt;br /&gt;
  A: Because you havn&#039;t installed the script about power.Please install it then have a try.&lt;br /&gt;
&lt;br /&gt;
* Q: If i have ran the program and the raspberrypi is fine,i have reed the value of register of speed,but the car has&#039;t any response?&lt;br /&gt;
  A: Please check the Power Board&#039;s power supply pin.It may be broken.&lt;br /&gt;
     Meantime,you may not plug the wireless keyboard receiver into the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
==Keywords==&lt;br /&gt;
DockerPi,DIY,toycar,intelligent,Programmable&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6419</id>
		<title>EP-0109</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6419"/>
		<updated>2019-09-30T07:44:29Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Use the Handle to control the toycar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DockerPi DIY Programmable intelligent toycar==&lt;br /&gt;
==Description==&lt;br /&gt;
DockerPi DIY Programmable intelligent toycar is based on DockerPi Motor Board(A) and DockerPi Power Board.You could DIY it&#039;s appearance and power.&lt;br /&gt;
&lt;br /&gt;
Of course,if you want to get started directly,we also provide the power board and Arcylic board for you.We offer several packages to you.The DockerPi &lt;br /&gt;
&lt;br /&gt;
Power Board could provide powerful power for the car.You could choose to design its appearance by yourself.Besides,you could connect the camera module &lt;br /&gt;
&lt;br /&gt;
to achieve the function of identifying objects.The following we will show you how to use the wireless keyboard and wireless handle to control the car by pygame.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Remember:Don&#039;t assemble and disassemble the board when the power supply is working.They don&#039;t support hot plug&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* DockerPi Series&lt;br /&gt;
* Programmable&lt;br /&gt;
* Intelligent toycar&lt;br /&gt;
* Easy to control&lt;br /&gt;
* DIY&lt;br /&gt;
* Selective control&lt;br /&gt;
* Wireless control&lt;br /&gt;
* Handle&lt;br /&gt;
* Keyboard&lt;br /&gt;
* Motor&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package Includes==&lt;br /&gt;
*Essentials&lt;br /&gt;
** 1 x Battery case&lt;br /&gt;
***3 x 18650(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;Not included&#039;&#039;&#039;&amp;lt;/font&amp;gt;)&lt;br /&gt;
*** 2 x DC Motor&lt;br /&gt;
*** 2 x Acrylic gasket&lt;br /&gt;
*** 2 x M*12 Half-round head screw&lt;br /&gt;
*** 2 x PH Connector&lt;br /&gt;
** 2 x 65mm Black rubber wheel&lt;br /&gt;
***4 x M4*4 Hexagon socket tightening screw&lt;br /&gt;
***8 x M3*9 Half-round head screw&lt;br /&gt;
***8 x M3 Nut&lt;br /&gt;
***4 x M3*5 Half-round head screw&lt;br /&gt;
***2 x M4*5 Half-round head screw&lt;br /&gt;
** 1 x All around wheel&lt;br /&gt;
***4 x M3*22 + 6 Copper stick&lt;br /&gt;
***4 x M2.5 Nut&lt;br /&gt;
***4 x M5*4 Half-round head screw&lt;br /&gt;
**1 x Motor Board&lt;br /&gt;
**2 x Coupling&lt;br /&gt;
**2 x Coupling fixing bracket&lt;br /&gt;
** 1 x Power Board&lt;br /&gt;
** 1 x Instruction&lt;br /&gt;
** 1 x Acrylic sheet design drawings&lt;br /&gt;
** 4 x M2.5 Nut&lt;br /&gt;
** 4 x M2.5*6+6Copper stick&lt;br /&gt;
** 8 x M2.5*12+6Copper&lt;br /&gt;
** 4 x M2.5*6 Half-round head screw&lt;br /&gt;
&lt;br /&gt;
*Optional&lt;br /&gt;
** TF card&lt;br /&gt;
** Arcylic board&lt;br /&gt;
** RaspberryPi&lt;br /&gt;
** Wireless handle&lt;br /&gt;
** Wireless keyboard&lt;br /&gt;
&lt;br /&gt;
==Announcements==&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Please turn off the power when you connect it!&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*DockerPi Series Board does not support hot plug&lt;br /&gt;
*Please do not install reverse battery&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
&lt;br /&gt;
==Configuring I2C(Raspberry Pi)==&lt;br /&gt;
*Run &#039;&#039;&#039;sudo raspi-config&#039;&#039;&#039; and follow the prompts to install i2c support for the ARM core and linux kernel&amp;lt;br /&amp;gt;&lt;br /&gt;
*Go to &#039;&#039;&#039;Interfacing Options&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-1.png |none|400px]]&lt;br /&gt;
then &#039;&#039;&#039;I2C&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-2.png |none|400px]]&lt;br /&gt;
Enable!&lt;br /&gt;
[[File:Raspi-config-3.png |none|400px]]&lt;br /&gt;
Done!&lt;br /&gt;
[[File:Raspi-config-4.png |none|400px]]&lt;br /&gt;
&lt;br /&gt;
==How to use==&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Handle to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Handle model:A-038 2.4G wireless gamepad&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Note:Different models of handles may not match the program&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please install the python3&#039;s joystick&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install joystick&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please install the python3&#039;s matplotlib&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install matplotlib&amp;lt;/code&amp;gt;&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the arrowkey of up:Go ahead&lt;br /&gt;
*Press the arrowkey of down:Go back&lt;br /&gt;
*Press the arrowkey of left:Turn left&lt;br /&gt;
*Press the arrowkey of right:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import joystick&lt;br /&gt;
import sys&lt;br /&gt;
import time&lt;br /&gt;
import pygame&lt;br /&gt;
import smbus&lt;br /&gt;
&lt;br /&gt;
bus = smbus.SMBus(1)&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp0 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 -100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 -100) &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,(temp0 - 100) &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp0 &amp;gt;&amp;gt; 8)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
# Define some colors&lt;br /&gt;
BLACK    = (   0,   0,   0)&lt;br /&gt;
WHITE    = ( 255, 255, 255)&lt;br /&gt;
# This is a simple class that will help us print to the screen&lt;br /&gt;
class TextPrint:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        self.reset()&lt;br /&gt;
        self.font = pygame.font.Font(None, 20)&lt;br /&gt;
    def print(self, screen, textString):&lt;br /&gt;
        textBitmap = self.font.render(textString, True, BLACK)&lt;br /&gt;
        screen.blit(textBitmap, [self.x, self.y])&lt;br /&gt;
        self.y += self.line_height  &lt;br /&gt;
    def reset(self):&lt;br /&gt;
        self.x = 10&lt;br /&gt;
        self.y = 10&lt;br /&gt;
        self.line_height = 15   &lt;br /&gt;
    def indent(self):&lt;br /&gt;
        self.x += 10     &lt;br /&gt;
    def unindent(self):&lt;br /&gt;
        self.x -= 10&lt;br /&gt;
pygame.init()&lt;br /&gt;
# Set the width and height of the screen [width,height]&lt;br /&gt;
size = [500, 700]&lt;br /&gt;
screen = pygame.display.set_mode(size)&lt;br /&gt;
pygame.display.set_caption(&amp;quot;My Game&amp;quot;)&lt;br /&gt;
#Loop until the user clicks the close button.&lt;br /&gt;
done = False&lt;br /&gt;
# Used to manage how fast the screen updates&lt;br /&gt;
clock = pygame.time.Clock()&lt;br /&gt;
# Initialize the joysticks&lt;br /&gt;
pygame.joystick.init()&lt;br /&gt;
# Get ready to print&lt;br /&gt;
textPrint = TextPrint()&lt;br /&gt;
# -------- Main Program Loop -----------&lt;br /&gt;
while done==False:&lt;br /&gt;
    # EVENT PROCESSING STEP&lt;br /&gt;
    for event in pygame.event.get(): # User did something&lt;br /&gt;
        if event.type == pygame.QUIT: # If user clicked close&lt;br /&gt;
            done=True # Flag that we are done so we exit this loop&lt;br /&gt;
    # DRAWING STEP&lt;br /&gt;
    # First, clear the screen to white. Don&#039;t put other drawing commands&lt;br /&gt;
    # above this, or they will be erased with this command.&lt;br /&gt;
    screen.fill(WHITE)&lt;br /&gt;
    textPrint.reset()&lt;br /&gt;
    # Get count of joysticks&lt;br /&gt;
    joystick_count = pygame.joystick.get_count()&lt;br /&gt;
    #textPrint.print(screen, &amp;quot;Number of joysticks: {}&amp;quot;.format(joystick_count) )&lt;br /&gt;
    textPrint.indent()&lt;br /&gt;
    # For each joystick:&lt;br /&gt;
    for i in range(joystick_count):&lt;br /&gt;
        joystick = pygame.joystick.Joystick(i)&lt;br /&gt;
        joystick.init()&lt;br /&gt;
        # Usually axis run in pairs, up/down for one, and left/right for&lt;br /&gt;
        # the other.&lt;br /&gt;
        axes = joystick.get_numaxes()&lt;br /&gt;
        #textPrint.print(screen, &amp;quot;Number of axes: {}&amp;quot;.format(axes) )&lt;br /&gt;
        #textPrint.indent()   &lt;br /&gt;
        for i in range( axes ):&lt;br /&gt;
            axis = joystick.get_axis( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Axis {} value: {:&amp;gt;6.3f}&amp;quot;.format(i, axis) )&lt;br /&gt;
            if i==1 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Left up&amp;quot;,axis)&lt;br /&gt;
            if i==1 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left down&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Left left&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left right&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Right up&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right down&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Right left&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right right&amp;quot;,axis)&lt;br /&gt;
            if i==2 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;LT&amp;quot;,axis)&lt;br /&gt;
            if i==5 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;RT&amp;quot;,axis)&lt;br /&gt;
       &lt;br /&gt;
        textPrint.unindent()   &lt;br /&gt;
        buttons = joystick.get_numbuttons()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of buttons: {}&amp;quot;.format(buttons) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( buttons ):&lt;br /&gt;
            button = joystick.get_button( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Button {:&amp;gt;2} value: {}&amp;quot;.format(i,button) )&lt;br /&gt;
            if i==0 and button ==1:&lt;br /&gt;
                print(&amp;quot;A&amp;quot;)&lt;br /&gt;
            if i==1 and button ==1:&lt;br /&gt;
                print(&amp;quot;B&amp;quot;)&lt;br /&gt;
            if i==2 and button ==1:&lt;br /&gt;
                print(&amp;quot;X&amp;quot;)&lt;br /&gt;
            if i==3 and button ==1:&lt;br /&gt;
                print(&amp;quot;Y&amp;quot;)&lt;br /&gt;
            if i==4 and button ==1:&lt;br /&gt;
                print(&amp;quot;LB&amp;quot;)&lt;br /&gt;
            if i==5 and button ==1:&lt;br /&gt;
                print(&amp;quot;RB&amp;quot;)&lt;br /&gt;
            if i==6 and button ==1:&lt;br /&gt;
                print(&amp;quot;BACK&amp;quot;)&lt;br /&gt;
            if i==7 and button ==1:&lt;br /&gt;
                print(&amp;quot;START&amp;quot;)&lt;br /&gt;
            if i==8 and button ==1:&lt;br /&gt;
                print(&amp;quot;Logitech&amp;quot;)&lt;br /&gt;
            if i==9 and button ==1:&lt;br /&gt;
                print(&amp;quot;Left GA&amp;quot;)&lt;br /&gt;
            if i==10 and button ==1:&lt;br /&gt;
                print(&amp;quot;Right GA&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
        textPrint.unindent()&lt;br /&gt;
        # Hat switch. All or nothing for direction, not like joysticks.&lt;br /&gt;
        # Value comes back in an array.&lt;br /&gt;
        hats = joystick.get_numhats()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of hats: {}&amp;quot;.format(hats) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( hats ):&lt;br /&gt;
            speed = 300&lt;br /&gt;
            hat = joystick.get_hat( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Hat {} value: {}&amp;quot;.format(i, str(hat)) )&lt;br /&gt;
            if hat==(1,0) :&lt;br /&gt;
                print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                turnright()&lt;br /&gt;
            if hat==(-1,0) :&lt;br /&gt;
                print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                turnleft()&lt;br /&gt;
            if hat==(0,1):&lt;br /&gt;
                print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                &lt;br /&gt;
            if hat==(0,0):&lt;br /&gt;
                print(&amp;quot;Slowing down&amp;quot;)&lt;br /&gt;
                temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
                print(temp1)&lt;br /&gt;
                speed = temp1&lt;br /&gt;
                while speed &amp;gt; 0 :&lt;br /&gt;
                    speed = speed - 8&lt;br /&gt;
                    time.sleep(0.01)&lt;br /&gt;
                    setspeed() &lt;br /&gt;
            if hat==(0,-1):&lt;br /&gt;
                print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                        print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                        turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
        textPrint.unindent()      &lt;br /&gt;
        #textPrint.unindent()&lt;br /&gt;
&lt;br /&gt;
    # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT   &lt;br /&gt;
    # Go ahead and update the screen with what we&#039;ve drawn.&lt;br /&gt;
    pygame.display.flip()&lt;br /&gt;
    # Limit to 20 frames per second&lt;br /&gt;
    clock.tick(20)  &lt;br /&gt;
# Close the window and quit.&lt;br /&gt;
# If you forget this line, the program will &#039;hang&#039;&lt;br /&gt;
pygame.quit ()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless handle receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Keyboard to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Software environment&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|       [[File:DockerPi DIY Car(1).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(3).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(4).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the key of W:Go ahead&lt;br /&gt;
*Press the key of S:Go back&lt;br /&gt;
*Press the key of A:Turn left&lt;br /&gt;
*Press the key of D:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import sys&lt;br /&gt;
import smbus&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Address&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_BUS = 1&lt;br /&gt;
bus = smbus.SMBus(MOTOR_DRIVER_BUS)&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Functions&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
screen = pygame.display.set_mode((600, 400))&lt;br /&gt;
pygame.display.set_caption(&#039;pygame event&#039;)&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def decspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp1 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp1 &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 &amp;gt;&amp;gt; 8) | 0x80)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 &amp;gt;&amp;gt; 8) | 0x80)) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 - 100) &amp;amp; 0xff) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for event in pygame.event.get():&lt;br /&gt;
        if event.type == pygame.QUIT:&lt;br /&gt;
            sys.exit()&lt;br /&gt;
        #  &lt;br /&gt;
        keyboard_list = [pygame.K_w,pygame.K_s,pygame.K_a,pygame.K_d]   &lt;br /&gt;
        keys_pressed = pygame.key.get_pressed()    &lt;br /&gt;
        if keys_pressed[keyboard_list[0]]:&lt;br /&gt;
            print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 300):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        &lt;br /&gt;
        elif keys_pressed[keyboard_list[1]]:&lt;br /&gt;
            print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 350):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        elif keys_pressed[keyboard_list[2]]:&lt;br /&gt;
            print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
            turnleft()&lt;br /&gt;
            &lt;br /&gt;
        elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
            print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
            turnright()       &lt;br /&gt;
        else:&lt;br /&gt;
            temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
            print(temp1)&lt;br /&gt;
            while (temp1 &amp;gt; 0):&lt;br /&gt;
                time.sleep(0.01)&lt;br /&gt;
                temp1 -= 4&lt;br /&gt;
                decspeed()&lt;br /&gt;
    pygame.display.update()   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo DISPLAY=:0.0 python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless keyboard receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Can the Bluetooth controller be used?&lt;br /&gt;
  A: Yes,we do not recommend it, the delay is very high&lt;br /&gt;
* Q: Why can I control it when I use the handle, sometimes I can’t control it?&lt;br /&gt;
  A: Please observe if the four lights on your handle are flashing together.If the flashing together means re-pairing, &lt;br /&gt;
     the signal cannot be transmitted.&lt;br /&gt;
* Q: What is the maximum speed the car can reaching?&lt;br /&gt;
  A: It will be faster than your imagination,the max is 1300r/min.However, i suggest you don&#039;t do like this,it may damage the car.&lt;br /&gt;
&lt;br /&gt;
* Q: Sometimes,the toycar is out of my control,what&#039;s wrong with it?&lt;br /&gt;
  A: Maybe the raspberry pie&#039;s wireless signal is too weak.Also,this is related to your program.&lt;br /&gt;
&lt;br /&gt;
* Q: Why i have executed the command:sudo halt,but the Raspberypi and Power Board&#039;s Led is still working?&lt;br /&gt;
  A: Because you havn&#039;t installed the script about power.Please install it then have a try.&lt;br /&gt;
&lt;br /&gt;
* Q: If i have ran the program and the raspberrypi is fine,i have reed the value of register of speed,but the car has&#039;t any response?&lt;br /&gt;
  A: Please check the Power Board&#039;s power supply pin.It may be broken.&lt;br /&gt;
     Meantime,you may not plug the wireless keyboard receiver into the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
==Keywords==&lt;br /&gt;
DockerPi,DIY,toycar,intelligent,Programmable&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6406</id>
		<title>EP-0109</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6406"/>
		<updated>2019-09-30T01:50:30Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DockerPi DIY Programmable intelligent toycar==&lt;br /&gt;
==Description==&lt;br /&gt;
DockerPi DIY Programmable intelligent toycar is based on DockerPi Motor Board(A) and DockerPi Power Board.You could DIY it&#039;s appearance and power.&lt;br /&gt;
&lt;br /&gt;
Of course,if you want to get started directly,we also provide the power board and Arcylic board for you.We offer several packages to you.The DockerPi &lt;br /&gt;
&lt;br /&gt;
Power Board could provide powerful power for the car.You could choose to design its appearance by yourself.Besides,you could connect the camera module &lt;br /&gt;
&lt;br /&gt;
to achieve the function of identifying objects.The following we will show you how to use the wireless keyboard and wireless handle to control the car by pygame.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Remember:Don&#039;t assemble and disassemble the board when the power supply is working.They don&#039;t support hot plug&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* DockerPi Series&lt;br /&gt;
* Programmable&lt;br /&gt;
* Intelligent toycar&lt;br /&gt;
* Easy to control&lt;br /&gt;
* DIY&lt;br /&gt;
* Selective control&lt;br /&gt;
* Wireless control&lt;br /&gt;
* Handle&lt;br /&gt;
* Keyboard&lt;br /&gt;
* Motor&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package Includes==&lt;br /&gt;
*Essentials&lt;br /&gt;
** 1 x Battery case&lt;br /&gt;
***3 x 18650(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;Not included&#039;&#039;&#039;&amp;lt;/font&amp;gt;)&lt;br /&gt;
*** 2 x DC Motor&lt;br /&gt;
*** 2 x Acrylic gasket&lt;br /&gt;
*** 2 x M*12 Half-round head screw&lt;br /&gt;
*** 2 x PH Connector&lt;br /&gt;
** 2 x 65mm Black rubber wheel&lt;br /&gt;
***4 x M4*4 Hexagon socket tightening screw&lt;br /&gt;
***8 x M3*9 Half-round head screw&lt;br /&gt;
***8 x M3 Nut&lt;br /&gt;
***4 x M3*5 Half-round head screw&lt;br /&gt;
***2 x M4*5 Half-round head screw&lt;br /&gt;
** 1 x All around wheel&lt;br /&gt;
***4 x M3*22 + 6 Copper stick&lt;br /&gt;
***4 x M2.5 Nut&lt;br /&gt;
***4 x M5*4 Half-round head screw&lt;br /&gt;
**1 x Motor Board&lt;br /&gt;
**2 x Coupling&lt;br /&gt;
**2 x Coupling fixing bracket&lt;br /&gt;
** 1 x Power Board&lt;br /&gt;
** 1 x Instruction&lt;br /&gt;
** 1 x Acrylic sheet design drawings&lt;br /&gt;
** 4 x M2.5 Nut&lt;br /&gt;
** 4 x M2.5*6+6Copper stick&lt;br /&gt;
** 8 x M2.5*12+6Copper&lt;br /&gt;
** 4 x M2.5*6 Half-round head screw&lt;br /&gt;
&lt;br /&gt;
*Optional&lt;br /&gt;
** TF card&lt;br /&gt;
** Arcylic board&lt;br /&gt;
** RaspberryPi&lt;br /&gt;
** Wireless handle&lt;br /&gt;
** Wireless keyboard&lt;br /&gt;
&lt;br /&gt;
==Announcements==&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Please turn off the power when you connect it!&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*DockerPi Series Board does not support hot plug&lt;br /&gt;
*Please do not install reverse battery&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
&lt;br /&gt;
==Configuring I2C(Raspberry Pi)==&lt;br /&gt;
*Run &#039;&#039;&#039;sudo raspi-config&#039;&#039;&#039; and follow the prompts to install i2c support for the ARM core and linux kernel&amp;lt;br /&amp;gt;&lt;br /&gt;
*Go to &#039;&#039;&#039;Interfacing Options&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-1.png |none|400px]]&lt;br /&gt;
then &#039;&#039;&#039;I2C&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-2.png |none|400px]]&lt;br /&gt;
Enable!&lt;br /&gt;
[[File:Raspi-config-3.png |none|400px]]&lt;br /&gt;
Done!&lt;br /&gt;
[[File:Raspi-config-4.png |none|400px]]&lt;br /&gt;
&lt;br /&gt;
==How to use==&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Handle to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Handle model:A-038 2.4G wireless gamepad&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Note:Different models of handles may not match the program&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|       [[File:DockerPi DIY Car(1).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(3).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(4).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please install the python3&#039;s joystick&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install joystick&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(5).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please install the python3&#039;s matplotlib&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install matplotlib&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(6).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the arrowkey of up:Go ahead&lt;br /&gt;
*Press the arrowkey of down:Go back&lt;br /&gt;
*Press the arrowkey of left:Turn left&lt;br /&gt;
*Press the arrowkey of right:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import joystick&lt;br /&gt;
import sys&lt;br /&gt;
import time&lt;br /&gt;
import pygame&lt;br /&gt;
import smbus&lt;br /&gt;
&lt;br /&gt;
bus = smbus.SMBus(1)&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp0 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 -100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 -100) &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,(temp0 - 100) &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp0 &amp;gt;&amp;gt; 8)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
# Define some colors&lt;br /&gt;
BLACK    = (   0,   0,   0)&lt;br /&gt;
WHITE    = ( 255, 255, 255)&lt;br /&gt;
# This is a simple class that will help us print to the screen&lt;br /&gt;
class TextPrint:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        self.reset()&lt;br /&gt;
        self.font = pygame.font.Font(None, 20)&lt;br /&gt;
    def print(self, screen, textString):&lt;br /&gt;
        textBitmap = self.font.render(textString, True, BLACK)&lt;br /&gt;
        screen.blit(textBitmap, [self.x, self.y])&lt;br /&gt;
        self.y += self.line_height  &lt;br /&gt;
    def reset(self):&lt;br /&gt;
        self.x = 10&lt;br /&gt;
        self.y = 10&lt;br /&gt;
        self.line_height = 15   &lt;br /&gt;
    def indent(self):&lt;br /&gt;
        self.x += 10     &lt;br /&gt;
    def unindent(self):&lt;br /&gt;
        self.x -= 10&lt;br /&gt;
pygame.init()&lt;br /&gt;
# Set the width and height of the screen [width,height]&lt;br /&gt;
size = [500, 700]&lt;br /&gt;
screen = pygame.display.set_mode(size)&lt;br /&gt;
pygame.display.set_caption(&amp;quot;My Game&amp;quot;)&lt;br /&gt;
#Loop until the user clicks the close button.&lt;br /&gt;
done = False&lt;br /&gt;
# Used to manage how fast the screen updates&lt;br /&gt;
clock = pygame.time.Clock()&lt;br /&gt;
# Initialize the joysticks&lt;br /&gt;
pygame.joystick.init()&lt;br /&gt;
# Get ready to print&lt;br /&gt;
textPrint = TextPrint()&lt;br /&gt;
# -------- Main Program Loop -----------&lt;br /&gt;
while done==False:&lt;br /&gt;
    # EVENT PROCESSING STEP&lt;br /&gt;
    for event in pygame.event.get(): # User did something&lt;br /&gt;
        if event.type == pygame.QUIT: # If user clicked close&lt;br /&gt;
            done=True # Flag that we are done so we exit this loop&lt;br /&gt;
    # DRAWING STEP&lt;br /&gt;
    # First, clear the screen to white. Don&#039;t put other drawing commands&lt;br /&gt;
    # above this, or they will be erased with this command.&lt;br /&gt;
    screen.fill(WHITE)&lt;br /&gt;
    textPrint.reset()&lt;br /&gt;
    # Get count of joysticks&lt;br /&gt;
    joystick_count = pygame.joystick.get_count()&lt;br /&gt;
    #textPrint.print(screen, &amp;quot;Number of joysticks: {}&amp;quot;.format(joystick_count) )&lt;br /&gt;
    textPrint.indent()&lt;br /&gt;
    # For each joystick:&lt;br /&gt;
    for i in range(joystick_count):&lt;br /&gt;
        joystick = pygame.joystick.Joystick(i)&lt;br /&gt;
        joystick.init()&lt;br /&gt;
        # Usually axis run in pairs, up/down for one, and left/right for&lt;br /&gt;
        # the other.&lt;br /&gt;
        axes = joystick.get_numaxes()&lt;br /&gt;
        #textPrint.print(screen, &amp;quot;Number of axes: {}&amp;quot;.format(axes) )&lt;br /&gt;
        #textPrint.indent()   &lt;br /&gt;
        for i in range( axes ):&lt;br /&gt;
            axis = joystick.get_axis( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Axis {} value: {:&amp;gt;6.3f}&amp;quot;.format(i, axis) )&lt;br /&gt;
            if i==1 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Left up&amp;quot;,axis)&lt;br /&gt;
            if i==1 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left down&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Left left&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left right&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Right up&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right down&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Right left&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right right&amp;quot;,axis)&lt;br /&gt;
            if i==2 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;LT&amp;quot;,axis)&lt;br /&gt;
            if i==5 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;RT&amp;quot;,axis)&lt;br /&gt;
       &lt;br /&gt;
        textPrint.unindent()   &lt;br /&gt;
        buttons = joystick.get_numbuttons()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of buttons: {}&amp;quot;.format(buttons) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( buttons ):&lt;br /&gt;
            button = joystick.get_button( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Button {:&amp;gt;2} value: {}&amp;quot;.format(i,button) )&lt;br /&gt;
            if i==0 and button ==1:&lt;br /&gt;
                print(&amp;quot;A&amp;quot;)&lt;br /&gt;
            if i==1 and button ==1:&lt;br /&gt;
                print(&amp;quot;B&amp;quot;)&lt;br /&gt;
            if i==2 and button ==1:&lt;br /&gt;
                print(&amp;quot;X&amp;quot;)&lt;br /&gt;
            if i==3 and button ==1:&lt;br /&gt;
                print(&amp;quot;Y&amp;quot;)&lt;br /&gt;
            if i==4 and button ==1:&lt;br /&gt;
                print(&amp;quot;LB&amp;quot;)&lt;br /&gt;
            if i==5 and button ==1:&lt;br /&gt;
                print(&amp;quot;RB&amp;quot;)&lt;br /&gt;
            if i==6 and button ==1:&lt;br /&gt;
                print(&amp;quot;BACK&amp;quot;)&lt;br /&gt;
            if i==7 and button ==1:&lt;br /&gt;
                print(&amp;quot;START&amp;quot;)&lt;br /&gt;
            if i==8 and button ==1:&lt;br /&gt;
                print(&amp;quot;Logitech&amp;quot;)&lt;br /&gt;
            if i==9 and button ==1:&lt;br /&gt;
                print(&amp;quot;Left GA&amp;quot;)&lt;br /&gt;
            if i==10 and button ==1:&lt;br /&gt;
                print(&amp;quot;Right GA&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
        textPrint.unindent()&lt;br /&gt;
        # Hat switch. All or nothing for direction, not like joysticks.&lt;br /&gt;
        # Value comes back in an array.&lt;br /&gt;
        hats = joystick.get_numhats()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of hats: {}&amp;quot;.format(hats) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( hats ):&lt;br /&gt;
            speed = 300&lt;br /&gt;
            hat = joystick.get_hat( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Hat {} value: {}&amp;quot;.format(i, str(hat)) )&lt;br /&gt;
            if hat==(1,0) :&lt;br /&gt;
                print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                turnright()&lt;br /&gt;
            if hat==(-1,0) :&lt;br /&gt;
                print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                turnleft()&lt;br /&gt;
            if hat==(0,1):&lt;br /&gt;
                print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                &lt;br /&gt;
            if hat==(0,0):&lt;br /&gt;
                print(&amp;quot;Slowing down&amp;quot;)&lt;br /&gt;
                temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
                print(temp1)&lt;br /&gt;
                speed = temp1&lt;br /&gt;
                while speed &amp;gt; 0 :&lt;br /&gt;
                    speed = speed - 8&lt;br /&gt;
                    time.sleep(0.01)&lt;br /&gt;
                    setspeed() &lt;br /&gt;
            if hat==(0,-1):&lt;br /&gt;
                print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                        print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                        turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
        textPrint.unindent()      &lt;br /&gt;
        #textPrint.unindent()&lt;br /&gt;
&lt;br /&gt;
    # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT   &lt;br /&gt;
    # Go ahead and update the screen with what we&#039;ve drawn.&lt;br /&gt;
    pygame.display.flip()&lt;br /&gt;
    # Limit to 20 frames per second&lt;br /&gt;
    clock.tick(20)  &lt;br /&gt;
# Close the window and quit.&lt;br /&gt;
# If you forget this line, the program will &#039;hang&#039;&lt;br /&gt;
pygame.quit ()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless handle receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Keyboard to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Software environment&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|       [[File:DockerPi DIY Car(1).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(3).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(4).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the key of W:Go ahead&lt;br /&gt;
*Press the key of S:Go back&lt;br /&gt;
*Press the key of A:Turn left&lt;br /&gt;
*Press the key of D:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import sys&lt;br /&gt;
import smbus&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Address&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_BUS = 1&lt;br /&gt;
bus = smbus.SMBus(MOTOR_DRIVER_BUS)&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Functions&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
screen = pygame.display.set_mode((600, 400))&lt;br /&gt;
pygame.display.set_caption(&#039;pygame event&#039;)&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def decspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp1 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp1 &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 &amp;gt;&amp;gt; 8) | 0x80)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 &amp;gt;&amp;gt; 8) | 0x80)) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 - 100) &amp;amp; 0xff) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for event in pygame.event.get():&lt;br /&gt;
        if event.type == pygame.QUIT:&lt;br /&gt;
            sys.exit()&lt;br /&gt;
        #  &lt;br /&gt;
        keyboard_list = [pygame.K_w,pygame.K_s,pygame.K_a,pygame.K_d]   &lt;br /&gt;
        keys_pressed = pygame.key.get_pressed()    &lt;br /&gt;
        if keys_pressed[keyboard_list[0]]:&lt;br /&gt;
            print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 300):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        &lt;br /&gt;
        elif keys_pressed[keyboard_list[1]]:&lt;br /&gt;
            print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 350):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        elif keys_pressed[keyboard_list[2]]:&lt;br /&gt;
            print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
            turnleft()&lt;br /&gt;
            &lt;br /&gt;
        elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
            print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
            turnright()       &lt;br /&gt;
        else:&lt;br /&gt;
            temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
            print(temp1)&lt;br /&gt;
            while (temp1 &amp;gt; 0):&lt;br /&gt;
                time.sleep(0.01)&lt;br /&gt;
                temp1 -= 4&lt;br /&gt;
                decspeed()&lt;br /&gt;
    pygame.display.update()   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo DISPLAY=:0.0 python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless keyboard receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Can the Bluetooth controller be used?&lt;br /&gt;
  A: Yes,we do not recommend it, the delay is very high&lt;br /&gt;
* Q: Why can I control it when I use the handle, sometimes I can’t control it?&lt;br /&gt;
  A: Please observe if the four lights on your handle are flashing together.If the flashing together means re-pairing, &lt;br /&gt;
     the signal cannot be transmitted.&lt;br /&gt;
* Q: What is the maximum speed the car can reaching?&lt;br /&gt;
  A: It will be faster than your imagination,the max is 1300r/min.However, i suggest you don&#039;t do like this,it may damage the car.&lt;br /&gt;
&lt;br /&gt;
* Q: Sometimes,the toycar is out of my control,what&#039;s wrong with it?&lt;br /&gt;
  A: Maybe the raspberry pie&#039;s wireless signal is too weak.Also,this is related to your program.&lt;br /&gt;
&lt;br /&gt;
* Q: Why i have executed the command:sudo halt,but the Raspberypi and Power Board&#039;s Led is still working?&lt;br /&gt;
  A: Because you havn&#039;t installed the script about power.Please install it then have a try.&lt;br /&gt;
&lt;br /&gt;
* Q: If i have ran the program and the raspberrypi is fine,i have reed the value of register of speed,but the car has&#039;t any response?&lt;br /&gt;
  A: Please check the Power Board&#039;s power supply pin.It may be broken.&lt;br /&gt;
     Meantime,you may not plug the wireless keyboard receiver into the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
==Keywords==&lt;br /&gt;
DockerPi,DIY,toycar,intelligent,Programmable&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
	<entry>
		<id>https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6405</id>
		<title>EP-0109</title>
		<link rel="alternate" type="text/html" href="https://wiki.52pi.com/index.php?title=EP-0109&amp;diff=6405"/>
		<updated>2019-09-30T01:32:09Z</updated>

		<summary type="html">&lt;p&gt;Dre: /* Use the Handle to control the toycar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==DockerPi DIY Programmable intelligent toycar==&lt;br /&gt;
==Description==&lt;br /&gt;
DockerPi DIY Programmable intelligent toycar is based on DockerPi Motor Board(A) and DockerPi Power Board.You could DIY it&#039;s appearance and power.&lt;br /&gt;
&lt;br /&gt;
Of course,if you want to get started directly,we also provide the power board and Arcylic board for you.We offer several packages to you.The DockerPi &lt;br /&gt;
&lt;br /&gt;
Power Board could provide powerful power for the car.You could choose to design its appearance by yourself.Besides,you could connect the camera module &lt;br /&gt;
&lt;br /&gt;
to achieve the function of identifying objects.The following we will show you how to use the wireless keyboard and wireless handle to control the car by pygame.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Remember:Don&#039;t assemble and disassemble the board when the power supply is working.They don&#039;t support hot plug&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* DockerPi Series&lt;br /&gt;
* Programmable&lt;br /&gt;
* Intelligent toycar&lt;br /&gt;
* Easy to control&lt;br /&gt;
* DIY&lt;br /&gt;
* Selective control&lt;br /&gt;
* Wireless control&lt;br /&gt;
* Handle&lt;br /&gt;
* Keyboard&lt;br /&gt;
* Motor&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
==Package Includes==&lt;br /&gt;
*Essentials&lt;br /&gt;
** 1 x Battery case&lt;br /&gt;
***3 x 18650(&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&#039;&#039;&#039;Not included&#039;&#039;&#039;&amp;lt;/font&amp;gt;)&lt;br /&gt;
*** 2 x DC Motor&lt;br /&gt;
*** 2 x Acrylic gasket&lt;br /&gt;
*** 2 x M*12 Half-round head screw&lt;br /&gt;
*** 2 x PH Connector&lt;br /&gt;
** 2 x 65mm Black rubber wheel&lt;br /&gt;
***4 x M4*4 Hexagon socket tightening screw&lt;br /&gt;
***8 x M3*9 Half-round head screw&lt;br /&gt;
***8 x M3 Nut&lt;br /&gt;
***4 x M3*5 Half-round head screw&lt;br /&gt;
***2 x M4*5 Half-round head screw&lt;br /&gt;
** 1 x All around wheel&lt;br /&gt;
***4 x M3*22 + 6 Copper stick&lt;br /&gt;
***4 x M2.5 Nut&lt;br /&gt;
***4 x M5*4 Half-round head screw&lt;br /&gt;
**1 x Motor Board&lt;br /&gt;
**2 x Coupling&lt;br /&gt;
**2 x Coupling fixing bracket&lt;br /&gt;
** 1 x Power Board&lt;br /&gt;
** 1 x Instruction&lt;br /&gt;
** 1 x Acrylic sheet design drawings&lt;br /&gt;
** 4 x M2.5 Nut&lt;br /&gt;
** 4 x M2.5*6+6Copper stick&lt;br /&gt;
** 8 x M2.5*12+6Copper&lt;br /&gt;
** 4 x M2.5*6 Half-round head screw&lt;br /&gt;
&lt;br /&gt;
*Optional&lt;br /&gt;
** TF card&lt;br /&gt;
** Arcylic board&lt;br /&gt;
** RaspberryPi&lt;br /&gt;
** Wireless handle&lt;br /&gt;
** Wireless keyboard&lt;br /&gt;
&lt;br /&gt;
==Announcements==&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Please turn off the power when you connect it!&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*DockerPi Series Board does not support hot plug&lt;br /&gt;
*Please do not install reverse battery&lt;br /&gt;
&lt;br /&gt;
==How to assemble==&lt;br /&gt;
&lt;br /&gt;
==Configuring I2C(Raspberry Pi)==&lt;br /&gt;
*Run &#039;&#039;&#039;sudo raspi-config&#039;&#039;&#039; and follow the prompts to install i2c support for the ARM core and linux kernel&amp;lt;br /&amp;gt;&lt;br /&gt;
*Go to &#039;&#039;&#039;Interfacing Options&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-1.png |none|400px]]&lt;br /&gt;
then &#039;&#039;&#039;I2C&#039;&#039;&#039;&lt;br /&gt;
[[File:Raspi-config-2.png |none|400px]]&lt;br /&gt;
Enable!&lt;br /&gt;
[[File:Raspi-config-3.png |none|400px]]&lt;br /&gt;
Done!&lt;br /&gt;
[[File:Raspi-config-4.png |none|400px]]&lt;br /&gt;
&lt;br /&gt;
==How to use==&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Handle to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Handle model:A-038 2.4G wireless gamepad&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Note:Different models of handles may not match the program&amp;lt;/font&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|       [[File:DockerPi DIY Car(1).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(3).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(4).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please install the python3&#039;s joystick&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install joystick&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(5).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please install the python3&#039;s matplotlib&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo pip3 install matplotlib&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(6).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the arrowkey of up:Go ahead&lt;br /&gt;
*Press the arrowkey of down:Go back&lt;br /&gt;
*Press the arrowkey of left:Turn left&lt;br /&gt;
*Press the arrowkey of right:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import joystick&lt;br /&gt;
import sys&lt;br /&gt;
import time&lt;br /&gt;
import pygame&lt;br /&gt;
import smbus&lt;br /&gt;
&lt;br /&gt;
bus = smbus.SMBus(1)&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp0 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 -100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 -100) &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 300&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,(temp0 - 100) &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp0 &amp;gt;&amp;gt; 8)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
# Define some colors&lt;br /&gt;
BLACK    = (   0,   0,   0)&lt;br /&gt;
WHITE    = ( 255, 255, 255)&lt;br /&gt;
# This is a simple class that will help us print to the screen&lt;br /&gt;
class TextPrint:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        self.reset()&lt;br /&gt;
        self.font = pygame.font.Font(None, 20)&lt;br /&gt;
    def print(self, screen, textString):&lt;br /&gt;
        textBitmap = self.font.render(textString, True, BLACK)&lt;br /&gt;
        screen.blit(textBitmap, [self.x, self.y])&lt;br /&gt;
        self.y += self.line_height  &lt;br /&gt;
    def reset(self):&lt;br /&gt;
        self.x = 10&lt;br /&gt;
        self.y = 10&lt;br /&gt;
        self.line_height = 15   &lt;br /&gt;
    def indent(self):&lt;br /&gt;
        self.x += 10     &lt;br /&gt;
    def unindent(self):&lt;br /&gt;
        self.x -= 10&lt;br /&gt;
pygame.init()&lt;br /&gt;
# Set the width and height of the screen [width,height]&lt;br /&gt;
size = [500, 700]&lt;br /&gt;
screen = pygame.display.set_mode(size)&lt;br /&gt;
pygame.display.set_caption(&amp;quot;My Game&amp;quot;)&lt;br /&gt;
#Loop until the user clicks the close button.&lt;br /&gt;
done = False&lt;br /&gt;
# Used to manage how fast the screen updates&lt;br /&gt;
clock = pygame.time.Clock()&lt;br /&gt;
# Initialize the joysticks&lt;br /&gt;
pygame.joystick.init()&lt;br /&gt;
# Get ready to print&lt;br /&gt;
textPrint = TextPrint()&lt;br /&gt;
# -------- Main Program Loop -----------&lt;br /&gt;
while done==False:&lt;br /&gt;
    # EVENT PROCESSING STEP&lt;br /&gt;
    for event in pygame.event.get(): # User did something&lt;br /&gt;
        if event.type == pygame.QUIT: # If user clicked close&lt;br /&gt;
            done=True # Flag that we are done so we exit this loop&lt;br /&gt;
    # DRAWING STEP&lt;br /&gt;
    # First, clear the screen to white. Don&#039;t put other drawing commands&lt;br /&gt;
    # above this, or they will be erased with this command.&lt;br /&gt;
    screen.fill(WHITE)&lt;br /&gt;
    textPrint.reset()&lt;br /&gt;
    # Get count of joysticks&lt;br /&gt;
    joystick_count = pygame.joystick.get_count()&lt;br /&gt;
    #textPrint.print(screen, &amp;quot;Number of joysticks: {}&amp;quot;.format(joystick_count) )&lt;br /&gt;
    textPrint.indent()&lt;br /&gt;
    # For each joystick:&lt;br /&gt;
    for i in range(joystick_count):&lt;br /&gt;
        joystick = pygame.joystick.Joystick(i)&lt;br /&gt;
        joystick.init()&lt;br /&gt;
        # Usually axis run in pairs, up/down for one, and left/right for&lt;br /&gt;
        # the other.&lt;br /&gt;
        axes = joystick.get_numaxes()&lt;br /&gt;
        #textPrint.print(screen, &amp;quot;Number of axes: {}&amp;quot;.format(axes) )&lt;br /&gt;
        #textPrint.indent()   &lt;br /&gt;
        for i in range( axes ):&lt;br /&gt;
            axis = joystick.get_axis( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Axis {} value: {:&amp;gt;6.3f}&amp;quot;.format(i, axis) )&lt;br /&gt;
            if i==1 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Left up&amp;quot;,axis)&lt;br /&gt;
            if i==1 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left down&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Left left&amp;quot;,axis)&lt;br /&gt;
            if i==0 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Left right&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis== -1.0:&lt;br /&gt;
                print(&amp;quot;Right up&amp;quot;,axis)&lt;br /&gt;
            if i==4 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right down&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis== -1:&lt;br /&gt;
                print(&amp;quot;Right left&amp;quot;,axis)&lt;br /&gt;
            if i==3 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;Right right&amp;quot;,axis)&lt;br /&gt;
            if i==2 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;LT&amp;quot;,axis)&lt;br /&gt;
            if i==5 and axis &amp;gt; 0.3:&lt;br /&gt;
                print(&amp;quot;RT&amp;quot;,axis)&lt;br /&gt;
       &lt;br /&gt;
        textPrint.unindent()   &lt;br /&gt;
        buttons = joystick.get_numbuttons()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of buttons: {}&amp;quot;.format(buttons) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( buttons ):&lt;br /&gt;
            button = joystick.get_button( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Button {:&amp;gt;2} value: {}&amp;quot;.format(i,button) )&lt;br /&gt;
            if i==0 and button ==1:&lt;br /&gt;
                print(&amp;quot;A&amp;quot;)&lt;br /&gt;
            if i==1 and button ==1:&lt;br /&gt;
                print(&amp;quot;B&amp;quot;)&lt;br /&gt;
            if i==2 and button ==1:&lt;br /&gt;
                print(&amp;quot;X&amp;quot;)&lt;br /&gt;
            if i==3 and button ==1:&lt;br /&gt;
                print(&amp;quot;Y&amp;quot;)&lt;br /&gt;
            if i==4 and button ==1:&lt;br /&gt;
                print(&amp;quot;LB&amp;quot;)&lt;br /&gt;
            if i==5 and button ==1:&lt;br /&gt;
                print(&amp;quot;RB&amp;quot;)&lt;br /&gt;
            if i==6 and button ==1:&lt;br /&gt;
                print(&amp;quot;BACK&amp;quot;)&lt;br /&gt;
            if i==7 and button ==1:&lt;br /&gt;
                print(&amp;quot;START&amp;quot;)&lt;br /&gt;
            if i==8 and button ==1:&lt;br /&gt;
                print(&amp;quot;Logitech&amp;quot;)&lt;br /&gt;
            if i==9 and button ==1:&lt;br /&gt;
                print(&amp;quot;Left GA&amp;quot;)&lt;br /&gt;
            if i==10 and button ==1:&lt;br /&gt;
                print(&amp;quot;Right GA&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
        textPrint.unindent()&lt;br /&gt;
        # Hat switch. All or nothing for direction, not like joysticks.&lt;br /&gt;
        # Value comes back in an array.&lt;br /&gt;
        hats = joystick.get_numhats()&lt;br /&gt;
        textPrint.print(screen, &amp;quot;Number of hats: {}&amp;quot;.format(hats) )&lt;br /&gt;
        textPrint.indent()&lt;br /&gt;
 &lt;br /&gt;
        for i in range( hats ):&lt;br /&gt;
            speed = 300&lt;br /&gt;
            hat = joystick.get_hat( i )&lt;br /&gt;
            textPrint.print(screen, &amp;quot;Hat {} value: {}&amp;quot;.format(i, str(hat)) )&lt;br /&gt;
            if hat==(1,0) :&lt;br /&gt;
                print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                turnright()&lt;br /&gt;
            if hat==(-1,0) :&lt;br /&gt;
                print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                turnleft()&lt;br /&gt;
            if hat==(0,1):&lt;br /&gt;
                print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                &lt;br /&gt;
            if hat==(0,0):&lt;br /&gt;
                print(&amp;quot;Slowing down&amp;quot;)&lt;br /&gt;
                temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
                print(temp1)&lt;br /&gt;
                speed = temp1&lt;br /&gt;
                while speed &amp;gt; 0 :&lt;br /&gt;
                    speed = speed - 8&lt;br /&gt;
                    time.sleep(0.01)&lt;br /&gt;
                    setspeed() &lt;br /&gt;
            if hat==(0,-1):&lt;br /&gt;
                print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                if hat==(1,0) :&lt;br /&gt;
                        print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                        turnright()&lt;br /&gt;
                if hat==(-1,0) :&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
        textPrint.unindent()      &lt;br /&gt;
        #textPrint.unindent()&lt;br /&gt;
&lt;br /&gt;
    # ALL CODE TO DRAW SHOULD GO ABOVE THIS COMMENT   &lt;br /&gt;
    # Go ahead and update the screen with what we&#039;ve drawn.&lt;br /&gt;
    pygame.display.flip()&lt;br /&gt;
    # Limit to 20 frames per second&lt;br /&gt;
    clock.tick(20)  &lt;br /&gt;
# Close the window and quit.&lt;br /&gt;
# If you forget this line, the program will &#039;hang&#039;&lt;br /&gt;
pygame.quit ()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless handle receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;Use the Keyboard to control the toycar&amp;lt;/font&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Software environment&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First you need prepare a TF card to burn the raspbian.You can download the system from the official website.&lt;br /&gt;
&lt;br /&gt;
When you finished this,please connect it by ssh.&lt;br /&gt;
&lt;br /&gt;
*First,please open the function of wireless function.Execute the following command:&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|       [[File:DockerPi DIY Car(1).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(2).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Then choose the option on the picture&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(7).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You can configure your wifi&lt;br /&gt;
*Then you need install the python3&#039;s module pygame&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-pygame&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(3).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*You also need to install python3&#039;s smbus&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo apt-get -y install python3-smbus&amp;lt;/code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:DockerPi DIY Car(4).png|left|500px]]&lt;br /&gt;
|}&lt;br /&gt;
*Please open the RaspberryPi&#039;s I2C&lt;br /&gt;
*You could install the following script to achieve the safeshut down function.&lt;br /&gt;
  &amp;lt;code&amp;gt;wget -qO- https://git.io/fj3b9 | sudo bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;br&amp;gt;Codes&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*Create a new file and named:toycar.py and paste following codes:&lt;br /&gt;
*Press the key of W:Go ahead&lt;br /&gt;
*Press the key of S:Go back&lt;br /&gt;
*Press the key of A:Turn left&lt;br /&gt;
*Press the key of D:Turn right&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import pygame&lt;br /&gt;
import sys&lt;br /&gt;
import smbus&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Address&lt;br /&gt;
MOTOR_DRIVER_ADDRESS = 0x18&lt;br /&gt;
MOTOR_DRIVER_BUS = 1&lt;br /&gt;
bus = smbus.SMBus(MOTOR_DRIVER_BUS)&lt;br /&gt;
&lt;br /&gt;
#MOTOR_DRIVER Functions&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_L = 0x01&lt;br /&gt;
MOTOR_DRIVER_SPEED_1_H = 0x02&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_L = 0x03&lt;br /&gt;
MOTOR_DRIVER_SPEED_2_H = 0x04&lt;br /&gt;
MOTOR_DRIVER_DIRECTION = 0x09&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_L = 0x0a&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_1_H = 0x0b&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_L = 0x0c&lt;br /&gt;
MOTOR_DRIVER_SPEED_NOW_2_H = 0x0d&lt;br /&gt;
MOTOR_DRIVER_DIRECTION_NOW = 0x12&lt;br /&gt;
MOTOR_DRIVER_ENABLE = 0x13&lt;br /&gt;
MOTOR_DRIVER_MODE = 0X14&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_L = 0x1f&lt;br /&gt;
MOTOR_DRIVER_PWM_NOW_2_H = 0x20&lt;br /&gt;
&lt;br /&gt;
pygame.init()&lt;br /&gt;
screen = pygame.display.set_mode((600, 400))&lt;br /&gt;
pygame.display.set_caption(&#039;pygame event&#039;)&lt;br /&gt;
def setspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,speed &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,speed &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def decspeed():&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,temp1 &amp;gt;&amp;gt; 8)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp1 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,temp1 &amp;gt;&amp;gt; 8)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnleft():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,(temp0 - 100) &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,temp0 &amp;amp; 0xff)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,(temp0 &amp;gt;&amp;gt; 8) | 0x80)    &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def turnright():&lt;br /&gt;
    temp0 = 200&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_L,temp0 &amp;amp; 0xff)   &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_1_H,((temp0 &amp;gt;&amp;gt; 8) | 0x80)) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_L,(temp0 - 100) &amp;amp; 0xff) &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_SPEED_2_H,((temp0 - 100) &amp;gt;&amp;gt; 8) | 0x80)  &lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_ENABLE,1)&lt;br /&gt;
def setdirection(sysnax):&lt;br /&gt;
    bus.write_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_DIRECTION,sysnax)&lt;br /&gt;
&lt;br /&gt;
while True:&lt;br /&gt;
    for event in pygame.event.get():&lt;br /&gt;
        if event.type == pygame.QUIT:&lt;br /&gt;
            sys.exit()&lt;br /&gt;
        #  &lt;br /&gt;
        keyboard_list = [pygame.K_w,pygame.K_s,pygame.K_a,pygame.K_d]   &lt;br /&gt;
        keys_pressed = pygame.key.get_pressed()    &lt;br /&gt;
        if keys_pressed[keyboard_list[0]]:&lt;br /&gt;
            print(&amp;quot;Go ahead&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 300):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(2)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        &lt;br /&gt;
        elif keys_pressed[keyboard_list[1]]:&lt;br /&gt;
            print(&amp;quot;Go back&amp;quot;)&lt;br /&gt;
            speed = 200&lt;br /&gt;
            while (speed &amp;lt; 350):&lt;br /&gt;
                speed += 10&lt;br /&gt;
                setdirection(1)&lt;br /&gt;
                setspeed()&lt;br /&gt;
                if keys_pressed[keyboard_list[2]]:&lt;br /&gt;
                    print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
                    turnleft()&lt;br /&gt;
                elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
                    print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
                    turnright()&lt;br /&gt;
        elif keys_pressed[keyboard_list[2]]:&lt;br /&gt;
            print(&amp;quot;Turn left&amp;quot;)&lt;br /&gt;
            turnleft()&lt;br /&gt;
            &lt;br /&gt;
        elif keys_pressed[keyboard_list[3]]:&lt;br /&gt;
            print(&amp;quot;Turn right&amp;quot;)&lt;br /&gt;
            turnright()       &lt;br /&gt;
        else:&lt;br /&gt;
            temp1 = (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_H) &amp;lt;&amp;lt; 8) | (bus.read_byte_data(MOTOR_DRIVER_ADDRESS,MOTOR_DRIVER_PWM_NOW_2_L))&lt;br /&gt;
            print(temp1)&lt;br /&gt;
            while (temp1 &amp;gt; 0):&lt;br /&gt;
                time.sleep(0.01)&lt;br /&gt;
                temp1 -= 4&lt;br /&gt;
                decspeed()&lt;br /&gt;
    pygame.display.update()   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Execute it!&lt;br /&gt;
  &amp;lt;code&amp;gt;sudo DISPLAY=:0.0 python3 toycar.py&amp;lt;/code&amp;gt;&lt;br /&gt;
*Plug the wireless keyboard receiver into the Raspberry Pi,then enjoy it!&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
* Q: Why can I control it when I use the handle, sometimes I can’t control it?&lt;br /&gt;
  A: Please observe if the four lights on your handle are flashing together.If the flashing together means re-pairing, &lt;br /&gt;
     the signal cannot be transmitted.&lt;br /&gt;
* Q: What is the maximum speed the car can reaching?&lt;br /&gt;
  A: It will be faster than your imagination,the max is 1300r/min.However, i suggest you don&#039;t do like this,it may damage the car.&lt;br /&gt;
&lt;br /&gt;
* Q: Sometimes,the toycar is out of my control,what&#039;s wrong with it?&lt;br /&gt;
  A: Maybe the raspberry pie&#039;s wireless signal is too weak.Also,this is related to your program.&lt;br /&gt;
&lt;br /&gt;
* Q: Why i have executed the command:sudo halt,but the Raspberypi and Power Board&#039;s Led is still working?&lt;br /&gt;
  A: Because you havn&#039;t installed the script about power.Please install it then have a try.&lt;br /&gt;
&lt;br /&gt;
* Q: If i have ran the program and the raspberrypi is fine,i have reed the value of register of speed,but the car has&#039;t any response?&lt;br /&gt;
  A: Please check the Power Board&#039;s power supply pin.It may be broken.&lt;br /&gt;
     Meantime,you may not plug the wireless keyboard receiver into the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Video==&lt;br /&gt;
==Keywords==&lt;br /&gt;
DockerPi,DIY,toycar,intelligent,Programmable&lt;/div&gt;</summary>
		<author><name>Dre</name></author>
	</entry>
</feed>