of programmable logic available today. These high-capacity devices may implement extremely complex logic, such as microprocessors or digital signal processors. Today, they are a great aid in the development and rapid deployment of digital electronic devices. FPGAs are often used for prototyping hardware designs and hardware acceleration. Hobbyist opportunities Many consumer electronic devices (including MP3 players, broadband routers, cell phones, and digital cameras) contain embedded systems based on general-purpose microprocessors and microcontrollers. Most of these devices contain field-programmable components which can be located and accessed by knowledgeable hardware hackers. Field-programming allows hobbyists to replace a device's firmware with new code that can modify or extend its capabilities. Numerous online communities have sprung up around devices found to be particularly conducive to such modification. For example, the iPodLinux and OpenWrt projects have enabled users to run full-featured Linux distributions on their MP3 players and wireless routers, respectively. While hobbyist field-programming is theoretically possible in practically any embedded system today, in practice efforts to modify consumer devices are often hampered by lack of documentation for the hardware. See also Firmware JTAG Field-programmable gate array (FPGA) Field-programmable analog array (FPAA) - like FPGA but with analog signals Field-programmable radio frequency devices External links UsbAudioHowTo: a guide to converting a wireless router into an Internet radio player, from the OpenWrt project Digital electronics