How to make a single board computer with your own hands. The best single board computers on the market. Additional modules, displays


Three new single-board microcomputers that have already been dubbed the "Raspberry Pi killers". At a price comparable to the Raspberry Pi, the models developed by SolidRun are much faster. They have a more powerful processor and increased RAM, but most importantly, the new items have a more impressive set of modern interfaces.

A couple of years ago, microcomputers of the Raspberry Pi family began their victorious march on the market. Around the world, they were bought by thousands of do-it-yourself electronic circuit enthusiasts. On the basis of single-board systems, student projects were created, logical nodes of a “smart” home and components of wearable electronics were implemented. Among many other options, there were homemade products for various purposes - from a handicraft smartphone with a touch screen to an intelligent drug dispenser for a dog. The only thing that held back the Kulibins' imagination was their own experience and hardware limitations. The appearance of more advanced models was constantly expected, but few people imagined that they would be made by a completely different company.


The SolidRun name has been around since the release of the CuBox-i minicomputer. Its first version was equipped with a single-core processor with a frequency of 1 GHz, 512 megabytes of RAM and a modest video core. The most impressive achievement of CuBox-i was its dimensions: all the filling fit in the volume of five cubic centimeters. With such a modest size of the cube, five ports, a microSD card slot and a power adapter socket were placed on its back wall.


The name of the family of microcomputers HummingBoard plays on the English name of the hummingbird. Apparently, marketers are counting on an associative connection with a dexterous bird that will not leave a chance for “raspberry”, even though in life it is not included in its diet. These computers are based on the same engineering solutions as the previously presented CuBox-i, but they are all “translated into a plane”. A single-board computer is no longer a self-sufficient device, but an element of a designer for adults. The main idea of ​​his design was to provide as many opportunities as possible for connecting external devices and expanding the functionality of a user-designed system.

Modern smartphones and tablets use single-chip systems (SoC), in which the processor cores, radio modules and other computing components are implemented as a single chip. SolidRun takes a similar approach, installing Freescale i.MX6 microsystem-on-module (MicroSOM) chips. The difference is that the processor can be replaced, as shown in the video.

The ARMv7 generation processor itself surpasses its predecessor not only in number (operations per second), but also in skill. It implements support for the NEON (128-bit SIMD extension) instruction set, which handles multimedia tasks more efficiently. Compared to the ARMv6-based Raspberry Pi, HummingBoard processes such as image processing, video encoding and decoding, speech recognition and synthesis are at least twice as fast.

The youngest model of the HummingBoard family (i1 Solo) contains a single-core processor of the Cortex A9 architecture with a frequency of 1 GHz, a GC880 video core with support for OpenGL ES1.1,2.0 and 512 megabytes of DDR3 RAM. It does not involve connecting disk devices, but has a MicroSD slot with support for UHS-1 high-speed memory cards. This means that with minimal cost, the user will be able to "revive" the microcomputer using a bootable flash card.

Among the officially supported operating systems are Android, FreeBSD, various versions of Linux (Debian, Ubuntu, Arch) and XBMC (Xbox Media Center). The set of interfaces is represented by an HDMI version 1.4 port with support for outputting images in 3D format, an Ethernet 10/100 network port, USB ports v.2.0 (HighSpeed), a mono audio output, a CSI v.2.0 interface for connecting a camera, and a GPIO connector ( twenty-six general purpose inputs/outputs). It is through the latter that you can connect other programmable homemade products.

The developers believe that their single-board computers will find a place in the growing market of gadgets for the "Internet of Things". According to SolidRun, HummingBoard microcomputers were designed to contain and make available all the latest developments from the open community. In practice, this probably means that a Raspberry Pi project can be transferred to a new SBC without major modifications.

The second version of HummingBoard (i2 Dual Lite) is more powerful. It has a dual-core processor with a frequency of 1 GHz and gigabytes of RAM running in dual-channel mode.


The flagship of the line was the single-board computer HummingBoard-i2eX. Compared to the Dual Lite model, it has an increased RAM frequency (from 800 to 1,066 MHz), a more efficient GC2000 video core with shader support, an LVDS interface for connecting LCD panels (both conventional and touch panels are supported), a PCI slot -Express second version and mSATA II port for connecting disk devices. In addition, a separate RTC module appeared in it, powered by its own lithium battery (time and date are not reset upon reboot).

The specifications of the flagship indicate a gigabit Ethernet port, but its real throughput is limited to 470 Mbps due to the limits imposed by the Freescale i.MX6 chip itself. So far, HummingBoard-i2eX is the only model that supports stereo sound and microphone connection, and also has a built-in IR receiver.

The basic version of the HummingBoard is already on sale starting at $45. More advanced options will be presented before the end of July at an estimated price of $75 and $100, respectively.

Development of a single board computer from scratch. Beginner's Guide / Sudo Null IT News

I am an electronics developer. I started relatively recently - when Atmel microcontrollers became known thanks to the Arduino platform. It didn't really interest me then - at that time I was already programming them from AVR Studio, reading DiHalt stories and dreaming of developing my own autopilot. 3rd year student, Novosibirsk, Novosibirsk State University - it was exciting…

But I am watching with interest the development and growth of the embedded and portable systems industry: the emergence of RaspberryPI, the variety of SoCs and boards based on them, smart home systems, the Internet of things, smartphones with growing computing power - all this is a fantastic scope for activity. The result of the observation was the desire to participate: to try yourself in the development of a simple platform, in order to study and gain experience. Projects on microcontrollers are rather fed up with me - there are very few underwater rakes, it’s quite difficult to make mistakes, everything starts “out of the box” - neither flexibility nor complexity. With systems on a chip - SoC (System on Chip) before that, I didn’t really have much to do - except to build the kernel, and run Debian. Therefore, I decided to launch a simple SoC, namely, to go from a circuit to a working Linux on board. Yes, in the future I will not quite correctly call the SoC a processor, I hope this will not confuse anyone.

I had a small choice, and was determined by the complexity of manufacturing the board - only output packages, no BGAs, a maximum of a four-layer design, and all because I was going to stick my scarf to one relatively simple working project. It also meant that in the future I would receive an already soldered board from production, ready for experiments.

Design

As a result of a review of available SoCs, I settled on the iMX233 from Freescale. Output housing, 454 MHz, DDR memory controller, interface to SD/MMC memory card, debug port - a great beginner's kit. In addition - a composite video output ("tulip"), audio input / output, SPI, I2C, UART, USB, LCD. There will be things to do at your leisure.

After reading articles about the BlackSwift platform, Qualcom Atheros AR9331 appeared in potential candidates, but the lack of detailed information in the public domain confused me. Too bad, interesting candidate.

I was interested in the minimum configuration sufficient to run Linux on it. Accordingly, a 32 MB (256 MBit) memory chip was chosen for the processor (according to the simple principle that we had it in stock). At that time, I had not yet read in dozens of forums about the existence of difficulties with this processor, I only studied the manufacturer's recommendations for tracing and, happy as an elephant, did everything according to the recommendations.

In general, the processor (or SoC, as it is more correct) is more interesting from the point of view that when it is launched, design errors come out much more expensive. For example, incorrect layout of DDR memory can be expressed at least in subsequent read-write errors, and at most - in the impossibility of initializing the memory at all. Processor power circuits - an error will burn the processor when it is first turned on, interfaces - loss of peripherals on these interfaces, and so on.

Therefore, it is easier to start by studying ready-made debug kits, for example, the official board and its documentation. I did not have a board, but the documentation is available to everyone. In addition, it is useful to study all the instructions for use, read the forums (this is already life experience :)) - in general, study all available information about the victim. After studying, mechanical work begins - draw a diagram, and then a board. Four layers, minimum conductor width 0.2mm, gap 0.2mm, hole 0.3mm.

I connected everything that can be connected painlessly - audio inputs and outputs, output the video signal to the pads, any simple peripherals - a memory chip with an I2C interface, another one with SPI, a holder for a uSD card, configuration jumpers, a debug port, and then to a free the place is all that's left. The board turned out to be small - 70x40mm, with a minimum of components. There was no room left for NAND memory, but I planned to run from SD / MMC. Work for one night.

It turned out terrible. From left to right: top layer, two inner layers, bottom layer. Processor on the top layer, memory on the bottom; for each signal conductor of the DDR interface, one via; conductor lengths are aligned, their average length is within the recommended limits, the ground polygon between the processor and memory is almost without breaks, etc.

So, the board has been designed, the documentation for it has been drawn up, all this has been transferred to production, and you can begin to prepare for the receipt of boards from production. I begin to study the materials for the nuances of starting the processor, and I stumble upon hundred-page forums describing problems and difficulties in starting.

It becomes uncomfortable - people have problems until the third revision of the board, the processor does not work with some memory modules, the built-in power subsystem is very unstable, the processor is very picky about power, errata (a document describing errors on the processor) answers many problems with “nothing to help we can’t”, the software is in the open access of the curve, even the internal bootloader needs a patch from the manufacturer, in general, serious problems are outlined. I download BSP (board support package) from the manufacturer - there is a mess of hundreds of scripts and packages. The fun begins.

A month later, the boards arrive, and I begin experiments. Something pops up in a corner of the subconscious, connected with problems in the assembly industry.

Retreat

I also liked this system on a chip because it carries on board all the power regulators necessary for its life - both DC / DC (pulse) and LDO (linear). Including charger for Li-Pol battery. You start on SoC 5 volts from USB - you get 1V8, 2V5, 3V3 and 4V2 at the output. Something goes to the processor itself, something goes to memory, you can recharge the battery. Conveniently. You can burn everything at once :)

SoC bringup

Away with doubts, apply power! And no sign of life. It's good, good because no smoke. I solder the “Power” button, look at the leg of the quartz resonator with an oscilloscope, start it - there is a generation on quartz. 24 MHz, ugly, but there. The oscilloscope probe with a divider, passive, we will write off on it. "Grandfather is old, he doesn't care"

The most interesting part begins - bringup. How can this term be succinctly translated into Russian in this context? An attempt to breathe life? Doesn't sound.

The processor has its own initial loader, which, when turned on, checks the start conditions - from where and what to load. It also responds to requests via the USB bus. It can be configured with on-board jumpers, or flashable OTP memory. If I can still solder the jumpers, then it is unlikely to reflash the non-reflashable. I unsolder the jumpers, apply power, and lo and behold - the first bytes of data come from the debug port! This means that the processor is satisfied with the power, its most basic nodes have started up, and you can do something further. What these codes mean, I learned from a crooked header file, in the form of a PDF document, with slurred explanations, omissions and authored by huashan. All clear.

Well, in order to work with the board as quickly as possible, it would be better to connect it by wire and load the executable code at the touch of a button. Ok, I connect via USB to my computer. And nothing.

No transactions over the USB bus, even generation on quartz. Badly. I start thinking, I study the board, I remember all the subtle moments. For example, on this board, next to the processor, I put my DC / DC converter, with the expectation of powering some kind of consuming load, connected it to the USB 5V power bus, and did not load anything. I measured with an oscilloscope - 5 volts at the input, 5 volts at the output. Words from production come up, something about a resistor. Yes, it is - there is no resistor in the feedback circuit. (- Captain, captain, the anchor has surfaced! - Hmmm, a bad omen ...)

I solder the resistor, and lo and behold! The board is determined by USB! Before that, I looked at the voltage level of the power bus - 5.1 volts, no significant interference, no ripple. But the processor knows better. After soldering the resistor, the DC / DC source also started working, while without load, but at least it stopped interfering with the processor. Okay, what's next.

