Review of the NVIDIA Shield TV gaming set-top box. Electronic designer: Review of the best Shield boards for Arduino Arduino wifi shield, advise which one is better

Over the past year, I told you about almost all the key players in the Android box market: Xiaomi Mi Box (Amlogic S905X-H), MINIX Neo U9-H (Amlogic S912-H), Ugoos AM3 (Amlogic S912), Zidoo X8/X9S /X10 (Realtek RTD1295DD). All that remains to talk about is HiMedia Q10 Pro on HiSilicon HI3798CV200 and NVIDIA Shield TV on NVIDIA Tegra X1. I should have already reviewed the HiMedia Q10 Pro, but there were problems with the delivery service, and the box is flying back to HiMedia. He will definitely return a little later. Well, today I will tell you about NVIDIA Shield TV. No, of course, I knew that NVIDIA Shield TV was a cool Android box, but for it to be so... This is in reality a diabolical barrel organ for a wide range of consumers (from “I don’t know anything at all and can’t do it, I just want to turn on the box and receive pleasure" to "what are you telling me about autoframe rate, uniformity, HD audio output and firmware, I know everything without you"). I even experienced professional deformation - now I don’t know how to pick up other boxes without making a face, but I’ll try. Any company that makes Android boxes should distribute NVIDIA Shield TV to all of its key employees so that they clearly understand which product they should look up to.

Specifications
ModelNVIDIA Shield TV (2017)
P2897
Kit without gamepad
Housing materialsPlastic
SoCNVIDIA Tegra X1
4 ARM Cortex-A57 cores + 4 ARM Cortex-A53 cores up to 2 GHz
GPU GeForce 6 ULP (GM204)
RAM3 GB DDR3
Inner memory16 GB (eMMC)
Expandable via USB stick
USB2 x USB 3.0
Memory card supportNo
Network interfacesWi-Fi 802.11a/b/g/n/ac, 2.4 GHz and 5 GHz, MIMO 2x2
Gigabit Ethernet (1000 Mbps)
BluetoothBluetooth v4.1
Video outputsHDMI 2.0b (up to 3840x2160@60 Hz, Rec. 2020, HDCP 2.2)
Audio outputsHDMI
Remote controllerBluetooth + IR
Microphone
Nutrition19 V / 2.1 A
OSAndroid TV 7.0
SHIELD Experience 6.2
Equipment and appearance
The NVIDIA Shield TV comes in a large, thick cardboard box.


Technical information is printed on the side.


Inside: set-top box, power supply with European (type C) and British (type G) nozzles, remote control, quick guide and reference Information, including in Russian. Modestly. There's not even an HDMI cable included.


The power supply is branded and quite large. Voltage 19 V, maximum current 2.1 A. Cable length about 180 cm. Proprietary connector.





The remote control is very compact and weighty. The front part is made of glossy plastic. Bottom part metal, cools your hand. Works via Bluetooth (for boxing) and IR (for receiver or TV). Powered by two CR2032 batteries. On the front there are: microphone, D-pad, back button, home button, Touchpad volume adjustment. At the top end there is an IR transmitter window.



The box itself is very compact. Dimensions 158 x 135 x 57 mm, weight approximately 250 g. Here is a size comparison with the popular Mini M8S Pro box.


The box body is made of plastic. Chopped shapes look very unusual. Some elements are matte, some are glossy. The glossy part is instantly covered with microscratches.






There is a green insert on top that glows softly when the box is working.


The bottom has a special anti-slip coating and ventilation holes. There are no legs.


Rear: ventilation holes, two USB port 3.0, HDMI port, Ethernet port and power connector.

Disassembly of the device and cooling system
Unscrew the two screws at the back and separate the parts of the case.


The active cooling system in the form of a radiator with a snail cooler is immediately visible.


An eMMC SanDisk SDIN9DW4-16G is installed on the reverse side of the board. According to the specifications, its linear speed is 300/45 MB/s (tests will demonstrate the corresponding speed).

We unscrew the radiator, the screws securing the board and turn it over.


All key elements are hidden under shielding covers. The antennas are located on the printed circuit board. Only the power controller and Realtek RTL8111GS Ethernet controller are not hidden. I did not remove the shielding covers.

Although the cooling system is active, it is practically inaudible in operation, even with maximum load. During all testing and use, no throttling was noticed. The maximum case temperature was around 45 °C.

Software
As operating system runs Android TV 7.0. The firmware itself with all the improvements from Nvidia is called SHIELD Experience. When first launched, the system offered to upgrade to SHIELD Experience 6.2. This is the latest firmware at the time of writing this review.

Let me briefly tell you what Android TV is...

Android TV is essentially the classic Android system with some adaptations. Moreover, starting with Android 7, the difference between Android and Android TV is even more blurred. On Android TV:

  • No navigation bar and status line.
  • The launcher (home screen) is rigidly fixed - Google Leanback.
  • The interface is adapted for TV screens and remote control.
  • Programs and Google services also adapted for TV screens and remote control.
  • Google Play Store for Android TV contains only those applications that are adapted for Android TV.
The system in Nvidia SHIELD TV is almost completely localized into Russian. Inaccuracies in translation or its absence occur in single copies. There are few third-party programs. These are mainly VOD services.

Launcher - Google Leanback. The interface is made in the form of tiles with horizontal scrolling in several sections: search, recommendations, applications, games, additional functional elements. Recommendations are customizable - in Settings you can specify which programs can add recommendations. Applications and games can be sorted automatically or manually. The screenshots show a system with third-party programs and games installed.




Leanback displays only those programs that have an adapted interface for Android TV. If you have installed regular programs for Android (programs with an interface for tablets/smartphones), then to see them, you just need to install a special program - it will be in the Leanback list, and when you open it, regular Android programs will be displayed. There are a sufficient number of programs of this type - choose the right one. They are available both on Google Play and in the form of open projects and apk. Paid and free. During the tests I used TV Apps Drawer.


Google Play Store made in the same style. It contains only programs that are adapted for Android TV. But many programs and games without an adapted interface work fine on Android TV. If you need to install a program that is not available in the Google Play Store for Android TV, then there are several options. If the program does not have any restrictions, and it simply does not have an Android TV interface, then open Google Play in a web browser on your computer under the same account, as on Shield TV. Select this program or game, click the “Install” button and indicate on which device (in this particular case SHIELD TV). Or you can search for this program or game on the box in your browser and open the found link in Google Play. It will open without any problems in the Google Play Store for Android TV, and you can install it. If the program states any restrictions, there is only the option of installing from an apk file.



The Settings panel is standard for Android 7.0 and appears on the right side of the screen.


The system runs Google Cast. At any time, from any device in supported programs, you can stream content directly to your TV (Shield TV). For example, you can open Google Play Movies on your smartphone and start playing it on Shield TV. You can control playback directly on your smartphone (however, the video itself does not play on the smartphone). If necessary, Google Play Movies on your smartphone can be closed, and playback will continue on the box.



Google Assistant is simply an amazing tool for the TV box, a natural language interface for interacting with the box. Press the microphone button on the remote and simply say what you want to know or do. The recognition quality is excellent. He perfectly understands both Russian and English (at the same time). But the Russian language (which is selected in Settings), of course, is a priority. With Google Assistant you can control additional accessories, smart home. Opportunities for interaction in Russian are still limited. Here are some examples of use.

Launch HD VideoBox. The HD VideoBox program starts.


The weather in Moscow. The weather is displayed.


Where does the Don River flow? Sea of ​​Azov.


inDud. A list of YouTube videos opens.


Paradise Lost. A list of Paradise Lost clips on YouTube opens.


Valerian and the City of a Thousand Planets. Opens full information by film, actors, etc. You can immediately go to, for example, HD VideoBox, if this film is there.


What's on at the cinema today? The current list of films in cinemas opens.


There is no root support in the system. But if necessary, you can easily install TWRP and add root support. Those interested can even install a regular clean Android 7 system on the box.

To enjoy Android system TV, you need to accept her ideology of remote control.

You will learn about all other features and settings of the system as the review progresses.

Remote control, gamepads, HDMI CEC
The standard Shield Remote works via Bluetooth (for communication with the box) and via IR (for working with equipment in certain cases). The remote has a touch panel to adjust the volume. The remote control is quite convenient.


After the first launch, the system immediately offered to update the remote control software.


Brief description of the remote control functions:


Long press the Back button - power menu (Sleep or Reboot).


You can completely turn off the box through the “About device” menu.


Double-clicking the Home button displays a list of previously running programs.


Long press the Home button - screen video recording menu, broadcast on Twitch, screenshot.


HDMI CEC support should work like this in an ideal situation:

  • A. Send the box to sleep using the Shield Remote, the TV/receiver turns off (goes into standby mode).
  • B. Wake up the box using the Shield Remote (any button), the TV/receiver turns on.
  • C. Using the Shield Remote, you can adjust the volume of the TV/receiver (if this option is enabled).
  • D. Turn on the TV/receiver using the standard TV/receiver remote control, Shield TV turns on.
  • F. Turn off the TV/receiver using the standard TV/receiver remote control, Shield TV turns off.
  • G. The TV remote control can control the box.
But this is all in an ideal situation. But in practice, support for different HDMI CEC functions varies from one TV model to another. I have not yet met a single Android box that would have perfect support for HDMI CEC with all TVs, even with different TV models of the same brand. It is because of this that the Shield Remote has additional IR support. Those. Interaction with the box is carried out via Bluetooth, and some functions via IR (if their HDMI CEC analogs do not work).

In Settings you can enable CEC support for power functions. There you can also enable IR support for a specific TV/receiver model and choose how the volume will be adjusted: on the box, on the TV/receiver using CEC, on the TV/receiver via IR.



The following functions worked on my main LG TV:
  • A. No. Only via IR. In this case, when the box is put to sleep, the remote control must be directed towards the TV.
  • B. Yes.
  • C. No. Only via IR.
  • D. Yes.
  • F. Yes.
  • G. Yes.
The remote control has three shortcomings. Essential is the range of the IR transmitter. At a distance of more than two meters from the TV, IR control worked only once. Less significant - the absence of a separate physical button power supply and not very convenient touch volume control (it would be better if these were standard mechanical buttons).

In my review, I have a version of the box without the included gamepad. A cheap Chinese gamepad (for $7) and a Xiaomi Mi Gamepad connected via Bluetooth and worked without problems. Of course, a cheap gamepad is only for testing. You wouldn't wish playing on it to your enemy. But my children and I simply adore the Xiaomi Mi Gamepad. It is one of those gamepads that you don’t want to let go of.

Performance
The console uses SoC NVIDIA Tegra X1 - 4 ARM Cortex-A57 cores and 4 ARM Cortex-A53 cores up to 2 GHz, GPU GeForce 6 ULP (GM204). This is a top box processor, and there are no other boxes on the market with a similar class SoC. The system and any programs work very quickly and smoothly. I will talk about the games separately in the next section of the review. You need to understand that the main thing in Android boxes is media functionality, i.e. VPU and implementation of its capabilities in software. This will also be discussed in separate sections of the review. But the processor and GPU must have enough power to make working with the device comfortable. NVIDIA Tegra X1 has power that covers comfortable work with a huge margin. And the power of the GPU is absolutely prohibitive.


NVIDIA Shield TV displays the interface at a maximum resolution of 1920x1080. Even if you select 3840x2160 resolution on the system, the interface and all programs will continue to run at 1920x1080 resolution and scaled to 3840x2160. As with many boxes, only SurfaceViews can output true 4K resolution. It is this output that is used in video players (and not only in them - programs for viewing photos can also use this output, even games in theory) to provide real 4K resolution for video. Those. in fact, it doesn’t matter at what resolution you run test programs and games - at 1920x1080 and 3840x2160 the result will be identical. But for the purity of the tests, I used a system resolution of 3840x2160.

CPU
GPU

NVIDIA Shield TV
3DMark Sling Shot Extreme4100
Bonsai4200 (60 fps)
GFXBenchmark T-Rex60 fps
GFXBenchmark T-Rex 1080p Offscreen121 fps
GFXBenchmark Manhattan 3.146 fps
GFXBenchmark Manhattan 3.1 1080p Offscreen47 fps
GFXBenchmark Car Chase29 fps
GFXBenchmark Car Chase 1080p Offscreen30 fps
The results speak for themselves. Even Car Chase provides an acceptable 30 fps.
Games
Games for NVIDIA Shield TV can be divided into three groups:
  • Games for Android (these are games from Google Play)
  • Stream games from PC via NVIDIA GameStream
  • Cloud game streaming via GeForce NOW
Games for Android

First I wanted to make a table with some games (like I did in my previous reviews). After trying about 10 games, I gave up on this idea. There isn't a single Android game that doesn't run perfectly on the Shield TV box. An excellent and huge selection of games can be viewed on the NVIDIA website (Library section). From there you can go straight to Google Play to download or purchase. All games support gamepad or remote control. As is usually the case, there are exclusives for Shield TV, for example: Metal Gear Solid 2/3, Half-Life 2, Portal, Doom 3, Never Alone, etc.

Stream games from PC via NVIDIA GameStream

In my reviews, I already told you about the amazing Moonlight Game Streaming program for Android, with which you can use the NVIDIA GameStream service on many Android boxes, i.e. play games that are installed on your PC with an Nvidia video card - stream them to the box. You don't need any third-party software for Shield TV. Everything is already in the system. The program is called NVIDIA Games. It combines the GeForce NOW service and NVIDIA GameStream, and local games installed on the box. Just connect to a PC on the local network, select any game on it and play. You can set the resolution and frame rate (up to 2160p60).




NVIDIA Shield TV really can. Neither Ethernet nor Wi-Fi (5 GHz, MIMO 2x2) makes any difference whether you're playing on a PC or a box. The response is instant, you can’t complain about the quality. I specifically checked the delay in the Moonlight program (it can show it). Over Ethernet the delay was only 2 ms (hardware decoder 1 ms). Those. it actually doesn't exist. For example, on boxes with AMLogic the delay is on average 60 ms - playable, but in some games there is a lag. With NVIDIA Shield TV there is no such feeling. There is only the feeling that you are playing while sitting at a PC.

Cloud game streaming via GeForce NOW

This is a cloud service from NVIDIA. The game is launched remotely on NVIDIA servers with cards GeForce GTX 1080 (servers are distributed in zones in different countries, you can manually select if necessary the best option). The selection of games is quite large. The subscription cost is 650 rubles per month. There are free and paid games. Play comfortably.







Internal and external storage

In a fresh system, about 10 GB of internal memory is available to the user. The linear read speed is at a level prohibitive for boxes, but the linear write speed is at the level of budget boxes - 252/27 MB/s.


A drive connected via USB 3.0 can act as a separate removable drive or can be combined into a single unit with the internal memory of the device. The need for an external drive, the choice of its role, the choice of drive type (USB flash drive, hard drive, SSD) depend on the scenario for using the box.

Checking supported file systems.

FAT32exFATNTFSHFS+
USBread/writeread/writeread/writeread/write
Everything is perfect with file system support.

I connected different drives. A 3.5" disk with a capacity of 2 TB worked without problems. Here is an example of the speed of a fast USB flash drive (it corresponds to the speed on a PC):

Network interfaces and network services
The Realtek RTL8111GS controller is responsible for the wired network. The wireless network is controlled by a controller (hidden under a metal screen) with support for 802.11a/b/g/n/ac, 2.4 GHz and 5 GHz, MIMO 2x2. The antennas are made on a printed circuit board.

The set-top box is located 5 meters from the Xiaomi Mi Roiter 3G router through one reinforced concrete wall - this is the place in which I test all Android boxes and mini-PCs. Record holder for this moment is Xiaomi Mi Box 3 Enhanced (802.11ac, MIMO 2x2) - 150 Mbit/s.

The tests were carried out using iperf 3. The iperf server was launched on a computer connected to a local network via Gigabit Ethernet. The R key is selected - the server transmits, the device receives.

The actual data transfer speed over the wired interface is at the level of 945 Mbit/s.


Wi-Fi speed when connected using the 802.11ac standard is 166 Mbps. And these are record values ​​for Android boxes.


During the entire testing period (I spent most of the time with a Wi-Fi connection), there were no disconnections or reconnections. IPTV (different providers), Torrent Stream Controller, VOD services, BDRip, BDRemux, UHD BDRip, UHD BDRemux from NAS played without problems. BDRip, BDRemux from torrents directly too. But UHD BDRip and UHD BDRemux from torrents directly and stably only over a wired network.

The system has a built-in Samba/CIFS client and server. Can be connected network storage(NAS) in Settings. At the same time, they are mounted in the /storage folder (i.e. fully at the level file system). The downside is that they are mounted read-only. It looks like a bug, because when this feature appeared in one of the updates, the description listed write access.


The server is also enabled in Settings. In this case, you get full access (read and write) to the internal and external storage (if connected).



General information about audio/video decoding and output
Each box has certain nuances when working with audio and video. The key to comfortable use of boxing lies in knowledge of these nuances and the correct selection of software for certain tasks(video player).

NVIDIA Shield TV does not have a license to decode (downmix) audio in AC3, DTS, etc. formats, therefore, the system does not have such decoders, neither in StageFright nor in MediaCodec. Such streams need to be decoded programmatically (using the video player) or sent in their original form to the receiver/TV (the video player must be able to do this).

In NVIDIA Shield TV, decoders in the StageFright and MediaCodec libraries are of equal quality. Both options support high-quality deinterlacing. Each field is converted into a separate frame, i.e., for example, a 25i stream at the input turns into a 50p stream at the output.

NVIDIA Shield TV supports the so-called “modern” autoframe rate, i.e. The system implements an API for switching scanning frequencies. The autoframe rate is controlled by the programs themselves. This means that you need to choose video players that support modern autoframe rates.

The Tegra X1 SoC does not support the VP9 profile 2 decoder. This means, for example, YouTube will not have HDR support.

The system does not have an HDR to SDR conversion function. This means that you will not be able to comfortably watch HDR content on a TV without HDR support.

ViMu Media Player . This lightweight player with convenient and simple interface Great for Shield TV. Especially in conjunction with HD VideoBox, Torrent Stream Controller (and similar P2P IPTV), IPTV managers with an external player. It is ideal for playing videos, up to BDRemux locally, from NAS and torrents directly through Ace Stream. It supports modern autoframe rate (enabled in settings). It has a software AC3 decoder. It has a convenient video scaling function (with individual settings for 4:3, 16:9, 2.35:1). It can pass AC3 and DTS to the receiver/TV for decoding (I have not tested HD formats with this player). At the time of writing the review, ViMu Media Player v6.50 had problems playing HEVC Main 10 content on Shield TV (no problems with HEVC).

Kodi 17+. This is a very powerful media harvester and cataloger. But in this particular case, we are only interested in its player, which is very advanced both in implementation and in detailed audio and video settings. It has all the latest software audio decoders (downmix). On NVIDIA Shield TV, it can directly output all current audio formats (including DTS:X, Dolby Atmos, PCM 2.0 24/192). It supports modern autoframe rates. It is ideal for playing videos up to UHD BDRemux (4K with HDR), locally, from NAS and torrents directly through Ace Stream.

Sound format support and audio output
Sound output is via HDMI, USB DAC or Bluetooth. Let's see how things are in reality with audio output via HDMI. An Onkyo receiver was used for the test.

HDMI output

Everything is perfect with multi-channel audio and Hi-Res output.

Video format support and video output
NVIDIA Shield TV has HDMI 2.0b output. Supports resolutions up to 3840x2160 60Hz with HDR (Rec. 2020). You can select the HDMI color space. The interface is displayed with a maximum resolution of 1920x1080. Even if you select 3840x2160 resolution on the system, the interface and all programs will continue to run at 1920x1080 resolution and scaled to 3840x2160. As with many boxes, only SurfaceView objects can output true 4K resolution with HDR support, and they are used in many players.


I tested it on regular consumer stuff (it was online on a NAS) using ViMu and Kodi.

The set-top box can handle decoding H.264 up to 2160p60. 60 frames are fair. Any BDRip, BDRemux and videos from action cameras (2160p60) are played without problems. The set-top box can handle decoding H.265 Main 10 (10 bit) up to 2160p60. 60 frames are fair. Any UHD WEBRip, UHD BDRip, UHD BDRemux with HDR can be played without problems in Kodi. Some strange things arose with ViMu v6.50. The player refused to play both 1080p and 2160p HEVC Main 10 (there were no problems with HEVC). This is some kind of bug in the program. In any case, this is not so critical, because... for “heavy” content UHD BDRip, UHD BDRemux is better suited to Kodi. There were no problems with switching audio tracks or rewinding either. I have no complaints about the video quality and HDR visually.

There was a problem with only one test file, LG 4K Demo: View the Feeling (HEVC 2160p29.97). The uniformity was disrupted.

The system does not have its own specialized player; BD ISOs are played in Kodi without menu support.

Interlaced video is played with correct deinterlacing. Each field turns into a separate frame.

Autoframerate

Autoframe works great. All scan frequencies are supported: 23.976, 24, 25, 29.97, 30, 50, 59.94, 60 Hz. In ViMu, switching occurs with full compliance. In Kodi, the refresh rate is doubled for 25, 29.97, 30 fps. But this is the standard autoframe mode for Kodi, in configuration file this can be changed.

In all modes, the uniformity was perfect. It couldn't get any better. Here are shots of the test material in ViMu (they are identical for Kodi): 24p (running square) at 24 Hz, 24p (arrow) at 24 Hz, 25p at 25 Hz, 30p at 30 Hz, 50p at 50 Hz, 60p at 60 Hz.







There are also no problems with the 23.976 Hz mode; I did not visually see duplicate frames for 2 minutes in a video with fast panning. And in a series of pictures with a shutter speed of 1 second. nothing suspicious was revealed either.

There is no 3D support. MVC MKV is rendered in 2D. BD3D ISO in Kodi 17.6 is only displayed in 2D.

DRM and legal VOD services
The system has support for Google Widevine DRM Level 1 and HDCP 2.2.


Moreover, the NVIDIA Shield TV box is certified for use with key VOD services - Netflix and Amazon Prime Video. Clients are pre-installed in the system and have full support for 4K, HDR and multi-channel audio output (for relevant content).

VOD services and playing videos from torrents directly
One of the most popular programs for Android boxes in Russia is HD VideoBox. This is an aggregator of illegal online cinemas and a convenient torrent search engine with thoughtful navigation, search and management. Works great in conjunction with ViMu. Naturally, auto-framing works.




But its most important function is searching through torrent trackers. Considering that the Ace Stream program (which can download torrents on the fly and send the stream to the video player) just recently learned to cache torrents in RAM.

The HD VideoBox + Ace Stream + ViMu combination works flawlessly on NVIDIA Shield TV up to BDRemux with any size (at least 40 GB). It is not used inner memory or external media for caching, RAM only. A couple of clicks in HD VideoBox, just select the desired torrent and watch the video with amazing quality, auto-framing and multi-channel audio. Switching audio tracks and rewinding work very quickly.


With UHD BDRip and UHD BDRemux it’s a little more complicated, because... additional conditions apply. You need high bandwidth of your Internet channel. You need a lot of seeders that will ensure high torrent download speed. The Shield TV's 3 GB of RAM is no longer sufficient for caching and needs to be used external storage and quite fast (fast HDD or SSD). If these conditions are met, then HD VideoBox + Ace Stream + Kodi will do all the work for you on NVIDIA Shield TV. UHD BDRemux (4K with HDR) plays perfectly with HD audio output without pre-loading. Autoframe works correctly audio tracks switch, rewind works (but takes a long time with buffering). The future is already here. Even if it is not entirely legal, the fact is that the NVIDIA Shield TV box is ready for this.

IPTV
IPTV from EDEM, OTTClub, local provider worked perfectly. There were no problems with any channel. Perfect Player (one of the best programs for IPTV) with an HW+ decoder switched channels in a split second. A modified version(which switches the scan frequency to 50 Hz during operation) displayed video with perfect uniformity for 99% of the channels (there are 25p, 50p, 25i streams).


Torrent Stream Controller + ViMu is also fine. All channels (most of which are direct streams from satellite without compression) came with correct deinterlacing and auto-frame rate.

YouTube
The YouTube client for Android TV (2.02.08) plays videos up to 2160p60 without any problems. Only HDR support is not available (Tegra X1 does not support the VP9 profile 2 decoder, which is needed for YouTube). I tested the options with all the frame rates that are used on YouTube (uploading test videos there). In all cases, the correct conversion was used (since YouTube does not support the autoframe rate for Android TV, the output was carried out at 60 Hz), there were no frame drops. 24p - 2:3 pulldown, 25p - 2:3:2:3:2 pulldown, 30p - frame duplication, 50p - 1:1:1:1:2 pulldown.






Conclusion
NVIDIA Shield TV is a very functional and high-quality Android box straight out of the box from an A-brand. Its capabilities are the limit of what modern Android boxes can do. Of course, a device of this level simply cannot be cheap. And NVIDIA Shield TV is more expensive than most boxes on the market. I will list the main pros and cons of the device.

PROS

  • Very high performance.
  • Stability of operation (during the entire testing period there was not a single system failure).
  • High-quality and fast Wi-Fi (MIMO 2x2 support).
  • Support for “modern” (via the system API) autoframe rate for the entire spectrum of scanning frequencies, including fractional frequencies.
  • HD audio output (including DTS:X and Dolby Atmos) in Kodi 17+ (and more).
  • Hi-Res stereo output in 24/192 format.
  • Technological remote control and thoughtful volume control modes.
  • Ideal support for streaming GameStream games from your local PC and GeForce NOW.
  • Maximum support for legal VOD services.
  • The ability to play torrents directly, up to UHD BDRemux, with rewinding.
  • Built-in Samba/CIFS client (with file system level mounting) and server.
  • YouTube works up to 2160p60 (VP9)
  • Android TV 7.0 with Google Assistant and further updates from the A-brand.
MINUSES
  • There is no HDR support in YouTube (VP9 profile 2).
  • There is no support for 3D output (meaning Frame Packing output) and MVC (only 2D is played).
  • There is no separate power button on the remote, and the IR transmitter is low power.
  • High price.
NVIDIA Shield TV set-top box for review provided by the editors iXBT and company NVIDIA. Until December 25, NVIDIA has a pre-New Year discount, and the price for a set without a gamepad (as in the review) is 12,390 rubles. After December 25, the price will already be 13,490 rubles. If you wish, you can choose a kit with the NVIDIA Shield Controller gamepad or purchase it separately.

One of the key advantages of the Arduino platform is its popularity. The popular platform is actively supported by manufacturers electronic devices, producing special versions of various boards that expand the basic functionality of the controller. Such boards, quite logically called expansion boards (another name: arduino shield, shield), are used to perform a wide variety of tasks and can significantly simplify the life of an arduino operator. In this article, we will learn what an Arduino expansion board is and how it can be used to work with a variety of Arduino devices: motors (motor driver shields), LCD screens (LCD shields), SD cards (data logger), sensors (sensor shield ) and many others.

Let's first understand the terms. An Arduino expansion board is a complete device designed to perform certain functions and is connected to the main controller using standard connectors. Another popular name for the expansion board is the English-language Arduino shield or simply shield. All the necessary electronic components are installed on the expansion board, and interaction with the microcontroller and other elements of the main board occurs through standard Arduino pins. Most often, power to the shield is also supplied from the main arduino board, although in many cases it is possible to power it from other sources. In any shield there are several free pins that you can use at your discretion by connecting any other components to them.

The English word Shield is translated as shield, screen, screen. In our context, it should be understood as something that covers the controller board, creating an additional layer of the device, a screen behind which various elements are hidden.

Why do we need arduino shields?

Everything is very simple: 1) so that we save time, and 2) someone can make money from this. Why waste time designing, placing, soldering and debugging something that you can take already assembled and start using right away? Well-designed expansion cards assembled on high-quality equipment are usually more reliable and take up less space in the final device. This does not mean that you need to completely abandon self-assembly and you do not need to understand the principle of operation of certain elements. After all, a real engineer always tries to understand how what he uses works. But we will be able to make more complex devices if we do not reinvent the wheel every time, but focus our attention on what few people have solved before.

