Difference between revisions of "Team:Newcastle/Circuitry"

 
(133 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Newcastle/navbar}}
+
{{Newcastle/navbar2}}
 
<html>
 
<html>
  
Line 20: Line 20:
 
     <!-- home
 
     <!-- home
 
     ================================================== -->
 
     ================================================== -->
     <section id="home" class="s-home target-section" data-parallax="scroll" data-image-src="https://static.igem.org/mediawiki/2018/thumb/0/06/T--Newcastle--Hardware11.jpg/800px-T--Newcastle--Hardware11.jpg" data-natural-width=3000 data-natural-height=2000 data-position-y=center>
+
     <section id="home" class="s-home target-section" data-parallax="scroll" data-image-src="https://static.igem.org/mediawiki/2018/b/ba/T--Newcastle--WC230718.png">
  
 
         <div class="overlay"></div>
 
         <div class="overlay"></div>
Line 37: Line 37:
  
 
                 <div class="home-content__buttons">
 
                 <div class="home-content__buttons">
                     <a href="#design" class="smoothscroll btn btn--stroke">
+
                     <a href="#powering" class="smoothscroll btn btn--stroke">
                         Guide
+
                         Power
 
                     </a>
 
                     </a>
                     <a href="#gallery" class="smoothscroll btn btn--stroke">
+
                     <a href="#control" class="smoothscroll btn btn--stroke">
                         Gallery
+
                         Control
 +
                    </a>
 +
                    <a href="#LED_wiring" class="smoothscroll btn btn--stroke">
 +
                        LED wiring
 
                     </a>
 
                     </a>
 
                 </div>
 
                 </div>
Line 47: Line 50:
 
             </div>
 
             </div>
  
            <div class="home-content__scroll">
 
                <a href="#design" class="scroll-link smoothscroll">
 
                    <span>Scroll Down</span>
 
                </a>
 
            </div>
 
 
            <div class="home-content__line"></div>
 
  
 
         </div> <!-- end home-content -->
 
         </div> <!-- end home-content -->
Line 61: Line 57:
 
================================================== -->
 
================================================== -->
  
    <section id='Powering' class="s-about">
+
    <section id='powering' class="s-about">
  
 
         <div class="row section-header has-bottom-sep" data-aos="fade-up">
 
         <div class="row section-header has-bottom-sep" data-aos="fade-up">
 
             <div class="col-full">
 
             <div class="col-full">
 
                 <h3 class="subhead subhead--dark">Stage One</h3>
 
                 <h3 class="subhead subhead--dark">Stage One</h3>
                 <h1 class="display-1 display-1--light">Powering</h1>
+
                 <h1 class="display-1 display-1--light"><font color="Black">Powering</font></h1>
 
             </div>
 
             </div>
 
         </div> <!-- end section-header -->
 
         </div> <!-- end section-header -->
Line 72: Line 68:
 
         <div class="row about-desc" data-aos="fade-up">
 
         <div class="row about-desc" data-aos="fade-up">
 
             <div class="col-full">
 
             <div class="col-full">
                <p class="about-para">Once the project idea was finalised, the team began looking for cheap, efficient and standardised methods for growing plants in iGEM. The hope was that such an item existed that would meet these specifications as well as being a closed container to prevent contamination and also providing a high throughput of plants. It was soon established that such an item did not exist to meet our specifications. Therefore, to combat this issue, it was decided that the best way forward would be to design our own hydroponics system. This would allow us to grow large amounts of Arabidopsis in a controlled setting for the purposes of our project. Several team members were assigned to this “sub-project”.</p>
 
                <p class="about-para">Before getting hands-on in building the system, the team as a whole established a few design parameters. For example, the system needed to be cheap and easy to build from scratch. This is so future iGEM teams are able to construct the system for their own needs and even build upon our design, as necessary. Additionally, the system must be versatile, open-source and easily adapted for various conditions such as light intensity and wavelength. By adopting such an open and adaptable design the intention is that the end-user is able to effortlessly match the system to their needs, without getting entangled in streams of code.</p>
 
                <p class="about-para">Several weeks were spent modifying the design until a design was found that met all the above criteria, the specifications of the design can be seen below.</p>
 
  