Next, you need to deal with the initial launch of the processor and check the operation of DDR. I start digging, and in the process of searching I collect a set of utilities and "bootlets" - source codes that allow you to initialize the power subsystems, the DDR controller-memory bundle and prepare the system for further work. What you need is the simplest source codes, with an abundance of Hindu code, but most importantly, they work.

Utilities allow you to load these bootlets into the processor's memory and run them for execution. Everything is so complicated, because after turning on the built-in bootloader does not know anything about external RAM, and since there is no memory, there is nowhere to load, for example, the Linux kernel. It turns out a chain of several links, where at each stage a small step forward is made.

Digression To connect to serial ports, to implement all sorts of in-circuit JTAG debuggers, programmers and similar tasks in another project, a USB-UART bridge was implemented on the FT2232. Dual layer design, both ports are combed out in 2mm increments. This project has a different story - the USB-UART bridge + data collection board is placed in the center of the main board, and the design of the device involves its removal.

Those. a board without a hole in the center will simply not be able to get into the device. It seemed irrational to throw away the textolite, and I made my own creative edits - the USB-UART bridge itself (smaller), and the controller (MSP430FR5738) with a current, voltage sensor, an electromechanical relay, a current source and a thermometer. This entire "hot" part is galvanically isolated from the RS485 interface via a pair of ADuM1281 and decoupled DC/DC (not yet installed on the board). The Modbus stack is spinning in the controller, i.e. a dozen of these boards can be networked, data from the boards can be entered into the SCADA system, and arbitrary processes can be automated. In particular, these scarves will be used for testing devices at -40 / +60 in a heat chamber. I stuck them on the device under test, and sit @ watch how the currents, voltages and temperatures change at the critical nodes.

All of these boards were designed in parallel, so I immediately laid down identical dimensions and flexible connection capabilities. Not in vain:)

Great, I compile the sources, build this constructor, load it, and get the first lines from the debug port! The power subsystem has started!

PowerPrep start initialize power… Battery Voltage = 0.65V No battery or bad battery detected!!!.Disabling battery voltage measurements. EMI_CTRL 0x1C084040 FRAC 0x92926152 power 0x00820710 Frac 0x92926152 start change cpu freq hbus 0x00000003 cpu 0x00010002 or bad battery detected!!!.Disabling battery voltage measurements. EMI_CTRL 0x1C084040 FRAC 0x92926152 power 0x00820710 Frac 0x92926152 start change cpu freq hbus 0x00000003 cpu 0x00010002 start memory test, at 0x40000000 end memory test, at 0x41FFFFFC Great! Memory test passed! This is very good, now you can upload something more serious there.

U Boot

More seriously, I have this U-Boot. I am familiar with this system, it seems to me quite adequate and functional. Allows you to work with peripherals - current versions work with USB, SD / MMC, Ethernet, load images from FAT / ext2 partitions, transfer control, and most importantly - blink an LED - everything you need for happiness and more flexible debugging at the initial stage. Therefore, without hesitation, I download the current version from the official repository, take the closest configuration, compile it, compile it with Hindu bootlets into one file, and load it into the processor: PowerPrep start initialize power ... Battery Voltage = 1.74V No battery or bad battery detected !!! Disabling battery voltage measurements. EMI_CTRL 0x1C084040 FRAC 0x92926152 power 0x00820710 Frac 0x92926152 start change cpu freq hbus 0x00000003 cpu 0x00010002 start memory test, at 0x40000000 end memory test, at 0x41FFFFFC

CPU: Freescale i.MX23 rev1.4 at 227 MHz BOOT: USB DRAM: 32 MiB MMC: MXS MMC: 0 ​​MMC0: Bus busy timeout! MMC0: Bus busy timeout! MMC0: Bus busy timeout! MMC0: Bus busy timeout! Card did not respond to voltage select! MMC init failed Using default environment

In: serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 =>

And U-Boot started! Great, but the board still starts over the wire. You have to deal with the memory card. Well, I solder the load selection resistors, I stick the card - an error comes from the processor in the terminal. I pull out a card - another. What a twist! ©

SD/MMC

I start looking, searches lead to a Russian-language forum, to useful and interesting 380 pages of discussion. I'm afraid the guys still remember this SoC with a strong word.

It turns out that in order to boot from an SD / MMC card, it is necessary to flash the OTP bits, then something else may be possible. In particular, it is necessary to reconfigure in the OTP Register: 24 bits of SD MBR Boot - flash into one, and SD_POWER_GATE_GPIO - select NO_GATE - in my design card power management is not provided.

"It's kind of awkward." This means that you can't make a bootable memory card that can flash finished fixtures in batches, instead you'll have to connect each fixture and manually flash those ill-fated OTP bits. Of course, I will not use this processor in any serious project, but you should not forget about such a moment. I download the Windows utility, flash these bits, insert a memory card, a battery ... The system starts and reboots cyclically. Crap!

PowerPrep start initialize power… Battery Voltage = 3.75V Boot from battery. 5v input not detected

PowerPrep start initialize power… Battery Voltage = 3.75V Boot from battery. 5v input not detected ...

I edit the bootlet sources, in particular, I add additional debug messages, and I go to the problematic section of the code: PowerPrep start initialize power ... Battery Voltage = 3.75V Boot from battery. 5v input not detected Try poweron_pll Try turnon_mem_rail Falls when power is applied to DDR memory. Hm. Somewhere I already read about it. How did it work before? Okay, instability is found, we need to understand.

Around the memory chip are its legal decoupling capacitors, 8 pcs. 100 nF. But at the output of the memory power supply built into the SoC, I set 2x10 uF, although the manufacturer recommended only 1uF (I read the instructions, if nothing else helps, yes). To break, not to build: I unsolder one capacitor, connect the battery, and the system starts!

In the very first photo, this capacitor is visible - there is dirt around it, and it is soldered with only one contact.

PowerPrep start initialize power… Battery Voltage = 3.75V Boot from battery. 5v input not detected Try poweron_pll Try turnon_mem_rail Try init_clock EMI_CTRL 0x1C084040 FRAC 0x92926192 Try init_ddr_mt46v32m16_133Mhz power 0x00820710 Frac 0x92926192 start change cpu freq hbus 0x00000001 cpu 0x00000001

initcall: 3e09f908 (relocated to 40,002,908) initcall: 3e0a013c (relocated to 4000313c) initcall: 3e0a2ec0 (relocated to 40005ec0) initcall: 3e0a2ea8 (relocated to 40005ea8) initcall: 3e0a2e88 (relocated to 40005e88) initcall: 3e0a2e68 (relocated to 40005e68) Net: Net Initialization Skipped No ethernet found. initcall: 3e0a2e5c (relocated to 40005e5c) Initial value for argc=3 Final value for argc=3 ### main_loop entered: bootdelay=3

### main_loop: bootcmd="mmc dev $(mmcdev); if mmc rescan; then if run loadbootscript; then run bootscript; else if runloadimage; then run mmcboot; else" Hit any key to stop autoboot: 0 => =>

Hehe, it works! Ok, I'll write this down as a reason for potential instabilities in the future, because there is one more 10uF left, which can also complicate life. Now I'm trying with external power.PowerPrep start initialize power... Battery Voltage = 3.74V 5v source detected.Valid battery voltage detected.Booting from battery voltage source. Mar 18 2015 07:59:13 Try poweron_pll Try turnon_mem_rail Try init_clock EMI_CTRL 0x1C084040 FRAC 0x92926192 Try init_ddr_mt46v32m16_133Mhz power 0x00820710 Frac 0x92926192 start change cpu freq Now hangs started. Moreover, the situation is not regular, periodically manifests itself when powered by a battery, periodically from external 5V, periodically starts and works. I correct the code again, disable switching the processor to PLL, the core remains running at 24 MHz. Everything is stable. I change the PLL divider, twist the frequency, and the board successfully starts at 320 MHz. You should try the manufacturer's recommendation - a 100 pF capacitor in the pulsed DC / DC circuit. I laid a place on the printed circuit board for the capacitor. I will return to this issue later.

linux kernel

So, at the moment there is a board that starts from a memory card and loads U-Boot. Next, according to the plan, you need to load the kernel.

I download the actual kernel sources from kernel.org, unpack and compile the kernel in three clicks.

make ARCH=arm CROSS_COMPILE=$(CC) mxs_defconfig make ARCH=arm CROSS_COMPILE=$(CC) menuconfig make ARCH=arm CROSS_COMPILE=$(CC) -j4 zImage modulesThese three clicksWhen configuring the kernel, you must strictly specify kernel merge+dtbBoot options - --> Use appended device tree blob to zImage ----> Supplement the appended DTB with traditional ATAG information Enable Kernel low-level debugging functions along with early printk And also enable dynamic printk() support And disable the video subsystem And half more extra and not very drivers

And also collect dtb - device tree blob, a structure that describes basic things to the kernel - the amount of memory, SoC peripherals, etc.

make ARCH=arm CROSS_COMPILE=$(CC) imx23-olinuxino.dtb zImage_dtb Then you can copy the kernel to the flash.

I start, and I get kernel panic. Logically, there is no root file system yet.

Debian

I choose Debian as my own operating system. In my opinion, an excellent distribution kit - simple and reliable, like a wooden stick. I take the finished assembly, unpack it to the card section, and indicate when loading the kernel where to look for its legal root. Boot log PowerPrep start initialize power ... Battery Voltage = 3.68V Boot from battery. 5v input not detected poweron_pll turnon_mem_rail init_clock EMI_CTRL 0x1C084040 FRAC 0x92925E92 init_ddr_mt46v16m16_96Mhz power 0x00820710 Frac 0x92925E92 start change cpu freq Try now hbus 0x00000003 cpu 0x01

U-Boot 2015.04-rc3-00209-ga74ef40-dirty (Mar 18 2015 - 14:26:18)

CPU: Freescale i.MX23 rev1.4 at 320 MHz BOOT: USB DRAM: 32 MiB MMC: MXS MMC: 0 ​​In: serial Out: serial Err: serial Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 2650994 bytes read in 906 ms (2.8 MiB/s) Kernel image @ 0x41000000 [ 0x000000 - 0x284e60 ]

Starting kernel…