Naturally, you have to pay for opportunities. Almost always, the cost of the final shield will be higher than the price of individual components; you can always make a similar option cheaper. But here it’s up to you to decide how critical the time or money spent is for you. Taking into account all possible assistance from Chinese industry, the cost of boards is constantly decreasing, so most often the choice is made in favor of using ready-made devices.

The most popular examples of shields are expansion boards for working with sensors, motors, LCD screens, SD cards, network and GPS shields, shields with built-in relays for connecting to the load.

Connecting Arduino Shields

To connect the shield, you just need to carefully “put” it on the main board. Typically, the contacts of the comb type shield (male) are easily inserted into the connectors of the Arduino board. In some cases, it is necessary to carefully adjust the pins if the board itself is not properly soldered. The main thing here is to act carefully and not use excessive force.

As a rule, a shield is intended for a very specific version of the controller, although, for example, many shields for Arduino Uno work quite well with Arduino Mega boards. The pinout on the mega is made in such a way that the first 14 digital pins and the pins on the opposite side of the board coincide with the pinout on the UNO, so an Arduino shield can easily be inserted into it.

Arduino Shield Programming

Programming a circuit with an expansion board is no different from regular Arduino programming, because from the point of view of the controller, we simply connected our devices to its regular pins. In the sketch you need to indicate those pins that are connected in the shield to the corresponding contacts on the board. As a rule, the manufacturer indicates the correspondence of the pins on the shield itself or in a separate connection instruction. If you download the sketches recommended by the board manufacturer itself, then you won’t even need to do this.

