Things and Stuff Wiki - An organically evolving personal wiki knowledge base with an on-the-fly taxonomy containing topic outlines, descriptions, notes and breadcrumbs, with links to sites, systems, software, manuals, organisations, people, articles, guides, slides, papers, books, comments, videos, screencasts, webcasts, scratchpads and more. Quality varies drastically. Use the Table of Contents to navigate long pages, use the Small-ToC and Tiny-ToC header links on longer pages. Not that mobile friendly atm. #tnswiki on freenode IRC for feedback chat, or see About for login and further information. / et / em
- 1 General
- 2 Linux
- 3 Minicomputer
- 4 PC form factor
- 4.1 Case
- 4.2 Mini ATX
- 4.3 Small
- 4.4 Single-board computer
- 4.4.1 Arduino
- 4.4.2 Raspberry Pi
- 4.4.3 BeagleBoard
- 4.4.4 Banana Pi
- 4.4.5 Orange Pi
- 4.4.6 ODROID
- 4.4.7 Asus Tinker Board
- 4.4.8 ROCK64
- 4.4.9 C.H.I.P.
- 4.4.10 Marvell ESPRESSObin
- 4.4.11 MiBox
- 4.4.12 Intel Galileo
- 4.4.13 Intel Compute Stick
- 4.4.14 Intel Quark
- 4.4.15 HummingBoard
- 4.4.16 CuBOX
- 4.4.17 VoCore
- 4.4.18 Tinyduino
- 4.5 Single-board microcontroller
- 4.6 Secure
- 5 Power
- 6 Motherboard
- 7 BIOS
- 8 CPU
- 9 Memory
- 10 Bus /interface
- 11 Input
- 12 Output
- 13 Storage
- 14 Media
- 15 Laptop
- 16 Mobile
- 17 Wearable
- 18 Mirror
- 19 Sensor
- 20 Household
- 21 Multicoptor
- 22 Satellite
- 23 Emulation
- https://en.wikipedia.org/wiki/PC_System_Design_Guide - also known as the PC 97, PC 98, PC 99, or PC 2001 specification, is a series of hardware design requirements and recommendations for IBM PC compatible personal computers, compiled by Microsoft and Intel Corporation during 1997–2001. They were aimed at helping manufacturers provide hardware that made the best use of the capabilities of the Microsoft Windows operating system, and to simplify setup and use of such computers. Every part of a standard computer and the most common kinds of peripheral devices are defined with specific requirements. Systems and devices that meet the specification should be automatically recognized and configured by the operating system.
- http://archive.is/4fJsx- computer diagram
- HDT (stands for Hardware Detection Tool) is a Syslinux com32 module that displays low-level information for any x86 compatible system. It provides both a command line interface and a semi-graphical menu mode for browsing.
News and reviews
- hard drive size filter (was?) 1Tb max
- Core I7-4790K 4-Core 4.0GHz
- 2x PCI-E 3.0
cat /proc/cpuinfo lspci lsusb dmidecode
PC form factor
- Intel NUC - a powerful 4x4-inch mini PC with entertainment, gaming, and productivity features, including a customizable board that is ready to accept the memory, storage, and operating systems that you want.
UDOO x86 Advanced Plus
- YouTube: UDOO x86 Advanced Plus
See also Network#Hardware 2
- 96Boards - a range of specifications with boards and peripherals offering different performance levels and features in a standard footprint.
- Board-DB.org - by rating, descending
- BeagleBone - Explore the high-performance, low-power world with the tiny, affordable, open-source Beagles. Putting Android, Ubuntu and other Linux flavors at your fingertips, the Beagle family revs as high as 1GHz with flexible peripheral interfaces and a proven ecosystem of feature-rich "Cape" plug-in boards.
- Orange Pi Pc Plus - It’s an open-source single-board computer. It can run Android 4.4, Ubuntu, Debian, Raspbian Image. It uses the AllWinner H3 SoC, and has 1GB DDR3 SDRAM.
- ODROID - ODROID-XU4, ODROID-C2, ODROID-C1+
- Turris Omnia - With powerful hardware, Turris Omnia can handle gigabit traffic and still be able to do much more. You can use it as a home server, NAS, printserver and it even has a virtual server built-in. 
Asus Tinker Board
- ROCK64 - RPi 3 like
- YouTube: ROCK64 4K USB 3.0 SBC - ExplainingComputers
- C.H.I.P. - WiFi B/G/N Built-in! Plug C.H.I.P. in and hop on the internet in 60 seconds flat. 1GHz Processor C.H.I.P.'s R8 processor allows C.H.I.P. to be small and powerful enough to handle any task you can throw at it. 4GB of High-speed Storage C.H.I.P. comes with storage onboard, so there’s no need to purchase an SD card. C.H.I.P. is ready to go. 512MB of RAM C.H.I.P. comes with enough RAM to start your projects right away. Bluetooth 4.0 Wirelessly connect keyboards, mice, and controllers to C.H.I.P. With a few clicks and an old stereo, turn C.H.I.P. into an AirPlay or Bluetooth speaker. C.H.I.P. Works with ANY Display
- C.H.I.P. Pro - 1GHz ARMv7-A, 256MB/512MB DDR3/SLC NAND, I2S Audio Dual Mics, WiFi B/G/N & BT4.2, Fully Certified, Open Source HW, OS, No NDAs!
Intel Compute Stick
- Intel Compute Stick - Intel Compute Stick is a device the size of a pack of gum that turns any HDMI display into a fully functional computer: same operating system, same high quality graphics, and same wireless connectivity. All this in a PC on a stick that measures 4.5 inches from end to end, and is ready to compute right out of the box.
- Intel Quark - Based on the Intel Quark microcontroller D2000, this kit is used to develop and prototype low-power solutions for the Internet of Things (IoT). The kit includes a developer board with sensors and hardware interface shields, a software IDE, and an open-source board support package.
- VoCore - open hardware and runs OpenWrt/LEDE. It has WIFI, USB, UART, 20+ GPIOs but is only one inch square. It will help you to make a smart house, study embedded system or even make the tiniest router in the world.
- Teensy USB Development Board - a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port.
- ESP32 - Created by Espressif Systems, ESP32 is a low-cost, low-power system on a chip (SoC) series with Wi-Fi & dual-mode Bluetooth capabilities! The ESP32 family includes the chips ESP32-D0WDQ6 (and ESP32-D0WD), ESP32-D2WD, ESP32-S0WD, and the system in package (SiP) ESP32-PICO-D4. At its heart, there's a dual-core or single-core Tensilica Xtensa LX6 microprocessor with a clock rate of up to 240 MHz. ESP32 is highly integrated with built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power management modules. Engineered for mobile devices, wearable electronics, and IoT applications, ESP32 achieves ultra-low power consumption through power saving features including fine resolution clock gating, multiple power modes, and dynamic power scaling.
- https://en.wikipedia.org/wiki/ESP8266 - a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability produced by Shanghai-based Chinese manufacturer, Espressif Systems.
- WISP - the Wireless Identification and Sensing Platform, is a family of sensors that are powered and read by UHF RFID readers. WISPs do not require batteries since they harvest their power from the RF signal generated by the reader. The WISP is an open source, open architecture EPC Class 1 Generation 2 RFID tag that includes a fully programmable 16 bit microcontroller, as well as arbitrary sensors. Unlike the WISP, conventional RFID tags are black boxes that cannot execute arbitrary computer programs, and do not support sensors. We have given WISPs to collaborators around the world. Many of the applications have been sensing related, but we were also surprised to find many applications in the areas of cryptography and security, enabled by WISPs programmability. 
- http://linux-sunxi.org/Main_Page - Welcome to the wiki of the linux-sunxi community, an open source software community dedicated to providing open source operating system support for Allwinner SoC based devices. sunxi represents the family of ARM SoCs from Allwinner Technology, a Chinese fabless semiconductor company. Their best known products are the sunxi SoC series, such as the A10 (sun4i), A13 (sun5i) and A20 (sun7i) chips, which were very successful in the low-budget tablet market. See Allwinner SoC Family for more information on the different Allwinner chips.
- 600w +
https://en.wikipedia.org/wiki/Motherboard - (sometimes alternatively known as the mainboard, system board, baseboard, planar board or logic board, or colloquially, a mobo) is the main printed circuit board (PCB) found in general purpose microcomputers and other expandable systems. It holds and allows communication between many of the crucial electronic components of a system, such as the central processing unit (CPU) and memory, and provides connectors for other peripherals. Unlike a backplane, a motherboard usually contains significant sub-systems such as the central processor, the chipset's input/output and memory controllers, interface connectors, and other components integrated for general purpose use.
Motherboard specifically refers to a PCB with expansion capability and as the name suggests, this board is often referred to as the "mother" of all components attached to it, which often include peripherals, interface cards, and daughtercards: sound cards, video cards, network cards, hard drives, or other forms of persistent storage; TV tuner cards, cards providing extra USB or FireWire slots and a variety of other custom components. Similarly, the term mainboard is applied to devices with a single board and no additional expansions or capability, such as controlling boards in laser printers, televisions, washing machines and other embedded systems with limited expansion abilities.
- Booting to the Boot Menu and BIOS - This document is an overview of the keys that allow you to boot to a system BIOS and boot menu on various systems.
- Computer POST and beep codes - The computer POST (power-on self-test) checks a computer's internal hardware for compatibility and connection before starting the remainder of the boot process. If the computer passes the POST, the computer may give a single beep (some computers may beep twice) as it starts and continue to boot. However, if the computer fails the POST, the computer will either not beep or generate a beep code that tells the user the source of the problem.
- dmidecode - reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI standard (see a sample output). This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details of varying level of interest and reliability depending on the manufacturer. This will often include usage status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory module slots, and the list of I/O ports (e.g. serial, parallel, USB).
- https://github.com/dell/biosdisk - Flashing Dell BIOS images on Linux systems
- flashrom - a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various other programmer devices.
- Booting a Self-signed Linux Kernel - Now that The Linux Foundation is a member of the UEFI.org group, I’ve been working on the procedures for how to boot a self-signed Linux kernel on a platform so that you do not have to rely on any external signing authority. After digging through the documentation out there, it turns out to be relatively simple in the end, so here’s a recipe for how I did this, and how you can duplicate it yourself on your own machine.
- https://en.wikipedia.org/wiki/I²C - pronounced I-squared-C, is a synchronous, multi-master, multi-slave, packet switched, single-ended, serial computer bus invented in 1982 by Philips Semiconductor (now NXP Semiconductors). It is widely used for attaching lower-speed peripheral ICs to processors and microcontrollers in short-distance, intra-board communication. Alternatively I²C is spelled I2C (pronounced I-two-C) or IIC (pronounced I-I-C). Since October 10, 2006, no licensing fees are required to implement the I²C protocol. However, fees are required to obtain I²C slave addresses allocated by NXP. Several competitors, such as Siemens AG (later Infineon Technologies AG, now Intel mobile communications), NEC, Texas Instruments, STMicroelectronics (formerly SGS-Thomson), Motorola (later Freescale, now merged with NXP), Nordic Semiconductor and Intersil, have introduced compatible I²C products to the market since the mid-1990s.
- https://en.wikipedia.org/wiki/System_Management_Bus - SMBus, defined by Intel in 1995, is a subset of I²C, defining a stricter usage. One purpose of SMBus is to promote robustness and interoperability. Accordingly, modern I²C systems incorporate some policies and rules from SMBus, sometimes supporting both I²C and SMBus, requiring only minimal reconfiguration either by commanding or output pin use.
- https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus - SPI) is a synchronous serial communication interface specification used for short distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid 1980s and has become a de facto standard. Typical applications include Secure Digital cards and liquid crystal displays. SPI devices communicate in full duplex mode using a master-slave architecture with a single master. The master device originates the frame for reading and writing. Multiple slave devices are supported through selection with individual slave select (SS) lines.
Sometimes SPI is called a four-wire serial bus, contrasting with three-, two-, and one-wire serial buses. The SPI may be accurately described as a synchronous serial interface, but it is different from the Synchronous Serial Interface (SSI) protocol, which is also a four-wire synchronous serial communication protocol. SSI Protocol employs differential signaling and provides only a single simplex communication channel.
- https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter - a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. The electric signaling levels and methods are handled by a driver circuit external to the UART. A UART is usually an individual (or part of an) integrated circuit (IC) used for serial communications over a computer or peripheral device serial port. One or more UART peripherals are commonly integrated in microcontroller chips. A related device, the universal synchronous and asynchronous receiver-transmitter (USART) also supports synchronous operation.
- lspci is a utility for displaying information about PCI buses in the system and devices connected to them.
- https://github.com/swetland/usbmon - A simple tool to trace linux USB activity, using /dev/usbmon0.
- https://github.com/mvp/uhubctl - USB hub per-port power control
- LUFA - Lightweight USB Framework for AVRs, formerly known as MyUSB, is my first foray into the world of USB. It is an open-source complete USB stack for the USB-enabled Atmel AVR8 and (some of the) AVR32 microcontroller series, released under the permissive MIT License (see documentation or project source for full license details). The complete line of Atmel USB AVRs and USB AVR boards are supported by the library, as are any custom user boards, via custom board hardware drivers supplied by the user.
IEEE 1394 / Firewire
lsmod | egrep 'firewire|1394'
- dvgrab is a program that captures DV video and audio data from digital camcorders via an IEEE1394 link. The DV data is stored in one or several files and can later be processed by video editing software. dvgrab can remote control the camcorder but it does not show the video's content on screen.
dvgrab --size 500 --autosplit <filename>
dvgrab - | mplayer -
- http://stackoverflow.com/questions/12338621/a2dp-sink-without-pulseaudio - audio streaming
- https://en.wikipedia.org/wiki/InfiniBand - abbreviated IB, is a computer-networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also used as either a direct or switched interconnect between servers and storage systems, as well as an interconnect between storage systems.
- https://en.wikipedia.org/wiki/Fibre_Channel - or FC, is a high-speed network technology (commonly running at 1, 2, 4, 8, 16, 32, and 128 gigabit per second rates) primarily used to connect computer data storage to servers. Fibre Channel is mainly used in storage area networks (SAN) in commercial data centers. Fibre Channel networks form a switched fabric because they operate in unison as one big switch. Fibre Channel typically runs on optical fiber cables within and between data centers, but can also run on copper cabling.
PCMCIA / PC Card
- https://en.wikipedia.org/wiki/PC_Card - a configuration for computer parallel communication peripheral interface, designed for laptop computers. Originally introduced as PCMCIA, the PC Card standard as well as its successors like CardBus were defined and developed by the Personal Computer Memory Card International Association (PCMCIA).
- deskthority wiki is dedicated to mechanical keyboards, mice and other human interface devices. The main focus is everything regarding quality (mechanical) keyboards. In the nature of a wiki, the content will be frequently and constantly under construction. Want to share your knowledge and help us create the best input device wiki? This wiki is part of the deskthority forum - sign in with your forum account and start editing!
- http://www.robopeak.com/blog/?p=282 - diy laser keyboard
- https://github.com/zevv/bucklespring - Nostalgia bucklespring keyboard sound
- https://github.com/jackrosenthal/threelayout - A better modifier based keyboard layout
- https://github.com/p-society/typeracer-cli - Learn how to touch type from the comfort of your terminal and challenge your friends for a match .
- https://github.com/balzss/cli-typer - Practice touch typing in the commandline and measure your skills.
- http://www.usb.org/developers/hidpage/ - pdf
- http://www.freebsddiary.org/APC/usb_hid_usages.php - hex
- http://www.kvazi-k700i.narod.ru/info_hid.html - hex and decimal
- https://flirc.tv - Flirc USB learns from any remote control, not caring about different vendor protocols. Just walk through the super simple setup - pairing individual remote buttons with 'Media Centre Buttons' and you're done. It's basically a universal IR receiver, so can be used with any remote you choose, old, new or Universal! The best part about FLIRC is that it can be used to mimic a keyboard so every media center application understands it without any drivers. FLIRC runs across all platforms, Mac, Linux, and Windows.
- irplus - Irdroid - free application for the Android Operating System which aims to reproduce infrared signals of various remote controls exactly as they are sent from the original remote. This is achieved by supporting widely-known representation formats for infrared codes like LIRC, PRONTO, RAW or proprietary formats found in some specification of manufacturers. Furthermore each layout of a remote-set can be customized with nearly endless possibilities via importable and exportable XML files. Codesets for remote controls can be gathered by following the guide i have provided under the "New codes" section. Irplus comes with minimal permissions required.
- https://github.com/yolanother/android-lircd - Android port of lircd
- https://en.wikipedia.org/wiki/Wii_Remote - known colloquially as the Wiimote, is the primary controller for Nintendo's Wii console. A main feature of the Wii Remote is its motion sensing capability, which allows the user to interact with and manipulate items on screen via gesture recognition and pointing through the use of accelerometer and optical sensor technology. Another feature is its expandability through the use of attachments. The attachment bundled with the Wii console is the Nunchuk, which complements the Wii Remote by providing functions similar to those in gamepad controllers.
- The Wekinator - free, open source software originally created in 2009 by Rebecca Fiebrink. It allows anyone to use machine learning to build new musical instruments, gestural game controllers, computer vision or computer listening systems, and more. The Wekinator allows users to build new interactive systems by demonstrating human actions and computer responses, instead of writing programming code.
- https://github.com/jasonwebb/openSipPuff - Simple, low-cost "sip and puff" USB interface for expressive interactions, enabling breath-based control of keypresses, mouse actions and much more using USB HID.
See also *nix#Printing
- https://github.com/mntmn/amiga2000-gfxcard - MNT VA2000, an Open Source Amiga Graphics Card (Zorro II/III), written in Verilog 
- http://www.free3d.org/ - 3D Graphics hardware performance using Free Software drivers (X.Org DRI)
- https://en.wikipedia.org/wiki/Extended_display_identification_data - EDID
- Pective - display the actual size of any item right on your monitor. All you have to do is specify your monitor size, and Pective will display the image life-size!
- http://www.youtube.com/watch?v=tS8tK9AS6WE - cgi
vga to d-tv;
- https://en.wikipedia.org/wiki/FreeSync - an adaptive sync technology initially developed by AMD in response to NVidia's G-Sync for LCD displays that reduces screen tearing. FreeSync is royalty-free, free to use, and has no performance penalty. As of 2015, VESA has adopted FreeSync as an optional component of the DisplayPort 1.2a specification. FreeSync has a dynamic refresh rate range of 9-240Hz.
See also Media#CD / DVD
- http://forre.st/storage - Storage Analysis - GB/$ (New Egg) for different sizes and media
- smartmontools - contains two utility programs (smartctl and smartd) to control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA and SCSI harddisks. In many cases, these utilities will provide advanced warning of disk degradation and failure.
- http://sourceforge.net/apps/trac/smartmontools/wiki smartmontools contains utility programs (smartctl, smartd) to control/monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (S.M.A.R.T.) built into most modern ATA and SCSI disks. It is derived from smartsuite.
- What is the Best Hard Drive? - The table below shows the annual failure rate through the year 2014. Only models where we have 45 or more drives are shown. I chose 45 (2014) because that’s the number of drives in a Backblaze Storage Pod and it’s usually enough drives to start getting a meaningful failure rate if they’ve been running for a while. Go HGST.
- PDF: Failure Trends in a Large Disk Drive Population
- unRAID is an embedded Network Attached Storage (NAS) server operating system, designed for digital media storage. It allows you to build an array of hard drives and share the data from those drives across the local network (typically within a house or business). Importantly, it protects all the data on the drives if one should fail.
Great for boot/os drive.
- Rockbox is a free replacement firmware for digital music players. It runs on a wide range of players:
- gtkpod is a graphical user interface for the Apple iPod for Unix-like systems, written using the GTK+ toolkit.
- Dasher - an information-efficient text-entry interface, driven by natural continuous pointing gestures. Dasher is a competitive text-entry system wherever a full-size keyboard cannot be used - for example: when operating a computer one-handed, by joystick, touchscreen, trackball, or mouse; when operating a computer with zero hands (i.e., by head-mouse or by eyetracker); on a palmtop computer; on a wearable computer. The eyetracking version of Dasher allows an experienced user to write text as fast as normal handwriting - 29 words per minute; using a mouse, experienced users can write at 39 words per minute. Dasher can be used to write efficiently in any language. Dasher is fast and fun to learn.
- Opengazer - an open source application that uses an ordinary webcam to estimate the direction of your gaze. This information can then be passed to other applications. For example, used in conjunction with Dasher, opengazer allows you to write with your eyes. Opengazer aims to be a low-cost software alternative to commercial hardware-based eye trackers.
"People love exclusivity, but with an air of egalitarianism."
- https://news.ycombinator.com/item?id=17214986 - haptic phonemes
- https://github.com/Foaly/UltrasonicHearing - Ultrasonic hearing for the Teensy 3.6
- MagicMirror² - an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.
- psensor - a graphical hardware temperature monitor for Linux.
- Waggle - An Open Platform for Edge Computing and Intelligent Sensors
- 2018-04-20: Making a Window Manager (part 1) - You know what happens in the office, usually late in the afternoon? That’s right! Exactly when you’re at the peak of productivity, Mr. Sun basically slams into your window and mocks you. In the face. You could raise from the chair and turn the shades, I guess. You could. But I can not. I need an automatic sun-b-gone mechanism! Something smart, IOT and with blockchain technology. A true Window Manager™. Can we make it using only assorted junk found on the desk? Looking through the stuff I think I see a small stepper and some micros… I believe We Can
- ArduPilot - the most advanced, full-featured and reliable open source autopilot software available. It has been developed over 5+ years by a team of diverse professional engineers and computer scientists. It is the only autopilot software capable of controlling any vehicle system imaginable, from conventional airplanes, multirotors, and helicopters, to boats and even submarines. And now being expanded to feature support for new emerging vehicle types such as quad-planes and compound helicopters.
See also Virtualisation
- IBMULATOR - a free/libre, open source emulator for the IBM PS/1, able to run with the original ROM. The goal is to create a faithful simulator capable of recreate the look and feel of the real machine.
- Bochs - a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors which may even not reached the market yet. Bochs is capable of running most Operating Systems inside the emulation including Linux, DOS or Microsoft Windows. Bochs was originally written by Kevin Lawton and is currently maintained by this project. Bochs can be compiled and used in a variety of modes, some which are still in development. The 'typical' use of bochs is to provide complete x86 PC emulation, including the x86 processor, hardware devices, and memory. This allows you to run OS's and software within the emulator on your workstation, much like you have a machine inside of a machine. For instance, let's say your workstation is a Unix/X11 workstation, but you want to run Win'95 applications. Bochs will allow you to run Win 95 and associated software on your Unix/X11 workstation, displaying a window on your workstation, simulating a monitor on a PC.