Uncompressing Linux… done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.19.2 () (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.5 [ 0.000000] CPU : ARM926EJ-S revision 5 (ARMv5TEJ), cr=0005317f [ 0.000000] CPU: VIVT data cache, VIVT instruction cache [ 0.000000] Machine model: i.MX23 Olinuxino Low Cost Board [ 0.000000] Memory policy: Data cache writeback [ 0.000000] Total pages: 8128 [ 0.000000] Kernel command line: console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootwait [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] 3475K kernel code, 244K rwdata, 1372K rodata, 188K init, 8096K bss, 13796K reserved, 0K cma-reserved) [0.000000] Virtual kernel memory layout: [0.00000 0] Vector: 0xFFFF0000 - 0xFFFF1000 (4 KB) [0.000000] Fixmap: 0xFFC00000 - 0xFFF00000 (3072 KB) [0.000000] Vmalloc: 0xC2800000 - 0xFF000000 (968 MB) [0.000000] LowMem: 0xc0000000 - 0xC2000000 (32 MB) [0.000000] Modules: 0xBF000000 - 0xc0000000 (16 MB) [0.000000] .text: 0xc0008000 - 0xC04C42AC (4849 Kb) [0.000000] .init: 0xC04C5000 - 0xC04F4000 (188 KB) [0.000000] .data: 0xC04F4000 - 0xC0531018 (245 KB) [0.000000 ] .bss: 0xc0531018 - 0xc0d19264 (8097 kB) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836480000000ns [0.000000] Console: colour dummy device 80x30 [0.000000] Lock dependency validator: Copyright © 2006 Red Hat, Inc., Ingo Molnar [0.000000] ... MAX_LOCKDEP_SUBCLASSES: 8 [0.000000 ]… MAX_LOCK_DEPTH: 48 [ 0.000000]… MAX_LOCKDEP_KEYS: 8191 [ 0.000000]… CLASSHASH_SIZE: 4096 [ 0.000000]… MAX_LOCKDEP_ENTRIES: 32768 [ 0.000000]… MAX_LOCKDEP_CHAINS: 65536 [ 0.000000]… CHAINHASH_SIZE: 32768 [ 0.000000] memory used by lock dependency info: 5167 kB [ 0.000000] per task-struct memory footprint: 1152 bytes [ 0.060000] Calibrating. loop… 795648) [ 0.070000] pid_max: default: 32768 minimum: 301 [ 0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes ) [ 0. 080000] CPU: Testing write buffer coherency: ok [ 0.080000] Setting up static identity map for 0x40353070 - 0x403530c8 [ 0.110000] devtmpfs: initialized [ 0.130000] pinctrl core: initialized pinctrl subsystem [ 0.180000] DMA: preallocated pool allocations 25 [0.290000] Serial: AMBA PL011 UART driver [0.290000] 80070000 initialized [ 0.590000] mxs-dma 80024000.dma-apbx: initialized [ 0.600000] SCSI subsystem initialized [ 0.610000] pps_core: LinuxPPS API ver. 1 registered [ 0.610000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti< >[ 0.620000] Switched to clocksource mxs_timer [ 1.130000] futex hash table entries: 256 (order: 1, 11264 bytes) [ 1.290000] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 1.320000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 1.330000] io scheduler noop registered (default) [ 1.340000] of_dma_request_slave_channel: dma-names property of node "/ / / " missing or empty [ 1.360000] uart-pl011 80070000.serial: no DMA platform data [ 1.360000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 146, base_baud = 1500000) is a 8006c000.serial [ 1.380000] mxs.APCound0 : 80.06serial-auart0 80 0 [ 1.410000] mousedev: PS/2 mouse device common for all mice [ 1.430000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as rtc0 [ 1.440000] i2c /dev entries driver [ 1.450000] stmp3xxx_rtc_wdt initial:watch_stwdttc with heartbeat 19s [ 1.460000] softdog: Software Watchdog Timer: 0.08 initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0) [ 1.470000] Driver "mmcblk" needs updating - please use bus_type methods [ 1.480000] 80010000.ssp supply vmmc not found, using dummy regulator [ 1.540000] mxs-mmc 80010000 .ssp: initialized [ 1.630000] mmc0: host does not support reading read-only switch, assuming write-enable [ 1.640000] stmp3xxx-rtc 8005c000.rtc: setting system clock to 1970-01-01 00:27:21 UTC (1641 ) [ 1.660000] mmc0: new high speed SD card at address e624 [ 1.680000] mmcblk0: mmc0:e624 SU02G 1.84 GiB [ 1.730000] mmcblk0: p1 p2 p3 [ 1.740000] usb0_vbus: disabling [ 1.780000] EXT3-fs: error : couldn't mount because of unsupported optional features (240) [ 1.800000] EXT2-fs (mmcblk0p3): error: couldn't mount because of unsupported optional features (240) [ 1.870000] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null) [ 1.880000] VFS: Mounted root (ext4 filesystem) on device 179:3. [ 1.910000] devtmpfs: mounted [ 1.920000] Freeing unused kernel memory: 188K (c04c5000 - c04f4000) INIT: version 2.88 booting Using makefile-style concurrent boot in runlevel S. Starting the hotplug events dispatcher: udevdudevd: error getting socket: Function not implemented

error initializing control socketudevd: error initializing udevd socket failed! Setting the system clock. Activating swap...done. [ 6.410000] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null) Checking root file system...fsck from util-linux-ng 2.17.2 rootfs: clean, 10152/115920 files, 89453/462839 blocks done. [ 6.870000] EXT4-fs (mmcblk0p3): re-mounted. Opts: (null) Setting the system clock. Cleaning up ifupdown… Setting up networking… Loading kernel modules...done. Activating lvm and md swap...done. Mounting local filesystems...done. Activating swapfile swap...done. Cleaning up temporary files… Setting kernel variables ...done. INIT: Entering runlevel: 2 Using makefile-style concurrent boot in runlevel 2. Starting NTP server: ntpd. Starting OpenBSD Secure Shell server: sshd.

Debian GNU/Linux 6.0 debian ttyAMA0

debian login: root Password: Last login: Thu Jan 1 02:00:41 EET 1970 on ttyAM0 Linux debian 3.19.2 #5 Thu Mar 19 10:58:08 EDT 2015 armv5tail

The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. :~# :~# free total used free shared buffers cached Mem: 19160 18292 868 0 1496 9756 -/+ buffers/cache: 7040 12120 Swap: 0 0 0 :~# :~# cat /proc/cpuinfo processor: 0 model name: ARM926EJ-S rev 5 (v5l) BogoMIPS: 159.12 Features: swp half fastmult edsp java CPU implementer: 0x41 CPU architecture: 5TEJ CPU variant: 0x0 CPU part: 0x926 CPU revision: 5

Hardware: Freescale MXS (Device Tree) Revision: 0000 Serial: 0000000000000000 :~# :~# df udev 10240 0 10240 0% /dev tmpfs 9580 0 9580 0% /dev/shm tmpfs 9580 0 9580 0% /var/volatile tmpfs 9580 0 9580 0% /media/ram :~# :~# mount rootfs on / type auto (rw) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) proc on /proc type proc (rw,noexec,nosuid,nodev) sysfs on /sys type sysfs (rw,noexec,nosuid, nodev) udev on /dev type tmpfs (rw,mode=0755) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode =620) tmpfs on /var/volatile type tmpfs (rw) tmpfs on /media/ram type tmpfs (rw)

Yes, there is work to be done.

But, nevertheless, the system works, is loaded from a memory card, is located in the entire range of DDR memory, and can rightfully be called a single-board computer! This is from the scheme in the head to the implementation in the hardware. In total, no design errors have yet been found, although there are already complaints. Well, for starters, I think that's enough.

Conclusion

In fact, this is just the beginning. There is still something to work on - deal with the peripherals, in particular, the audio and video output is interesting, test the SoC at standard frequencies, or even better, overclock it, measure the current consumption, check it at minus and plus temperatures (the stability of the DDR controller is interesting), test it on resource-intensive tasks ( for example, video broadcasting from a webcam via USB WIFI), and as a result, make a WiFi-controlled tank with a camera and a directional microphone on a scarf. But not now. Now I have a business proposal :)

There are three fees that I can give away. All you need to get it is to voice an idea in the comments on how you can apply the resulting system. The best proposals will receive a copy for free, with the hope that you will implement your idea and tell us what you got. The distribution of elephants will be carried out on March 30, 2015, i.e. a week later.

For me, this will be feedback: I need to know how the system will behave in real conditions, how reliably it will show itself, what problems will arise, etc.

That's all for now, I look forward to your comments.

UPD: according to requests: the first copy goes to neochapay for an idea with a positive rating, the second copy will go to r00tGER, the third REPISOT "Who got up first, that's slippers."

www.habr.com

Development platform selection guide / Amperka

So, you have an idea for a project, but you are not sure which board to choose as the brain of the device? Let's try to help you decide.

If you just want to learn circuitry, programming, Linux and there is no specific goal other than learning yet, one of the ready-made training kits may be the best choice.

But if you are already comfortable and want to make a specific project, this guide will help you decide on a development platform and make an informed choice.

Arduino or Raspberry Pi? Microcontroller or microcomputer?

All development boards can be divided into 2 broad categories:

Microcontrollers can only perform one task at a time and they do it very well. And single-board computers execute programs within the operating system (most often Linux), have greater performance and rich multimedia capabilities.

There are also hybrid platforms, where both the microcontroller and the processor are located on the same board. The idea is to leave complex tasks to the powerful processor: accessing the network, processing media, and entrust the microcontroller with the function of precise control of drives, relays, sensors and other peripherals. You can create a hybrid yourself if you take one board from each family. All of them have common interfaces through which you can organize their interaction.

In both camps, you can find specialized boards that stand out among others with some feature, but the table will help compare the capabilities of average microcontrollers and computers.

microcontroller single board computerPerformance multitasking Convenience of working with the Internet Battery life Reaction speed in time-critical projects Choice of programming languages Opportunities for working with video, computer vision Audio features
1 core, tens to hundreds of MHz, tens of KB of RAM, tens to hundreds of KB of permanent memory. 1 or more cores, hundreds to thousands of MHz, hundreds of MB of RAM, gigabytes of permanent memory.
No. But you can emulate. Yes. OS controlled.

Usually you need additional modules and deep knowledge of protocols.

Easy to connect out of the box, the network module is usually already on board.

Consumes units-tens mA. Weeks of battery life possible.

Consumes hundreds to thousands of mA. The charge of a large battery is enough for ten hours.

100% control over the time and duration of the signals.

Due to multitasking, a critical process can oversleep its time.

Limited. More often C/C++.

Python, JavaScript, Bash and dozens of others: any available in the OS.

Not enough power.

OpenCV, hardware video codecs, HDMI output.

Sound synthesis is possible on powerful microcontrollers. Additional modules are needed to work with MP3/OGG/WAV.

MP3/OGG/WAV support at OS level. HDMI audio output and/or 3.5mm jack.

So, depending on your task, you have decided whether you need a microcontroller or a computer. How do you decide which board is the best fit?

Since it makes little sense to compare microcontrollers and microcomputers face to face, then we will separately present the advantages and disadvantages of specific boards within their family.

Comparison of microcontrollers

If we consider microcontroller boards in isolation from the tasks of your project, it is difficult to objectively describe the advantages and disadvantages of different platforms in a nutshell. What is generally a disadvantage may not play a role in your device and vice versa.

We tried to compare the boards, starting from the capabilities of the flagship DIY platform Arduino Uno, since the boards of this particular family gave an incredible kick to the development of hobby electronics around the world. Different companies produce modules, sensors, platforms, add-ons with the name "Arduino compatible", "Designed for Arduino", etc. Behind these words is electronic and software compatibility, first of all with the Arduino Uno, and only then with everything else.

As a rule, with the help of tricks or additional components, you can connect anything to anything. But you want to focus on your project, and not on the fight against electronics? Therefore, willy-nilly, I want to compare any board on a microcontroller with the Arduino Uno. So let's do it.