+
 +
                <p class="about-para">When creating an electrical circuit there needs to be a decision made for as to how this system is powered. There are two options available: mains (AC), or battery (DC). To increase the flexibility of the system it was designed to be able to use both power sources; however, we recommend the use of mains power due to the limited capacity of batteries. The Arduino and LED lights draw a constant 5 V, therefore the system requires at least four 1.5 V AA batteries, giving a nominal 6 V. To protect the circuit this would require a voltage regulator, which can overheat with a sustained 1.5 A current drawn for the LEDs.  Given the constant drain on the batteries, the system does not perform well when the supply voltage drops below 3.5 V. To address this problem, we adapted a regular USB phone charger, which safely steps down mains to 5 V. We do not recommend building your own version of this!<p>
 +
 
 +
<p class="about-para">In a phone charger cable there are usually four wires; live (Vdd), ground (GND), and two data lines (-D, +D). The latter two are not necessary for our application due to their voltage rating, shown in Figure 1A (2.76V, 2.06V). Therefore, these wires can be either trimmed shorter than Vdd and GND or taped up, to avoid a short circuit in the system. For the example shown in Figure 1B; red is power, black is ground, white and green wires are the data lines, however it is good practice to confirm this is by checking the voltage from Vdd, D+ or D- to ground with a multi-meter.</p>
 +
 
 +
                <p class="about-para">When powering the Arduino, a capacitor is needed in parallel to protect it from surges in voltage, which could otherwise damage it. In order to protect the LED lights, there needs to be small 330 Ω resistor on the data line. A circuit diagram can be found in Figure 1C, which details the correct set up.</p>
 +
 
 +
                    <p class="about-para">The LEDs used also took a 5V DC power supply, which was one of the justifications for using this particular product, as it means that they can be powered from the same source as the Arduino.</p>
 +
</div>
 +
</div>
 +
 
 +
      <div class="row services-list block-1-3 block-tab-full">
 +
 
 +
            <div class="col-block service-item" data-aos="fade-up">
 +
                <div class="service-icon">
 +
                    <i class="icon-paint-brush"></i>
 +
                </div>
 +
                <div class="service-text">
 +
                    <img src="https://static.igem.org/mediawiki/2018/a/a5/T--Newcastle--usb_schematic2.png" style="width:100%">
 +
                    <p style="text-align:center"><br>Figure 1A. Schematic of a standard USB cable [1].</p>
 +
                </div>
 +
            </div>
 +
 
 +
            <div class="col-block service-item" data-aos="fade-up">
 +
                <div class="service-icon">
 +
                    <i class="icon-paint-brush"></i>
 +
                </div>
 +
                <div class="service-text">
 +
                    <img src="https://static.igem.org/mediawiki/2018/8/8e/T--Newcastle--wire.png" style="width:100%">
 +
                    <p style="text-align:center"><br>Figure 1B. Above is 4 exposed wires. Red is power, black is ground,white and green are the data lines [1].</p> 
 +
                   
 +
                </div>
 +
            </div>
 +
            <div class="col-block service-item" data-aos="fade-up">
 +
                <div class="service-icon">
 +
                    <i class="icon-paint-brush"></i>
 +
                </div>
 +
                <div class="service-text">
 +
                    <img src="https://static.igem.org/mediawiki/2018/1/1d/T--Newcastle--arduino.png" style="width:100%">
 +
                    <p style="text-align:center"><br>Figure 1C. Schematic demonstrating how to power the Arduino and the LED's, made on fritzing [2].</p>
 +
                   
 +
                </div>
 
             </div>
 
             </div>
         </div> <!-- end project-desc -->
+
         </div>       <!-- end services-list -->
  
 
         <div class="row about-stats stats block-1-4 block-m-1-2 block-mob-full" data-aos="fade-up">
 
         <div class="row about-stats stats block-1-4 block-m-1-2 block-mob-full" data-aos="fade-up">
 
                  
 
                  
 
             <div class="col-block stats__col ">
 
             <div class="col-block stats__col ">
                 <h5>UP TO</h5>
+
                 <h5>ROUGHLY</h5>
                 <div class="stats__count">1344</div>
+
                 <div class="stats__count">2</div>
                 <h5>SEEDS CAN BE GROWN</h5>
+
                 <h5>AMPS ARE PULLED</h5>
                 <h5>IN HYDROPONICS</h5>