Reading or writing shield signals is also done in the usual way: using the functions , and other commands familiar to any Arduino user. In some cases, collisions are possible when you are accustomed to a particular connection scheme, and the manufacturer has chosen a different one (for example, you pulled the button to the ground, and on the shield to the power supply). Here you just need to be careful.

As a rule, this expansion board comes in Arduino kits and therefore it is with it that Arduino engineers encounter it most often. The shield is quite simple - its main task is to provide more convenient options for connecting to the Arduino board. This is done through additional power and ground connectors located on the board to each of the analog and digital pins. Also on the board you can find connectors for connecting external source power (you need to install jumpers to switch), LED and reset button. Shield options and examples of use can be found in the illustrations.




There are several versions of the touch expansion board. They all differ in the number and type of connectors. The most popular versions today are Sensor Shield v4 and v5.

This Arduino shield is very important in robotic projects, because... allows you to connect regular and servo motors to the Arduino board at once. The main task of the shield is to provide control of devices that consume a current that is high enough for a regular Arduino board. Additional features The board has the function of controlling motor power (using PWM) and changing the direction of rotation. There are many types of motor shield boards. Common to all of them is the presence in the circuit of a powerful transistor through which an external load is connected, heat-sinking elements (usually a radiator), a circuit for connecting external power, connectors for connecting motors and a pin for connecting to the Arduino.



