Showing posts with label arduino microcontroller. Show all posts
Showing posts with label arduino microcontroller. Show all posts

Microcontroller

 

Microcontroller:

Introduction:

A microcontroller is a tiny computer on a single VLSI integrated circuit (IC) chip, often known as an MCU (microcontroller unit). One or more CPUs (processor cores), memory, and programmable input/output peripherals are all included in a microcontroller. Along with a tiny amount of RAM, on-chip programme memory frequently also includes ferroelectric RAM, NOR flash, or OTP ROM. In contrast to the microprocessors used in personal computers or other general-purpose applications made up of numerous discrete chips, microcontrollers are intended for embedded applications.

 

Microcontroller



A system on a chip is similar to a microcontroller in modern parlance, but it is less complex (SoC). However, a SoC typically combines cutting-edge peripherals like a graphics processing unit (GPU) and a Wi-Fi interface controller as its internal microcontroller unit circuits. An SoC may connect external microcontroller chips as motherboard components.

 

Automotive engine control systems, implantable medical devices, remote controls, office equipment, appliances, power tools, toys, and other embedded systems are just a few examples of the automatically controlled goods and gadgets that use microcontrollers. Microcontrollers make it affordable to digitally control even more devices and processes since they are smaller and less expensive than designs that require individual microprocessors, memories, and input/output devices. In order to control non-digital electronic equipment, mixed signal microcontrollers are frequently used. Microcontrollers are a popular and affordable method of data collection, sensing, and controlling the physical world as edge devices in the context of the internet of things.

 

For low power consumption, some microcontrollers may operate at frequencies as low as 4 kHz and use four-bit words (single-digit milliwatts or microwatts). Many of them are particularly suited for long-lasting battery applications since they typically have the capacity to maintain functionality while anticipating an event, such as a button press or other interrupt; power consumption when sleeping (CPU clock and most peripherals off) may be mere nanowatts. Other microcontrollers might play performance-critical jobs where they might need to behave more like a digital signal processor (DSP), requiring higher clock rates and power use.

 

Background:

The Four-Phase Systems AL1 in 1969 and the Garrett AiResearch MP944 in 1970 were the first multi-chip microprocessors to be created using multiple MOS LSI circuits. The Intel 4004 was the first single-chip microprocessor, and it was released in 1971 on a single MOS LSI chip. Federico Faggin, along with Intel engineers Marcian Hoff and Stan Mazor, and Busicom engineer Masatoshi Shima, created it utilising his silicon-gate MOS technology. [1] The 4-bit Intel 4040, 8-bit Intel 8008, and 8-bit Intel 8080 came after it. To create a functioning system, each of these CPUs needed a number of other chips, such as memory and peripheral interface chips. Since the entire system cost several hundred dollars in the 1970s US, it was not feasible to inexpensively computerise simple appliances.

 

In 1975, MOS Technology unveiled the 6501 and 6502, two sub-$100 microprocessors. The main goal of these microprocessors was to lower this cost barrier, but they also needed external support, memory, and peripheral chips, which maintained the overall system cost in the hundreds of dollars.

 

Development:

One book claims that in 1971, TI engineers Gary Boone and Michael Cochran successfully developed the first microcontroller. Their efforts led to the creation of the TMS 1000, which was released for sale in 1974. It was designed for embedded systems and included read-only memory, read/write memory, a CPU, and a clock on a single chip.

 

Microcontroller



Japanese electronics companies started making microcontrollers for automobiles in the early to mid-1970s. These included 4-bit MCUs for in-car entertainment, automatic wipers, electronic locks, and dashboard, and 8-bit MCUs for engine management.

 

The single-chip TMS 1000 prompted Intel to create the Intel 8048, a computer system on a chip designed for control applications, with the first commercial parts shipping in 1977. It included a microprocessor, RAM, and ROM all on one chip. This chip would eventually be used in more than one billion PC keyboards, among other things. Luke J. Valenter, Intel's president at the time, increased the microcontroller division's budget by more than 25% after declaring that it was one of the company's most successful products in history.

 

At this time, the majority of microcontrollers had concurrent variations. One contained an EPROM programme memory that could be wiped by ultraviolet radiation thanks to a transparent quartz glass in the package's lid. For prototyping, these erasable chips were frequently employed. The other option was either a PROM that could only be programmed once or a mask-coded ROM. For the latter, the abbreviation OTP, which stands for "one-time programmable," was occasionally used. The PROM was typically the same type as the EPROM in an OTP microcontroller, but the chip packaging lacked a quartz window, making it impossible to expose the EPROM to UV light, which prevented it from being erased.The erasable versions were substantially more expensive than the OTP versions because they had to be created in relatively affordable opaque plastic packages, but the erasable versions needed ceramic packages with quartz windows. Quartz was required for the erasable variations instead of less expensive glass because of its transparency to UV light, which glass is largely opaque to. However, the ceramic packaging itself was the key cost differentiator.

 