+
                 <h5>FOR THE WHOLE SYSTEM</h5>
 
             </div>
 
             </div>
 
             <div class="col-block stats__col">
 
             <div class="col-block stats__col">
Line 99: Line 133:
 
                 <div class="stats__count">1700</div>
 
                 <div class="stats__count">1700</div>
 
                 <h5>LUX OF LIGHT</h5>
 
                 <h5>LUX OF LIGHT</h5>
                 <h5>TO GROW SEEDS</h5>
+
                 <h5>TO GROW SEEDLINGS</h5>
 
             </div>
 
             </div>
 
             <div class="col-block stats__col">
 
             <div class="col-block stats__col">
Line 105: Line 139:
 
                 <div class="stats__count">120</div>
 
                 <div class="stats__count">120</div>
 
                 <h5>INDIVIDUALLY ADDRESSABLE</h5>
 
                 <h5>INDIVIDUALLY ADDRESSABLE</h5>
                 <h5>LOW-POWER LED'S</h5>
+
                 <h5>LOW-POWER LEDS</h5>
 
             </div>
 
             </div>
  
 
         </div> <!-- end about-stats -->
 
         </div> <!-- end about-stats -->
  
        <div class="about__line"></div>
+
   
  
 
     </section> <!-- end s-about -->
 
     </section> <!-- end s-about -->
  
  
 +
================================================== -->
  
  
  <!-- Java Script
+
  <section id='control' class="s-services">
 +
 
 +
        <div class="row section-header has-bottom-sep" data-aos="fade-up">
 +
                <div class="col-full">
 +
                            <h3 class="subhead">Stage Two</h3>
 +
                <h1 class="display-1">Control</h1>
 +
            </div>
 +
        </div> <!-- end section-header -->
 +
 
 +
            <div class="row about-desc" data-aos="fade-up">
 +
                <div class="col-full">
 +
 
 +
                   
 +
<p style="font-size:100%">Stage two of the build was to be able to control the day and night cycle (16-8 hours) to allow proper plant growth. One method to implement this would be to break the circuit from the ‘Vdd’ line (power line). We decided to pursue this method as it would reduce the power consumption when the night cycle was in effect.</p>
 +
                    <p style="font-size:100%">In order to break the power line there needs to be two pin outs, pin 11 for the data line and 12 for the switching circuit. 11 determines the light intensity and function of the lights. After a 16 hour cycle pin 12 is written to ‘LOW’ (logic zero), which turns a N channel power MOSFET off for 6 hours. This sequence would repeat every day.
 +
                    <p style="font-size:100%">We encountered  some issues when implementing this design, which appeared to be caused by the Arduino’s pin out voltage of 3.3V. Despite the MOSFET’s threshold voltage being between 1-2V [3], it should be adequate. However, the voltage at the source (MOSFET output) was measured to be 3V,  and the LEDs need at least 4.2V.</p>
 +
                  <p style="font-size:100%">This meant that we had to go back to the drawing board. Our second iteration was based on a NAND gate; the truth table shown below illustrates the function of the gate.</p>
 +
 
 +
<head>
 +
<style>
 +
table#t01 tr:nth-child(4) {
 +
    background-color: white;
 +
    color: red
 +
}
 +
table#t01 tr:nth-child(5) {
 +
    background-color: white;
 +
    color: red
 +
}
 +
</head>
 +
</style>   
 +
 
 +
              <table style="width:100%">
 +
<table id="t01">
 +
  <tr>
 +
    <th>Vdd</th>
 +
    <th>Pin 12</th>
 +
    <th>Output</th>
 +
  </tr>
 +
  <tr>
 +
    <td>0</td>
 +
    <td>0</td>
 +
    <td>1</td>
 +
  </tr>
 +
  <tr>
 +
    <td>0</td>
 +
    <td>1</td>
 +
    <td>1</td>
 +
  </tr>
 +
  <tr>
 +
    <td>1</td>
 +
    <td>0</td>
 +
    <td>1</td>
 +
  </tr>
 +
  <tr>
 +
    <td>1</td>
 +
    <td>1</td>
 +
    <td>1</td>
 +
  </tr>
 +
