## Electronics Stuff * [Resistor Color Codes] (http://www.ladyada.net/wiki/lib/exe/fetch.php?hash=a2c6a9&w=501&h=785&media=http%3A%2F%2Fwww.ladyada.net%2Fimages%2Fmetertutorial%2Frescolorcode.jpg) : image * from [the Multimeter Tutorial] (http://www.ladyada.net/learn/multimeter/resistance.html) (on ) * [Schematic Symbols] (http://img.docstoccdn.com/thumb/orig/28066054.png) : image * [Vcc, Vdd, Vss, etc.] (http://encyclobeamia.solarbotics.net/articles/vxx.html) * [Very Basic Circuits] (http://www.seattlerobotics.org/encoder/mar97/basics.html) : column by Kevin Ross for Encoder * [Powering Light Emitting Diodes(LEDs)] (http://wolfstone.halloweenhost.com/Lighting/litlpo_PoweringLEDs.html) * can also be reached via -> [ENTER] ('http://thewolfstone.com/Welcome/Home.html) -> [Wolfstone's Haunted Halloween Page] (http://thewolfstone.com/_ar/Halloween.html) -> [technology] (http://wolfstone.halloweenhost.com/Navigation/TechBase.html) -> [powering LEDs] (http://wolfstone.halloweenhost.com/Lighting/litlpo_PoweringLEDs.html) * [All About Circuits : Reference] (http://www.allaboutcircuits.com/vol_5/index.html) * [Effects of Varying I2C Pull-Up Resistors] (http://dsscircuits.com/articles/effects-of-varying-i2c-pull-up-resistors.html) : article by Wayne Truchsess ## C Stuff * [comp.lang.c Frequently Asked Questions] (http://c-faq.com/index.html) * [The C Preprocessor] (http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC1) (on ) * [C Library Reference] (http://www.cplusplus.com/reference/) (on ) * [C Operators/Expressions] (http://www.lix.polytechnique.fr/~liberti/public/computing/prog/c/C/CONCEPT/expressions.html) (on ) * [Bitwise Operators in C and C++: A Tutorial] (http://www.cprogramming.com/tutorial/bitwise_operators.html) (on ) * [AVR Tutorials - \[TUT\] \[C\] Bit manipulation (AKA "Programming 101")] (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=37871&start=0) * [In C++ is "const" after type ID acceptable?] (http://stackoverflow.com/questions/988069/in-c-is-const-after-type-id-acceptable) (on ) * [Arrays and pointers in C] (http://www.ibiblio.org/pub/languages/fortran/append-c.html) (on ) * [how to use array of function pointers?] (http://stackoverflow.com/questions/252748/how-to-use-array-of-function-pointers) (on ) * [The Function Pointer Tutorials] (http://www.newty.de/fpt/index.html) * [C preprocessor and concatenation] (http://stackoverflow.com/questions/1489932/c-preprocessor-and-concatenation) (on ) * [The New C: Inline Functions] (http://drdobbs.com/184401540) by Randy Meyers (on ) * [gcc: why the -lm flag is needed to link the math library?] (http://stackoverflow.com/questions/4606301/gcc-why-the-lm-flag-is-needed-to-link-the-math-library) (on ) ### For the AVR * [AVR Newbie guide] (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=70673) by stu_san (on ) * [AVR Libc Library Reference] (http://www.nongnu.org/avr-libc/user-manual/modules.html) * [avr-libc/include/avr/iom32u4.h] (http://svn.savannah.nongnu.org/viewvc/trunk/avr-libc/include/avr/iom32u4.h?revision=2288&root=avr-libc&view=markup) : list of registers and associated bit numbers for ATmega32U4 * [A Brief Tutorial on Programming the AVR without Arduino] (https://www.mainframe.cx/~ckuethe/avr-c-tutorial/) by Chris Kuethe * [Optimisations of AVR programs using avr-gcc] (http://www.tty1.net/blog/2008-04-29-avr-gcc-optimisations_en.html) * [Using the EEPROM memory in AVR-GCC] (http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=38417) : tutorial by [Dean Camera] (http://fourwalledcubicle.com/AboutMe.php) (on ) * updated version available as a pdf at [Four Walled Cubicle : AVR Articles] (http://www.fourwalledcubicle.com/AVRArticles.php), along with a few other good articles on AVR programming ## Protocol Stuff ### I²C * [Arduino I²C Expansion IO] (http://www.neufeld.newton.ks.us/electronics/?p=241) (from [Keith's Electronics Blog] (http://www.neufeld.newton.ks.us/electronics/)) * [Arduino Playground :: Wire Library, Explored] (http://arduino.cc/playground/Main/WireLibraryDetailedReference) ### USB * About Keyboard [Scan Codes] (http://geekhack.org/showwiki.php?title=Scan+Codes) (on ) * [USB - boot mode, NKRO, compatibility, etc...] (http://geekhack.org/showthread.php?13162-USB-boot-mode-NKRO-compatibility-etc/page2) : old thread by [Soarer] (http://geekhack.org/member.php?4274-Soarer) (on ) * [USB 2.0 Specification] (http://www.usb.org/developers/docs/usb_20_101111.zip) : zip (from ) * [HID Device Class Definition] (http://www.usb.org/developers/devclass_docs/HID1_11.pdf) : pdf (from ) * HID = Human Interface Device * [HID Usage Tables] (http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf) : pdf (from ) ## Other People's Code ### Keyboard Firmware * zip: [Phantom Firmware from PrinsValium] (http://geekhack.org/attachment.php?attachmentid=38982&d=1327895092) * mentioned in the [Building Phantom Hardware and Firmware Mods] (http://geekhack.org/showwiki.php?title=Island:26742) article (on ) * github: [tmk / tmk_keyboard] (https://github.com/tmk/tmk_keyboard) * forked by [Pyrolistical / tmk_keyboard] (https://github.com/Pyrolistical/tmk_keyboard/tree/master/fourway) * mentioned in the [KeyPoard] (http://geekhack.org/showwiki.php?title=Island:26845) article on * forked by [riffautae / tmk_keyboard] (https://github.com/riffautae/tmk_keyboard) * mentioned on the [Teensy Keyboard Firmware Discussion] (http://geekhack.org/showthread.php?26730-Teensy-Keyboard-Firmware-Discussion/page2) thread on * github: [humblehacker / keyboard] (https://github.com/humblehacker/keyboard) * mentioned on [the humblehacker keyboard website] (http://humblehacker.com/keyboard/) * mentioned on [the humblehacker geekhack page] (http://geekhack.org/showwiki.php?title=Island:6292) * mentioned on [the designer's blog] (http://humblehacker.com/blog/) ### USB Libraries * [LUFA (2012) (Lightweight USB Framework for AVRs)] (http://www.fourwalledcubicle.com/LUFA.php) * zip: [PJRC: usb_keyboard] (http://pjrc.com/teensy/usb_keyboard.zip) * mentioned on [the PJRC website] (http://pjrc.com/teensy/usb_keyboard.html) ### TWI Libraries * github: [TWI library in C] (https://github.com/arduino/Arduino/tree/master/libraries/Wire/utility) : (arduino / Arduino / libraries / Wire / utility) * zip: [i2cmaster] (http://homepage.hispeed.ch/peterfleury/i2cmaster.zip) (by Peter Fleury, on [his homepage] (http://homepage.hispeed.ch/peterfleury/)) * forum: [Interfacing MCP23018 io expander via Arduino] (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282150189) : contains a quick MCP23017 library in C++ * github: [maniacbug / Arduino / libraries / MCP23018] (https://github.com/maniacbug/Arduino/tree/master/libraries/MCP23018) : library in C++ ### Other * [Soarer's Converter (XT/AT/PS2/Terminal to USB Converter with NKRO)] (http://geekhack.org/showwiki.php?title=Island:17458) * zip: [PJRC: blinky] (http://pjrc.com/teensy/blinky.zip) * mentioned on [the PJRC website] (http://pjrc.com/teensy/gcc.html) ## Hardware Documentation * [Microchip: Analog & Interface Product Selector Guide] (http://ww1.microchip.com/downloads/en/DeviceDoc/21060z.pdf) * from [the Microchip website (MCP23017 product listing page)] (http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en023499) * [MCP23017 / MCP23S17 Data Sheet] (http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf) * from [the Microchip website] (http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en023499) * [MCP23018 / MCP23S18 Data Sheet] (http://ww1.microchip.com/downloads/en/DeviceDoc/22103a.pdf) * from [the Microchip website] (http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en537375) * [Teensy 2.0 (ATMEGA32U4) Data Sheet] (http://pjrc.com/teensy/atmega32u4.pdf) * from [the PJRC website] (http://pjrc.com/teensy/datasheets.html) * [Teensy++ 2.0 (AT90USB1286) Data Sheet] (http://pjrc.com/teensy/at90usb1286.pdf) * from [the PJRC website] (http://pjrc.com/teensy/datasheets.html) * [Teensy 2.0 Pin Assignments, Using C] (http://pjrc.com/teensy/card2a.pdf) * from [the PJRC website] (http://pjrc.com/teensy/datasheets.html) * [Teensy 2.0 Pin Assignments, Using Arduino] (http://pjrc.com/teensy/card2b.pdf) * from [the PJRC website] (http://pjrc.com/teensy/datasheets.html) * [Cherry MX Series Keyswitches : Specifications] (http://www.cherrycorp.com/english/switches/key/mx.htm) ## Miscellaneous ### Typical Keyboard Information * [Keyboard Scan Rates] (http://geekhack.org/showwiki.php?title=Keyboard+scan+rates) list (on ) ### Other Awesome Keyboard Projects * [My DIY keyboard collection ( or how I became a KB-geek...)] (http://deskthority.net/workshop-f7/my-diy-keyboard-collection-or-how-i-became-a-kb-geek-t2534.html) * linked to in [a post] (http://geekhack.org/showthread.php?22780-Interest-Check-Custom-split-ergo-keyboard&p=582593&viewfull=1#post582593) on the ergoDOX geekhack thread ### Documentation and Design Tools * [Markdown: Syntax] (http://daringfireball.net/projects/markdown/syntax) * [KiCAD Tutorial] (http://teholabs.com/knowledge/kicad.html) (on ) * mentioned on the [circuit/block-diagram drawing] (http://stackoverflow.com/questions/6422603/circuit-block-diagram-drawing) question (on ) * [TikZ and PGF] (http://www.texample.net/tikz/) : a TeX graphics package * mentioned on the [circuit/block-diagram drawing] (http://stackoverflow.com/questions/6422603/circuit-block-diagram-drawing) question (on ) * [Documentation (for version 2010-09-28)] (http://www.texample.net/media/pgf/builds/pgfmanualCVS2010-09-28.pdf) : pdf * [Example: Block diagram line junctions] (http://www.texample.net/tikz/examples/line-junctions/) * [Inkscape : Connector tool tutorial] (http://wiki.inkscape.org/wiki/index.php/UsingTheConnectorTool) ------------------------------------------------------------------------------- Copyright © 2012 Ben Blazak Released under The MIT License (MIT) (see "license.md") Project located at