Organizing work with the network is one of the most important tasks in modern projects. A corresponding expansion card is available for connecting to a local network via Ethernet.




Expansion boards for prototyping

These boards are quite simple - they have contact pads for mounting elements, a reset button, and the ability to connect external power. The purpose of these shields is to increase the compactness of the device when everything necessary components located immediately above the main board.





Arduino LCD shield and tft shield

This type of shield is used to work with LCD screens in Arduino. As you know, connecting even the simplest 2-line text screen is far from a trivial task: you need to correctly connect 6 screen contacts at once, not counting the power supply. Much easier to insert ready module into the Arduino board and simply upload the corresponding sketch. In the popular LCD Keypad Shield, from 4 to 8 buttons are immediately installed on the board, which allows you to immediately organize an external interface for the user of the device. TFT Shield also helps



Arduino Data Logger Shield

Another task that is quite difficult to implement independently in your products is saving data received from sensors with a time reference. The finished shield allows you not only to save data and get time from the built-in clock, but also to connect sensors in a convenient form by soldering or on a circuit board.




Brief summary

In this article, we have looked at only a small part of the huge range of various devices that expand the functionality of Arduino. Expansion cards allow you to focus on the most important thing - the logic of your program. The creators of the shields have provided for correct and reliable installation and the necessary power supply. All that remains for you is to find the required board using the treasured English word shield, connect it to the Arduino and upload the sketch. Typically, any shield programming consists of performing simple actions to rename the internal variables of a ready-made program. As a result, we get ease of use and connection, as well as speed of assembly of finished devices or prototypes.