</table>
 +
                <p style="font-size:100%">Highlighted in red are the two functions we are interested in. Since ‘Vdd’ will always be read as ‘high’, 5V, we can eliminate the first two states. The basic operation is inverting P12 logic. When implemented in our device, the logic worked as predicted; however, the 2A current demand of the LEDs caused the gate to heat up and become unstable in its operation. Iteration three involved the implementation of a relay switch; however, this was also limited in terms of the current drawn and overheated. In our final iteration we discovered we could achieve the desired result through the code. Changing the brightness from a defined integer, to an 8 bit integer, allowing a range between 0-255. Setting the brightness to ‘0’ would turn the LEDs off. The code can be seen<body link="blue"><a href="https://2018.igem.org/Team:Newcastle/Software/NH1" class="black"> here.</a></p></body>
 +
 
 +
 
 +
                </div>
 +
            </div>
 +
 
 +
        <div class="row services-list block-1-2 block-tab-full">
 +
 
 +
            <div class="col-block service-item" data-aos="fade-up">
 +
                <div class="service-icon">
 +
                    <i class="icon-paint-brush"></i>
 +
                </div>
 +
                <div class="service-text">
 +
                    <img src="https://static.igem.org/mediawiki/2018/b/ba/T--Newcastle--WC230718.png">
 +
                    <p style="text-align:center"><br>Figure 2A. The engineers, hard at work trying to troubleshoot issues with the system.</p>
 +
                   
 +
                   
 +
                </div>
 +
            </div>
 +
 
 +
            <div class="col-block service-item" data-aos="fade-up">
 +
                <div class="service-icon">
 +
                    <i class="icon-paint-brush"></i>
 +
                </div>
 +
                <div class="service-text">
 +
                    <img src="https://static.igem.org/mediawiki/2018/thumb/e/e5/T--Newcastle--Hydroponicssystem.jpeg/800px-T--Newcastle--Hydroponicssystem.jpeg">
 +
                    <p style="text-align:center"><br>Figure 2B. The finished product, set to a rainbow function that cycles through various wavelengths of light</p>
 +
                   
 +
                   
 +
                </div>
 +
            </div>
 +
 
 +
        </div>        <!-- end services-list -->
 +
 
 +
    </section> <!-- end s-services -->
 +
 
 +
================================================== -->
 +
 
 +
    <section id='LED_wiring' class="s-works">
 +
 
 +
        <div class="intro-wrap">
 +
               
 +
            <div class="row section-header has-bottom-sep light-sep" data-aos="fade-up">
 +
                <div class="col-full">
 +
                    <h3 class="subhead">Stage Three</h3>
 +
                    <h1 class="display-2 display-2--light">LED Wiring</h1>
 +
 
 +
                  <p><font size="4" font face="verdana" font color="green">The final device has 5 LED strips spaced equally across the lid to give a constant light level for the seeds. These strips are connected in parallel to one another, which means they are in sync with one another. From the point of view of the LEDs the data line (pin 11) appears the same. In order to allow the lid to be removable we fed the wires through a hole on the side of the lid, which was soldered onto a vero-board where a crimp housing was connected. Allowing us to unplug the lid and remove it when the hydroponic solution was added. This reduces the potential for water damage to the lid. As an extra precaution, we insulated the exposed metal contacts on the LEDs and vero-boards, with a hot glue gun which also adds structural security.</font></p>
 +
 
 +
<img src="https://static.igem.org/mediawiki/2018/thumb/4/4f/T--Newcastle--Hardware14.jpg/450px-T--Newcastle--Hardware14.jpg">
 +
          <p style="text-align:center"><font color="green"><br>Figure 3.0; Image of parallel wiring layout and insulated contacts</p>
 +
                </div>
 +
            </div> <!-- end section-header -->
 +
 
 +
 
 +
      <!-- PI's
 +
    ================================================== -->   
 +
    <section id='team' class="s-services">
 +
 
 +
 
 +
        <div class="row section-header has-bottom-sep" data-aos="fade-up">
 +
                <div class="col-full">
 +
                            <br>
 +
<br>
 +
<br>
 +
<br>
 +
<h3 class="subhead"></h3>
 +
                <h1 class="display-2">References & Attributions</h1>
 +
            </div>
 +
 
 +
        </div>
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
             
 +
       
 +
 
 +
<button class="collapsible">Click for References & Attributions</button>
 +
