- 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 Mainboard
- 7 BIOS
- 8 CPU
- 9 Memory
- 10 Bus /interface
- 10.1 RS232
- 10.2 I²C
- 10.3 SPI
- 10.4 UART
- 10.5 SCSI
- 10.6 PATA
- 10.7 SATA
- 10.8 PCI
- 10.9 BNC
- 10.10 USB
- 10.11 IEEE 1394 / Firewire
- 10.12 Bluetooth
- 10.13 M.2
- 10.14 InfiniBand
- 10.15 Fibre Channel
- 10.16 Gen-Z
- 10.17 D-sub
- 10.18 PCMCIA / PC Card
- 11 Input
- 12 Output
- 13 Media
- 14 Laptop
- 15 Mobile
- 16 Wearable
- 17 Mirror
- 18 Sensor
- 19 Household
- 20 Multicoptor
- 21 Satellite
- 22 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+, N2, etc.
- 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. 
- https://github.com/chris408/digispark-usbkey-board - a super small Arduino compatible device that can be used for lots of different projects. This document and code helps you set one up as a virtual keyboard that will send characters of your choice to the host system.
- 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 +
- apcupsd - can be used for power mangement and controlling most of APC’s UPS models on Unix and Windows machines. Apcupsd works with most of APC’s Smart-UPS models as well as most simple signalling models such a Back-UPS, and BackUPS-Office. During a power failure, apcupsd will inform the users about the power failure and that a shutdown may occur. If power is not restored, a system shutdown will follow when the battery is exhausted, a timeout (seconds) expires, or runtime expires based on internal APC calculations determined by power consumption rates. Apcupsd is licensed under the GPL version 2.
- 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://github.com/Goldfish64/AudioPkg - a set of drivers/applications for supporting audio (currently only Intel HD audio) under UEFI.
- AllPinouts - a Web-based free content project to list cable and connectors pin-outs.
- 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.
- lines: A user's guide to i2c
- 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://en.wikipedia.org/wiki/BNC_connector - a miniature quick connect/disconnect radio frequency connector used for coaxial cable. It features two bayonet lugs on the female connector; mating is fully achieved with a quarter turn of the coupling nut. BNC connectors are used with miniature-to-subminiature coaxial cable in radio, television, and other radio-frequency electronic equipment, test instruments, and video signals. The BNC was commonly used for early computer networks, including ARCnet, the IBM PC Network, and the 10BASE2 variant of Ethernet. BNC connectors are made to match the characteristic impedance of cable at either 50 ohms or 75 ohms. They are usually applied for frequencies below 4 GHz and voltages below 500 volts
- pid.codes - a registry of USB PID codes for open source hardware projects. You can see a list of PID assignments, or learn how to get your own. 
- YouTube: William Light - Linux USB HID Interfacing in Userspace - wrl
- Electrical Engineering Stack Exchange connector - Why was Mini USB deprecated in favor of Micro USB?
- serialusb - a cheap USB proxy for input devices.This tool can act as a USB proxy using the well-known DIY USB adapter. Combined with usbmon and wireshark, it allows to generate and inspect USB captures. 
- GIMX - free software that allows to use a computer as a hub for your gaming devices. It works on Windows® and GNU/Linux platforms. It is compatible with Playstation® and Xbox® gaming consoles, and with gaming computers. The connection between the computer and the gaming platform is performed using a USB adapter – get one on the GIMX shop! – or a Bluetooth® dongle (PS3/PS4 only). The capabilities depend on the platform, the connection method, and the gaming platform.
- 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.
- https://github.com/KernelEquinox/Teensyterpreter - A Teensy script to open up a reverse TCP shell on Windows machines in as little time as possible.
- https://github.com/hak5darren/USB-Rubber-Ducky - a Human Interface Device programmable with a simple scripting language allowing penetration testers to quickly and easily craft and deploy security auditing payloads that mimic human keyboard input. The source is written in C and requires the AVR Studio 5 IDE from atmel.com/avrstudio. Hardware is commercially available at hakshop.com. Tools and payloads can be found at usbrubberducky.com. Quack!
- Teensy USB - 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.
- Hackaday: Plug Into USB, Get a Reverse Shell
- USBdriveby - a device you stylishly wear around your neck which can quickly and covertly install a backdoor and override DNS settings on an unlocked machine via USB in a matter of seconds. It does this by emulating a keyboard and mouse, blindly typing controlled commands, flailing the mouse pointer around and weaponizing mouse clicks.In this project, we'll learn how to exploit a system's blind trust in USB devices, and learn how a $20 Teensy microcontroller can evade various security settings on a real system, open a permanent backdoor, disable a firewall, control the flow of network traffic, and all within a few seconds and permanently, even after the device has been removed. 
- PICJUG - an open source replacement for the FT232 USB chip from FTDI. I designed it because I find that I often need a serial port, JTAG port and a couple of outputs when talking to an embedded system and didn’t like connecting multiple devices to achieve this result. Ultimately, I wanted to drop a single inexpensive part in to a design to achieve these goals. PICJUG is named after what it does. It’s a PIC J TAG, U ART and G PIO device.
- YouTube: (12) Playing with USB Power Delivery
- USB Charger Fooled into Variable Voltage Source | Hackaday
- Turning a Quick Charge 3.0 charger into a variable voltage power supply
- https://www.kernel.org/doc/Documentation/usb/usbmon.txt - a facility in kernel which is used to collect traces of I/O on the USB bus. This function is analogous to a packet socket used by network monitoring tools such as tcpdump(1) or Ethereal. Similarly, it is expected that a tool such as usbdump or USBMon (with uppercase letters) is used to examine raw traces produced by usbmon.
- https://github.com/swetland/usbmon - commandline linux usbmon interface
- https://github.com/mvp/uhubctl - USB hub per-port power control
- SyncStop / USB Condom - prevents accidental data exchange when your device is plugged into someone else’s computer or a public charging station. SyncStop achieves this by blocking the data pins on any USB cable and allowing only power to flow through. This minimizes opportunities to steal your data or install malware on your mobile device.SyncStop is the 'cased' version of the original USB Condom. We listened and spent some time designing and manufacturing our own enclosure. 
- USBGuard - software framework helps to protect your computer against rogue USB devices (a.k.a. BadUSB) by implementing basic whitelisting and blacklisting capabilities based on device attributes.
- HighPoint RocketU 4-port USB 3.0 Card Review | Everything USB
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 -
- 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.
- https://en.wikipedia.org/wiki/Gen-Z - woeful article
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 - 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!
- MOUSEJACK - Wireless Mouse Hacks & Network Security Protection | Mousejack - a class of vulnerabilities that affects the vast majority of wireless, non-Bluetooth keyboards and mice. These peripherals are 'connected' to a host computer using a radio transceiver, commonly a small USB dongle. Since the connection is wireless, and mouse movements and keystrokes are sent over the air, it is possible to compromise a victim's computer by transmitting specially-crafted radio signals using a device which costs as little as $15.
- https://github.com/insecurityofthings/jackit - a partial implementation of Bastille's MouseJack exploit
- https://github.com/cdobrich/btnx - a daemon that enables rerouting of mouse button events through uinput as keyboard and other mouse button combinations. btnx requires btnx-config, a configuration tool for btnx. See cdobrich/btnx-config for more details.
- 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
- Raymii.org: Split keyboards, a five year review including the ErgoDox EZ, Matias Ergo Pro and Kinesis Freestyle 2
- Keyboardio - With a hardwood body, mechanical switches & custom-sculpted keycaps, it's a dream to type on. It comes with source code & a screwdriver.
- 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://github.com/klogg/fl2000_drm - Linux kernel FL2000DX/IT66121FN dongle DRM driver
- 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.
- 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.
- Smart Mirror - A voice controlled life automation hub, most commonly powered by the Raspberry Pi.
- 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.
- https://github.com/mduft/rex - A SSH based remote execution agent that allows to execute non-native binaries on shared filesystem remotely on another architecture (fex. run windows binaries from linux, executing on native windows).
- https://github.com/ptitSeb/box86 - run x86 Linux program (games) on non-x86 Linux, like ARM (needs to be 32bits little-endian).Also, Box86 use native version for some "system" libraries, like libc, libm, or SDL and OpenGL, leading to more performance and easier integration with host system.
- SimH - a simulator for historic computer systems, as well as papers and reflections on the history of computing, particularly at Digital Equipment Corporation (DEC). SimH (History Simulator) is a loose Internet-based collective of people interested in restoring historically significant computer hardware and software systems by simulation. The goal of the project is to create highly portable system simulators and to publish them as freeware on the Internet, with freely available copies of significant or representative software. The current, official version of SimH can be found in a GitHub source repository. It includes many additional simulators, as well as more advanced core libraries.
- Unicorn - a lightweight multi-platform, multi-architecture CPU emulator framework.Highlight features: Multi-architectures: Arm, Arm64 (Armv8), M68K, Mips, Sparc, & X86 (include X86_64). Clean/simple/lightweight/intuitive architecture-neutral API. Implemented in pure C language, with bindings for Crystal, Clojure, Visual Basic, Perl, Rust, Haskell, Ruby, Python, Java, Go, .NET, Delphi/Pascal & MSVC available. Native support for Windows & *nix (with Mac OSX, Linux, *BSD & Solaris confirmed). High performance by using Just-In-Time compiler technique. Support fine-grained instrumentation at various levels. Thread-safe by design. Distributed under free software license GPLv2.
- usercorn - an analysis and emulator framework. it can run arbitrary binaries on a different host kernel while recording full system state at every instruction to a serializable compact format capable of rewind and re-execution. it's useful out of the box for debugging, with an arch-neutral powerful lua-based debugger. it's also easy to extend and use to build your own tools
- 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.
- PCE - PC Emulator - a collection of microcomputer emulators.
- Previous - a Next computer hardware emulator. It aims to emulate a Next Cube or a Next Station with all its peripheral. 
- Hatari - an Atari ST/STE/TT/Falcon emulator for GNU/Linux, BSD, Mac OS X, Windows and other systems which are supported by the SDL library. The Atari ST was a 16/32 bit computer system which was first released by Atari in 1985. Using the Motorola 68000 CPU, it was a very popular computer having quite a lot of CPU power at that time. Unlike many other Atari ST emulators which try to give you a good environment for running GEM applications, Hatari tries to emulate the hardware of a ST as close as possible so that it is able to run most of the old ST games and demos. Hatari is open source software and is distributed under the terms of the GNU General Public License (GPL). 
- https://github.com/andydotxyz/beebui - A BBC Micro Emulator based on Fyne and skx/gobasic