Arduino Uno Processor at 16 MHz, 32 KB of permanent and 2 KB of RAM, 20 I / O ports, 6 analog inputs, 6 PWM channels, 2 hardware interrupts, maybe not impressive, but without the ballast in the form of an operating system and interpreters, they allow you to solve almost any task of precise conducting a variety of sensors and actuators. Tons of documentation, tutorials and ready-made libraries, a huge community, work from the easy-to-learn Arduino IDE with the Arduino C++ language. All this simply will not give you the opportunity to say "did not master." The native voltage of 5 volts, which is the de facto standard, and sockets for installing expansion cards, analog inputs, various hardware interfaces allow you to connect almost any peripherals, sensors and actuators. Arduino Leonardo The same Arduino Uno, but with a different microcontroller, which is in the same class, but has some positive differences. More analog inputs (12 vs 6) for sensors, more PWM channels (7 vs 6), more hardware interrupt pins (5 vs 2), separate independent serial interfaces for USB and UART. Arduino Leonardo can pretend to be a keyboard or mouse (HID device) for a computer. This makes it easy to make your own input device. Due to the pinout slightly different from the Arduino Uno, incompatibility with some expansion boards is possible. Such cases, however, are rare, and in our store we explicitly prescribe them. Iskra Neo The same Arduino Leonardo, but produced by us in Russia. Much cheaper than the original. Arduino Mini The same Arduino Uno, but in a different form factor. Compact. Only 30×18 mm. Due to the form factor, it is impossible to install Arduino expansion boards without tricks. It is supposed to connect to additional modules by wires and / or through a prototyping board. There is no USB port on the board, so you need to flash through a separate USB-Serial adapter. Iskra Mini The same Arduino Mini, but made by us in Russia. Much cheaper than the original. There is a version with soldered pads and with non-soldered holes. Arduino Micro The same Arduino Leonardo, but in a different form factor. Compact. Only 48×18 mm. Due to the form factor, it is impossible to install Arduino expansion boards without tricks. It is supposed to connect to additional modules by wires and / or through a prototyping board. Arduino Mega Like Arduino Uno, but based on a more powerful microcontroller of the same architecture. A great choice for "growth" or if the Arduino Uno can no longer cope. Many times more memory: 256 KB permanent and 8 KB operational. Many times more ports: 60 of them 16 analog and 15 with PWM. Slightly longer than the base Arduino Uno: 101x53mm vs 69x53mm. Arduino Due One of the most productive Arduino boards based on the Cortex-M3 microcontroller is similar in form factor to the Arduino Mega. Processor at 84 MHz and 512 KB of memory. 66 I/O pins, of which 12 can be analog inputs, 12 support PWM and all 66 can be configured as hardware interrupts. The built-in CAN bus controller allows you to create a network from Due or interact with automotive electronics. Two DAC channels allow you to synthesize stereo sound with a resolution of 4.88 Hz. The native voltage for the board is 3.3 V, not the traditional 5 V. It is necessary to ensure that the selected peripherals support work with this level or install voltage level converters. Iskra JS The board is based on the Espruino core: it is programmed in JavaScript. JavaScript is a high level language. Programs are easier to write, they are more compact and expressive. Especially when it comes to numerous string operations, data arrays, web interface. Powerful microcontroller Cortex M4 at 168 MHz, 1 MB flash, 192 KB of RAM, dozens of ports with PWM and analog inputs, 2 analog outputs, several I²C, SPI, UART - all this allows you to connect and simultaneously work with a wide variety of sensors and modules . Even though the board's native level is 3.3V, the pins are 5V tolerant: connecting 5V peripherals is trivial. Due to a different environment and ecosystem for programming, there may not be a ready-made library for the selected peripheral. It will have to be implemented independently. Strela The all-in-one robotics platform contains most of the things you need to build any lightweight mobile robot. Strela, like any other Arduino, is programmed from the Arduino IDE, and at the core contains the same microcontroller as the Arduino Leonardo. Built-in driver for two motors, 4 servo connectors, 4 buttons and 4 freely assignable LEDs, buzzer, slots for LCD screen and wireless communication module. A powerful power regulator allows you to use many different batteries without tricks. 11 inputs/outputs are output as 3-pin connectors for easy connection of additional sensors and modules. The LCD screen, buttons and LEDs are connected via a port expander so they do not take up general purpose I/O. The board does not provide pads for installing Arduino expansion boards. Due to the changed pin numbering (compared to the base Arduino Leonardo), it is necessary to use slightly different functions to work with the pins of the board. They are provided in the library of the same name. Arduino Yun Unique hybrid of Arduino Leonardo and microcomputer on OpenWRT Linux. An excellent choice for the "Internet of Things". The board is equipped with Ethernet and WiFi, through which you can communicate with the device and even reflash the platform remotely. The power of Linux allows you to work with multimedia, and its networking capabilities easily integrate with social networks and other web services. OpenWRT is a sliced ​​Linux. Not any Linux software can be installed on a microcomputer. And out of the box, only Bash and Python can be used as scripting programming languages. STM32 Nucleo F401RE Board with a powerful microcontroller Cortex-M4. The platform is programmed not through the Arduino IDE, but through the mbed.org online environment. Subjectively, it is more powerful and slimmer than the Arduino IDE, although not as common. For an inquisitive mind - a great choice. Processor at 84 MHz, 512 KB of permanent and 96 KB of RAM. 50 I/O ports, of which 16 are analog and 29 are PWM. The native voltage level is 3.3 V, but all pins are 5 V tolerant, so there should be no problems with electronic compatibility with Arduino peripherals. The expansion board headers are the same configuration as the Arduino Uno, so Nucleo can accommodate many Arduino expansion boards. There is no separate SPI connector on the board. Arduino expansion boards that use SPI over the ICSP header will not work without tweaks. Due to a different environment and ecosystem for programming, there may not be a ready-made library for the selected peripheral. It will have to be implemented independently. Teensy 3.2 Compact board with powerful Cortex-M4 microcontroller. It is programmed from the familiar Arduino IDE. Smaller than the Arduino Micro (35x17mm) but almost as powerful as the Nucleo: 72 MHz processor, 256 KB of permanent and 64 KB of RAM, 34 I/O ports, of which 21 can be analog, and 12 support PWM. Teensy 3.1 is very energy efficient. It does not have a voltage regulator, but the input can be anything from 3.3 to 5.5 V. The same voltage will be the logic level. In sleep mode, the board consumes only 0.25 mA, which makes it possible to operate on battery power for several months. The built-in CAN bus controller allows you to create a network from Due or interact with automotive electronics. Two DAC channels allow you to synthesize stereo sound with a resolution of 4.88 Hz. The board comes with unsoldered pins. You have to solder the pin connectors or wiring yourself. Due to the large difference in architecture with the classic Arduino, not all libraries for third-party peripherals can work out of the box. The operating voltage is equal to the input, and therefore floats as the battery is discharged. This can be important when choosing a peripheral if it is designed for a particular voltage. Netduino 2 The board repeats the Arduino Uno form factor, but has a powerful stuffing sufficient to run programs written on the .NET platform. Netduino is programmed in C# or any other .NET language in the Visual Studio environment familiar to any .NET developer. The .NET Micro Framework is provided as a standard library. Visual Studio has auto-completion, tooltips, MSDN context help, and a full-fledged debugger. Breakpoints, step-by-step execution of code, observation of variables are available to you. Debugging happens without tricks, just with a USB cable connected. Thanks to all this, the speed of development under Netduino is many times higher than the speed of development for any other platform. There is no separate SPI connector on the board. Arduino expansion boards that use SPI over the ICSP header will not work without tweaks. Due to a different environment and ecosystem for programming, there may not be a ready-made library for the selected peripheral. It will have to be implemented independently. Netduino Plus 2 Like Netduino, only more powerful and with Ethernet on board. An excellent choice for IoT projects. Same as Netduino 2.

Comparison of single board computers

The trendsetter among single board computers is the Raspberry Pi. This super-popular platform at one time turned the idea of ​​\u200b\u200bthe capabilities, dimensions and cost of a full-fledged computer for DIY electronics engineers.

Again, for each project, one or another single board computer may be better suited, but due to the popularity of the Raspberry Pi, we will compare other platforms with it.

Raspberry Pi 3 Model B One of the most popular single payers. Four 1200 MHz cores, 1 GB of RAM and a full-fledged Linux based on Debian will help you solve many tasks that require computing resources. Among them are computer vision, real-time sound processing, and the creation of web services. Tons of documentation, tutorials and ready-made libraries, a huge community. All this simply will not give you the opportunity to say "did not master." Familiar HDMI, 3.5mm audio, 4 USB ports make it easy to connect a monitor, speakers, keyboard, mouse and other USB devices. BLE and WiFi modules on board will help you connect your computer to other devices wirelessly. There is no ADC on the board, so the connection of analog sensors is possible only with the help of external, additional components. Only 1 hardware PWM channel is provided, which makes it difficult to work with peripherals that are controlled by PWM. Beaglebone Black A microcomputer similar to the Raspberry Pi, which provides more of the benefits familiar to microcontroller boards. An excellent choice for IoT projects where you need to manage multiple sensors and actuators. Powerful Cloud9 IDE development environment. You simply access BeagleBone through your browser and program in your favorite language, be it Python, JavaScript (Node.js), Bash or any other Linux language. The result can be checked instantly, and if something does not work, use the full-fledged debugger built into the environment. A 4 GB eMMC flash memory with a Linux operating system is already installed on board. The memory can be expanded with an external microSD card. Wide possibilities for connecting peripherals. 8 PWM outputs and 7 analog inputs. Hardware interrupts are possible. An outlandish microHDMI connector for connecting a monitor. It is also used to transmit sound. Computing power is more modest than the Raspberry Pi: 1 core at 400 MHz and 512 MB of RAM.

amperka.ru

Single Board Computer: Use Cases

The Raspberry Pi 3 Model B is the most popular single board computer based on a 1.2GHz 64-bit ARM Cortex A53 processor with built-in Wi-Fi and Bluetooth wireless connectivity.

What is the Raspberry Pi for?

With its small size, low power consumption and large software library, it can be used in various projects such as smart home control system, home theater or game console. You can see the brightest projects below:

Robot
Smart House

Why Choose Raspberry Pi?

Everything is very simple here - the Raspberry Pi has become the best-selling platform of all single-board computers due to its excellent price, versatility, open architecture, support for various operating systems and the huge community that has developed around it.

What do you need to buy a Raspberry Pi with?

To operate the Raspberry Pi 3 single board computer, you need to purchase a network adapter with a Micro USB connector. It is recommended to choose a model with a current of at least 2.1A at 5V. In addition, you'll need a microSD card that will store the operating system, heatsinks, and a case to protect against shock and static. To expand the capabilities of the computer, you can use sensors, cameras, expansion modules. In our assortment you can also find a ready-made starter kit based on the Raspberry Pi.

If there are technical questions?

http://raspberrypi.ru http://raspberrypi.ru/forum/ https://vk.com/raspberrypi_ru

The table shows the most interesting products that our customers choose:

www.electronshik.ru

do it yourself