<div class="content">
 +
              <div class="row about-desc" data-aos="fade-up">
 +
                <div class="col-full">
 +
 
 +
<p class="about-para"><font size="3"><b>Attributions: Luke Waller, Umar Farooq</b></p>
 +
 
 +
                  <p><font size="3"><b>1.</b> Ada Fruit, "icharging", 5 Aug 2010; 'https://learn.adafruit.com/minty-boost/icharging', 5 Aug 2010.</p>
 +
 
 +
<p><font size="3"><b>2.</b> Arduino Basics; 2 Jul 2015, https://arduinobasics.blogspot.com/2015/07/neopixel-playground.html </p>
 +
 
 +
 
 +
<p><font size="3"><b>3.</b> Rapid; 'https://www.rapidonline.com/pdf/162663_da_en_01.pdf' </p>
 +
 
 +
 
 +
 
 +
                   
 +
 
 +
</div>
 +
</section>
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
    <!-- Java Script
 
     ================================================== -->
 
     ================================================== -->
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSjquery?
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSjquery?
Line 124: Line 329:
 
     action=raw&ctype=text/javascript"></script>     
 
     action=raw&ctype=text/javascript"></script>     
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSmain?
 
     <script type="text/javascript" src="https://2018.igem.org/Template:Newcastle/JSmain?
     action=raw&ctype=text/javascript"></script>   
+
     action=raw&ctype=text/javascript"></script>  
 +
    <script>
 +
var coll = document.getElementsByClassName("collapsible");
 +
var i;
 +
 
 +
for (i = 0; i < coll.length; i++) {
 +
  coll[i].addEventListener("click", function() {
 +
    this.classList.toggle("active");
 +
    var content = this.nextElementSibling;
 +
    if (content.style.maxHeight){
 +
      content.style.maxHeight = null;
 +
    } else {
 +
      content.style.maxHeight = content.scrollHeight + "px";
 +
    }
 +
  });
 +
}
 +
</script>
 +
 
 +
<script>
 +
var slideIndex = 1;
 +
showSlides(slideIndex);
 +
 
 +
function plusSlides(n) {
 +
  showSlides(slideIndex += n);
 +
}
 +
 
 +
function currentSlide(n) {
 +
  showSlides(slideIndex = n);
 +
}
 +
 
 +
function showSlides(n) {
 +
  var i;
 +
  var slides = document.getElementsByClassName("mySlides");
 +
  var dots = document.getElementsByClassName("dot");
 +
  if (n > slides.length) {slideIndex = 1;}   
 +
  if (n < 1) {slideIndex = slides.length;}
 +
  for (i = 0; i < slides.length; i++) {
 +
      slides[i].style.display = "none";  
 +
  }
 +
  for (i = 0; i < dots.length; i++) {
 +
      dots[i].className = dots[i].className.replace(" active", "");
 +
  }
 +
  slides[slideIndex-1].style.display = "block"; 
 +
  dots[slideIndex-1].className += " active";
 +
}
 +
</script>
  
 +
</body>
  
 
</html>
 
</html>
 
{{Newcastle/footer}}
 
{{Newcastle/footer}}

Latest revision as of 00:15, 18 October 2018

Alternative Roots/Circuitry

Alternative Roots

Circuitry

Stage One

Powering

When creating an electrical circuit there needs to be a decision made for as to how this system is powered. There are two options available: mains (AC), or battery (DC). To increase the flexibility of the system it was designed to be able to use both power sources; however, we recommend the use of mains power due to the limited capacity of batteries. The Arduino and LED lights draw a constant 5 V, therefore the system requires at least four 1.5 V AA batteries, giving a nominal 6 V. To protect the circuit this would require a voltage regulator, which can overheat with a sustained 1.5 A current drawn for the LEDs. Given the constant drain on the batteries, the system does not perform well when the supply voltage drops below 3.5 V. To address this problem, we adapted a regular USB phone charger, which safely steps down mains to 5 V. We do not recommend building your own version of this!

In a phone charger cable there are usually four wires; live (Vdd), ground (GND), and two data lines (-D, +D). The latter two are not necessary for our application due to their voltage rating, shown in Figure 1A (2.76V, 2.06V). Therefore, these wires can be either trimmed shorter than Vdd and GND or taped up, to avoid a short circuit in the system. For the example shown in Figure 1B; red is power, black is ground, white and green wires are the data lines, however it is good practice to confirm this is by checking the voltage from Vdd, D+ or D- to ground with a multi-meter.