The disadvantage of using expansion cards is their cost and possible loss of efficiency due to the universality of shields, which lies in their nature. For your narrow task or end device, all shield functions may not be needed. In this case, you should use the shield only at the stage of prototyping and testing, and when creating the final version of your device, think about replacing it with a design with your own circuit and type of layout. It's up to you to decide, you have all the opportunities to make the right choice.

Arduino is a tiny board with big capabilities, a typical representative of Open Hardware and one of the first devices to gain wide popularity among hardware hackers. No wonder: a convenient electronic designer allows even beginners to quickly figure it out and start developing their own devices from scratch.

How to get started quickly?

To get started quickly, the easiest way for a beginner is to buy a ready-made board - it costs about $30. There will be only two chips on the board - microcontroller ATMEL and the USB interface chip to which it is connected. All other elements are added independently as needed.

Programs for Arduino (called “sketches” in slang) are written in the Wiring language. Essentially, this is ordinary C++, extended with special procedures such as “digitalWrite” (write a value to a port) or “analogRead” (read a value from an ADC). You can master all this in one or two sittings, especially if you already have experience programming in C++. The written sketches are compiled and loaded into Arduino via USB using the ArduinoIDE environment (arduino.cc/en/Main/Software). It takes about thirty minutes to assemble a simple project, without the need for a deep dive into ATMEL datasheets and assembler designs. The language is intuitive, and a good online help will help you understand the nuances. And, by the way, soldering is also not necessary if you have a solderless breadboard and a set of wiring.

All microcontroller pins are routed to two neat rows of terminals, to which you can connect sensors, buttons, displays, and the like. However, the more complex the harness, the more hemorrhoids it can cause. If we are talking about a couple of LEDs and buttons, then there are no difficulties. But if you need to control motors or exchange data via a radio interface, a number of difficulties arise. To combat this vice, they came up with shield boards - ready-made boards for expanding functionality.

What is a Shield board?

The Shield board is a ready-made solution for implementing common tasks faced by hardware developers. Examples of such tasks include data transmission via a radio interface, working with Ethernet, and controlling electronic motors. The expansion boards are easily installed on the Arduino, mating with the pin blocks and forming a very rigid sandwich-shaped structure.

You can install several boards at the same time, the main thing is that the devices do not conflict over the same Arduino pins. With a little digging on the web, you can find tables with a list of popular shields and the pins they occupy (shieldlist.org).

Then all that remains is to attach the appropriate library to the main sketch and test the operation of the circuit using the example sketch included with the library. With this approach, time is saved twice: first on the development and debugging of the hardware, and then on the software. However, there are only a couple of dozen truly successful and popular shield boards. What is the difference between a good shield and a bad one?

First of all, it must have a reset button. Anyone who has debugged an Arduino with the shield on can appreciate this - the standard reset button becomes inaccessible and the exercise of pressing it using oblong objects at hand is quite annoying. A good shield should also be compatible with Arduino Mega - if you have an extended version of Arduino on ATmega1280 or ATmega2560, it is not a fact that a shield created for the usual Uno or Duemilanova will work with it. And all because in Mega the pins responsible for the hardware SPI were moved to another place! So if the shield communicates with the Arduino via the SPI bus, be sure to examine its “belly” - you can hope for compatibility with Mega if you see not only pins there, but also a black square 2x3 female connector. Below I have prepared a review of the best ready-made Shield boards for solving common problems.

Motor control

If you need to control motors, feel free to use the Motorshield shield, created by the talented American engineer Limor Freed aka ladyada (ladyada.net/make/mshield/).