Surely you remember the blockbuster "Iron Man" with Robert Downey Jr. in the title role. According to the plot, the billionaire and scientist Tony Stark invented a metal suit that was capable of making him superhuman. The main detail of the costume was the heart, which was a small nuclear reactor. One folk craftsman decided to recreate the main detail of the costume with his own hands from improvised means. What happened in the end, see for yourself .... Because of its unusual shape, Apple's new PC, the Mac Pro, has been compared to a trash can. Someone under the nickname sascha288 decided to quite ingeniously build a homemade Mac Pro from a trash can. The metal base was painted red and the likeness in the end turned out amazing. The dimensions of the devices, by the way, are also comparable: 28 x 19 cm versus 25.1 x 16.8 cm. The components were the Gigabyte z87n WiFi motherboard, Core i3 processor (Haswell), Radeon 7750 video card, SSD and hard drive, ATX PSU . The system runs a modified version of Mac OS X...
Someone called Michael Castor built a tablet with his own hands and called it the PiPad. The device is based on a Raspberry Pi Model B single-board computer, which includes an ARM processor with a clock speed of 700 MHz, 512 MB of RAM, two USB ports and an Ethernet connector, and an SD card slot. In the final version of the PiPad, one USB port and Ethernet are missing, as there was simply not enough space for them. The dimensions of the mini PC are 85.6x56x21 mm, weight - 45 g. The display uses a 10-inch LCD panel with a resolution of 1280 x 800 pixels and a supply voltage of 5 V. A 10,000 mAh battery provides 6 hours of gadget operation. The frame of the PiPad is made of plywood, the back panel is made of carbon fiber.
Bunny Huang gave up using a tablet and a smartphone, and set out to build an open source laptop with his own hands for everyday work. The device was called Project Novena, and its technical characteristics included: a 13-inch display with a resolution of 2560 × 1700 pixels and a frame with a body made of 5052 and 7075 aluminum alloys. On the Makezine portal, Bunny even posted detailed instructions for everyone who wants to repeat this experience...
In 1980, the American Helicopter Society announced that it would give a $10,000 prize to anyone who could create a helicopter that would stay in the air for 60 seconds, reach a height of 3 meters in the process of this flight and not fly out of the boundaries of the site 10 by 10 meters. In this case, the helicopter must be set in motion solely by the power of human muscles. This award was named after Igor Ivanovich Sikorsky. Since then, 33 years have passed and the prize has grown to $250,000. Yesterday it was presented to the AeroVelo team from the University of Toronto for their Atlas helicopter.
One of the owners of the Galaxy Note II smartphone in the Chinese modification, designed for 2 SIM cards, tired of a weak battery (3100 mAh) and insufficient volume (32GB) of internal memory, decided to upgrade the gadget. To do this, he purchased a MicroSD -> SD adapter, a 256GB Lexar SDXC memory card, and an impressive 8500 mAh battery. As the author describes, the longest time was spent on the delivery of components from online stores, and it took only a few minutes to assemble. As a result, the smartphone received a huge battery and a total amount of memory equal to 288GB. The only thing that still needs to be worked on is the back cover of the smartphone...
Star Wars fans, this news is for you! If you dream of a lightsaber, but do not want, like Kostya Khabensky in Night Watch, to walk with a fluorescent lamp in your hands, then you can try to make it from the most ordinary laser pointer. To create a lightsaber, a fan of Darth Vader needed only a 9mm 450nm laser diode with a power of 3 watts, generating a green beam, and a stylish case for it. The comments on the video say that this is a very powerful laser and should be used with extreme caution. It is also recommended to wear goggles over your eyes to avoid overstressing the retina - the laser is very bright...
Everyone loves jeans. Well, almost everything. And an old pair of jeans lying around on the mezzanine - someone has their favorite, worn-out pants, someone has brand new, unworn (as someone has slightly picked up thousands of grams) - probably there. Today I will offer you a not revolutionary, but rather curious idea on how you can use old jeans to good use. And don't feel sorry for them! Admit it honestly that they would still lie like a dead weight on the far shelf and would never see the light at the end of their linen life ...
Love to ride a bike? Do you want to travel further on it, and get tired less? This is possible if you add an electric motor and a battery to your two-wheeled friend. To turn your regular bike into an e-bike, you only need a ready-made kit consisting of a special wheel with an electric motor and a battery...
The Australian company Lulzbot has developed a cheap analogue of the Liberator pistol printed on a 3D printer. The original project was proposed by Defense Distributed from the USA, however, an industrial printer costing about $ 8,000 was required to create weapons. The schemes required for printing a pistol on a 3D printer, Defense Distributed posted on the Internet, opening access to them to everyone. There were quite a few of them, among them was the Lulzbot company. Its specialists made adjustments to the project, and it turned out that a “household” Lulzbot AO-101 3D printer costing $1,700 could be used to create the Liberator, the materials would cost another $25. The creators of the modification, called the Lulz Liberator, note that the apparent availability does not mean the wide distribution of such weapons: it is still cheaper to buy a “classic” pistol.
Enthusiast designers from Italy presented a table lamp made of cardboard to the lovers of eco-friendly gadgets. It is difficult to suspect it of any technical frills, the strong point of the 01LAMP lamp is maximum functionality. You can assemble such a device without leaving your home. All you need to do is order a pizza, empty the box and get creative. When creating the lamp, the designers abandoned the use of glue, and all 01LAMP parts are held together with special valves. There are no wooden, plastic or iron parts in the design of the lamp. The exception is the "ON" button, wires and a light bulb. That is why the authors of the project claim that one of the advantages of the lamp is its environmental friendliness. With appropriate efforts, anyone can assemble such a lamp at home. To facilitate this process, Italian designers even posted detailed instructions on the Internet, which are accompanied by diagrams and drawings that facilitate the assembly process. The laziest environmentalists, however, can simply order an already assembled unusual gadget from the authors of the project. The finished lamp 01LAMP will cost 40 euros or $53.

24gadget.ru

Pi-Top: do-it-yourself computer

You can purchase a set of parts and assemble a computer with your own hands. Thanks to the development of technology, in particular 3D printing, it can be a full-fledged laptop with a screen, keyboard and the ability to connect peripherals. The price of such a device will be significantly lower than that requested for a similar product by "eminent" manufacturers.

The Pi-Top laptop assembly kit will be officially launched in May 2015, although sales are already underway. A fundraising campaign for its production was held on indiegogo.com and brought the project just over $130,000.

To get this computer, you will need access to a 3D printer and a $290 build kit. As a result, you will have a full-fledged laptop in your hands with the possibility of further customization and upgrade. The authors of the project hope that their computer will be useful primarily for children, who will be able to master how to assemble a device from components, as well as work with software and the basics of robotics.

The founders of the project - Ryan Dunwoody (Ryan Dunwoody), 23-year-old graduate of Oxford and 27-year-old Jesse Lozano (Jesse Lozano), a lawyer by training, who independently mastered programming.

Jesse Lozano and Ryan Dunwoody - creators of Pi-Top

“Instead of using a laptop as a closed device, you can understand how the screen works, how the battery charges, how the switch between battery and AC power occurs,” says Dunwoody. - If something breaks, you can fix it. Many parents buy our computer for their children, as they see it as a way to convey to the child an understanding of the technologies and devices that we use on a daily basis.

According to Lozano, the Pi-Top is "meant to teach you how to do other things" by allowing you to experiment with the hardware. He hopes that the computer will be used in schools.

The heart of the Pi-Top computer is the Raspberry Pi (Model B+), a credit card-sized single-board computer. The laptop case needs to be printed by yourself, for this, the kit contains plastic "ink" for a 3D printer and files for printing. The assembly of the finished device is extremely simple, a person with the most minimal technical skills, using the instructions, will assemble the Pi-Top in an evening. In addition to the entry-level set, the developers offer several expansion boards. So, thanks to additional modules, the Raspberry Pi can be programmed in such a way that it can serve as a central control device for the robot. After writing the program to the Raspberry Pi, the user can take it out of the laptop case and place it on the chassis, which can also be printed on a 3D printer.

22century.ru

What is a single board computer and how is it used?

How are SBCs different from conventional computers?

Perhaps just the name. While typical computers diversify by using multiple components connected to a central board via cables, a single board computer has its microprocessor with integrated memory on a single printed circuit board.

Single board computers come in a variety of sizes and are capable of covering a variety of applications: some are PC compatible and compatible with an identical type of hardware, while others may be highly specialized. Some models of single board computers come with built-in microcontrollers. A number of single board computers provide the opportunity for factory expansion and reconfiguration, while some models do not offer any modification options. In general, most manufacturers imply a starting basis that can be changed and supplemented.

How are SBCs used?

As mentioned earlier, single board computers have a number of applications. The first release of similar models took place in 2000, and recently such models have begun to gain momentum in the field of development. They serve as the basis for many open source projects due to their compactness and low cost.

Single board computers are used in education to teach computer science. Well, of course, most of the users are experienced programmers who did not settle for factory configurations, but prefer to independently purchase components for computers and create progressive systems.

How to choose a single board computer?

It goes without saying that your choice of SBC will be determined by the application. However, there are a few general considerations to keep in mind if you intend to purchase such a device.

Power

Make sure that the SBC's specifications meet your stated requirements, and you should also pay attention to the capabilities of the cooler, which will protect your system from overheating.

Here again, your needs become the main criterion. The first legacy SBCs only shipped with 512MB of internal memory, which seemed perfectly reasonable at the time. These days, a system like this should contain at least 1GB of RAM, with more advanced models offering 32GB.

CPU

There are currently three main options on the market: Intel, Power Architecture, and ARM. Your choice may be guided by memory requirements, previous experience with a particular type of processor, and of course requirements.

Operating system

Typical operating systems available on most SBCs are Linux (most popular), INTEGRITY, Wind River VxWords, QNX, LynxOS, and GreenHills. Most processors support Linux, fewer will be compatible with VxWorks or other design tools, and will reduce the ability to build secure applications.

I/O element

The SBC provides the necessary I/O elements such as Ethernet, USB, DIO, and others. If the required I/O is not supported by the underlying SBC, you should inquire about additional system support.

2ezone.ru

DIY Single Board Computer, ar9331 datasheet

Single-board computers are devices that are assembled on only one "motherboard". On the latter, all the necessary details are installed: a microprocessor, RAM, data input and output methods, other modules necessary for the full operation of the device. Often, single-board PCs are used (and therefore developed) as a demonstration system or educational tool. Often they are used in the industrial sector.

If we talk about standard desktop computers, then when compared with the described one, the latter does not require the installation of peripheral boards. Depending on the model, some options are available as a small "motherboard" equipped with memory and a processor. Such a board can be connected to an internal trunk. This will increase the available characteristics, as well as take advantage of additional connectors.

Quite often, protection of various parts is required. It is necessary that they are compactly located next to each other. That is why single-board computers have become popular. This solution will make the device small in size and very inexpensive. But the system-on-a-chip also has its drawbacks. For example, changing the processor or increasing the memory will not work, often these parts are soldered.

Hardware Single Board Platforms

Comparing single board computers with hardware platforms will help you understand how the devices differ from each other. Often, users and consumers confuse them with each other. The platform is an ordinary microcontroller, which cannot be called a full-fledged computer. It does not have an operating system installed, so the user cannot interact with the device as with a regular PC.

Often, hardware platforms are used to build robots, as well as create simple automatic systems. In fact, the main task of such a device is to control other devices. We can say that the hardware platform is nothing more than an alternative to a single-board system. You can't call them analogues.

What is a Single Board Computer?

For some reason, some users believe that a single-board computer is not capable of performing many functions. However, its range of tasks is wide. Such a device is used in computers, routers and other equipment. You can easily install the Lunix operating system on this device. In this case, a single-board device will perform almost all tasks: from searching for documents to listening to music. If you choose a more expensive model for yourself, you can also watch videos with a quality of no more than 1080p. Such manipulations are performed with a user-familiar interface. Disadvantages can be identified when working with other architectures. Often applications run on ARM. Therefore, it is desirable to select a board with this particular architecture.

Considering such systems in a narrow specialization, you can stumble upon some nuances of work. For example, in order to turn Raspberry single-board computers into a router or modem, you only need to install the appropriate firmware.

Small spool: what a $35 computer can do

