The Arduino UNO is a widely used open-source microcontroller board based on the MicrochipATmega328P microcontroller and developed by Arduino.cc.[2][3] The board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits.[1] The board features 14 Digital pins and 6 Analog pins. It is programmable with the Arduino IDE (Integrated Development Environment) via a type B USB cable.[4] It can be powered by a USB cable or by an external 9 volt battery, though it accepts voltages between 7 and 20 volts. It is also similar to the Arduino Nano and Leonardo.[5][6] The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available. "Uno" means one in Italian and was chosen to mark the release of Arduino Software (IDE) 1.0.[1] The Uno board and version 1.0 of Arduino Software (IDE) were the reference versions of Arduino, now evolved to newer releases.[4] The Uno board is the first in a series of USB Arduino boards, and the reference model for the Arduino platform.[3] The ATmega328 on the Arduino Uno comes preprogrammed with a bootloader that allows to upload new code to it without the use of an external hardware programmer.[3] It communicates using the original STK500 protocol.[1] The Uno also differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.[7] The Arduino UNO is generally considered the most user-friendly and popular board or the Arduino board series,[8][1] with boards being sold worldwide for less than 25$ and clones sold for less than 5$.

The Arduino project started at the Interaction Design Institute Ivrea (IDII) in Ivrea, Italy. At that time, the students used a BASIC Stamp microcontroller at a cost of $100, a considerable expense for many students. In 2003 Hernando Barragán created the development platform Wiring as a Master's thesis project at IDII, under the supervision of Massimo Banzi and Casey Reas, who are known for work on the Processing language. The project goal was to create simple, low-cost tools for creating digital projects by non-engineers. The Wiring platform consisted of a printed circuit board (PCB) with an ATmega168 microcontroller, an IDE based on Processing and library functions to easily program the microcontroller.[9]
In 2003, Massimo Banzi, with David Mellis, another IDII student, and David Cuartielles, added support for the cheaper ATmega8 microcontroller to Wiring. But instead of continuing the work on Wiring, they forked the project and renamed it Arduino. Early arduino boards used the FTDI USB-to-serial driver chip and an ATmega168.[9] The Uno differed from all preceding boards by featuring the ATmega328P microcontroller and an ATmega16U2 (Atmega8U2 up to version R2) programmed as a USB-to-serial converter.

LED: There is a built-in LED driven by digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.

VIN: The input voltage to the Arduino/Genuino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.