The invention of EEPROM memory in 1993 made it possible to easily electrically erase microcontrollers (starting with the Microchip PIC16C84) without the need for a costly packaging as was necessary for EPROM, enabling both rapid prototyping and in-system programming. (EEPROM technology existed earlier, but it was more expensive and less reliable, making it unsuitable for mass-produced, low-cost microcontrollers.) The first microcontroller incorporating Flash memory, a particular kind of EEPROM, was released by Atmel the same year. Other businesses quickly adopted both memory types, following suit.

 

Microcontrollers are currently affordable and easily accessible for enthusiasts, with vibrant online communities centred around specific processors.

 

Most Compact Computer:

The University of Michigan revealed the "smallest computer in the world" on June 21. A grain of rice would be larger than the gadget, which is described as a "0.04 mm3 16 nW wireless and batteryless sensor system with integrated Cortex-M0+ processor and optical communication for cellular temperature measurement." [...] The new computing gadgets also contain processors, wireless transmitters, and receivers in addition to RAM and photovoltaics. They receive and transmit data using visible light since they are too small to have conventional radio antennae.For programming and electricity, a base station supplies light, and it also receives data. The device is 1/10th the size of IBM's allegedly world's smallest computer, which is "smaller than a grain of salt", contains a million transistors, costs less than $0.10 to produce, and is integrated with blockchain technology for logistics and "crypto-anchors"—digital fingerprint applications.

 

 

Arduino

 

Arduino:

Introduction:

Arduino is a firm that creates and produces single-board microcontrollers and microcontroller kits for creating digital devices. It is an open-source hardware and software initiative. Its software is distributed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), allowing anybody to produce Arduino boards and distribute the software. Its hardware components are released under a CC BY-SA licence. Commercial Arduino boards are offered on the official website or from accredited distributors.


Arduino


 

Different types of microprocessors and controllers are used in Arduino board designs. The boards have a variety of extension boards (called "shields"), breadboards (for prototyping), and other circuits that can be interfaced to the sets of digital and analogue input/output (I/O) pins on the boards. The boards have serial communications interfaces, some of which support USB (Universal Serial Bus), which are also used to load programmes. The C and C++ programming languages, as well as a standard API known as the Arduino language, which was modelled after the Processing language and used with a modified version of the Processing IDE, can be used to programme the microcontrollers. The Arduino project offers an integrated development environment (IDE) and a command line tool created in Go in addition to using conventional compiler toolchains.

 

The Arduino project started in 2005 as a teaching tool for students at the Interaction Design Institute in Ivrea, Italy, with the goal of giving amateurs and experts alike a simple, low-cost means to build gadgets that use sensors and actuators to interact with their surroundings. Simple robots, thermostats, and motion detectors are typical examples of the type of equipment designed for beginning enthusiasts.

 

The tavern in Ivrea, Italy, where some of the project's founders used to gather is where the term Arduino originated. The bar bears the name of Arduin of Ivrea, who ruled Italy from 1002 to 1014 and served as the March of Ivrea's margrave.

 

 

Founding:

The Interaction Design Institute Ivrea (IDII) in Ivrea, Italy, is where the Arduino project got its beginnings. At that time, the $50 BASIC Stamp microcontroller was used by the pupils. As part of his Master's thesis at IDII in 2003, Hernando Barragán developed the development platform Wiring under the direction of Massimo Banzi and Casey Reas. The Processing development platform was created by Casey Reas and Ben Fry. The project's objective was to develop easy, affordable tools for non-engineers to use while producing digital projects. The Wiring platform included a printed circuit board (PCB) with an ATmega128 microcontroller, a Processing-based integrated development environment (IDE), and library functions for quick microcontroller programming.

 

In 2005, Massimo Banzi expanded Wiring by adding support for the less expensive ATmega8 microcontroller along with David Mellis, another IDII student, and David Cuartielles. The new endeavour, which was a fork of Wiring, was known as Arduino.

Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis made up the original Arduino core team.

 

After the platform was finished, lighter and more affordable variants were made available to the open-source community. In mid-2011, it was expected that over 300,000 official Arduinos had been manufactured commercially. In 2013, it was estimated that 700,000 official boards were in the hands of users.

 

Arduino



Hardware:

Hardware made with Arduino is open-source. The hardware reference designs are offered on the Arduino website and published under a Creative Commons Attribution Share-Alike 2.5 licence. There are additional layout and production files available for various hardware versions.

 

The developers have asked that the name Arduino be reserved for the official product and not used for derived works without permission, despite the fact that the hardware and software blueprints are publicly available under copyleft licences. The project is open to integrate contributions from others into the official product, according to the official policy paper on the usage of the Arduino name. Many Arduino-compatible devices that were commercially produced had names that ended in "-duino" to avoid utilising the project name.

 