Most often, this process requires minimal human intervention, being complete solutions. The owner only needs to write the image to a memory card and correctly specify all the necessary settings. Turning a single board computer into a router is not the only thing that can be done. In order for the house to become "smart", you need only three or four systems. Of course, it will take a little longer to deal with the settings, but now there are more or less ready-made solutions that practically do not need to be edited.

For those who are interested in the technical field, it is no secret that Microsoft is going to release a special device. Now the Internet of things is gaining popularity. The developed devices work on special protocols. Thanks to this, they will be able to function even with ordinary cell phones. If we consider this possibility as the development of single-processor computers, then such a solution is a breakthrough. After all, earlier control was carried out through a router. Now the last solution is practically not used anymore. It's easier to work when the devices talk to each other directly.

Something without which no board can exist, the input and output ports are GPIO. They allow you to instantly turn off the light bulb after receiving an electronic signal. The standard model is equipped with 5-10 connectors. If desired, their number can be expanded.

Raspberry Pi

A review of single-board computers should start with one of the most popular models - the Raspberry Pi. This device is known as "Malinka". That was the beginning of the development of single-board computers. The model appeared in 2012 and not all consumers adequately assessed its capabilities and functionality. For buyers, it seemed impossible: a whole computer, the size of which does not exceed the dimensions of a credit card, the cost of it was $25. Worked on Linux operating system. One way or another, after the release, consumers began to slowly acquire the model, thereby making it quite popular.

What is the Raspberry Pi made of?

According to the standard, "Malinka" received a slot for a memory card, a power connector, outputs for headphones, video, USB, Ethernet, HDMI.

In addition, built-in universal ports that allow you to interact with any other devices.

The system is sold in five different configurations. The simplest models are A. They work with 256 MB of RAM. ARMv6 is used. One USB port installed. Models with index B offer the owner 512 MB of RAM. There are 2-4 USB and Ethernet ports. Modification 2B works with a 4-core processor. RAM was 1 GB. On sale there are also options with indexes A +, B +.

Model prices range from $20 to $35.

Raspberry Pi features

"Malinka" is very common, which is why many different distributions are sold for it. We are talking about software, which, as a rule, is created to work with Linux.

The possibilities of the device are almost endless. A single board computer (x86 or x64) is capable of doing any task. The main nuance is the power of the processor, which should be repelled. Unfortunately, he is weak in all modifications except 2B. "Malinka" can be bought both in online stores and at any retail outlets. First of all, it is better to purchase exactly 2B, if there are funds for that. This board is much more powerful, has many ports. The difference in price between the models is small, but in compatible software it is significant.

cube board

The Cubieboard model received GPIO, SATA, HDMI, USB, VGA, Ethernet, as well as the following connectors: power, optical and standard audio output ("mini-jack").

Single-board computers of the Cubieboard model come from China. They were created in 2012, but the first modification, to put it mildly, failed. The third version proved to be the best. Unlike the previous "Malinka", the board has more ports, an infrared port, bluetooth and a wireless network module are built-in. The gadget works with 1/2 GB of RAM (depending on modification) on an ARM Cortex-A7 processor.

Additional information about the model

Single-board computers of this model also work on the basis of Lunix. The manufacturer installed a special version, created by himself. In general, the device vaguely resembles the previously described Malinka. In some nuances, it repeats the characteristics and sometimes expands them. The price is slightly higher: the average cost is $85.

beagle bone

The model appeared in 2013. She received a power connector and other standard ports. The BeagleBone is considered one of the most powerful, if not the best, in its lineup. The developers decided to pay attention to a large number of all available ports. There are many interesting devices on the market. The board is powered by a Cortex-A8 processor, the cores of which operate at a frequency of 1 GHz. RAM is 512 MB.

Additional features

Like the other single-board computers described above, the system runs on Linux. In the factory filling, the manufacturer has already installed 2-4 GB of memory. In some modifications, the Debian distribution is also built in. Due to the fact that there are many ports, you can easily connect the board to any device. If you use peripheral devices, then the system's capabilities will easily increase significantly. The manufacturer has focused on additional devices. The price for the device itself is $45.

findings

Now powerful single-board computers are sold at any point of sale. The range is large, sometimes even the understanding of what this device is is erased. The article describes the three most popular models that are in great demand and have proven themselves. Which option to prefer, should be decided only by the buyer. Single-board mini computers are something that will make life much easier, so you should choose consciously.

rpilot62.ru


Raspberry Pi is a single-board computer the size of a bank card. The first batch of Raspberry Pi went on sale in February 2012. The developers - a group of teachers from Cambridge - hoped to sell at least a thousand pieces, because it was an extremely weak computer by modern standards, there was no know-how in it. It was supposed to be used as a budget system for teaching computer science to children.

But the creators miscalculated... A batch of 10,000 pieces was sold out in the first hour after the announcement of the pre-order! Raspberry turned out to be interesting for adults, so interesting that for at least another six months it was bought almost exclusively by people who are passionate about computer technology.

By November 2013, over 2 million Pis had been sold, and by August 2014, worldwide sales had surpassed 3.5 million. The Raspberry Pi, a $35 computer, has become the most interesting gadget of recent years.

You can say as much as you like that the Raspberry Pi is a weak piece of iron, that it is not suitable for anything serious, all this is a marketing conspiracy, etc. But this is broken by one argument - not a single gadget of this kind has managed to generate such an ecosystem, such a number of adapted programs, projects, such a community of enthusiasts.

I will not describe in detail all the features and features of the Raspberry Pi, you can find a lot of information on this topic. I will only note that the project is non-commercial, all information is freely available, the software is regularly updated, new ideas and new applications for this gadget appear.

However, blinking an LED or working as a timer for a coffee maker is at least undignified for a full-fledged computer. The project must be worthy, correspond to the capabilities of the hardware.

The computer is based on the Broadcom BCM2835 chip, which was originally developed as a multimedia solution. According to the creators, the processor power is not high and is at the level of the Pentium II 300, but the graphics processor succeeded. The video chip supports H.264 hardware decoding, as well as MPEG-2 and VC-1 codecs.

Raspberry has support for CEC (Consumer Electronics Control) technology. This is a specification for HDMI that allows you to use your TV remote to control connected devices. Most TVs released in recent years support this technology.

When it became necessary to find a replacement for my old DVD player, I decided not to buy a new player or an expensive SmartTV, but to make a media player with my own hands, based on the Raspberry Pi. Preliminary experiments have shown that the playback quality of Full HD movies is quite up to par, there are no problems with DVDs either, and there is access to media content on the Internet. And besides - music, photo ...

There is another reason. The consumer electronics I've purchased over the years have often been disappointing some time after purchase. There were some shortcomings and glitches. Moreover, the thing basically works, there are no grounds for returning to the store. So it was with the photo frame - extremely inconvenient navigation in the file system. DVB-T2 set-top box - the remote control basically works, but somehow it is very unstable. Etc. etc.

When I imagined what glitches are potentially possible in the media center, I did not dare to buy anything ready-made. Reading reviews and reviews does not always give complete information. Agree that the quality of the packaging and how pleasant the case is to the touch are not the most important parameters. A lot of attention is paid to such details in the reviews.

Manufacturers usually do not release updated firmware versions, because they need to release a new device model as soon as possible. It is much more profitable when the user buys a new thing, and not just updates the firmware. And for commercial success, new, most advanced technology must regularly appear on the market.

And so, let's decide on the equipment that will be required for the media center. First of all, of course, this is the Raspberry Pi model B board itself, or better, its new version, which went on sale in July 2014 - model B +. They are fully software compatible, but the "B+" model has 4 USB ports instead of 2.

In addition, in the new model, the developers have significantly redesigned the topology of the printed circuit board. As a result, all connectors for external connections were grouped on both sides of the board, and 4 mounting holes appeared on the board itself. In the "B" model, the connectors go out on all 4 sides, and there are only 2 mounting holes.

An important component on which the reliability and stability of operation depends is the power supply. The first phone charger that comes across that says “5 V” will not work. For reliable operation of the board, the power supply must be stabilized and provide 5V at a current of at least 1A. To verify that the power supply can be used to power the Raspberry Pi, you need to measure the voltage at its output at idle, and then connect a load to it 5 Ohm. The voltage should not fall below 4.8 V.

An SD (or microSD for B+ model) card is required to install the software. A large volume is not needed, we will store media files on another medium, 2 GB is enough. You just can't find less now. But the class should be as high as possible, better than the 10th.

Without the Internet now nowhere, so you need a router. After all, the Raspberry Pi is not the only computer on the home network. Most users prefer wireless access over WiFi, in which case you will need to purchase a USB WiFi adapter. However, I would recommend using a wired connection to the router. The choice is yours, my arguments are as follows.

Firstly, the reliability and speed of access over a wired connection is higher than over WiFi. Real access speed, not what is written on the package. No local environment and interference will affect the quality of communication.

Unauthorized access is completely excluded. No brilliant neighbor hacker will steal your secrets and access codes to bank accounts. The probability of WiFi being hacked is, of course, small, but not zero.

Microwave radiation, albeit of low power, is by no means a balm for the human body. Nothing bad will happen, of course. At least right away. But with prolonged and regular exposure to a child playing near the antenna of the router ... Who knows?

And finally, think about the environment. Electromagnetic pollution of the environment is now quite relevant. Why, without any need to pollute the ether.

There is only one minus for a wired connection - you have to pull the wire. But I'm not going to drag the media center around the apartment, and it's not so difficult to lay a wire into the channel of a plastic plinth. Another thing is that I'm too lazy to do it ...

Also, of course, you need a TV or monitor with an HDMI input and an appropriate cable. Although the Raspberry Pi board has analog video and audio outputs, they are not suitable for watching movies in HD and Full HD quality. The quality of displaying photos through the analog output also leaves much to be desired.

That's all for the bare minimum. The media center may look something like this picture.

But I don't like this option. I want to watch movies and photos not only from the Internet. File storage server on home network? Why complicate things so much for a single user on 50 square meters. I decided to use a standard hard drive to store my media library. You can purchase an external USB hard drive or use a computer one with a SATA(IDE)-to-USB converter. I leaned towards the second option.

I also need a DVD drive. This, of course, is not for everybody, but if there is an extensive film library on DVD discs, it should be possible to view it. Connection is similar to HDD - via SATA (IDE) - USB converter.

A USB mouse and/or keyboard is required for initial software setup. For everyday use, the remote control will be enough, but during the initial setup, the mouse and keyboard will be very useful.

There are too many USB devices, so you need a USB HUB. And active, with the ability to connect an external power source. The ATX power is enough for everything, but the USB port of the Raspberry Pi will not power the HDD and DVD. In addition, sometimes you may need to connect a flash drive.

If the TV does not support CEC, you can use my old development - "Computer Remote Control". Works great with Raspberry Pi. You can also use a wireless mouse or keyboard. You can find other options on the Internet.

As a result, we get such a media center.

Where can I buy all this and how much will it cost? I recommend ordering Raspberry Pi and SATA-to-USB converters in China, for example, at www.aliexpress.com The cost of Pi, including shipping, will be about $40, SATA-to-USB converters will cost $4-5 apiece. True, you have to wait about a month. But this time can be devoted to finding or making a case. If you buy all this in Russia, you will have to pay about 2 times more.