The main advantage of the shield is its versatility, as it supports up to four direct current motors, up to two stepper motors and two servos. Can be combined: for example, one stepper and two motors direct current. The basis of the shield is provided by two L293D quad H-bridge chips, capable of delivering a current of up to 600 mA per channel and operating with voltages from 4.5 to 36 V. By paralleling the inputs of one chip, you can push the current limit to 1.2 A.

Using this shield, you can, for example, simultaneously control the motors and steering rod of a racing car model, or the stepper motors of a coordinate table. For more powerful loads, you can use Ardumoto with an L298 chip from Sparkfun (two channels with load currents up to 2 A) or its more advanced version Monster Moto Shield (sparkfun.com/products/10182) on two VNH2SP30 chips, capable of delivering up to 30 And with a maximum voltage of 41 V. If it comes to last option, don’t forget to consult with knowledgeable specialists: after all, the loads are quite decent, you may have to get an additional radiator so as not to get burned.

Working with Ethernet

There are two main shield options for working with Ethernet - based on the good old ENC28J60 chip from Microchip and the more advanced W5100 from Wiznet. Both solutions use the SPI bus for communication, taking only four Arduino pins. But the ENC28J60 appeared much earlier and is clearly inferior to the advanced W5100: only 10 Mbit/s, no hardware support for IP, UDP, TCP. In addition, the W5100 supports four sockets (which means it supports up to four simultaneous connections).

In general, I strongly recommend using the W5100, because it significantly saves a key resource of the microcontroller - RAM(SRAM), which has to be saved (Atmega328 has only one kilobyte). Well, all the other advantages of preprocessing are obvious: while the W5100 itself asks the packets for TCP protocol and calculates header checksums, Atmega can calmly deal with more important things.

Another exemplary example is the Arduino Ethernet Shield (arduino.cc/en/Main/ArduinoEthernetShield) from the Arduino team. With it, you can create a sketch that will be able to:

  • obtain a dynamic IP address via DHCP;
  • set the time using the NTP protocol;
  • resolve names via DNS;
  • pass authorization via RADIUS;
  • perform the functions of a simple Web server or act as a Web client, generating requests and parsing responses.

Among similar boards, we can note the development of Freetronics - EthernetShield with PoE (freetronics.com/products/ethernet-shieldwithpoe). The idea of ​​powering an Ethernet device from the same Ethernet line to which it is connected was born in 2001, and two years later became the official industry standard IEEE 802.3af. From my own experience, I note that there is nothing more convenient for powering autonomous boxes that communicate via Ethernet and are scattered throughout the building within a radius of 100 meters from a special power switch. This shield costs a little more, requires the purchase of an additional PoE module microcard, and has a layout field instead of an SD connector.

The use of such a shield is exclusively in fixed structures that require interaction via a TCP/IP network. For example, displaying the status of connected sensors in the browser or remote control of some mechanisms.

I immediately remember the “Twitter flower” project, in which an Arduino+Ethernet combination, using a humidity sensor stuck into the ground via Twitter, complained about dryness and demanded immediate watering. With all the variety of applications of EthernetShield, I want to warn you that each library, of course, saves time, however, it also takes up several kilobytes of the microcontroller’s flash memory. Therefore, if sooner or later you hit the 30 KB size limit of your Arduino Duemilanova, think about replacing it with a Mega 2560; there will be eight and a half times more memory for sketches.

Using SD cards

In projects related to the accumulation of any information (for example, GPS coordinates), it is often necessary to increase the amount of available non-volatile memory. The easiest way to do this is to connect a standard SD card. There are several ready-made shields for this. The nicest option I know is the microSD module, developed by the Spanish company Libellium, specializing in environmental monitoring (goo.gl/iHCy4).

The shield takes up only one Arduino pin block and allows you to work with SD and SDHC cards pre-formatted in FAT16 (preferred) or FAT32. You can only work with one file at a time; long names are not supported.

Wireless shields

The simplest amplitude modulation (ASK) RF modules operating in the unlicensed 433 and 313 MHz range, although they can be used with Arduino via the VirtualWire library, still seem like a pretty bad option to me.

They are too susceptible to interference, operate stably only at low speeds, and do not have hardware separation into channels - several simultaneously operating transmitters will interfere with each other. Maybe that’s why I haven’t seen shield boards for them yet.

The polar opposite is the Xbee family of boards, based on Zigbee protocols, ideal for organizing distributed, self-powered sensor networks. Each such board is itself a device with a microcontroller on board, and very little is required from the shield - to ensure coordination with Arduino. Such shields are usually called “Xbee Shield”, but not always - for example, Libellium developed Communication Shield (goo.gl/OZDxl). The shield necessarily contains two rows of blocks to which the module in Xbee format is docked.

The only drawback, perhaps, is the price of the Xbee module itself. In return, we get a speed of up to 250 Kbps, a line-of-sight range of up to 90 meters (the Xbee PRO modification can reach up to 1.2 km), encryption, economical power consumption and the ability to relay data (two modules transparently communicate with each other through a third).

It has long been noted that if a company talks about wireless network, for some reason the first thing people think about is WiFi, much less often - about Bluetooth. Examples include WiFly Shield from SparkFun (sparkfun.com/products/9954) and Bluetooth module from Libellium (cooking-hacks.com/index.php/arduinobluetoothmodule-89.html). The latter is made in the Xbee format and will work with any transition shield for Xbee, and the software setup from Arduino resembles a dialogue with a modem - through the serial port and AT commands. By the way, at one time it was released original board Arduino BT (arduino.cc/en/Main/ArduinoBoardBluetooth), which did not have a USB interface, but was programmed and connected to the computer via Bluetooth. It did not become widespread - perhaps due to the increase in price.

To exchange data via GSM, you usually use a mobile phone that can operate on serial port at TTL levels.
But now there are fewer and fewer of them - they are being replaced by USB, to work with which you need to be a host (and not a device, which is Arduino). But, fortunately, manufacturers have been churning out complete GSM modules for a long time, to which you just need to screw external antenna and SIM card connector. You don’t have to look far for an example - GPRS Quadband module for Arduino from Libellium (goo.gl/KueFH), which is based on a GPRS modem from SAGEM.
The peculiarity of this particular model is that the GRPS module is removable, and you can transfer not only data - there is an output to an external speakerphone.

Various shields

To summarize, we can say with confidence that solutions to almost all typical problems have long existed in the form of shields. But don't think that it all ends there. Here are some examples: Radiation Sensor Board from Libellium (Geiger counter).

Do-it-yourself shield

As an example, let's create our own LCD shield. The connection diagram for the popular alphanumeric LCD display 1602 on the HD44780 controller is available in two options - an eight-bit bus or a four-bit one. It's time to discover the Arduino shield building strategy: you can never have too many pins! We try to use them to a minimum and therefore choose a four-bit circuit (luckily for us, support for such a circuit is included in the ArduinoIDE distribution, in the form of the LiquidCrystal library).

To build our shield, we use a special blank - a protoshield, which is a breadboard with a few subtleties. Its most important value is the correctly placed pin holes for perfect docking with the Arduino. It just so happens that all the pin pads are located on a grid with a pitch of 2.54 mm, except for one (if not for this annoying fact, it would be possible to take any piece of a “holey breadboard” and solder PLS mating plugs into it). This was done on purpose so that the recipient would not absent-mindedly insert the shield the other way around and burn the future masterpiece in the bud.
Please note that the circuit includes a variable resistor to adjust the contrast. It is important! If you forget about this, if the diagram and sketch are otherwise correct, nothing will be visible. Any 10-20 kOhm will do, and specifically on this protoshield it is already provided - although it is connected to the analog0 input, so you will have to solder extra wiring.