An Atmel 8-bit AVR microcontroller (ATmega8, ATmega168, ATmega328, ATmega1280, or ATmega2560) with variable amounts of flash memory, pins, and features is the main component of most Arduino boards. In 2012, the 32-bit Arduino Due based on the Atmel SAM3X8E was released. Female headers or single- or double-row pins are used on the boards to provide connections for programming and circuit integration. These could link up with shield-style auxiliary modules. An I2C serial bus may allow for the independent addressability of many and possibly layered shields. A 5 V linear regulator and a 16 MHz crystal oscillator or ceramic resonator are typically included on boards. Due to unique form-factor limitations, some designs, like the LilyPad, operate at 8 MHz without an inbuilt voltage regulator.

 

The boot loader that comes pre-installed on Arduino microcontrollers makes it easier to upload programmes to the on-chip flash memory. The Optiboot bootloader is the default bootloader for the Arduino Uno. Programming code is loaded onto boards using a serial link to another computer. A level shifter circuit can convert between RS-232 logic levels and transistor-transistor logic (TTL) level signals on some serial Arduino boards.A USB-to-serial adapter chip like the FTDI FT232 is used to implement the Universal Serial Bus (USB), which is the current programming protocol for Arduino boards. Some boards, like later-model Uno boards, replace the FTDI chip with a different AVR chip that has USB-to-serial firmware and can be updated via its own ICSP header. Other variations, such the unauthorised Boarduino and the Arduino Mini, employ Bluetooth, a detachable USB-to-serial adaptor board, or other techniques. Instead of using the Arduino IDE, ordinary AVR in-system programming (ISP) programming is employed when used with conventional microcontroller tools.

 

The majority of the microcontroller's I/O pins are accessible on the Arduino board for usage by other circuits. Six of the 14 digital I/O pins on the Diecimila, Duemilanove, and contemporary Uno may create pulse-width modulated signals, and there are also six analogue inputs that can also be utilised as digital I/O pins. These pins are connected to female 0.1-inch (2.54 mm) headers on the top of the circuit board. There are also a number of plug-in application shields that are bought commercially. The male header pins on the underside of the Bare Bones Board and Boarduino boards, as well as the Arduino Nano, may be compatible with solderless breadboards.

 

There are numerous Arduino-derived and compatible boards available. Some can be used interchangeably and are functionally equivalent to an Arduino. Many people improve the fundamental Arduino by adding output drivers, frequently for classroom usage to make building little robots and buggies easier. Others change the form factor while maintaining electrical parity, sometimes maintaining compatibility with shields and other times not. Some variations employ various processors with differing degrees of compatibility.

 

Software:

First IDE:

Any programming language with compilers that generate binary machine code for the target processor may be used to create a programme for Arduino hardware. AVR Studio (older) and Atmel Studio, two development environments from Atmel, are available for their 8-bit AVR and 32-bit ARM Cortex-M based microcontrollers (newer).

 

Java was used to create the cross-platform Arduino integrated development environment (IDE), which is available for Microsoft Windows, macOS, and Linux. It came from the IDE for the programming languages Wiring and Processing. It has a code editor with tools for text copying and pasting, text replacement, automated indenting, brace matching, and syntax highlighting. It also offers straightforward one-click compiling and uploading tools for Arduino projects. A hierarchy of operating menus, a message area, a text terminal, a toolbar with buttons for standard functions, and more are also included. The GNU General Public License, version 2 governs the publication of the IDE's source code.

 

The Arduino IDE has specific code organisation guidelines to support the languages C and C++. A software library from the Wiring project, which offers numerous standard input and output operations, is provided by the Arduino IDE. For the sketch to start and the main programme loop, user-written code only needs two fundamental functions, which are combined with a programme stub main() to create an executable cyclic executive programme using the GNU toolchain, which is also distributed with the IDE. The executable code is transformed via the Arduino IDE's use of avrdude into a text file with hexadecimal encoding, which is then loaded into the Arduino board by a loader programme in the firmware.

 

Only Windows 7 or newer OS are supported by the Arduino IDE windows compiler as of version 1.8.12. When trying to verify or upload a programme on Windows Vista or earlier, one receives a "Unrecognized Win32 application" error. Users can either use version 1.8.11 or copy the "arduino-builder" executable from version 11 to their current install folder since it is independent of IDE to run IDE on older computers.

 

IDE 2.0:

The Arduino Pro IDE (alpha preview) was released on October 18, 2019. Later, on March 1, 2021, the beta preview—now known as IDE 2.0—was made available. Despite advancements including a more professional programming environment, autocompletion support, and Git integration, the system continues to use the Arduino CLI (Command Line Interface).The Eclipse Theia Open Source IDE serves as the foundation for the application frontend. The following are the key characteristics of the most recent release:

 

A. Modern programming environment with all the features.

B. Three modes: Dual, Classic (which is the same as the Classic Arduino IDE), and Pro (File System view).

C. Board's new manager

D. Fresh library director.

E. List of Board.

F. Elementary Auto-Completion (Arm targets only).

G. Integration of Git.

H. Serial Watcher

I. Shadow Mode.