The power supply and DVD drive I have left from the old computer, so I did not have to purchase them. HDD is better to buy in a retail store, the thing is expensive and fragile, not worth the risk. HUB is also risky to order in China. In this case, the difference in price is small, and the probability of getting a device that is functional, but not suitable for use as part of a media center, is very high.

Choosing a USB HUB is not as easy as it might seem. The question is so serious that I dedicated it to him. It was published in a magazine "Radio" No. 11 for 2014

Finally, the most important thing is the body. It is better to pick up something ready-made, for example, from an old VCR, music center, etc. You can, of course, make it yourself. But it is very difficult and troublesome, in general, for an amateur. I used a case from an old Samsung MM-26 music center, it fit perfectly in size.

There is no forced cooling for the controller on the Raspberry Pi board. If you do not overclock the processor, everything works without problems. But for watching video it is better to raise the clock frequency from 700 to at least 900 MHz. In this case, additional cooling will no longer be superfluous.

Cooling can be improved in two ways. Firstly, small heatsinks can be glued onto the microcircuit cases. If desired, they can be purchased complete with a board or cut out independently. But I would not recommend doing this - under unfavorable circumstances, there is a chance to tear off the heatsink along with the microcircuit from the board.

The second way is to install a small fan above the board. You can power it from 12 V or, if there is no such voltage, from 5 V. The ATX block has 12 V, so I used this method to improve the cooling of the controller.

Now about the software. There are three main distributions: Raspbmc, XBian and OpenELEC. Raspbmc is a neatly built XBMC on top of the official Raspbian operating system, stripped of everything superfluous. About XBian, we can say that its authors, taking Raspbian as a basis, significantly redesigned it, almost creating their own version of the operating system.

OpenELEC is a traditional distribution for embedded systems, so working with it is like alternative firmware for routers. The choice of additional software for it is limited. On the other hand, this is a simpler and more stable solution.

The user interface and features of these three distributions are almost the same. Therefore, you can try everything and choose the best option for yourself.

It is the most popular single board computer based on a 1.2GHz 64-bit ARM Cortex A53 processor with built-in Wi-Fi and Bluetooth wireless connectivity.

What is the Raspberry Pi for?

With its small size, low power consumption and large software library, it can be used in various projects such as smart home control system, home theater or game console. You can see the brightest projects below:

Robot
Smart House

Why Choose Raspberry Pi?

Everything is very simple here - the Raspberry Pi has become the best-selling platform of all single-board computers due to its excellent price, versatility, open architecture, support for various operating systems and the huge community that has developed around it.



What do you need to buy a Raspberry Pi with?

To operate the Raspberry Pi 3 single board computer, you need to purchase a network adapter with a Micro USB connector. It is recommended to choose a model with a current of at least 2.1A at 5V. In addition, you'll need a microSD card that will store the operating system, heatsinks, and a case to protect against shock and static. To expand the capabilities of the computer, you can use sensors, cameras, expansion modules. In our assortment you can also find a ready-made starter kit based on the Raspberry Pi.

If there are technical questions?

The table shows the most interesting products that our customers choose:

Microcomputers
Raspberry Pi 3 Model B RASPBERRY Single Board Computer
Accessories
DFROBOT Frame
HKSHAN Frame
HKSHAN Frame
HKSHAN Frame
Heat sink for Raspberry Pi HKSHAN Frame
CBPIHAT-BLK MULTICMP Frame
RASPBERRY-PI3-CASE RASPBERRY Frame
RASPBERRY microSD with software
Expansion modules
5inch HDMI LCD WAVESHARE LCD display
5inch HDMI LCD [B] WAVESHARE LCD display
7inch HDMI LCD [C] WAVESHARE LCD display
WAVESHARE LCD display
7inch HDMI LCD [B] WAVESHARE LCD display
3.2inch RPi LCD [B] WAVESHARE TFT displays
4inch RPi LCD [A] WAVESHARE TFT displays
3.5inch RPi LCD [A] WAVESHARE TFT displays
RASPBERRY TFT displays
ADAFRUIT TFT displays

Part one: cold iron

It can be stewed, and crumbled into the broth,
And serve well with vegetables.

Lewis Carroll, Hunting the Snark

Anyone who is able to build a personal computer and install Windows can also manage to create a fairly advanced NAS from x86-compatible hardware and free builds of software based on *nix if they wish. At the same time, roughly speaking, the number of installed disks affects the cost and complexity of the project only by the cost of the disks. This allows you to save a lot of money compared to buying a ready-made NAS with 4 or more drives, but it is hardly profitable if a NAS with 1-2 drives satisfies your needs. It is impossible to say which option is better. Everyone has their own preferences. Someone cooks well at home, while someone prefers to dine in a restaurant. Do you enjoy fiddling with computer software and hardware? Then this text might be helpful. Do you need a storage service on its own? Choose between cloud storage and out-of-the-box NAS.

N. B. This article is not about the hardware model and not about the version of the software product. It is about the concept of creating a NAS with your own hands and suggests considering other options for solving the problem, in addition to buying a ready-made device. The topic is long, has under a thousand pages of discussion. The people there are polite and responsive. This is, as it were, a hint that the article does not claim to be complete, academic, or the ultimate truth.

What kind of NAS?

According to Wikipedia, NAS (English Network Attached Storage) - network storage system, network storage. It is a computer connected to a network and designed to provide storage services to other devices. The operating system and programs of the NAS unit provide data storage and file system operation, access to files, and control over system functions. The device is not designed to perform normal computing tasks, although it may be technically possible to run other programs on it. Typically, NAS devices do not have a screen and keyboard, but are managed and configured over the network, often using a browser.

The definition is not perfect, but quite working. NAS is also used in business, but it has its own requirements and features. We will be interested in home use of NAS.

People usually come to the idea of ​​\u200b\u200bassembling a NAS with their own hands in two ways, and often - both at once. When you have one computer at home, you don't need a NAS. Gradually, other network devices appear. Laptops, smartphones, tablets. And especially - network HD-media players, all sorts of Dune, Popcorn, WD TV and the like. It is with the acquisition of a network media player that a person often begins to accumulate terabytes of information. First, it is stored on removable hard drives connected to the media player and / or all added to the main computer. Soon there will be too many disks for convenient use, and around the clock a softly buzzing computer, at the same time downloading something from the Internet, will begin to annoy, if not you, then your better half. An idea arises to collect this bunch of disks in a separate box, put it somewhere in a corner and instruct it to distribute content to all network devices and download torrents. Congratulations, you've come to NAS the first way. On the way, be sure to look at the finished NAS, out of the box. But the price!

The second way is through hardware upgrades. As a result, a few less than a cubic meter of components are accumulated, which are difficult to sell, and there is no one to give as a gift. The plushkin inside of us puts them to good use in the idea of ​​building a NAS. And at the same time satisfy your craving to delve into the guts of the computer. No wonder one cheerful American wrote that working with a computer is the only legal way today to push around someone who is smarter than you.

Of course, there are other ways. For example, you are a passionate photographer and need to securely store years of archives. Or a loving parent filming their baby's every move. Etc. But rarely do such scenarios lead to do-it-yourself NAS assembly. Much more often - to buying ready-made out of the box. The needs of such users are confidently met by 1-2 disk models of ready-made NAS. It is difficult, if not impossible, for a neophyte amateur to assemble something similar in size, noise and price to 1-2 disk models.

In defense of off-the-shelf NAS, it is worth noting that they provide many features and functions out of the box that require minimal installation / configuration / tuning. So in fact, their cost should include the work of programmers, technical support, etc.

The situation changes dramatically if 1-2 disks are not enough, but there is a need for 4 or more. Marketers of manufacturers set a price level on them, which plunges a person familiar with a computer price tag into a state of frustration (although they pronounce much more popular words at the same time). And the person begins to choose the hardware configuration, to which we move on. Although he should have started with software, you can't argue against nature.

Hardware depends on the software used. Software - from the assigned tasks. And the correct statement of the problem has never been a strong point of the home master. So he starts with iron. If we came to building a NAS with a bag of parts left over from upgrades, then the good news is that they will fit, albeit not optimally. Without even looking.

Pomelo in the barn

In order to comfortably watch FullHD video over the network, including BD disc images, we need at least:

  • 1-2 gigabytes of RAM if ZFS is not used and 4-8, more if ZFS is. (About ZFS - later, impatient Google to help.) But even on a rarity with 256 MB, you can collect something useful;
  • x86-compatible processor, ideally (and for ZFS) 64-bit, but 32-bit will work for most options. That is, any x86 processor, except for the already completely museum ones. It is desirable - less heated, but there is already something;
  • wired Ethernet port, gigabit is better - although 100 megabits is enough for viewing BD images over the network. Connecting a NAS over Wi-Fi is a controversial idea (but if you build it yourself, you have much more freedom in choosing wireless controllers);
  • drives and SATA ports. For NAS, there is no difference between SATA-2 (at 3Gb/s) and SATA-3 (at 6Gb/s). Not every drive is faster than the ancient SATA-1, so these ports can be used. But IDE drives, according to modern concepts, are slow, low-capacity, hot and noisy. If there are not enough SATA ports, controllers can be used. But if (when) you soon decide to move to new hardware, then the SATA controllers bought as crutches for an outdated motherboard will be lying around idle. I know for myself, I have two lying around. And be careful with drives over 2 TB. Many older controllers are not compatible with them. And among the SATA-1 controllers, there are those that do not work with disks larger than a terabyte - however, this is already antiquity and a rarity;
  • it’s clear, the case where it all fits and the power supply that it will pull. There are subtleties with the PSU, it makes sense to look after a new one, see below.

Most likely, the hardware remaining from the upgrades will satisfy such requirements. And if it also doesn’t make much noise (or there is where to remove it), then it’s generally lucky. You can start experimenting.

Indposhiv

If you are building a NAS from specially purchased components, then you should first decide on your wishes. In most cases (but it is impossible to embrace the immensity), requests are divided into three groups, conditionally “quietly compact”, “efficiently extensible” and “server-so-server”. I will clarify that there is no unambiguously correct option. After all, the user himself weighs the wishes, costs and his capabilities. But the wrong one is possible. When the result does not satisfy the requirements explicitly or implicitly specified in the design. For example, the spouse will say that the box is, of course, big. But it howls like an airplane, and she does not agree with her to live in the same apartment. Or the system assembled under the passive does not stand the test in the summer. Or corny video shuts up when viewed over the network. Therefore, it is better to consider wishes on the shore. Especially the implicit ones.

Important note. We are talking about NAS, not HTPC (Home Theater PC), that is, not about a computer showing movies with sound on a large screen connected to its video output. In principle, no one forbids you to make HTPC, including with many hard drives, although the requirements for HTPC and NAS, as well as the software and hardware used for them, are very different. HTPC is a different topic.

Quiet-compact

This set of requirements is shaped by off-the-shelf NAS. I want compact and quiet, but to fit 4 disks (often 6, sometimes more). Such requirements usually result in the choice of a Mini-ITX motherboard with a soldered Atom-like processor housed in a compact package. Examples are just below.

There is a very good preconfigured solution - HP Proliant Microserver (). Compact, reasonably priced (from 12,000 at the moment), 4 hard drives, the fifth can be inserted instead of ODD, which is superfluous in the NAS. And with the help of a small tambourine, make the port intended for ODD SATA work normally. Disadvantages - far from a powerful processor, but for many scenarios - sufficient. If the microserver suits you, we go to the chapter about software.

HP Proliant Microserver - a high-quality and inexpensive candidate for the role of a home NAS