Let's take a piece of the PLS pin comb and solder it first to the display contacts, and then to the shield. After this, you need to take the mounting wire and carefully, one by one, strip and solder the wiring from the display to the Arduino pins according to the diagram - fortunately, it is not complicated. I intuitively managed to hide most of it under the display.

Let's put the result on the Arduino and download the first test sketch from the LiquidCrystal catalog. Is there nothing on the screen? Or a bunch of black squares? No problem, it’s time to tighten up the variable resistor - I’m sure something will appear! In this case, you can breathe a sigh of relief - now you have the first shield of your own making. Well, since it’s already working, you can Russify it at the same time. At one time, I changed the standard library so that Cyrillic characters were correctly translated from UTF-8 to the display’s character generator. Search latest version libraries at github.com/mk90.

If you have become the proud owner of an Arduino, you have probably heard about expansion boards - the so-called Arduino shields, with which you can very quickly expand functionality your Arduino.

As a rule, most shields are made for a specific board form factor. In most cases, these are Arduino Uno microcontrollers. The idea behind shields is that you buy a separate module that sits on top of your microcontroller. You can use several shields at the same time by placing them one on top of the other. As a result, you get a multifunctional Arduino “pie”.

Official shield from the creators of Arduino. - This is an excellent option to ensure that your project is independent from your personal computer, as it makes it possible to connect the Arduino to the Internet. Interesting feature of this shield - the presence on it of a slot for MicroSD cards. So if your project processes a large amount of information, for example - mp3 files or videos; or you need to store large amounts of data for projects such as, for example, an LED cube, you can store the data on an SD card.

You can provide web server hosting using an Ethernet shield.

Before you rush to buy an Ethernet Shield, I warn you from personal experience: Ethernet shields are version dependent. At first I bought a shield v3, but it turned out that it does not fit my Arduino Uno v2, since two pins were added to the v3 version of the board. By the way, Ethernet Shield costs more than the Arduino controller itself, so I had to buy a new Arduino, and old version leave for other projects.

So check the version of your board and the Ethernet shield you are going to buy.

Relays are the basis of many devices for home (and only home) automation. Relays are used in Arduino projects that require connections electrical circuits with great nutrition. If you have ever connected a relay, you know that additional wiring is required for its operation: a transistor, diode, etc. If you need several relays for a project, then the circuit board (bredboard) will very quickly become overgrown with a bunch of conductors and contacts, which will be very difficult to understand.

4 Relay Shield (shield for 4 relays) provides you with all the necessary contacts to connect 4 peripheral devices. Each relay makes it possible to connect equipment that operates with a current strength of up to 3 amperes. Of course, shield relays can also be used for low-power electrical circuits. In this format they are often used to replace switches.

Warning: Be careful with the relay shield contacts. If they are accidentally shorted or an external load is connected incorrectly, you may damage your Arduino.


Protoshield does nothing by itself. That's why it's so flat ;). A very useful shield. Once you've created your prototype using a circuit board and a bunch of wires, it's worth thinking about how presentable it is and how it's usable. At this point, a protoshield will come in handy. You assemble the entire circuit on it and sit it on top of your Arduino like any other shield. That is, this is a great option for creating your own shield!


LCD Shield

Why do you need LCD Shield? It's simple: output information from Arduino not to a personal computer using a serial monitor, but directly to a peripheral screen! This is really cool! But! When using external shields, you usually need 7 or more pins from the Arduino. This greatly limits the possibilities for further connection of peripheral devices. This LCD shield uses the I2C data transfer protocol, that is, only 2 pins are used to connect it! In addition, in parallel to the same contacts, you can connect other equipment operating using the same data transfer protocol.

In addition to the screen, the LCD shield has 4 “control” buttons and a “select” button. Thanks to this, you have an additional interactive interface and direct connection to a PC when working with a shield can be avoided. If the monochrome display does not impress you, you can easily upgrade the shield by installing a 1.8 inch TFT 18-bit color screen.

At this stage you should understand that not all shields are 100% compatible with each other. Some of them need to be installed on top of your Arduino "pie". The LCD shield belongs to these shields.


Energy shield expands your options in terms of powering your Arduino projects. The shield allows you to connect various power sources and ensure their operation with Arduino. One of the most striking areas of application is providing recharging mobile phones and gadgets.


Provides the ability to control multiple motors using Arduino. All the necessary regulators, switches, and fuses are installed on the shield. In general, the motor shield has everything to ensure easy control of motors and to protect them.


In many projects, it is necessary to process large amounts of information, for storing which the built-in memory of the Arduino is not enough. This is where you may need SD Card Shield. It is compatible with SD, SDHC and MicroSD memory cards. The Sd Card shield uses a simple SPI interface to connect and transfer data.


This shield provides you with truly enormous opportunities, allowing you to configure data transfer from Arduino using WiFi technologies. I am sure you will find a worthy use for it. Starting from remote control your drives in robotic projects and ending with the transfer of data from sensors and sensors about the state of an object in real time. The WiFi shield is connected to the serial port.


GPRS Shield gives Arduino the ability to use the GSM/GPRS networks that are used for mobile phones. As a result, you can make and receive calls and text messages! As a rule, GPRS shields are equipped with antennas.


E-Ink shield is a very interesting development that uses electronic ink technology (the same technology is used in e-books). The main advantage of the E-Ink shield is that you get a display that requires minimal energy to power and provides an excellent format for displaying and reading text. Such shields can display text even without using external power!


Music Shield gives you the ability to play music in excellent quality via Arduino. The Shield supports a wide range of music formats for playback. Naturally, the Music Shield has a slot for an SD card. So you can easily load your media library without using an additional SD shield.


Leave your comments, questions and share your personal experiences below. New ideas and projects are often born in discussions!

Shield is an add-on board. I propose dividing shields into full-size and separate modules. Full-size ones repeat the shape of the Arduino board, be it UNO, Nano or MEGA. Individual modules are free-form boards designed to perform a specific set of functions. Both of them can be both universal and for performing narrowly focused tasks.

In stores you can find a great variety of shields, and with certain qualifications, you yourself can lay out a printed circuit board that replicates the Arduino in shape and location of pins and assemble your own unique one. The picture shows it with a set of shields.

Let's start with the shield, which does not carry any special functions, but was created for ease of installation of your projects. So, the first one in our review will make it easier to install projects with Arduino board Nano, though the small size of the “NANO” is of no use in this case.

The board contains a connector for connecting a plug from the power supply, a voltage stabilizer, as well as terminal blocks. They are signed and correspond to the conclusions of Nanka. In addition, there is a “reset” button and a “Power” LED.

The second shield is for the Uno board. It contains a solderless breadboard for assembling the project and pins that duplicate those on the Arduino itself - a convenient solution.

Any analog sensor needs power and a negative contact; when there are many of them, there are so many jumpers that it will be very difficult to understand the circuit. Therefore, designers came up with shields for such solutions. All inputs and outputs are displayed in them, and the power contacts are duplicated and placed nearby.

Here is an example of such a board for Arduino Mega version.

Wired and wireless connection