When powering the Arduino, a capacitor is needed in parallel to protect it from surges in voltage, which could otherwise damage it. In order to protect the LED lights, there needs to be small 330 Ω resistor on the data line. A circuit diagram can be found in Figure 1C, which details the correct set up.

The LEDs used also took a 5V DC power supply, which was one of the justifications for using this particular product, as it means that they can be powered from the same source as the Arduino.


Figure 1A. Schematic of a standard USB cable [1].


Figure 1B. Above is 4 exposed wires. Red is power, black is ground,white and green are the data lines [1].


Figure 1C. Schematic demonstrating how to power the Arduino and the LED's, made on fritzing [2].

ROUGHLY
2
AMPS ARE PULLED
FOR THE WHOLE SYSTEM
APPROXIMATELY
70
KWH OF POWER ANNUALLY
USED TO POWER SYSTEM
PROVIDES UP TO
1700
LUX OF LIGHT
TO GROW SEEDLINGS
CONTAINS
120
INDIVIDUALLY ADDRESSABLE
LOW-POWER LEDS
================================================== -->

Stage Two

Control

Stage two of the build was to be able to control the day and night cycle (16-8 hours) to allow proper plant growth. One method to implement this would be to break the circuit from the ‘Vdd’ line (power line). We decided to pursue this method as it would reduce the power consumption when the night cycle was in effect.

In order to break the power line there needs to be two pin outs, pin 11 for the data line and 12 for the switching circuit. 11 determines the light intensity and function of the lights. After a 16 hour cycle pin 12 is written to ‘LOW’ (logic zero), which turns a N channel power MOSFET off for 6 hours. This sequence would repeat every day.

We encountered some issues when implementing this design, which appeared to be caused by the Arduino’s pin out voltage of 3.3V. Despite the MOSFET’s threshold voltage being between 1-2V [3], it should be adequate. However, the voltage at the source (MOSFET output) was measured to be 3V, and the LEDs need at least 4.2V.

This meant that we had to go back to the drawing board. Our second iteration was based on a NAND gate; the truth table shown below illustrates the function of the gate.

Vdd Pin 12 Output
0 0 1
0 1 1
1 0 1
1 1 1

Highlighted in red are the two functions we are interested in. Since ‘Vdd’ will always be read as ‘high’, 5V, we can eliminate the first two states. The basic operation is inverting P12 logic. When implemented in our device, the logic worked as predicted; however, the 2A current demand of the LEDs caused the gate to heat up and become unstable in its operation. Iteration three involved the implementation of a relay switch; however, this was also limited in terms of the current drawn and overheated. In our final iteration we discovered we could achieve the desired result through the code. Changing the brightness from a defined integer, to an 8 bit integer, allowing a range between 0-255. Setting the brightness to ‘0’ would turn the LEDs off. The code can be seen here.


Figure 2A. The engineers, hard at work trying to troubleshoot issues with the system.


Figure 2B. The finished product, set to a rainbow function that cycles through various wavelengths of light

================================================== -->

Stage Three

LED Wiring

The final device has 5 LED strips spaced equally across the lid to give a constant light level for the seeds. These strips are connected in parallel to one another, which means they are in sync with one another. From the point of view of the LEDs the data line (pin 11) appears the same. In order to allow the lid to be removable we fed the wires through a hole on the side of the lid, which was soldered onto a vero-board where a crimp housing was connected. Allowing us to unplug the lid and remove it when the hydroponic solution was added. This reduces the potential for water damage to the lid. As an extra precaution, we insulated the exposed metal contacts on the LEDs and vero-boards, with a hot glue gun which also adds structural security.


Figure 3.0; Image of parallel wiring layout and insulated contacts





References & Attributions

Attributions: Luke Waller, Umar Farooq

1. Ada Fruit, "icharging", 5 Aug 2010; 'https://learn.adafruit.com/minty-boost/icharging', 5 Aug 2010.

2. Arduino Basics; 2 Jul 2015, https://arduinobasics.blogspot.com/2015/07/neopixel-playground.html

3. Rapid; 'https://www.rapidonline.com/pdf/162663_da_en_01.pdf'