If not, first select the case for the desired number of disks (whether or not a disk is needed for the system depends on the OS. We will discuss it in the chapter about software.). Here, in the struggle between show-offs of aesthetic feeling and greed with the desire for efficient costs, the first test of the strength of the concept of "quiet-compact" takes place. Beautiful compact cases are not cheap. If the toad is winning by the desire for efficiency, let's go to the chapter efficiently-scalable. We also go there if the selected case allows the installation of a microATX motherboard. If aesthetics won, we select the Mini-ITX (Mini-DTX) motherboard. The first requirement is a maximum of SATA ports (possible with eSATA). In principle, desktop versions with 6 SATA ports were produced. But whether it will be possible to find here and now is the question. If there are not enough ports, PCIe SATA controllers with 2 and even 4 ports are quite affordable. For them, of course, you need a PCIe slot. Given that it is the only one in Mini-ITX, expandability ends there.

Examples are all from real life, often with modifications and additional photos - see the FAQ in the profile thread, section 3.1

by axel77by half_moon_bayby padavan
FrameChenbro ES34069Lian Li PC-Q25Lian-Li PC-Q08
Power Supply180W includedCorsair PSU-500CXV2EU 500WEnermax 380W (82+)
MotherboardZotac NM10-DTX WiFiAsus E35M-I*Asus P8H67-I**
CPUintegrated Intel Atom D510integrated AMD E-350Intel Pentium G840
RAMKingston 2×2 GBCorsair XMS3 2×8 GB2x4GB DDR3-1333
Winchesters for data4×Samsung HD204UI7×3.5″6×3.5″ + hotswap for 3.5″ HDD in 5.25″ bay
System drive2.5″ Toshiba 500 GBUSB flash drive2.5″ HDD
Operating systemFreeBSDFreeNAS 8.xOMV
Additionallynetwork Intel WG82574L***ST-Lab 370 4xSATAPCIe 2xSATA-II
Price estimate****RUB 14,950RUB 15,600RUB 14,000

* E-350 motherboards are now rare, replaced by E-450 versions. SATA ports - less;
** Not for sale, but see, for example, ASUS P8H77-I;
*** the author added a network through a self-made raiser, but this is rather personal perfectionism;
**** Prices - an estimate at the request of the editors using modern Yandex Market, in the absence of - Price.ru, in the absence - analogues. The estimate is rough, since some models are no longer on sale and the prices found are not necessarily relevant. The price does not take into account data disks, a used system HDD, if available, was taken into account as 1000 rubles.

There are subtleties about "quiet". The first impulse is "complete passive". However, in most cases, the argument accepted is that 4-6 drives will produce more noise than a good 120mm fan at a lower RPM. In any case, you need to understand that you have to pay for everything, and a compact case, all other things being equal, will be noisier than a more spacious standard one with large fans.

The obvious feature of a soldered-in processor is performance. If it is not enough, the vast majority refuses the Mini-ITX format. But, for the sake of completeness, it must be said that this is not necessary, cf. configuration from maestro padavan.


Assembly from padavan, as you can see - extremely compact

In December last year, Intel Atom S1200 (Centerton) for server purposes was announced. When available, they might be an interesting option for a home NAS. Support for ECC memory, Intel Virtualization (VT-x), 8 lanes of PCI-E, 8 GB of memory - this is enough for most options.

Efficiently extensible

A significant part of NAS builders - some immediately, some faced with the limitations of options on Atom-like processors - decide to put together a configuration that allows for serious expansion. By processor, memory, but above all - by the number of disks. As already mentioned, ready-made NAS even for 4 drives are not cheap, and for 8-10 they are already prohibitively expensive for a home. At the same time, picking up a fairly spacious case is not difficult. For example, in my case, which was left over from the upgrade of the Kraftway computer (they didn’t save on case hardware then), now there are 7 pcs. 3.5″ drives and you can install 3 more without any problems. When choosing a case for a really large number of drives, you should look towards models with many 5.25″ slots, in which you can then install airflow baskets using 5.25″ slots for four 3.5″ drives. See the example in the Costs chapter.

Since the NAS works 24/7, I would like an energy-efficient processor (in Moscow, a watt per year costs 35 rubles). Intel Sandy Bridge and Ivy Bridge seriously reduce idle power consumption, and the NAS is extremely lightly loaded the lion's share of the time. Therefore, the daily power consumption of such a NAS can be significantly lower than that of the Atom version, which is not able to reduce idle consumption. Which processor model to take depends on whether real-time video transcoding is required.

Many modern TVs have DLNA functionality that allows you to receive video over a local area network. The problem is that they understand only some of the encoding options. And often not at all those that use rips and remixes that are found on the vastness of the Web. The problem can be solved in several ways. (1) Search for movies in a format that your TV recognizes. It's the tail wagging the dog. (2) Recode the movie on the computer to suit the TV's requests. This is a waste of time and is only possible for self-made video. (3) Load the NAS with real-time transcoding and (4) Buy a media player, that is, a small box that receives, including over a network from the NAS, video as files and supplies an audio-video signal to a TV with a receiver, usually via HDMI. If you chose option (3), then you need to study the specifications of the TV and watch in the Core i7 area. Plus, due to restrictions in DLNA in general, and in the implementation of this marketing idea on your TV in particular, you will not be able to get complete omnivorousness. Option (4) at the current price level is not only simpler and more functional, but also cheaper. Whereas a NAS processor will fit virtually any low-end Pentium or Celeron 2nd or 3rd Generation Core. You can take i3, since the difference will be negligible compared to the price of disks. Choose to taste. For a quick reference or a detailed final comparison of the candidate models, you can use the processor testing section on iXBT. I took the Intel Pentium G2120 as the junior Ivy Bridge at that time. The junior Sandy Bridges are cheap and more than adequate.

AMD processors available at the time of writing are not impressive compared to Intel - although AMD is much more generous in providing its processors with ECC memory support, and it is possible that the company will soon have something competitive, for example, the Opteron 3250 with a declared price of $99.


ASUS P8H77-M Pro Motherboard: 7 SATA, up to 32 GB RAM

Motherboard. I took ASUS P8H77-M Pro for the following reasons:

  • LGA1155, we get embedded video automatically due to the processor, it will be needed only at the installation stage;
  • the maximum number of SATA ports, no matter, 3 or 6 Gb / s (7 SATA + eSATA);
  • 4 memory slots are better, but 2 is enough (4, up to 32 GB);
  • integrated 1000BaseTX, considered to be the best from Intel. But given the presence of a processor with a margin of computing power, Realtek will do just fine (Realtek 8111F);
  • PCIe slots for future installation of SATA controllers and network cards (x16, x4 in x16 slot, 2 x1);
  • Form factor - microATX.
This is quite enough to provide all the required functionality. And all kinds of additions will only eat electricity in vain. But if you suddenly liked the ATX-board - you have the right.

The cooler is chosen according to taste, memory - according to the requirements of the selected OC. Here, a spread from gigabytes to 32 is possible.

The power supply is moved to a separate chapter.

Examples of the described option:



by ZanZagby shale
FrameLian Li PC-V354RInWin BP659
Power SupplyChieftec BPS-550C 550W200W included
MotherboardASUS P8H67-M EVO(B3)ECS H61H2-I2
CPUIntel Pentium G860Intel Celeron G530
RAM4x4GB DDR3 PC3-1066Kingston 2×2 GB
Winchesters for data6×Hitachi HDS5C3030ALA6303×Seagate ST3000DM001
System driveCF 4 GB via CF-IDE adapter40GB SSD
Operating systemnas4free 9.xOMV
Additionally Cooler Master DP6-8E5SB-PL-GP cooler, add. 2×Zalman FDB-1 and Arctic Cooling F9 PWM fans
Price estimateRUB 18,2007300 rub

server-so-server

There is a "premium" category of NAS builders who, for objective or subjective reasons, build a NAS from serious and expensive server components. Enthusiasts are experimenting with 10 Gigabit networking solutions. Remember that server configurations are often not quite compatible with living quarters in size and noise. The ability to use ECC memory is the most obvious advantage of the approach. The ZFS file system used in this segment of the home NAS build is memory intensive. In this case, a memory failure can lead to data corruption that goes unnoticed. ECC memory solves the problem, but using it in the Intel version requires server processors (there are interesting exceptions, such as the Pentium G2120) and motherboards.

Virtualization is often used and several guest OCs solve problems, each with their own. A common option is when a SATA controller is thrown into a virtual machine that performs the storage function (Solaris or FreeBSD with zfs). From this VM, disk capacity is exported over NFS or iSCSI to the hypervisor and other VMs. From further explanation of what I myself do not understand much, I will refrain and give real examples.





Assembly from TPAKTOP, outside and inside view

by fatfreeby axel77by TPAKTOP
FrameFractal Design Define MiniSupermicro CSE-SC846E26-R1200B
Power SupplySeasonic X560
MotherboardSupermicro X9SCL-FSupermicro X9SCM-FSupermicro X9SCM-F
CPUIntel Xeon E3-1230Intel Xeon E3-1230Intel Xeon E3-1220
RAM4×Kingston KVR1333D3E9S/8G4×Kingston KVR1333D3E9S/4G4×Kingston KVR1333D3E9S/4G
Winchesters for data5×WD20EFRXin the process of accumulation12×ST31000524AS in two 6xRaidZ2 (main pool), 2xST32000542AS in mirror (backup pool), 4xST3250318AS in stripe (torrent pool)
System driveIntel SSD 520 180 GB2.5″ for 320 GBTS64GSSD25S-M
Operating systemESXi 5.1.0 + Nexenta CE + Ubuntu Server 12.04 + Windows 8FreeBSDFreeBSD
AdditionallyHBA IBM ServeRAID M1015, Noctua NH-L12 cooler2×HBA IBM ServeRAID M10152×HBA IBM ServeRAID M1015, Intel Gigabit ET Dual Port Server Adapter

SATA/SAS controllers

So if you can't wait, you can get started. And in the second part of the software we will discuss in more detail.

I would like to express my gratitude to all participants of the profile branch on the forum.site, including comrades axel77, half_moon_bay, padavan, ZanZag, shale, whose configurations were used in the article; comrades Sergei V. Sh, TPAKTOP, iZEN and RU_Taurus for many helpful comments.
Special thanks to free software developers: Olivier Cochard-Labbé, Daisuke Aoyama, Michael Zoon, Volker Theile and many more. They made the DIY NAS theme possible.

Editor's Choice
Bonnie Parker and Clyde Barrow were famous American robbers active during the...

4.3 / 5 ( 30 votes ) Of all the existing signs of the zodiac, the most mysterious is Cancer. If a guy is passionate, then he changes ...

A childhood memory - the song *White Roses* and the super-popular group *Tender May*, which blew up the post-Soviet stage and collected ...

No one wants to grow old and see ugly wrinkles on their face, indicating that age is inexorably increasing, ...
A Russian prison is not the most rosy place, where strict local rules and the provisions of the criminal code apply. But not...
Live a century, learn a century Live a century, learn a century - completely the phrase of the Roman philosopher and statesman Lucius Annaeus Seneca (4 BC -...
I present to you the TOP 15 female bodybuilders Brooke Holladay, a blonde with blue eyes, was also involved in dancing and ...
A cat is a real member of the family, so it must have a name. How to choose nicknames from cartoons for cats, what names are the most ...
For most of us, childhood is still associated with the heroes of these cartoons ... Only here is the insidious censorship and the imagination of translators ...