Using these boards, you can organize control of the microcontroller over a network via an Ethernet cable, for example, or wirelessly via a GSM connection by inserting a SIM card.

This board is called w5100 - it contains an Ethernet module and an SD card reader module. This means that you can store data, for example, a log of sensor measurements on a memory card and control the system via a web interface. To connect Arduino with it, use the following libraries:

    Ethernet library;

Pay attention, outwardly it repeats the concept Arduino UNO R3, in addition, it will fit on Mega.

If the W5100 seems too large to you, then the ENC28J60 will take up less space. Unfortunately, it no longer has an SD module.

The downside is that it cannot be mounted on a board, but is made as a separate module.

W5500 is another Ethernet shield option. At its core, it is a modified version of the W5100, optimized in terms of speed and energy efficiency.

Please note that on full-size shields all pins are duplicated by the terminal block. Unfortunately, shields use ports. This particular one uses MOSI, MISO, SCK, and pin 10 for the CS (communication destination selection) signal.

If you need wireless communication, your choice is Wi-Fi shields, if you have the Internet and a router, and if you don’t have this, GSM modules or GPRS Shields.

The photo shows the official shield. It has a slot for a Micro SD memory card, and it communicates with the microcontroller via SPI protocols; you can update it via Mini-USB software. Supports 802.11b/g.

You can see the GPRS shield from Amperka above. You can replace the antenna with a more powerful one. Closer to the viewer the slot for the SIM card is visible, a little further there is a slot for the CR1225 battery. The battery on the board is needed to run the real time clock, and this is an important addition to the capabilities of the GPRS shield. You can send SMS to and from it.

Using this board, you can control and give commands (or any other project of your implementation) from any distance. It is important that you are within cellular reception range.

How to store data on Arduino?

In projects, not all information fits into the microcontroller memory. Sometimes it is necessary to store certain amounts of information. The first thing that comes to mind, as has already been said, is recording information from sensors in order to further study how the environment changes over the course of hours, days, years. A great example is a home weather station. This is useful not only for research scientists, but also for amateurs for general education and development.

This is more likely not a shield, but a module. It is miniature and easy to repeat; by the way, here is its diagram.

There is also a full-size data storage shield. Works with SD memory cards, there is a real-time clock module on board, which is powered by a 3 V CR1220 battery, which is a good bonus.

We control a powerful load from a microcontroller

The first thing that might come to mind is a relay. With their help, you can switch both DC circuits and a 220-volt household power supply, they can cope with a bang.

Specifically, the module shown below can switch 1 kW 220 V load (or 5A) for each channel; to increase power, you can either parallelize several channels or turn on this relay. In this case, the relays from the shield will play the role of intermediate amplifiers.

Of course, you can switch the relay as I described in the article, through a transistor and you need to select a relay according to the current, but using a ready-made board will be more reliable, more convenient and looks better.

The relay has one drawback - a limited number of operations - this is a consequence of contact burnout. This happens due to the occurrence of an arc when a powerful load is opened (especially of an inductive nature - a motor, etc.). You can make such a shield according to the following scheme:

And here's what it looks like assembled:

To turn on an AC load, you can use thyristors and triacs. One problem is that they cannot be connected directly to the Arduino; if the pn junction of the control electrode breaks down, 220 V can end up on the microcontroller board and burn it out. The way out of this situation is to use an optosimistor.

Since this task often faces inventors, a ready-made solution was developed - a triac shield, its full name is ICStation 8 Channel EL Escudo Dos Shield for Arduino. It was originally intended to control the glow of “flexible neon”.

It has 8 channels to which the AC mains and load are connected.

Engine shields

Controlling an electric motor is not always an easy process. In some situations, you may not have enough pins to implement the task, or the control algorithm is quite complex. With such boards you will complete your robot project much faster.

Motor-SHIELD for Arduino can control DC motors (4 pieces) or two stepper motors.

It is built on the basis of two L293. This microcircuit is an assembly of two H bridges, this allows you to control, with the possibility of reverse, two DFCs, or 1 stepper bipolar motor. Connection diagrams accordingly:

And in the upper left corner of the board there are two blocks for servos (plus, minus and control signal). The red circle circles the place where the jumper jumper is installed. If it is, then this board is powered from the Arduino base board, and if not, from an external 5 V source.

Using this module from a domestic manufacturer, you can control two DC motors; it also has a jumper that connects the microcontroller power lines or disconnects them - for power from a separate source.

You can control motors that are designed for a voltage range from 5 to 24 Volts. Instead of 2 DC motors, you can use 1 single-phase stepper or parallel the channels and connect 1 powerful DC motor with a current of up to 4A, and this is not small - 48 W with a supply voltage of 24 V.

To connect a servo you need three wires - plus, minus and signal, but what if you have a lot of servos? Your board will turn into a mess of jumpers. To avoid this there is a Multiservo Shield.

Here, too, it is possible to separate the power circuits, as was the case in the previous version. In total, you can connect 18 servos (numbered on the board from 0 to 17).

Everywhere has its own specifics, shields for unusual tasks...

Atmega328, the heart of our board, has an ADC. The main problem is that on the Arduino Uno board we see only 6 analog inputs. What if we have more analog sensors?

You can assemble two Arduinos into a single network. Use one as the main one, and the second as an auxiliary one for changes, and from the first one send measurement signals to the server or display them on the screen... But this is difficult: you need to waste memory on additional lines of program code to implement such a system.

What if you multiply each input by 16? In total, we can have up to 16*6=96 analog inputs. This is possible using a multiplexer. It simply switches 16 analog channels in turn to one analog output, which you connect to the same input of any worldcontroller.

It is very difficult to release a voice recognition function using the Atmega microcontroller, but Arduino engineers can not despair, there is a special solution - EasyVR Shield 3.0.

This is a ready-made, but expensive solution; at the time of writing, it costs almost $100 in Russia. First, the shield will write down your command, then compare it with what is written in memory, determining the number, and execute it.

You can have a “dialogue with the computer”; it can reproduce what is recorded in it. Without additional amplifiers, it is recommended to “communicate” with this board from a distance of no more than 60 cm.

Displaying the image

LCD Keypad shield is a real control panel. It contains an LCD1602 display (16 characters in two lines) and a set of buttons. Because of them, quite a lot of ports are used, for example A0 and D4 to D7 for the keyboard, and port D10 is a PWM backlight brightness control. D8 and D9 - reset and enable.

In fact, there are many Arduino compatible displays. Or rather, those about which the most information has been written and you can easily launch them on your system. The display from NOKIA 5110 is quite popular in DIY circles; there are OLED and TFT screens that work via I2C to choose from. But they are not in the “shield” version.

Self-powered

Quite an unusual shield in this collection, which performs a common task. Power shield - this comes with all the necessary protections and a charging connector. It doesn't seem like much, but it will give your project a finished look without having to place the power circuits next to the main boards.

Conclusion

Using shields for all project tasks will avoid an excessive number of jumpers and connections, and this will reduce the number of errors and unnecessary jumpers. After assembly, you will receive a multi-story sandwich of factory-made circuit boards. This approach is sometimes called "modular design." By the way, this will facilitate the maintenance, repair and adjustment of equipment.

Enthusiasts practice designing, wiring and assembling unique modules. This is one of the reasons for the high popularity of Arduino, not just as a platform for homemade products, breadboards and prototypes, but also as a platform for ready-made solutions.