5V: This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 20V), the USB connector (5V), or the VIN pin of the board (7-20V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage the board.

3V3: A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

GND: Ground pins.

IOREF: This pin on the Arduino/Genuino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs to work with the 5V or 3.3V.

Reset: Typically used to add a reset button to shields which block the one on the board.[7]

Each of the 14 digital pins and 6 Analog pins on the Uno can be used as an input or output, using pinMode(),digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive 20 mA as recommended operating condition and has an internal pull-up resistor (disconnected by default) of 20-50k ohm. A maximum of 40mA is the value that must not be exceeded on any I/O pin to avoid permanent damage to the microcontroller.The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function.[7]

In addition, some pins have specialized functions:

Serial: pins 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.

External Interrupts: pins 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value.

The Arduino/Genuino Uno has a number of facilities for communicating with a computer, another Arduino/Genuino board, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The 16U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, a .inf file is required. The Arduino Software (IDE) includes a serial monitor which allows simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library allows serial communication on any of the Uno's digital pins.[7]

Rather than requiring a physical press of the reset button before an upload, the Arduino/Genuino Uno board is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2/16U2 is connected to the reset line of the ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip.[7]

This setup has other implications. When the Uno is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Uno. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened.[7]

1.
Single-board microcontroller
–
A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the necessary for a useful control task, a microprocessor, I/O circuits. The intention is that the board is immediately useful to a developer, without requiring them to spend time. As they are usually low-cost, and have a low capital cost for development. They are also a means for developers to gain hands-on experience with a new processor family. The board also offered expansion through a bus connector, but could be used without a card cage when applications did not require additional hardware. Software development for this system was hosted on Intels Intellec MDS microcomputer development system, this provided assembler and PL/M support, processors of this era required a number of support chips to be included outside of the processor. RAM and EPROM were separate, often requiring memory management or refresh circuitry for dynamic memory, I/O processing might have been carried out by a single chip such as the 8255, but frequently required several more chips. A single-board microcontroller differs from a computer in that it lacks the general-purpose user interface. The development board exists to showcase or train on some particular processor family and, therefore, the bus of the early single-board devices, such as the Z80 and 6502, was universally a Von Neumann architecture. Program and data memory were accessed via the shared bus, even though they were stored in fundamentally different types of memory, ROM for programs. This bus architecture was needed to economise the number of pins needed from the limited 40 available for the processors ubiquitous dual-in-line IC package. It was common to access to the internal bus through an expansion connector, or at least provide space for a connector to be soldered on. This was a low-cost option and offered the potential for expansion, typical expansions would be I/O devices or additional memory. This generation of used a Harvard architecture with separate program and data buses. Many of these used a modified Harvard architecture, where some write access was possible to the program data space. None of these processors required, or supported, a Harvard bus across a single-board microcontroller, when they supported a bus for expansion of peripherals, a dedicated I/O bus, such as I2C, One-wire or various serial buses, was used. This provides resources not already present on the board system

2.
Operating system
–
An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require a system to function. Operating systems are found on many devices that contain a computer – from cellular phones, the dominant desktop operating system is Microsoft Windows with a market share of around 83. 3%. MacOS by Apple Inc. is in place, and the varieties of Linux is in third position. Linux distributions are dominant in the server and supercomputing sectors, other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can run one program at a time. Multi-tasking may be characterized in preemptive and co-operative types, in preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, e. g. Solaris, Linux, cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking, 32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem, a distributed operating system manages a group of distinct computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing, distributed computations are carried out on more than one machine. When computers in a work in cooperation, they form a distributed system. The technique is used both in virtualization and cloud computing management, and is common in large server warehouses, embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy and they are able to operate with a limited number of resources. They are very compact and extremely efficient by design, Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is a system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could run different programs in succession to speed up processing

3.
Central processing unit
–
The computer industry has used the term central processing unit at least since the early 1960s. The form, design and implementation of CPUs have changed over the course of their history, most modern CPUs are microprocessors, meaning they are contained on a single integrated circuit chip. An IC that contains a CPU may also contain memory, peripheral interfaces, some computers employ a multi-core processor, which is a single chip containing two or more CPUs called cores, in that context, one can speak of such single chips as sockets. Array processors or vector processors have multiple processors that operate in parallel, there also exists the concept of virtual CPUs which are an abstraction of dynamical aggregated computational resources. Early computers such as the ENIAC had to be rewired to perform different tasks. Since the term CPU is generally defined as a device for software execution, the idea of a stored-program computer was already present in the design of J. Presper Eckert and John William Mauchlys ENIAC, but was initially omitted so that it could be finished sooner. On June 30,1945, before ENIAC was made, mathematician John von Neumann distributed the paper entitled First Draft of a Report on the EDVAC and it was the outline of a stored-program computer that would eventually be completed in August 1949. EDVAC was designed to perform a number of instructions of various types. Significantly, the programs written for EDVAC were to be stored in high-speed computer memory rather than specified by the wiring of the computer. This overcame a severe limitation of ENIAC, which was the considerable time, with von Neumanns design, the program that EDVAC ran could be changed simply by changing the contents of the memory. Early CPUs were custom designs used as part of a larger, however, this method of designing custom CPUs for a particular application has largely given way to the development of multi-purpose processors produced in large quantities. This standardization began in the era of discrete transistor mainframes and minicomputers and has accelerated with the popularization of the integrated circuit. The IC has allowed increasingly complex CPUs to be designed and manufactured to tolerances on the order of nanometers, both the miniaturization and standardization of CPUs have increased the presence of digital devices in modern life far beyond the limited application of dedicated computing machines. Modern microprocessors appear in electronic devices ranging from automobiles to cellphones, the so-called Harvard architecture of the Harvard Mark I, which was completed before EDVAC, also utilized a stored-program design using punched paper tape rather than electronic memory. Relays and vacuum tubes were used as switching elements, a useful computer requires thousands or tens of thousands of switching devices. The overall speed of a system is dependent on the speed of the switches, tube computers like EDVAC tended to average eight hours between failures, whereas relay computers like the Harvard Mark I failed very rarely. In the end, tube-based CPUs became dominant because the significant speed advantages afforded generally outweighed the reliability problems, most of these early synchronous CPUs ran at low clock rates compared to modern microelectronic designs. Clock signal frequencies ranging from 100 kHz to 4 MHz were very common at this time, the design complexity of CPUs increased as various technologies facilitated building smaller and more reliable electronic devices

4.
Microchip Technology
–
Microchip Technology is an American manufacturer of microcontroller, memory and analog semiconductors. Some of the devices include USB, ZigBee/MiWi, Controller Area Network, LoRa, SIGFOX. Corporate headquarters is located at Chandler, Arizona with wafer fabs in Tempe, Arizona, Gresham, Oregon and Colorado Springs, Colorado, assembly/test facilities in Chachoengsao, sales for the fiscal year ending on March 31,2016 were $2,173,334,000. Among its chief competitors are Analog Devices, Infineon, Maxim Integrated Products, NXP Semiconductors, Renesas Electronics, STMicroelectronics, Microchip Technology was founded in 1987 when General Instrument spun off its microelectronics division as a wholly owned subsidiary. Microchip Technology became an independent company in 1989 when it was acquired by a group of venture capitalists, in April 2009, Microchip Technology announced the nanoWatt XLP Microcontrollers. Microchip Technology had sold more than 6 billion microcontrollers as of 2009, in April 2010, Microchip acquired Silicon Storage Technology, and sold several SST flash memory assets to Greenliant Systems in May that year. As of 2011, Microchip Technology ships over a billion processors every year, in September 2011, Microchip Technology shipped the 10 billionth PIC microcontroller. In August 2012, Microchip acquired Standard Microsystems Corporation, in January 2016, Microchip agreed to buy Atmel for $3.56 billion. JPMorgan Chase advised Microchip while Qatalyst Partners advised Atmel, Microchip develops a wide range of microcontrollers and integrated circuits, for the hobbyist and professional markets. Founded in 1984, the company is best known for its HI-TECH C PRO compilers with whole-program compilation technology, HI-TECH Software was bought by Microchip on 20 February 2009, whereupon it refocused its development effort exclusively on supporting Microchip products. Supported manufacturers and architectures, Microchip PIC10, PIC12, PIC14, PIC16, PIC18, PIC24, PIC32 and dsPIC Cypress PSoCs Silicon Laboratories MCUs 8051 MCUs Z80 for CP/M and Z80 cross compiler. Silicon Storage Technology, Inc. was a Sunnyvale, California, United States, technology company producing non-volatile memory devices, SST supplied NOR flash and other integrated circuits for high-volume applications. Bing Yeh co-founded SST in August 1989, and served as its chief executive, in 1993, SST moved its headquarters to Sunnyvale. That same year, SST introduced its first SuperFlash technology products, with lower costs, by the end of 1995, more than 90% of the PC motherboards produced in Taiwan had adopted SSTs 1 Mbit SuperFlash EEPROM product for the BIOS storage. The company had its public offering November 21,1995. Analytical models of SuperFlash were published, a five-year licensing agreement was announced in January 1999 with Acer Inc. A1997 lawsuit filed by Intel was settled in May 1999 after mediation, in 2004, SST began to diversify beyond flash memory products, targeting consumer and industrial products with embedded solid-state data storage and RF wireless communication. In September 2004 SST purchased a majority stake in Emosyn, which designed products for SIM cards, in October it announced the acquisition of G-Plus, based in Santa Monica, California

5.
Static random-access memory
–
Static random-access memory is a type of semiconductor memory that uses bistable latching circuitry to store each bit. SRAM exhibits data remanence, but it is volatile in the conventional sense that data is eventually lost when the memory is not powered. The term static differentiates SRAM from DRAM which must be periodically refreshed, SRAM is faster and more expensive than DRAM, it is typically used for CPU cache while DRAM is used for a computers main memory. Several techniques have been proposed to power consumption of SRAM-based memory structures. Some amount is also embedded in all modern appliances, toys. Several megabytes may be used in products such as digital cameras, cell phones, synthesizers. SRAM in its form is sometimes used for realtime digital signal processing circuits. LCD screens and printers also normally employ static RAM to hold the image displayed, static RAM was used for the main memory of some early personal computers such as the ZX80, TRS-80 Model 100 and Commodore VIC-20. Hobbyists, specifically homebuilt processor enthusiasts, often prefer SRAM due to the ease of interfacing and it is much easier to work with than DRAM as there are no refresh cycles and the address and data buses are directly accessible rather than multiplexed. In addition to buses and power connections, SRAM usually requires only three controls, Chip Enable, Write Enable and Output Enable, in synchronous SRAM, Clock is also included. Non-volatile SRAMs, or nvSRAMs, have standard SRAM functionality, but they save the data when the supply is lost. NvSRAMs are used in a range of situations – networking, aerospace, and medical, among many others – where the preservation of data is critical. Address, data in and other signals are associated with the clock signals In 1990s. Nowadays, synchronous SRAM is rather employed similarly like Synchronous DRAM – DDR SDRAM memory is used than asynchronous DRAM. Synchronous memory interface is much faster as access time can be reduced by employing pipeline architecture. Furthermore, as DRAM is much cheaper than SRAM, SRAM is often replaced by DRAM, SRAM memory is however much faster for random access. Therefore, SRAM memory is used for CPU cache, small on-chip memory. Zero bus turnaround – the turnaround is the number of cycles it takes to change access to the SRAM from write to read

6.
Flash memory
–
Flash memory is electronic non-volatile computer storage medium that can be electrically erased and reprogrammed. Toshiba developed flash memory from EEPROM in the early 1980s and introduced it to the market in 1984, the two main types of flash memory are named after the NAND and NOR logic gates. The individual flash memory cells exhibit internal characteristics similar to those of the corresponding gates, where EPROMs had to be completely erased before being rewritten, NAND-type flash memory may be written and read in blocks which are generally much smaller than the entire device. NOR-type flash allows a machine word to be written‍—‌to an erased location‍—‌or read independently. The NAND type operates primarily in memory cards, USB flash drives, solid-state drives, NAND or NOR flash memory is also often used to store configuration data in numerous digital products, a task previously made possible by EEPROM or battery-powered static RAM. One key disadvantage of flash memory is that it can endure a relatively small number of write cycles in a specific block. In addition to being non-volatile, flash memory offers fast read access times, although flash memory is technically a type of EEPROM, the term EEPROM is generally used to refer specifically to non-flash EEPROM which is erasable in small blocks, typically bytes. Because erase cycles are slow, the block sizes used in flash memory erasing give it a significant speed advantage over non-flash EEPROM when writing large amounts of data. As of 2013, flash memory costs much less than byte-programmable EEPROM and had become the dominant memory type wherever a system required a significant amount of non-volatile solid-state storage, Flash memory was invented by Fujio Masuoka while working for Toshiba circa 1980. According to Toshiba, the flash was suggested by Masuokas colleague, Shōji Ariizumi. Masuoka and colleagues presented the invention at the IEEE1984 International Electron Devices Meeting held in San Francisco, Intel Corporation saw the massive potential of the invention and introduced the first commercial NOR type flash chip in 1988. NOR-based flash has long erase and write times, but provides full address and data buses, allowing random access to any memory location. This makes it a replacement for older read-only memory chips. Its endurance may be from as little as 100 erase cycles for a flash memory, to a more typical 10,000 or 100,000 erase cycles. NOR-based flash was the basis of early flash-based removable media, CompactFlash was originally based on it, however, the I/O interface of NAND flash does not provide a random-access external address bus. Rather, data must be read on a basis, with typical block sizes of hundreds to thousands of bits. This makes NAND flash unsuitable as a replacement for program ROM. In this regard, NAND flash is similar to other data storage devices, such as hard disks and optical media

7.
EEPROM
–
EEPROMs are organized as arrays of floating-gate transistors. EEPROMs can be programmed and erased in-circuit, by applying special programming signals, originally, EEPROMs were limited to single byte operations which made them slower, but modern EEPROMs allow multi-byte page operations. It also has a life for erasing and reprogramming, now reaching a million operations in modern EEPROMs. In an EEPROM that is frequently reprogrammed while the computer is in use, unlike most other kinds of non-volatile memory, an EEPROM typically allows bytes to be read, erased, and re-written individually. Eli Harari at Hughes Aircraft invented the EEPROM in 1977 utilising Fowler-Nordheim tunneling through a floating gate. Hughes went on to produce the first EEPROM devices, in 1978, George Perlegos at Intel developed the Intel 2816, which was built on earlier EPROM technology, but used a thin gate oxide layer enabling the chip to erase its own bits without a UV source. Perlegos and others later left Intel to form Seeq Technology, which used on-device charge pumps to supply the high voltages necessary for programming EEPROMs, EEPROM devices use a serial or parallel interface for data input/output. The common serial interfaces are SPI, I²C, Microwire, UNI/O and these use from 1 to 4 device pins and allow devices to use packages with 8-pins or less. A typical EEPROM serial protocol consists of three phases, OP-Code Phase, Address Phase and Data Phase. The OP-Code is usually the first 8-bits input to the input pin of the EEPROM device, followed by 8 to 24 bits of addressing depending on the depth of the device. Each EEPROM device typically has its own set of OP-Code instructions mapped to different functions, most devices have chip select and write protect pins. Some microcontrollers also have integrated parallel EEPROM, EEPROM memory is used to enable features in other types of products that are not strictly memory products. It was also used on game cartridges to save game progress and configurations. There are two limitations of stored information, endurance, and data retention, during rewrites, the gate oxide in the floating-gate transistors gradually accumulates trapped electrons. The electric field of the trapped electrons adds to the electrons in the floating gate, after sufficient number of rewrite cycles, the difference becomes too small to be recognizable, the cell is stuck in programmed state, and endurance failure occurs. The manufacturers usually specify the number of rewrites being 1 million or more. During storage, the electrons injected into the gate may drift through the insulator, especially at increased temperature. The manufacturers usually guarantee data retention of 10 years or more, flash memory is a later form of EEPROM

8.
Arduino
–
Arduino boards are available commercially in preassembled form, or as do-it-yourself kits. Arduino board designs use a variety of microprocessors and controllers, the boards are equipped with sets of digital and analog input/output pins that may be interfaced to various expansion boards and other circuits. The boards feature serial communications interfaces, including Universal Serial Bus on some models, the microcontrollers are typically programmed using a dialect of features from the programming languages C and C++. In addition to using traditional compiler toolchains, the Arduino project provides a development environment based on the Processing language project. Common examples of such devices intended for beginner hobbyists include simple robots, thermostats, the name Arduino comes from a bar in Ivrea, Italy, where some of the founders of the project used to meet. The bar was named after Arduin of Ivrea, who was the margrave of the March of Ivrea, the origin of the Arduino project started at the Interaction Design Institute Ivrea in Ivrea, Italy. At that time, the students used a BASIC Stamp microcontroller at a cost of $100, the project goal was to create simple, low cost tools for creating digital projects by non-engineers. The Wiring platform consisted of a circuit board with an ATmega168 microcontroller. In 2003, Massimo Banzi, with David Mellis, another IDII student, but instead of continuing the work on Wiring, they copied the Wiring source code and renamed it as a separate project, called Arduino. The initial Arduino core team consisted of Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis, following the completion of the Wiring platform, lighter and less-expensive versions were distributed in the open-source community. The hardware reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Arduino website, layout and production files for some versions of the hardware are also available. The source code for the IDE is released under the GNU General Public License, nevertheless, an official Bill of Materials of Arduino boards has never been released by Arduino staff. The official policy document on use of the Arduino name emphasizes that the project is open to incorporating work by others into the official product, several Arduino-compatible products commercially released have avoided the project name by using various names ending in -duino. Most Arduino boards consist of an Atmel 8-bit AVR microcontroller with varying amounts of memory, pins. The 32-bit Arduino Due, based on the Atmel SAM3X8E was introduced in 2012, the boards use single or double-row pins or female headers that facilitate connections for programming and incorporation into other circuits. These may connect with add-on modules termed shields, multiple, and possibly stacked shields may be individually addressable via an I²C serial bus. Most boards include a 5 V linear regulator and a 16 MHz crystal oscillator or ceramic resonator, some designs, such as the LilyPad, run at 8 MHz and dispense with the onboard voltage regulator due to specific form-factor restrictions. Arduino microcontrollers are pre-programmed with a loader that simplifies uploading of programs to the on-chip flash memory

9.
Creative Commons
–
Creative Commons is an American non-profit organization devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons licenses free of charge to the public and these licenses allow creators to communicate which rights they reserve, and which rights they waive for the benefit of recipients or other creators. An easy-to-understand one-page explanation of rights, with associated visual symbols, Creative Commons licenses do not replace copyright, but are based upon it. The result is an agile, low-overhead and low-cost copyright-management regime, Wikipedia uses one of these licenses. The organization was founded in 2001 by Lawrence Lessig, Hal Abelson, the first article in a general interest publication about Creative Commons, written by Hal Plotkin, was published in February 2002. The first set of licenses was released in December 2002. In 2003 the Open Content Project, a 1998 precursor project by David A. Wiley, announced the Creative Commons as successor project, matthew Haughey and Aaron Swartz also played a role in the early stages of the project. As of January 2016 there were an estimated 1.1 billion works licensed under the various Creative Commons licenses, as of March 2015, Flickr alone hosts over 306 million Creative Commons licensed photos. Creative Commons is governed by a board of directors and their licenses have been embraced by many as a way for creators to take control of how they choose to share their copyrighted works. Beyond that, Creative Commons has provided institutional, practical and legal support for individuals and groups wishing to experiment, Creative Commons attempts to counter what Lawrence Lessig, founder of Creative Commons, considers to be a dominant and increasingly restrictive permission culture. Lessig describes this as a culture in which creators get to create only with the permission of the powerful, as of 2017, they are Paul Keller, Jonathan Nightingale, Chris Thorne. As of 2015, there are more than 100 affiliates working in over 75 jurisdictions to support, Creative Commons Korea is the affiliated network of Creative Commons in South Korea. In March 2005, CC Korea was initiated by Jongsoo Yoon, the major Korean portal sites, including Daum and Naver, have been participating in the use of Creative Commons licences. In January 2009, the Creative Commons Korea Association was consequently founded as an incorporated association. Since then, CC Korea has been promoting the liberal. Since March 15,2012 he has been detained by the Syrian government in Damascus at Adra Prison, on October 17,2015 Creative Commons Board of Directors approved a resolution calling for Bassel Khartabil release. All current CC licenses require attribution, which can be inconvenient for works based on other works. Critics also worried that the lack of rewards for content producers will dissuade artists from publishing their work, Creative Commons founder Lawrence Lessig countered that copyright laws have not always offered the strong and seemingly indefinite protection that todays law provides

10.
Ivrea
–
Ivrea is a town and comune of the Metropolitan City of Turin in the Piedmont region of northwestern Italy. Situated on the leading to the Aosta Valley, it straddles the Dora Baltea and is regarded as the centre of the Canavese area. Ivrea lies in a basin that in prehistoric times formed a large lake, today five smaller lakes — Sirio, San Michele, Pistono, Nero and Campagna — are found in the area around the town. Ivrea and its surroundings have been inhabited since the Neolithic era, after the fall of the Western Roman Empire, Ivrea became the seat of a duchy under the Lombards. Under the Franks, Ivrea was a county capital, in the year 1001, after a period of disputes with bishop Warmund, ruler of the city, Arduin conquered the March of Ivrea. Later he became King of Italy and began a dynasty that lasted until the 11th century, in the 12th century Ivrea became a free commune, but succumbed in the first decades of the following century to the rule of Emperor Frederick II. Later Ivrea was disputed between the bishops, the marquisate of Monferrato and the House of Savoy, in 1356 Ivrea was acquired by Amadeus VI of Savoy. With the exception of the brief French conquest at the end of the 16th century and it was a subsidiary title of the king of Sardinia, although the only Marquis of Ivrea was Benedetto of Savoy. On May 26,1800 Napoleon Bonaparte entered the city along with his victorious troops, during the 20th century its primary claim to fame was as the base of operations for Olivetti, a manufacturer of typewriters, mechanical calculators and, later, computers. The Olivetti company no longer has an independent existence, though its name appears as a registered trademark on office equipment manufactured by others. In 1970 about 90,000 people lived and worked in the Ivrea Area, the Arduino electronic platform was created in Ivrea, and takes its name from the historical figure of Arduin of Italy. Castle of Ivrea, built during the reign of Amadeus VI of Savoy and it has a quadrangular plan in brick with four round towers at the corners. In 1676, a tower, used as an ammunition store, once a prison, the castle today houses exhibitions. Cathedral of Ivrea, which originated from a church built in 4th century at the site of a pagan temple. Around 1000 AD, it was reconstructed by bishop Warmondus in Romanesque-style, the latter houses an ancient Roman sarcophagus which according to tradition, preserves the relics of St. Bessus. In 1785, it was again in a Baroque style. The current neo-classical façade was built in the 19th century, one of the old frescoes of the interior is the A Miracle of the Blessed Pierre de Luxembourg. The sacristy has two altarpieces by Defendente Ferrari, the cathedral also houses the tomb of Blessed Thaddeus McCarthy

11.
BASIC Stamp
–
The BASIC Stamp is a microcontroller with a small, specialized BASIC interpreter built into ROM. It is made by Parallax, Inc. and has been popular with electronics hobbyists since the early 1990s. A clock, in the form of a ceramic resonator Voltage regulator External input/output The end result is that a hobbyist can connect a 9 V battery to a BASIC Stamp and have a complete system. If the power is reconnected the stamp immediately starts executing the program in slot 0, the BASIC Stamp is programmed in a variant of the BASIC language, called PBASIC. in comparison to the original BS2 model. While the BS1 and BS2 use a PIC, the remaining BASIC Stamp 2 variants use a Parallax SX processor, the third variant is the Javelin Stamp. This module uses a subset of Sun Microsystems Java programming language instead of Parallaxs PBASIC and it does not include any networking facilities. The fourth variant is the Spin Stamp, the module is based on the Parallax Propeller and therefore uses the SPIN programming language instead of PBASIC. A number of companies now make clones of the BASIC Stamp with additional features, such as execution, analog-to-digital converters

12.
Processing (programming language)
–
The project was initiated in 2001 by Casey Reas and Benjamin Fry, both formerly of the Aesthetics and Computation Group at the MIT Media Lab. In 2012, they started the Processing Foundation along with Daniel Shiffman, one of the aims of Processing is to allow non-programmers to start computer programming aided by visual feedback. The Processing language builds on the Java language, but uses a simplified syntax, Processing includes a sketchbook, a minimal alternative to an integrated development environment for organizing projects. Every Processing sketch is actually a subclass of the PApplet Java class which implements most of the Processing languages features, when programming in Processing, all additional classes defined will be treated as inner classes when the code is translated into pure Java before compiling. This means that the use of variables and methods in classes is prohibited unless you explicitly tell Processing that you want to code in pure Java mode. Processing also allows for users to create their own classes within the PApplet sketch and this allows for complex data types that can include any number of arguments and avoids the limitations of solely using standard data types such as, int, char, float, and color. The next example creates a map of the results of the 2008 USA presidential election, blue denotes states won by Barack Obama, and red denotes those won by John McCain. Processing v3 or above is required to run this example, Processing is not a single language, but rather, an arts-oriented approach to learning, teaching, and making things with code. There are several variants and related projects, Processing was based on the work done on Design By Numbers project at MIT. It shares many of the ideas and is a direct child of that experiment. Processing has spawned another project, Wiring, which uses the Processing IDE with a collection of written in the C++ language as a way to teach artists how to program microcontrollers. There are now two separate projects, Wiring and Arduino, using the Wiring environment and language. Fritzing is another software environment of the sort, which helps designers and artists to document their interactive prototypes. Another spin-off project, now defunct, is Mobile Processing by Francis Li, today some of the same functionality is provided by Processing itself. In 2008, John Resig ported Processing to JavaScript using the Canvas element for rendering, allowing Processing to be used in web browsers without the need for a Java plugin. Since then, the open source community including students at Seneca College in Toronto have taken over the project, Processing. js is also used to advocate very basic programming to Students of all ages on Khan Academy by creating drawings and animations. Learners showcase their creations to other learners, lauren McCarthy has created p5. js, a native JavaScript alternative to Processing. js that has the official support of the Processing Foundation. McCarthy also teaches a course to p5. js on Kadenze

13.
Printed circuit board
–
Components are generally soldered on the PCB. Advanced PCBs may contain components embedded in the substrate, PCBs can be single sided, double sided or multi-layer. Conductors on different layers are connected with vias, multi-layer PCBs allow for much higher component density. FR-4 glass epoxy is the primary insulating substrate, a basic building block of the PCB is an FR-4 panel with a thin layer of copper foil laminated to one or both sides. In multi-layer boards multiple layers of material are laminated together, printed circuit boards are used in all but the simplest electronic products. Alternatives to PCBs include wire wrap and point-to-point construction, PCBs require the additional design effort to lay out the circuit, but manufacturing and assembly can be automated. Manufacturing circuits with PCBs is cheaper and faster than other wiring methods as components are mounted and wired with one single part. A minimal PCB with a component used for easier prototyping is called a breakout board. When the board has no embedded components it is correctly called a printed wiring board or etched wiring board. However, the printed wiring board has fallen into disuse. A PCB populated with electronic components is called a printed circuit assembly, the IPC preferred term for assembled boards is circuit card assembly, and for assembled backplanes it is backplane assemblies. The term PCB is used both for bare and assembled boards. The world market for bare PCBs exceeded $60.2 billion in 2014, initially PCBs were designed manually by creating a photomask on a clear mylar sheet, usually at two or four times the true size. Starting from the diagram the component pin pads were laid out on the mylar. Rub-on dry transfers of common component footprints increased efficiency, traces were made with self-adhesive tape. Pre-printed non-reproducing grids on the mylar assisted in layout, to fabricate the board, the finished photomask was photolithographically reproduced onto a photoresist coating on the blank copper-clad boards. Modern PCBs are designed with dedicated software, generally in the following steps. Card dimensions and template are decided based on required circuitry and case of the PCB, the positions of the components and heat sinks are determined

14.
Atmel AVR
–
AVR is a family of microcontrollers developed by Atmel beginning in 1996. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers, AVR microcontrollers find many applications as embedded systems, they are also used in the Arduino line of open source board designs. The AVR architecture was conceived by two students at the Norwegian Institute of Technology, Alf-Egil Bogen and Vegard Wollan. The original AVR MCU was developed at a local ASIC house in Trondheim, Norway, called Nordic VLSI at the time, now Nordic Semiconductor and it was known as a μRISC and was available as silicon IP/building block from Nordic VLSI. When the technology was sold to Atmel from Nordic VLSI, the architecture was further developed by Bogen and Wollan at Atmel Norway. The designers worked closely with writers at IAR Systems to ensure that the AVR instruction set provided efficient compilation of high-level languages. Atmel says that the name AVR is not an acronym and does not stand for anything in particular, the creators of the AVR give no definitive answer as to what the term AVR stands for. However, it is accepted that AVR stands for Alf. Note that the use of AVR in this generally refers to the 8-bit RISC line of Atmel AVR Microcontrollers. Among the first of the AVR line was the AT90S8515, which in a 40-pin DIP package has the same pinout as an 8051 microcontroller, including the external multiplexed address, the polarity of the RESET line was opposite, but other than that the pinout was identical. The AVR 8-bit microcontroller architecture was introduced in 1997, by 2003, Atmel had shipped 500 million AVR flash microcontrollers. The Arduino platform for simple electronics projects was released in 2005, AVRs are generally classified into following, tinyAVR – the ATtiny series 0. This is a different architecture unrelated to the 8-bit AVR. It has a 32-bit data path, SIMD and DSP instructions, along with other audio-, the instruction set is similar to other RISC cores, but it is not compatible with the original AVR. Flash, EEPROM, and SRAM are all integrated onto a single chip, some devices have a parallel external bus option to allow adding additional data memory or memory-mapped devices. Almost all devices have serial interfaces, which can be used to connect larger serial EEPROMs or flash chips, Program instructions are stored in non-volatile flash memory. Although the MCUs are 8-bit, each instruction takes one or two 16-bit words, the size of the program memory is usually indicated in the naming of the device itself. There is no provision for off-chip program memory, all executed by the AVR core must reside in the on-chip flash

15.
Fork (software development)
–
The term often implies not merely a development branch, but also a split in the developer community, a form of schism. Free and open-source software is that which, by definition, may be forked from the development team without prior permission without violating copyright law. However, licensed forks of proprietary software also happen, the word fork stems from the Latin word furca, meaning a fork or similarly shaped instrument. Fork in the meaning of to divide in branches, go separate ways has been used as early as the 14th century. In the software environment, the word evokes the fork system call, however, fork was in use in the present sense by 1995 to describe the XEmacs split, and was an understood usage in the GNU Project by 1996. Thus, there is a penalty associated with forking. The relationship between the different teams can be cordial or very bitter and he notes in the Jargon File, David A. Wheeler notes four possible outcomes of a fork, with examples, The death of the fork. This is by far the most common case and it is easy to declare a fork, but considerable effort to continue independent development and support. With a DVCS such as Mercurial or Git, the way to contribute to a project is to first branch the repository. Forks often restart version numbering from 0.1 or 1.0 even if the software was at version 3.0,4.0. An exception is when the software is designed to be a drop-in replacement for the original project. In proprietary software, the copyright is held by the employing entity. This is almost always an economic decision to generate a greater market share, a notable proprietary fork not of this kind is the many varieties of proprietary Unix—almost all derived from AT&T Unix under license and all called Unix, but increasingly mutually incompatible. The BSD licenses permit forks to become proprietary software, and some say that commercial incentives thus make proprietisation almost inevitable, examples include macOS, Cedega and CrossOver, EnterpriseDB, Supported PostgreSQL with their proprietary ESM storage system, and Netezzas proprietary highly scalable derivative of PostgreSQL. Some of these vendors contribute back changes to the community project, while some keep their changes as their own competitive advantages

16.
Microcontroller
–
A microcontroller is a small computer on a single integrated circuit. In modern terminology, it is a system on a chip or SoC, a microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of Ferroelectric RAM, NOR flash or OTP ROM is also included on chip. Microcontrollers are designed for embedded applications, in contrast to the used in personal computers or other general purpose applications consisting of various discrete chips. Mixed signal microcontrollers are common, integrating analog components needed to control non-digital electronic systems, some microcontrollers may use four-bit words and operate at frequencies as low as 4 kHz, for low power consumption. Other microcontrollers may serve performance-critical roles, where they may need to act more like a signal processor, with higher clock speeds. The first microprocessor was the 4-bit Intel 4004 released in 1971, with the Intel 8008, however, both processors required external chips to implement a working system, raising total system cost, and making it impossible to economically computerize appliances. One book credits TI engineers Gary Boone and Michael Cochran with the creation of the first microcontroller in 1971. The result of their work was the TMS1000, which became available in 1974. It combined read-only memory, read/write memory, processor and clock on one chip and was targeted at embedded systems and it combined RAM and ROM on the same chip. This chip would find its way into one billion PC keyboards. At that time Intels President, Luke J. Valenter, stated that the microcontroller was one of the most successful in the companys history, most microcontrollers at this time had concurrent variants. One had an erasable EPROM program memory, with a transparent quartz window in the lid of the package to allow it to be erased by exposure to ultraviolet light, often used for prototyping. The PROM was of type of memory as the EPROM. The erasable versions required ceramic packages with quartz windows, making them more expensive than the OTP versions. The same year, Atmel introduced the first microcontroller using Flash memory, other companies rapidly followed suit, with both memory types. Cost has plummeted over time, with the cheapest 8-bit microcontrollers being available for under 0.25 USD in quantity in 2009, nowadays microcontrollers are cheap and readily available for hobbyists, with large online communities around certain processors. In the future, MRAM could potentially be used in microcontrollers as it has infinite endurance, in 2002, about 55% of all CPUs sold in the world were 8-bit microcontrollers and microprocessors

17.
Booting
–
In computing, booting is the initialization of a computerized system. The system can be a computer or a computer appliance, the booting process can be hard, e. g. after electrical power to the CPU is switched from off to on, or soft, when those power-on self-tests can be avoided. On some systems a soft boot may optionally clear RAM to zero, both hard and soft booting can be initiated by hardware such as a button press, or by software command. Booting is complete when the normal, operative, runtime environment is attained, within the hard reboot process, it runs after completion of the self-tests, then loads and runs the software. A boot loader is loaded into memory from persistent memory, such as a hard disk drive or, in some older computers, from a medium such as punched cards, punched tape. The boot loader then loads and executes the processes that finalize the boot, the process of hibernating or sleeping does not involve booting. Minimally, some embedded systems do not require a noticeable sequence to begin functioning. All computing systems are state machines, and a reboot may be the method to return to a designated zero-state from an unintended, locked state. In addition to loading an operating system or stand-alone utility, the process can also load a storage dump program for diagnosing problems in an operating system. Boot is short for bootstrap or bootstrap load and derives from the phrase to pull oneself up by ones bootstraps, early computers used a variety of ad-hoc methods to get a small program into memory to solve this problem. The invention of read-only memory of various types solved this paradox by allowing computers to be shipped with a start up program that could not be erased, growth in the capacity of ROM has allowed ever more elaborate start up procedures to be implemented. There are many different methods available to load a short initial program into a computer and these methods reach from simple, physical input to removable media that can hold more complex programs. Early computers in the 1940s and 1950s were one-of-a-kind engineering efforts that could take weeks to program and program loading was one of problems that had to be solved. An early computer, ENIAC, had no program stored in memory, bootstrapping did not apply to ENIAC, whose hardware configuration was ready for solving problems as soon as power was applied. The program was stored as a bit image on a continuously running magnetic drum, core memory was probably cleared manually via the maintenance console, and startup from when power was fully up was very fast, only a few seconds. In its general design, the DIP compared roughly with a DEC PDP-8, thus, it was not the kind of single-button-pressure bootstrap that came later, nor a read-only memory in strict terms, since the magnetic drum involved could be written to. The first programmable computers for commercial sale, such as the UNIVAC I and they typically included instructions that performed a complete input or output operation. The left 18-bit half-word was then executed as an instruction, which usually read additional words into memory, the loaded boot program was then executed, which, in turn, loaded a larger program from that medium into memory without further help from the human operator

18.
In-system programming
–
There are several mutually-incompatible in-system programming protocols for programming microcontroller devices, including PIC microcontrollers, AVRs, and the Parallax Propeller. ICSP has been implemented by Microchip Technology for programming PIC and dsPIC devices. Microcontrollers are typically soldered directly to a circuit board and usually do not have the circuitry or space for a large external programming cable to another computer. Most programmable logic devices use a variant of the JTAG protocol for ISP, other devices usually use proprietary protocols or protocols defined by older standards. An example of devices using ISP is the AVR line of micro-controllers by Atmel such as the ATmega series, for most Microchip microcontrollers, ICSP programming is performed using two pins, clock and data, while a high voltage is present on the Vpp/MCLR pin. Low voltage programming dispenses with the voltage, but reserves exclusive use of an I/O pin. However, for newer microcontrollers, specifically PIC18F6XJXX/8XJXX microcontrollers families, entering into ICSP modes is a bit different, entering ICSP Program/Verify mode requires the following three steps, Voltage is briefly applied to the MCLR pin. A 32-bit key sequence is presented on PGD, a separate piece of hardware, called a programmer is required to connect to an I/O port of a PC on one side and to the PIC on the other side. Most laptops newer than 2010 do not support this port, parallel port programming is very fast. Serial port - At one time the most popular method, serial ports usually lack adequate circuit programming supply voltage. Most computers and laptops newer than 2010 lack support for this port, socket - the CPU must be either removed from circuit board, or a clamp must be attached to the chip making access an issue. USB cable - Small and light weight, has support for voltage source, the distance between the circuit to be programmed and the computer is limited by the length of USB cable - it must usually be less than 180 cm. This can make programming devices deep in machinery or cabinets a problem, ICSP programmers have many advantages, with size, computer port availability, and power source being major features. Due to variations in the scheme and the target circuit surrounding a micro-controller. Microchip provides a detailed ICSP programming guide Many sites provide programming, PICs are programmed using five signals. The data is transferred using a two wire synchronous serial scheme, three more wires provide programming and chip power, the clock signal is always controlled by the programmer. This must be connected to the MCLR pin, or the Vpp pin of the optional ICSP port available on some large-pincount PICs, to put the PIC into programming mode, this line must be in a specified range that varies from PIC to PIC. For 5 V PICs, this is some amount above Vdd