<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.opencircuits.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=203.174.44.218</id>
	<title>OpenCircuits - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.opencircuits.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=203.174.44.218"/>
	<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Special:Contributions/203.174.44.218"/>
	<updated>2026-06-02T16:28:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Topway_LCD&amp;diff=18660</id>
		<title>Topway LCD</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Topway_LCD&amp;diff=18660"/>
		<updated>2009-08-31T08:35:58Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* 3.3V LCD to 5V LCD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LCD model: LM6023ADW==&lt;br /&gt;
*manufacturer : [http://www.topwaydisplay.com/ Topway]&lt;br /&gt;
&lt;br /&gt;
===Tested temperature Range : -8 to 40===&lt;br /&gt;
*The contrast becomes dimmer when Temperature is lower than 5 degree&lt;br /&gt;
*The contrast becomes brigher when Temperature is  hight than 35 degree&lt;br /&gt;
&lt;br /&gt;
===life time===&lt;br /&gt;
*normal backlight as 40,000hrs, dim down backlight as 90,000hrs&lt;br /&gt;
&lt;br /&gt;
===5V LCD to 3.3V LCD===&lt;br /&gt;
* connect JP3&lt;br /&gt;
* disconnect JP2&lt;br /&gt;
* place a 4.7uF cap onto C10.&lt;br /&gt;
* remove R7. &lt;br /&gt;
&lt;br /&gt;
===3.3V LCD to 5V LCD===&lt;br /&gt;
* disconnect JP3&lt;br /&gt;
* connect JP2&lt;br /&gt;
* remove C10&lt;br /&gt;
* place 500 ohm onto R7. (arounnd 10% brightness of original)&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_Tips&amp;diff=18659</id>
		<title>Programming Tips</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_Tips&amp;diff=18659"/>
		<updated>2009-08-31T08:24:04Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: update memory map&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This wiki describes an example coding of the freertos_posix driver for the [[DsPIC30F 5011 Development Board | dsPic33 development board]]. Please refer to the actual coding used from [http://chungyan5.no-ip.org/vc/?root=freertos_posix here].&lt;br /&gt;
&lt;br /&gt;
==Memory==&lt;br /&gt;
&lt;br /&gt;
===Memory Map for dsPIC33FJ256GP506===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
! Type !! Start Address !! End Address !! Size&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Flash || 0x000000 ||0x02ABFF || 171K&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| +--Flash: Reset Vector || 0x000000 ||0x000003 || 4&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| +--Flash: Interrupt Vector Table || 0x000004 ||0x0000FF || 252&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| +--Flash: Alternate Vector Table || 0x000104 ||0x0001FF || 252&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| +--Flash: User Program || 0x000200 ||0x02ABFF || 170.5K&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Programming Executive || 0x800000 || 0x800FFF || 4K&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Config  Registers || 0xF80000 || 0xF80017 || 24&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Device ID (0xF5) || 0xFF0000 || 0xFF0003 || 4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
[1] Each address is 16-bit wide. Every two addresses correspond to a 24-bit instruction. Each even address contains 2 valid bytes; each odd address contains 1 valid byte plus 1 fathom byte.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Data Location===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! Type !! Description !! Example&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| _XBSS(N) &amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
| RAM Data in X-memory, aligned at N, no initilization&lt;br /&gt;
| int _XBSS(32) xbuf[16];&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| _XDATA(N) &amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
| RAM Data in X-memory, aligned at N, with initialization&lt;br /&gt;
| int _XDATA(32) xbuf[] = {1, 2, 3, 4, 5};&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| _YBSS(N) &amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
| RAM Data in Y-memory, aligned at N, no initialization&lt;br /&gt;
| int _YBSS(32) ybuf[16];&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| _YDATA(N) &amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&lt;br /&gt;
| RAM Data in Y-memory, aligned at N, with initialization&lt;br /&gt;
| int _YDATA(32) ybuf[16] = {1, 2, 3, 4, 5};&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| __attribute__((space(dma))&lt;br /&gt;
| RAM Data in DMA&lt;br /&gt;
| int __attribute__((space(dma)) data[128];&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| __attribute__((space(const)))&lt;br /&gt;
| Flash ROM data, constant, accessed by normal C&amp;lt;br&amp;gt;statements, but 32K max.&lt;br /&gt;
| int i __attribute__((space(const))) = 10;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| __attribute__((space(prog)))&lt;br /&gt;
| Flash ROM data, read/write by program space visibility&amp;lt;br&amp;gt;window (psv)&lt;br /&gt;
| int i __attribute__((space(prog)));&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| __attribute__((space(auto_psv)))&lt;br /&gt;
| Flash ROM data, read by normal C statements, write&amp;lt;br&amp;gt;by accessing psv&lt;br /&gt;
| int i __attribute__((space(auto_psv)));&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| __attribute__((space(psv)))&lt;br /&gt;
| Flash ROM data, read/write by (psv)&lt;br /&gt;
| int i __attribute__((space(psv)));&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| _PERSISTENT&lt;br /&gt;
| RAM Data, data remain after reset&lt;br /&gt;
| int _PERSISTENT var1, var2;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| _NEAR&lt;br /&gt;
| RAM Data at near section&lt;br /&gt;
| int _NEAR var1, var2;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| __attribute__((__interrupt__))&lt;br /&gt;
| Interrupt service rountine&lt;br /&gt;
| void __attribute__((__interrupt__)) _INT0Interrupt(void);&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
#N must be a power of two, with a minimum value of 2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;asm/types.h&amp;gt;===&lt;br /&gt;
*The following maps the basic data types:&lt;br /&gt;
  typedef unsigned char           __u8;&lt;br /&gt;
  typedef char                    __s8;&lt;br /&gt;
  typedef unsigned int            __u16;&lt;br /&gt;
  typedef int                     __s16;&lt;br /&gt;
  typedef unsigned long           __u32;&lt;br /&gt;
  typedef long                    __s32;&lt;br /&gt;
  typedef unsigned long long      __u64;&lt;br /&gt;
  typedef long long               __s64;&lt;br /&gt;
  &lt;br /&gt;
  //to be used in &amp;lt;time.h&amp;gt;&lt;br /&gt;
  typedef unsigned long           time_t;&lt;br /&gt;
*The following macros are the platform-dependent&lt;br /&gt;
  /** Interrupt Request */&lt;br /&gt;
  #define _IRQ                    __attribute__((__interrupt__))&lt;br /&gt;
  /** TRAP IRQ for saving program counter: declare __u16 StkAddrLo, StkAddrHi in trap.c (order matters) */&lt;br /&gt;
  #define _TRAP_IRQ               __attribute__((__interrupt__(__preprologue__( \&lt;br /&gt;
                                  &amp;quot;mov #_StkAddrHi,w1\n\tpop [w1--]\n\tpop [w1++]\n\tpush [w1--]\n\tpush [w1++]&amp;quot;))))&lt;br /&gt;
  /** IO Stub Functions are placed in .libc section so that the standard libraries can access these functions using short jumps. */&lt;br /&gt;
  #define _LIBC                   __attribute__((section(&amp;quot;.libc&amp;quot;)))&lt;br /&gt;
  /** FAST RAM */&lt;br /&gt;
  #define _DMA                    __attribute__((space(dma),aligned(256)))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Custom Linker Script to Maximize Space for Constant Data===&lt;br /&gt;
*Constant data declared using keyword '''const''' will be stored in the .const section in the flash memory.&lt;br /&gt;
*Normally, during compilation, the linker will assign these data after the program code (.text section).&lt;br /&gt;
*Since .const is accessed by auto-psv function, to maximize the space for constant data (32kb), the .const section needs to be aligned at 0x80000 boundary.&lt;br /&gt;
*This requires the following change in linker script:&lt;br /&gt;
&lt;br /&gt;
  __CONST_BASE = 0x8000;&lt;br /&gt;
  &lt;br /&gt;
  .text __CODE_BASE :&lt;br /&gt;
  {&lt;br /&gt;
  	*(.reset);&lt;br /&gt;
        *(.handle);&lt;br /&gt;
        *(.libc) *(.libm) *(.libdsp);  /* keep together in this order */&lt;br /&gt;
        *(.lib*);&lt;br /&gt;
        /* *(.text);		deleted to maximize space for const data */&lt;br /&gt;
  } &amp;gt;program&lt;br /&gt;
  &lt;br /&gt;
  .const __CONST_BASE :&lt;br /&gt;
  {&lt;br /&gt;
  	*(.const);&lt;br /&gt;
  } &amp;gt;program&lt;br /&gt;
&lt;br /&gt;
*If your program is large, after this change in linker script, function calls may involve large jump in the memory map (&amp;gt;32kB). As a result, you may need to enable the large code and large memory model during compilation. In such case, use the following options in your build path:&lt;br /&gt;
    -mlarge-code -mlarge-data&lt;br /&gt;
*Meanwhile, functions that are defined in the standard C libraries, but are replaced with your own implementations (e.g. I/O stubs: open(), read(), write(), lseek(), ioctl() etc.) may have the following linker error:&lt;br /&gt;
    /usr/pic30-elf/lib//libc-elf.a(fflush.eo)(.libc+0x3c): In function '.LM11':&lt;br /&gt;
    : Link Error: relocation truncated to fit: PC RELATIVE BRANCH _write&lt;br /&gt;
    /usr/pic30-elf/lib//libc-elf.a(fclose.eo)(.libc+0x42): In function '.LM18':&lt;br /&gt;
    : Link Error: relocation truncated to fit: PC RELATIVE BRANCH _close &lt;br /&gt;
*To resolve the problem, you need to place the functions in the .libc section rather than in the .text section, like this:&lt;br /&gt;
    int _LIBC open(const char *pathname, int flags){ ... }&lt;br /&gt;
    int _LIBC close(int fd){ ... }&lt;br /&gt;
    int _LIBC write(int fd, void* buf, int count) { ... }&lt;br /&gt;
    int _LIBC read(int fd, void* buf, int count) { ... }&lt;br /&gt;
    int _LIBC ioctl(int fd, int request, void* argp) { ... }&lt;br /&gt;
    int _LIBC lseek(int fd, int offset, int whence) { ... }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==System Setup==&lt;br /&gt;
&lt;br /&gt;
===Clock Speed===&lt;br /&gt;
*System clock source can be provided by:&lt;br /&gt;
#Primary oscillator (OSC1, OSC2)&lt;br /&gt;
#Secondary oscillator (SOSCO and SOSCI) with 32kHz crystal&lt;br /&gt;
#Internal Fast RC (FRC) oscillator at 7.37MHz (7372800Hz)&lt;br /&gt;
#Low-Power RC (LPRC) oscillator (Watchdog Timer) at 512 kHz.&lt;br /&gt;
*These clock sources can be incorporated with interal Phase-locked-loop (PLL) x4, x8 or x16 to yield the osciallator frequrence F&amp;lt;sub&amp;gt;OSC&amp;lt;/sub&amp;gt;&lt;br /&gt;
*The system clock is divided by 4 to yield the internal instruction cycle clock, F&amp;lt;sub&amp;gt;CY&amp;lt;/sub&amp;gt;=F&amp;lt;sub&amp;gt;OSC&amp;lt;/sub&amp;gt;/4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===System Clock===&lt;br /&gt;
*Each timer is 16-bit (i.e. counting from 0 to 65535).&lt;br /&gt;
*Prescale is the ratio between timer counts and system clock counts. Prescales of 1:1, 1:8, 1:64 and 1:256 are available.&lt;br /&gt;
*Let required time for ticking be PERIOD.&lt;br /&gt;
*Number of instruction cycles during PERIOD = PERIOD*F&amp;lt;sub&amp;gt;CY&amp;lt;/sub&amp;gt; cycles&lt;br /&gt;
*Using a prescale of 1:x, the timer period count register = # of cycles/x&lt;br /&gt;
*e.g. PERIOD = 10ms; # of cycles = 10ms*40MHz = 400000 cycles; Using 1:8 Prescale, register setting = 400000/8 = 50000&lt;br /&gt;
   void&lt;br /&gt;
   prvSetupTimerInterrupt (void)&lt;br /&gt;
   {&lt;br /&gt;
     T1CON = 0;&lt;br /&gt;
     TMR1 = 0;&lt;br /&gt;
     PR1 = 50000;&lt;br /&gt;
     //============================================================&lt;br /&gt;
     IPC0bits.T1IP = configKERNEL_INTERRUPT_PRIORITY;&lt;br /&gt;
     IFS0bits.T1IF = 0;&lt;br /&gt;
     IEC0bits.T1IE = 1;&lt;br /&gt;
     //============================================================&lt;br /&gt;
     T1CONbits.TCKPS0 = 1;&lt;br /&gt;
     T1CONbits.TCKPS1 = 0;&lt;br /&gt;
     T1CONbits.TON = 1; &lt;br /&gt;
   }&lt;br /&gt;
   //********************************************************************&lt;br /&gt;
   void _IRQ &lt;br /&gt;
   _T1Interrupt (void)&lt;br /&gt;
   {&lt;br /&gt;
     IFS0bits.T1IF = 0;&lt;br /&gt;
     vTaskIncrementTick();&lt;br /&gt;
     portYIELD();&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;asm/system.h&amp;gt;===&lt;br /&gt;
*Registers are involved in Interrupts includes: &lt;br /&gt;
#Interrupt Flag Status (IFS0-IFS2) registers&lt;br /&gt;
#Interrupt Enable Control (IEC0-IEC2) registers&lt;br /&gt;
#Interrupt Priority Control (IPC0-IPC10) registers&lt;br /&gt;
#Interrupt Priority Level (IPL) register&lt;br /&gt;
#Global Interrupt Control (INTCON1, INTCON2) registers&lt;br /&gt;
#Interrupt vector (INTTREG) register&lt;br /&gt;
*User may assign priority level 0-7 to a specific interrupt using IPC. Setting priority to 0 disable a specific interrupt. Level 7 interrupt has the highest priority.&lt;br /&gt;
*Current priority level is stored in bit&amp;lt;7:5&amp;gt; of Status Register (SR). Setting Interrupt Priority Level (IPL) to 7 disables all interrupts (except traps). &lt;br /&gt;
*sti() and cli() can be defined to enable and disable global interrupts for time critical functions:&lt;br /&gt;
  #define IPL              ( 0x00e0 )&lt;br /&gt;
  #define cli()            SR |= IPL    //Set IPL to 7&lt;br /&gt;
  #define sti()            SR &amp;amp;= ~IPL   //Set IPL to 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==POSIX System Call and Drivers==&lt;br /&gt;
*POSIX System calls (open(), close(), read(), write(), lseek()) are used to access hardware devices related to data stream.&lt;br /&gt;
*The file descriptor return by open() for these devices are statically assigned at compile time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===UART===&lt;br /&gt;
*Serves as the default communication channel for STDIN, STDOUT and STDERR.&lt;br /&gt;
*Implementation of this driver allows transparent operation of printf() in standard C library. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===I&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;C===&lt;br /&gt;
*A number of I2C devices can be added using this driver (e.g. I2C DAC, I2C EEPROM, etc)&lt;br /&gt;
*Two lines are devoted for the serial communication. SCL for clock, SDA for data.&lt;br /&gt;
*Standard communication speed includes&lt;br /&gt;
#Standard speed mode: 100kHz&lt;br /&gt;
#Fast speed mode: 400kHz&lt;br /&gt;
#High speed mode: 3.4MHz&lt;br /&gt;
*Pull-up resistors are required for both SCL and SDA. Minimum pull-up resistance is given by:&lt;br /&gt;
     Pull-up resistor (min) = (V&amp;lt;sub&amp;gt;dd&amp;lt;/sub&amp;gt;-0.4)/0.003  ......  [See section 21.8 in Family reference manual]&lt;br /&gt;
*2.2Kohm is typical for standard speed mode.&lt;br /&gt;
*After initiating a start/stop/restart bit, add a small delay (e.g. no operation) before polling the corresponding control bit (hardware controlled).&lt;br /&gt;
*After sending a byte and receiving an acknowledgment from the slave device, ensure to change to idle state.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ADC===&lt;br /&gt;
*12-bit ADC: (Max 18 Channels)&lt;br /&gt;
*ADC uses DMA to buffer the adc data.&lt;br /&gt;
*A maximum of 500kps of sampling rate when using auto sampling mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Simple PWM (Output Compare Module)===&lt;br /&gt;
*The PWM module consists of 8 channels using the output compare module of dsPic.&lt;br /&gt;
*These channels are locate at pin 46 (OC1), 49 (OC2), 50 (OC3), 51 (OC4), 52 (OC5), 53 (OC6), 54 (OC7), 55 (OC8). These pins are shared with port D.&lt;br /&gt;
*The range of PWM freqeuencies obtainable is 2Hz to 15MHz (See Figure 6.3). Suggested range of operation is 2Hz to 120kHz. The relationship between resolution ''r'' and PWM frequency ''f''&amp;lt;sub&amp;gt;PWM&amp;lt;/sub&amp;gt; is given by:&lt;br /&gt;
         f&amp;lt;sub&amp;gt;PWM&amp;lt;/sub&amp;gt; = f&amp;lt;sub&amp;gt;CY&amp;lt;/sub&amp;gt;/(Prescale*10&amp;lt;sup&amp;gt;rlog(2)&amp;lt;/sup&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Relationship of Resolution and PWM Frequency&lt;br /&gt;
! Resolution (bit) !! Prescale=1 !! Prescale=8 !! Prescale=64 !! Prescale=256&lt;br /&gt;
|- &lt;br /&gt;
|1||15,000,000 ||1,875,000 ||234,375||58,594 &lt;br /&gt;
|- &lt;br /&gt;
|2||7,500,000 ||937,500 ||117,188 ||29,297 &lt;br /&gt;
|- &lt;br /&gt;
|3||3,750,000 ||468,750 ||58,594 ||14,648 &lt;br /&gt;
|- &lt;br /&gt;
|4||1,875,000 ||234,375 ||29,297 ||7,324 &lt;br /&gt;
|- &lt;br /&gt;
|5||937,500 ||117,188 ||14,648 ||3,662 &lt;br /&gt;
|- &lt;br /&gt;
|6||468,750 ||58,594 ||7,324 ||1,831 &lt;br /&gt;
  |- &lt;br /&gt;
|7||234,375 ||29,297 ||3,662 ||916 &lt;br /&gt;
|- &lt;br /&gt;
|8||117,188 ||14,648 ||1,831||458 &lt;br /&gt;
|- &lt;br /&gt;
|9||58,594 ||7,324 ||916 ||229 &lt;br /&gt;
|- &lt;br /&gt;
|10||29,297 ||3,662 ||458 ||114 &lt;br /&gt;
|- &lt;br /&gt;
|11||14,648 ||1,831 ||229||57 &lt;br /&gt;
|- &lt;br /&gt;
|12||7,324 ||916 ||114 ||29 &lt;br /&gt;
|- &lt;br /&gt;
|13||3,662 ||458 ||57 ||14 &lt;br /&gt;
|- &lt;br /&gt;
|14||1,831 ||229 ||29 ||7 &lt;br /&gt;
|- &lt;br /&gt;
|15||916 ||114 ||14 ||4 &lt;br /&gt;
|- &lt;br /&gt;
|16||458 ||57 ||7 ||2 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Flash-emulated EEPROM===&lt;br /&gt;
*Using built-in functions __builtin_tblpage(), __builtin_tbloffset() to set special-purpose registers to access flash memory&lt;br /&gt;
*Using assembly code to read and write flash memory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DSP Library==&lt;br /&gt;
*Not POSIX compliant&lt;br /&gt;
*Library functions in &amp;lt;dsp.h&amp;gt; include the following categories: &lt;br /&gt;
#Vector&lt;br /&gt;
#Window&lt;br /&gt;
#Matrix&lt;br /&gt;
#Filtering&lt;br /&gt;
#Transform&lt;br /&gt;
#Control&lt;br /&gt;
&lt;br /&gt;
===Data Types===&lt;br /&gt;
*Signed Fractional Value (1.15 data format)&lt;br /&gt;
**Inputs and outputs of the dsp functions adopt 1.15 data format, which consumes 16 bits to represent values between -1 to 1-2&amp;lt;sup&amp;gt;-15&amp;lt;/sup&amp;gt; inclusive.&lt;br /&gt;
**Bit&amp;lt;15&amp;gt; is a signed bit, positive = 0, negative = 1.&lt;br /&gt;
**Bit&amp;lt;14:0&amp;gt; are the exponent bits ''e''.&lt;br /&gt;
**Positive value = 1 - 2&amp;lt;sup&amp;gt;-15&amp;lt;/sup&amp;gt;*(32768 - ''e'')&lt;br /&gt;
**Negative value = 0 - 2&amp;lt;sup&amp;gt;-15&amp;lt;/sup&amp;gt;*(32768 - ''e'')&lt;br /&gt;
*40-bit Accumulator operations (9.31 data format)&lt;br /&gt;
**The dsp functions use the 40 bits accumalators during arithmatic calculations.&lt;br /&gt;
**Bit&amp;lt;39:31&amp;gt; are signed bits, positive = 0x000, negative = 0x1FF.&lt;br /&gt;
**Bit&amp;lt;30:0&amp;gt; are exponent bits.&lt;br /&gt;
*IEEE Floating Point Values&lt;br /&gt;
**Fractional values can be converted to Floating point values using: '''fo = Fract2Float(fr);''' for fr = [-1, 1-2&amp;lt;sup&amp;gt;-15&amp;lt;/sup&amp;gt;]&lt;br /&gt;
**Floating point values can be converted to Fractional values using: '''fr = Float2Fract(fo);''' or '''fr = Q15(fo);''' for fo = [-1, 1-2&amp;lt;sup&amp;gt;-15&amp;lt;/sup&amp;gt;]&lt;br /&gt;
**Float2Fract() is same as Q15(), except having saturation control. When +ve &amp;gt;= 1, answer = 2&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt;-1 = 32767 (0x7FFF). When -ve &amp;lt; -1, answer = -2&amp;lt;sup&amp;gt;15&amp;lt;/sup&amp;gt; = -32767 (0x8000)&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17798</id>
		<title>ADuC832 Development Board</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17798"/>
		<updated>2009-02-13T04:40:42Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Features==&lt;br /&gt;
==Implementation==&lt;br /&gt;
[http://spreadsheets.google.com/ccc?key=pobKDna9aVYcUXxUpzFPWHQ&amp;amp;hl=en BOM]&lt;br /&gt;
==Hardware Setting==&lt;br /&gt;
[[Image:Aduc832_cable.JPG]]&lt;br /&gt;
[[Image:Aduc832_connector.JPG]]&lt;br /&gt;
[[Image:Aduc832_7segment.JPG]]&lt;br /&gt;
[[Image:Aduc832_overview.JPG]]&lt;br /&gt;
[[Image:Aduc832_circuit.png]]&lt;br /&gt;
&lt;br /&gt;
*[http://chungyan5.no-ip.org/open_data/electronic_computer/Aduc832/Aduc832Programmer.jar Programmer]&lt;br /&gt;
*[http://chungyan5.no-ip.org/open_data/electronic_computer/Aduc832/di_do_ai_ao.ihx Test hex]&lt;br /&gt;
*Configure the ADuC832 so that it is ready for program download&lt;br /&gt;
#You need to press and hold both “RESET” and “DOWNLOAD” buttons on the main board. &lt;br /&gt;
#First release the “RESET” button and then the “Download” button&lt;br /&gt;
&lt;br /&gt;
*Use the below command to download program&lt;br /&gt;
  java -jar Aduc832Programmer.jar /dev/ttyS0|COM1 hex_file.hex&lt;br /&gt;
&lt;br /&gt;
Remark : JAVA -jdk1.6.0_01 ,jre1.6.0_01 ,jre1.6.0_03&lt;br /&gt;
&lt;br /&gt;
==Test Procedure==&lt;br /&gt;
*Port 0: 0101 0101 &lt;br /&gt;
*Port 2: 1010 1010&lt;br /&gt;
*Port 1 = Port 3&lt;br /&gt;
*Short the Jumper of Port 1&lt;br /&gt;
**Port 3 become High&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17795</id>
		<title>ADuC832 Development Board</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17795"/>
		<updated>2009-02-13T04:30:38Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Features==&lt;br /&gt;
==Implementation==&lt;br /&gt;
[http://spreadsheets.google.com/ccc?key=pobKDna9aVYcUXxUpzFPWHQ&amp;amp;hl=en BOM]&lt;br /&gt;
==Hardware Setting==&lt;br /&gt;
[[Image:Aduc832_cable.JPG]]&lt;br /&gt;
[[Image:Aduc832_connector.JPG]]&lt;br /&gt;
[[Image:Aduc832_7segment.JPG]]&lt;br /&gt;
[[Image:Aduc832_overview.JPG]]&lt;br /&gt;
[[Image:Aduc832_circuit.png]]&lt;br /&gt;
&lt;br /&gt;
[http://chungyan5.no-ip.org/open_data/electronic_computer/Aduc832/Aduc832Programmer.jar Programmer]&lt;br /&gt;
[http://chungyan5.no-ip.org/open_data/electronic_computer/Aduc832/di_do_ai_ao.ihx Test hex]&lt;br /&gt;
*Configure the ADuC832 so that it is ready for program download&lt;br /&gt;
#You need to press and hold both “RESET” and “DOWNLOAD” buttons on the main board. &lt;br /&gt;
#First release the “RESET” button and then the “Download” button&lt;br /&gt;
&lt;br /&gt;
*Use the below command to download program&lt;br /&gt;
  java -jar Aduc832Programmer.jar /dev/ttyS0|COM1 hex_file.hex&lt;br /&gt;
&lt;br /&gt;
Remark : JAVA -jdk1.6.0_01 ,jre1.6.0_01 ,jre1.6.0_03&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17477</id>
		<title>ADuC832 Development Board</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17477"/>
		<updated>2009-01-19T05:45:54Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Features==&lt;br /&gt;
==Implementation==&lt;br /&gt;
[http://spreadsheets.google.com/ccc?key=pobKDna9aVYcUXxUpzFPWHQ&amp;amp;hl=en BOM]&lt;br /&gt;
===Configure the ADuC832 ===&lt;br /&gt;
#You need to press and hold both “RESET” and “DOWNLOAD” buttons on the main board. &lt;br /&gt;
#First release the “RESET” button and then the “Download” button&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17470</id>
		<title>ADuC832 Development Board</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17470"/>
		<updated>2009-01-19T03:55:16Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Features==&lt;br /&gt;
===RS232===&lt;br /&gt;
==Implementation==&lt;br /&gt;
[http://spreadsheets.google.com/ccc?key=pobKDna9aVYcUXxUpzFPWHQ&amp;amp;hl=en BOM]&lt;br /&gt;
===Configure the ADuC832 ===&lt;br /&gt;
#You need to press and hold both “RESET” and “DOWNLOAD” buttons on the main board. &lt;br /&gt;
#First release the “RESET” button and then the “Download” button&lt;br /&gt;
===RS232===&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17469</id>
		<title>ADuC832 Development Board</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17469"/>
		<updated>2009-01-19T03:45:01Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Features==&lt;br /&gt;
===RS232===&lt;br /&gt;
==Implementation==&lt;br /&gt;
[http://spreadsheets.google.com/ccc?key=pobKDna9aVYcUXxUpzFPWHQ&amp;amp;hl=en BOM]&lt;br /&gt;
===RS232===&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17467</id>
		<title>ADuC832 Development Board</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17467"/>
		<updated>2009-01-19T02:02:57Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Implementation */ add bom list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Features==&lt;br /&gt;
==Implementation==&lt;br /&gt;
[http://spreadsheets.google.com/ccc?key=pobKDna9aVYcUXxUpzFPWHQ&amp;amp;hl=en BOM]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Basic_Circuit_Building_Blocks&amp;diff=17246</id>
		<title>Basic Circuit Building Blocks</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Basic_Circuit_Building_Blocks&amp;diff=17246"/>
		<updated>2009-01-08T08:31:35Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Seven segment LEDs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are circuits and parts of circuits that we see over and over again in larger projects.  Understanding a complex circuit is much easier if you understand these building blocks.  &lt;br /&gt;
&lt;br /&gt;
Operational amplifier are the basis for many circuit building blocks especially in the range of DC to 1 meg Hz.  See [[OpAmp Links]].&lt;br /&gt;
&lt;br /&gt;
== Page Status.... ==&lt;br /&gt;
( [[russ_hensel]] was building this page, but is now distracted so further progress ma;y be up to you.  His schematics have been drawn in Eagle and the screen captured.  Feel free to add your own circuits, as long as they are basic building blocks, there are lots of other places for project circuits. &lt;br /&gt;
Some entries are not complete, if the explanation of the circuit does not match the diagram that is a good tip off.  For some reason even some of the uploaded graphics are not showing up, I am working on this as well.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To Do &lt;br /&gt;
* Why not put alpha order?&lt;br /&gt;
* work on external links&lt;br /&gt;
&lt;br /&gt;
more circuits that would be good to add&lt;br /&gt;
*Constant Current Circuit&lt;br /&gt;
*Wheatstone Bridge&lt;br /&gt;
&lt;br /&gt;
[http://itp.nyu.edu/physcomp/sensors/Schematics/WheatstoneBridge Wheatstone Bridge]&lt;br /&gt;
*AC Coupling Capacitor / High Pass Filter&lt;br /&gt;
*Battery Lamp and Switch&lt;br /&gt;
*Diode Rectifier&lt;br /&gt;
*LM35 Temperature Sensor&lt;br /&gt;
*555 Timer astable oscillator&lt;br /&gt;
*diode for forward drop bias voltage&lt;br /&gt;
*row and collumn connection&lt;br /&gt;
*charge pump&lt;br /&gt;
*transformer&lt;br /&gt;
*voltage multiplier&lt;br /&gt;
*diode logical or&lt;br /&gt;
*RC timer&lt;br /&gt;
*diode full wave bridge&lt;br /&gt;
*H Bridge&lt;br /&gt;
*Simple Oscillator circuits&lt;br /&gt;
*Current mirrors&lt;br /&gt;
*RF Mixers&lt;br /&gt;
*[[Colpitts Oscillator]]&lt;br /&gt;
&lt;br /&gt;
An H bridge is an electronic circuit that causes current to flow in one direction or the other ( from a singel ended power supply ).  Often used for motor control.  It is an electronic double pole double throw switch.&lt;br /&gt;
[http://code.rancidbacon.com/ElectronicsElectronics] See Section on ''H-Bridge''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current Sense Resistor ( Shunt Resistance ) ==&lt;br /&gt;
&lt;br /&gt;
A current Sense Resistor is a low value of resistor that is placed in series with some other circuit.  We can then measure the voltage across the resistor to compute the current.  If the resistor has a low value compared to other components we can ignore the effect on the circuit.  We use the word shunt when the voltage is measured by a device that has a fairly low resistance itself.  We then have to do a more careful calculation of how the current is shared by the two devices.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:shunt.png | Shunt Resistance ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R	shunt resistor used to sense the current  ( and divert it from the meter ).  Usually much less in value than the internal resistance of the meter.&lt;br /&gt;
*METER  meter or other device used to measure the voltage across the shunt reistor.  Often the resistance of the meter is ignored ( if high ).&lt;br /&gt;
*BATTERY  a battery or other voltage source.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
In the old days a sensitive meter, say 50 mv full scale, would be used with a set of shunt, some looking like metal bars, to measure a wide range of currents, up to and exceeding 50 amps.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
#[http://www.scienceshareware.com/bg-current-monitoring.htm  Scienceshareware.com's How A Precision Resistor Is Used to Measure / Calculate Current and Power in an Electrical Circuit.]&lt;br /&gt;
#[http://www.maxim-ic.com/appnotes.cfm/appnote_number/746/ High-Side Current-Sense Measurement: Circuits and Principles]&lt;br /&gt;
#[http://en.wikipedia.org/wiki/Shunt_(electrical) Shunt (electrical) From Wikipedia, the free encyclopedia]&lt;br /&gt;
* Other ways to measure current: [[Motor_driver#current_sense]]&lt;br /&gt;
&lt;br /&gt;
== Filter Capacitor / Decoupling Capacitor / Low Pass Filter ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:filtercap.png | Filter Capacitor ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*D2	is a diode, it lets current pass only in the direction of the arrow.&lt;br /&gt;
*R	resistor &lt;br /&gt;
*Input  a source of alternating current ( occasionally DC in which case the whole circuit serves only to protect against a reverse connection.&lt;br /&gt;
C1      the first, main, filter capacitor.&lt;br /&gt;
C2      the second filter capacitor.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
In this circuit C1 is a classic filter capacitor it charges while the diode conducts, it discharges and supplies current when the diode does not.  R and C2 are a second stage filter.  With R set to 0, it simply adds to the value of C1.  With R in the circuit it forms a low pass filter which helps remove the ripple from the power ( at the cost of some voltage drop ).  In the old days R would often be a low value inductor which had a similar effect without the voltage drop.  A capacitor alone is often put across a circuit component that uses power to supply bursts of current and stop noise from being propagated through the power supply.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Op amp Non Inverting Amplifier ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:opamp_nia.png | Op amp Non Inverting Amplifier ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
OPAMPA  Any general purpose op amp, often connected to + and - power supplies&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Gain is = ( R1/R2 ) + 1 &lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[OpAmp Links]&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Op amp Unity Gain Buffer ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current ( up to about 10 ma for the typical op amp. ).  For example if you wish to measure the out put of a voltage divider with a 0 to 1 ma meter a unity gain buffer might be just what you need.  This circuit is also know as a voltage follower.&lt;br /&gt;
&lt;br /&gt;
The unity gain buffer has an output voltage just the same as the input voltage.  The advantage is that the input circuit does not “feel” the output.  That is the input acts pretty much like a very large resistor ( many mega ohms or more ) connected to ground, and the output supply's whatever current ( up to about 10 ma ) is necessary to maintain the output voltage.  Here is the circuit:&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:opamp_ugb.png | Op Amp Unity Gain Buffer ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*INPUT		the input signal you wish to buffer&lt;br /&gt;
*RIN		the input resistor, often 0 ohms.&lt;br /&gt;
*OPAMPA  Any general purpose op amp, often connected to + and - power supplies&lt;br /&gt;
*RFB   	the feed back resistor &lt;br /&gt;
*OUTPUT	the output&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
The values of RIN and RFB are not very critical and are normally 0 ohms, just a straight connection.  The op amp here is a quad or 4 op amp part, we are using just one section of it.  Power needs to be supplied to pin 8 and 4 in the usual way for op amps.&lt;br /&gt;
&lt;br /&gt;
More information:  &lt;br /&gt;
*[[OpAmp Links]]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Buffer_amplifier Buffer amplifier From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.bcae1.com/opamp.htm Operational Amplifiers]&lt;br /&gt;
*[http://www.eecs.tufts.edu/~dsculley/tutorial/opamps/opamps5.html Op-Amp Buffer]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parallel Circuit ==&lt;br /&gt;
In a parallel circuit the current divides and some flows through each component .  The key to these circuits is that the voltage is the same in every element of the circuit and the total of the current through each of the components adds up to the total current from the battery.  When you use a current meter it is always placed in series with the part of the circuit where you wish to measure the current.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:parallel.png | Parallel Circuit ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
*BATTERY  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
I you have a lot of components that use the same voltage put them in parallel.  This is how most lights in a house are wired.  Each individual light can be turned on and off without changing the current or voltage in the other lights.  With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 /( R1 * R2 ).  When you need a resistor of a different value than you have you can sometimes “make it up” using a parallel connection of resistors you do have.  Two identical resistors in parallel are equivalent to one of half the resistance.  A parallel circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about parallel circuits in the references.  This circuit should be contrasted with the Series Circuit.  Parallel circuits can also be used with other components, the equations vary, for capicators the capacitances add in a parallel circuit.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull Up and Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you want to feed a user input to a digital circuit, for example a PIC input pin.&lt;br /&gt;
&lt;br /&gt;
A pull up is a fairly high value resistor (say 1 to 100 K ohms) that is connected to the positive side of the power supply.  This makes the other end of the resistor the same voltage as the power supply (as long as it is connected to a high impedance).  The other end of the resistor is connected to a switch that is then connected to ground.  When the switch is connected current flow through the resistor drops the entire power supply voltage and the input voltage for the circuit is now 0 (sometimes called active low, since when the switch is active the output is low).  Pull up is sometimes used without the switch to keep a signal high all the time.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:pus.png | Pull Up and Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*PUSH_BUTTON_SWITCH		is a push button switch&lt;br /&gt;
*R_PULLUP	is the pull up resistor &lt;br /&gt;
*VPLUS_VDD   	is the power supply voltage&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
[http://www.seattlerobotics.org/encoder/mar97/basics.html  Very Basic Circuits]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Debouncing Discussion:&lt;br /&gt;
&lt;br /&gt;
We have two groups of solution: Hardware Debouncing Circuit and Software Debouncing Driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hardware Debouncing Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:Pus_debouncing.PNG | Pull Up and Switch with debouncing ]]&lt;br /&gt;
with [http://chungyan5.no-ip.org/open_data/electronic_computer/ui/key_with_debouncing geda circuit], and [http://chungyan5.no-ip.org/open_data/electronic_computer/eda/geda/libs symbols]&lt;br /&gt;
*Advantage - Do not occupy the CPU processing power for debouncing, lets CPU to handle more other application task(s)&lt;br /&gt;
*Disadvantage - we need to implement the above hardware circuit inside the project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Software Debouncing Driver:&lt;br /&gt;
*Advantage - Saving cost &amp;amp; space for nothing debouncing circuit&lt;br /&gt;
*Disadvantage - Utilize CPU processing power for debouncing, less time for CPU to handle other application process&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ToDo===&lt;br /&gt;
*Software Debouncing Driver&lt;br /&gt;
**compile time parameters:&lt;br /&gt;
***time delay between each sample&lt;br /&gt;
***no. of sample - until all samples &lt;br /&gt;
**different type of switches, may be have different above compile time parameters&lt;br /&gt;
**API to OS or GUI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull Down and Switch ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:pds.png | Pull Down and Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R_PULLDOWN	resistor which normally keeps the output low ( ground ).&lt;br /&gt;
*PUSH_BUTTON_SWITCH	switch to make the output high&lt;br /&gt;
*VPLUS_VDD  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Just a variation on the Pull Up and Switch.&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Series Circuit ==&lt;br /&gt;
&lt;br /&gt;
In a series circuit the current first flows through one component then another and so on.  The key to these circuits is that the current is the same in every element of the circuit and the total of the voltage across each of the components adds up to the voltage of the battery.  A current meter is always in series with the part of the circuit whose current is being measured.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:series.png | Series Circuit ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
*BAT  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
I you have a lot of components that use the same current put them in series.  This is often how LEDs are connected to higher voltages; this also eliminates the need for a current limiting resistor on each LED.  With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 .  When you need a resistor of a different value than you have you can sometimes “make it up” using a series connection of resistors you do have.  Two identical resistors in series are equivalent to one of double the resistance.  A series circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about series circuits in the references.  This circuit should be contrasted with the Parallel Circuit.  A voltage divider is an example of a series circuit.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Three Terminal Regulator ==&lt;br /&gt;
&lt;br /&gt;
Use when you need a regulated voltage and or short circuit protection.&lt;br /&gt;
&lt;br /&gt;
Most circuits run better if the primary power source is a constant fixed voltage.  A battery is only a poor approximation to this.  Taking a battery or other voltage source ( like a wall wart plug in transformer ) and running it through a voltage regulator transforms it into a good fixed source of voltage.  It also generally adds current limiting as short circuit protection. The 7805 is a very common 5 volt regulator. &lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:ttr.png | Three Terminal Regulator  ]]&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
The circuit above is very basic.  Practical circuits normally include filter capacitors on both the input and the output.  Most regulators protect against both over temperature and over current.  Regulators come in various voltages both positive and negative.  They also vary in maximum current output. There are also adjustable regulators, ways of using regular regulators as adjustable ones, and ways of boosting the current output.  The spec sheets often describe how to do these things.  Voltage regulators “use up” a couple of volts of the input voltage, low drop out regulators have use less, cost more.  It is a good idea to check the specification for any regulator you are going to use.  The LM78xx ( positive ) and LM79xx ( negative ) are quite common.&lt;br /&gt;
&lt;br /&gt;
More information:  &lt;br /&gt;
*[[Basic Voltage Regulators]] &lt;br /&gt;
*[http://en.wikipedia.org/wiki/7805 7805 From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.tkk.fi/Misc/Electronics/circuits/psu_5v.html Simple 5V power supply for digital circuits]&lt;br /&gt;
&lt;br /&gt;
== Relay with Diode Snubber ==&lt;br /&gt;
&lt;br /&gt;
Sometimes you will want to switch an external device on and off with a device that can only source a small amount of current (a microcontroller for example). For this you will need a relay. A relay is a mechanical device with a electromagnetic coil and a metal switch. When the coil is energized, the metal switch will move, completing the circuit. &lt;br /&gt;
&lt;br /&gt;
An inductive element, like the relay coil, is likely to generate an undesired voltage when the current is suddenly stopped. Use a diode (snubber) to dissipate the extra voltage. &lt;br /&gt;
&lt;br /&gt;
The diode is connected in reverse from the normal voltage across the inductor, when the voltage is removed the collapsing field can continue to drive current through the diode without generating a high voltage.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:diodesnubber.png | Diode snubbber  ]]&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
In the circuit shown, the &amp;quot;input&amp;quot; will come directly from the small current source device (microcontroller output pin). The resistor must be sized correctly, along with the NPN transistor DC current gain, to ensure sufficient current passes through the relay coil to activate it. &lt;br /&gt;
&lt;br /&gt;
Other inductors that might use a diode snubber are transformers, solenoids, dc motors, and of course straight ahead inductors.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://en.wikipedia.org/wiki/snubber &amp;quot;snubber&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/flyback_diode &amp;quot;flyback diode&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Relay &amp;quot;relay&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.dnatechindia.com/index.php/Tutorials/8051-Tutorial/Relay-Interfacing.html Microcontroller] relay interfacing example.&lt;br /&gt;
&lt;br /&gt;
== Transistor Low Side Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you wish to turn a load on and off with both a low voltage and a low current.  Note that neither side of the load is grounded.&lt;br /&gt;
&lt;br /&gt;
A low side switch is one which switches a circuit on and off at the ground or low side of the circuit.  The advantage of a low side switch is that when using a transistor as the switch the voltage to drive the transistor is itself a low voltage.  It is often the easy way to drive LEDS, motors, and other high current devices from such low power devices as PIC output ports.  Low side switches are popular and there are many integrated circuits for them as well as this circuit.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:Tran_lss.jpg | Transistor Low Side Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED		is a low power LED&lt;br /&gt;
*R_LED		is a current limiting resistor for the LED&lt;br /&gt;
*Q			is a bipolar transistor &lt;br /&gt;
*R_1		is a current limiting resistor transistor base current&lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high.  To acomplish this:&lt;br /&gt;
&lt;br /&gt;
*Compute the value of R_LED using ohms law and the specifications for the LED.&lt;br /&gt;
*Compute the current through the LED.&lt;br /&gt;
*The transistor must supply the current, it should be equal approxtely to the input voltage divided by R1 times the beta of the transistor.&lt;br /&gt;
&lt;br /&gt;
An example calculation would be nice, and will appear later.&lt;br /&gt;
&lt;br /&gt;
This circuit is sometimes called &amp;quot;grounded-emitter configuration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Transistor#Switches Transistor From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== Transistor High Side Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you wish to turn a load on and off with a voltage at a low current.  Note that low  side of the load is grounded.  The voltage to turn on the switch is equal to the supply voltage ( or perhaps just a bit larger )&lt;br /&gt;
&lt;br /&gt;
A high side switch is one which switches a circuit on and off at the supply voltage or high side of the circuit.  The advantage of a high side switch is that the load is grounded on one side.  Compared to the low side switch it needs a higher voltage to drive it, but it also eliminates one resistor of that circuit.  It the voltage to drive it is available it may be the circuit of choice.  It is often the easy way to drive leds motors and other high current devices from such low power devices as PIC output ports. &lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:tran_hss.png | Transistor High Side Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED		is a low power LED&lt;br /&gt;
*R_LED		is a current limiting resistor for the LED&lt;br /&gt;
*Q		is a bipolar transistor &lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high.  To compute the values in the circuit:&lt;br /&gt;
&lt;br /&gt;
*Compute the value of R_LED using ohms law and the specifications for the LED.&lt;br /&gt;
*The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current.  The input voltage should be about equal to VPLUS_VDD, high compared to that needed for the low side switch.&lt;br /&gt;
&lt;br /&gt;
== Transistor Emitter Follower ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current.  The circuit has no voltage gain, but because of the current gain it has a lot of power gain.  It is frequently used in the final stage of an amplifier.  &lt;br /&gt;
&lt;br /&gt;
This circuit is a variation of the transistor high side switch.  The difference is that we typically drive this circuit in a linear way ( all of the voltages between 0 and the supply voltage ) to make it a linear amplifier.&lt;br /&gt;
&lt;br /&gt;
The emitter follower is also called a common collector circuit.  The Emitter Follower is basically a high side switch, but when we call it an emitter follower we normally think of it as a linear ( analog ) amplifier, rather than as a switch.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:tef.png | Transistor Emitter Follower ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R_LOAD		represents the resistance of the load&lt;br /&gt;
*Q		is a npn bipolar transistor &lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor.  Use a Darlington connected transistor for a very high beta.&lt;br /&gt;
&lt;br /&gt;
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current.  &lt;br /&gt;
&lt;br /&gt;
This circuit will only amplify positive voltages, using a pnp transistor you can amplify only negative voltages.  Combine the two ( see push pull amplifier ) you can amplify both positive and negative voltages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Variation of the circuit include: &lt;br /&gt;
&lt;br /&gt;
*Use of coupling capacitors to amplify ac signals.&lt;br /&gt;
*Various other components to bias the transistor.&lt;br /&gt;
*Use an op amp buffer with voltage gain at the input, then the emitter follower for high current. In this way a few Milli volts with current on the order of pico amps can drive an output of several volts at an ampere or more. &lt;br /&gt;
&lt;br /&gt;
More information: &lt;br /&gt;
&lt;br /&gt;
*[http://www.mines.edu/Academic/courses/physics/phgn217/lab4/lect7/sld013.htm  Emitter Follower]&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Common_collector Common collector From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== Voltage Divider ==&lt;br /&gt;
Voltage Divider&lt;br /&gt;
&lt;br /&gt;
We use a voltage divider when we have a voltage that is too big and we just want a fraction ( like 1/3 or .33 ) of it.  It is like an amplifier with a gain of less than 1.  We use two resistors, the output is always a constant fraction of the input voltage.&lt;br /&gt;
&lt;br /&gt;
Sometimes we use a potentiometer as a voltage divider.  This makes the ratio of output to input adjustable.  This is how we make a gain control or volume control.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:vdivide.png | Voltage Divider ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1&lt;br /&gt;
*R2	resistor 2&lt;br /&gt;
*POT  a potentiometer&lt;br /&gt;
&lt;br /&gt;
The ratio of input to output is:  output/input = R2/( R1 + R2 ).&lt;br /&gt;
&lt;br /&gt;
Discussion&lt;br /&gt;
&lt;br /&gt;
The equation assumes that the input source is low impedance and the output is high impedance, if this is not true consider using a buffer on the input or the output ( Op Amp Unity Gain Buffer or Transistor Emitter Follower ) For audio applications a so called “log taper” pot may be used as it better matches the way in which we hear.  If you want a calibrated control you may use a precision “10 turn precision” pot.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.seattlerobotics.org/encoder/mar97/basics.html Very Basic Circuits]&lt;br /&gt;
*[http://itp.nyu.edu/physcomp/sensors/Schematics/VoltageDivider Voltage Divider]&lt;br /&gt;
&lt;br /&gt;
== RC Filter ==&lt;br /&gt;
&lt;br /&gt;
The most basic filters are the RC-High Pass and RC-Low Pass filters.  The high pass filter removes DC and low frequencies and the low pass removes high frequencies.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''High Pass''' [[Image:rchighpass.png | RC High Pass Filter]]&lt;br /&gt;
'''Low Pass''' [[Image:rclowpass.png | RC Low Pass Filter]]&lt;br /&gt;
&lt;br /&gt;
Both circuits have the same 3dB frequency or the frequency at which the power of the signal is aproximately halved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
f_\mathrm{c} = {1 \over 2 \pi \tau } = {1 \over 2 \pi R C}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way to remember the two circuits is to think about how the capacitor acts at various signal frequencies.  At high frequencies capacitors act like wires.  At low frequencies capacitors act like disconnections.&lt;br /&gt;
&lt;br /&gt;
An important use of low pass filters is for the anti-aliasing circuity on the input of an A/D converter or the output of a D/A converter. An important use of a high pass filter is to remove the DC offset of a signal.  For example, it's possible to use a power supply that is +5 to GND to generate a sin from a D/A converter and use a high pass filter to change the sin to a +2.5 to -2.5 signal at the output.&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Low-pass_filter Low Pass Filter]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/High-pass_filter High Pass Filter]&lt;br /&gt;
&lt;br /&gt;
== Light Emitting Diode ( with current limiting resistor ) ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit to light low power LEDs&lt;br /&gt;
&lt;br /&gt;
A light emitting diode can be very sensitive to small voltage changes, just a bit too much voltage and the LED will draw too much current and “burn out”.  Thus it is often used with a resistor in series.  If we have a 5 volt source of voltage and an LED that is specified for 2.5 volts at 10 ma, then the resistor must have ( 5 – 2.5 ) volts = 2.5 volts and 10 ma.  Using ohms law  2.5/10 x 10 ee-3 = 250 ohms.&lt;br /&gt;
&lt;br /&gt;
A transistor low or high side switch can be used with the resistor if your input cannot supply enough current for the LED.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:ledres.jpg | LED and current limiting resistor ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED	the LED&lt;br /&gt;
*R_LED  the current limiting resistor&lt;br /&gt;
*INPUT	voltage source for lighting the LED&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.seattlerobotics.org/encoder/mar97/basics.html  Very Basic Circuits ] &lt;br /&gt;
*[http://www.iguanalabs.com/1stled.htm Learning About Transistors and LEDs ]&lt;br /&gt;
*[http://quantsuff.com/index.htm WELCOME TO QUANTSUFF'S CIRCUIT PAGE. Low Voltage, high-efficiency Drivers for LED Lights ]&lt;br /&gt;
&lt;br /&gt;
== Transistor -- Push Pull Circuit ==&lt;br /&gt;
&lt;br /&gt;
Use when you need current gain and need both positive and negative output.&lt;br /&gt;
&lt;br /&gt;
A modification of the “transistor emitter follower” that can give both positive and negative outputs.  Based on two transistors one npn the other pnp: one pushes the other pulls.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:pptrans.png | Push Pull Transistor Circuit]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*Q1	transistor 1 need not be a TIP41C but does need to be NPN&lt;br /&gt;
*Q2	transistor 2 need not be a TIP42C but does need to be PNP&lt;br /&gt;
*R_LOAD	represents the load, here it is in the emitter, it could also be placed in the collector circuit&lt;br /&gt;
*VPLUS_VDD Power supply voltage, positive.&lt;br /&gt;
*VMINUS Power supply voltage, negative.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Often there are other components for transistor bias or other purposes.  The circuit here is really basic.  The common transistors used are so called complementary pairs, similar characteristics but one npn and the other pnp.  Note that we need both positive and negative power supplies. You can also put the push pull circuit inside the feedback loop of an op amp to get a high current op amplifier.  Push pull amplifies can also be made with other types of transistors, tubes, or other components.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.ecircuitcenter.com/Circuits/pushpull/pushpull.htm Push-Pull Output Stage]&lt;br /&gt;
*[http://www.allaboutcircuits.com/vol_6/chpt_6/10.html Class B audio amplifier]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Electronic_amplifier     Electronic amplifier From Wikipedia, the free encyclopedia (search on Class B and AB )]&lt;br /&gt;
&lt;br /&gt;
== Transistors -- Darlington connected ==&lt;br /&gt;
&lt;br /&gt;
Use a Darlington transistor connection when you want really high current gain.  Gain of 1000 is easily in reach.  That is 1 ma to 1 amp &lt;br /&gt;
This is a useful connection of 2 transistors that together form a transistor of much larger gain.  You can also buy Darlington transistors all packaged in a single case with just 3 connections exposed to the outside.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:dtrans.png | Darlington Transistor Connection  ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*Q1	transistor 1 need not be a 2N3565 but does need to be NPN&lt;br /&gt;
*Q2	transistor 2 need not be a 2N3565 but does need to be NPN&lt;br /&gt;
*R_LOAD	represents the load, here it is in the emitter, it could also be placed in the collector circuit&lt;br /&gt;
*VPLUS_VDD Power supply voltage, positive.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
Often Q1 is a high gain small signal transistor and Q2 a lower gain power transistor.  You can use PNP transistors by using a negative power supply. Use a ULN2803 ( or similar chips ) to get 8 darlingtons in one package, useful as low side switches and in conjunction with microcontrollers.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* http://en.wikipedia.org/wiki/Darlington_transistor  Darlington transistor From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.kpsec.freeuk.com/trancirc.htm  Transistor Circuits ( search on Darlington )]&lt;br /&gt;
*[http://www.ibiblio.org/kuphaldt/electricCircuits/Semi/SEMI_4.html Lessons In Electric Circuits -- Volume III Chapter 4 BIPOLAR JUNCTION  TRANSISTORS Darlington pair ( search on Darlington )]&lt;br /&gt;
&lt;br /&gt;
== Schmitt Trigger ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:opamp_st.png | Schmitt Trigger ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*RIN	input resistor -- when this inputs more current than the positive feedback resistor the output switches to the voltage at the input, else it stays at the output voltage it has already reached.  Typically lower in value than RFB.&lt;br /&gt;
*RFB	positive feedback resistor the output voltage is feed back to the input and keeps the output at its current voltage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
The circuit is used to switch between two states even in the presence of noise.  This is an somewhat unusual op amp circuit as it uses positive not negative feedback.  See the references for a better explanation and variations on the circuit.&lt;br /&gt;
Schmidt Triggers are also available as integrated circuits which require no external components.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[[OpAmp Links]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== oscillators ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Flip-flop circuit.jpg]]&lt;br /&gt;
(is there a better page to discuss oscillators?)&lt;br /&gt;
&lt;br /&gt;
== Power up low active reset circuit ==&lt;br /&gt;
[[Image:power_up_low_active_reset_circuit.png]]&lt;br /&gt;
[[Image:pular.png]]&lt;br /&gt;
*[http://chungyan5.no-ip.org/open_data/electronic_computer/middleware/pwr_up_low_active_reset/  power_up_low_active_reset_circuit]&lt;br /&gt;
*[http://spreadsheets.google.com/pub?key=pobKDna9aVYeKjbR-Hf-OIg Result of Resistant to delay time]&lt;br /&gt;
&lt;br /&gt;
== ADC Voltage Protection Circuit ==&lt;br /&gt;
[[Image:Adc.png]]&lt;br /&gt;
*The opamp circuit is used to&lt;br /&gt;
#provide a low input source resistance to the ADC&lt;br /&gt;
#protect ADC whose input signal may exceed the supply/reference voltage (i.e. INPUT &amp;gt; V&amp;lt;sub&amp;gt;cc&amp;lt;/sub&amp;gt;)&lt;br /&gt;
*In scenario 2, the voltage into the ADC input pin is capped at the supply voltage.&lt;br /&gt;
*Requirement for the op-amp:&lt;br /&gt;
**The op-amp can withstand the input signal beyond the supply voltage, provided that the input current is limited to I&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt; (e.g. [http://focus.ti.com/lit/ds/symlink/opa4340.pdf OPA4340] I&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt; = 10mA)&lt;br /&gt;
&lt;br /&gt;
*Test conditions:&lt;br /&gt;
**V&amp;lt;sub&amp;gt;signal&amp;lt;/sub&amp;gt; = 5V&lt;br /&gt;
**R1 = 8.2kohm, R2 = 15kohm, C1 = 0.1uF, C2 = 0.22uF&lt;br /&gt;
**Measured V+ = 3.8V&lt;br /&gt;
**Calculated current = (5-3.8)/23200 = 52uA &amp;lt; 10mA&lt;br /&gt;
==Seven segment LEDs==&lt;br /&gt;
[http://chungyan5.no-ip.org/vc/trunk/AltiumDesigner6ProjectFiles.zip?root=7segment_LEDs&amp;amp;view=log AltiumDesigner6ProjectFiles]&lt;br /&gt;
&lt;br /&gt;
== further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[input protection]] circuits&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''... do we need another page for not-so-basic circuits such as the Baker clamp ? ...''&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Projects&amp;diff=17245</id>
		<title>Projects</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Projects&amp;diff=17245"/>
		<updated>2009-01-08T08:29:44Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* ADuC832 Development Board */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Open Circuits ===&lt;br /&gt;
&lt;br /&gt;
These should be projects or links to projects that are open, at a minimum in the sense that there is enough information so that others can reproduce the project.  Lets stay away from sites that are just show cases without the details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Chip EEG]] ===&lt;br /&gt;
The Programmable Chip EEG is a Multi-channel electroencephalograph that could be a brain-computer interface.&lt;br /&gt;
See the [http://openeeg.sourceforge.net/doc/ OpenEEG Project]&lt;br /&gt;
&lt;br /&gt;
=== Open Source Disability Gadgets ===&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Gear and software for people with disabilities is usually ... hard or impossible to repair it, or get anyone to repair it. We need to hack the model for accessibility tools! With a culture of open source designs, Instructables, wikis, and blogs&amp;quot; -- [http://panelpicker.sxsw.com/ideas/view/1745 Open Source Disability Gadgets: DIY for PWD]&lt;br /&gt;
&lt;br /&gt;
=== µWatch ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.calcwatch.com/ µWatch]: World's First D-I-Y Scientific Calculator Watch&lt;br /&gt;
&lt;br /&gt;
=== Open Source Circuits Magazine ===&lt;br /&gt;
[http://www.anykits.com/ Anykits magazine]&lt;br /&gt;
- Anykits publishes an open source magazine with quite a few, application oriented circuits. It contains schematics, parts list and PCB illustrations.&lt;br /&gt;
The best part is that its formated for print and available as regular PDF.&lt;br /&gt;
&lt;br /&gt;
=== Open OBDII ===&lt;br /&gt;
[http://www.sterntech.com/obdii.php Link to source and schematics]&lt;br /&gt;
Open source hardware and software implementing OBDII tester for cars. &lt;br /&gt;
Two versions one using a PIC microcontroller and one using an AVR microcontroller.&lt;br /&gt;
&lt;br /&gt;
=== [[vehicle]]s: manned and unmanned ===&lt;br /&gt;
Lots of [[vehicle | vehicle-related projects]] -- for motorcycles, automobiles, and unmanned aerial vehicles (UAVs).&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F84A - single relay ===&lt;br /&gt;
* [http://www.elektronika.ba/507/phoneline-controller-v1/] controll one relay over phone-line. Uses PIC16F84A and MT8870.&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F876A - 6 relays! ===&lt;br /&gt;
* [http://www.elektronika.ba/508/phoneline-controller-v2/] controll up to 6 relays over phone-line. Uses PIC16F876A and MT8870.&lt;br /&gt;
&lt;br /&gt;
===Homemade MIDI turntable===&lt;br /&gt;
Cheap and simple homemade MIDI turntable with GPL2 license. Using a ATmega, a HDNS-2000 optical mouse encoder, GCC-AVR, AVR-Libc and FreeRTOS. [http://casainho.net/tiki-index.php?page=Homemade+midi+turntable Homepage of Homemade MIDI turntable].&lt;br /&gt;
&lt;br /&gt;
=== Motherboards that Run Linux ===&lt;br /&gt;
==== [http://www.elphel.com Elphel Free Software &amp;amp; Open Hardware cameras and camera modules] ====&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10353 10353] - processor board (computer part of the camera) uses ETRAX FS processor running GNU/Linux (currently kernel 2.6.19) that has support for multiple hardware interfaces with the following of them used/connected in the Model 353:&lt;br /&gt;
** 10/100 Ethernet&lt;br /&gt;
** USB 1.1 (host)&lt;br /&gt;
** IDE (ATA-6)&lt;br /&gt;
** RS-232 &lt;br /&gt;
** Teridian 78Q2123 is used as Ethernet PHY in the camera - it has Auto-MDI/X, so no more crossover cables are needed when connecting camera directly to a PC.&lt;br /&gt;
** 64MB of 32-bit white system SDRAM provide memory to run multiple applications in the camera. It is also used as a buffer for video/images and as a RAM-disk.&lt;br /&gt;
** 128MB of system flash memory work a solid-state disk to boot the camera and provide it with the software. The JFFS2 file system allows writing to this &amp;quot;disk&amp;quot; data and updating the applications without the need to replace the whole flash memory image. As in the other Elphel products marked with /*source inside*/ logo, Model 353 holds all the source code (including FPGA and circuit diagrams) designed by Elphel. Combined with the other free software used in the camera (automatically downloaded when Elphel software is being installed) this code is completely sufficient to regenerate the camera flash image. Axis ETRAX FS provides built-in code to boot from the network and restore the contents of flash memory if it is lost/corrupted so re-flashing the camera is a completely safe procedure.&lt;br /&gt;
** Xilinx (R) Spartan 3e 1200K gates FPGA is the highest density device available in the small FT256 package (that fits in the camera) and it carries most of the video processing/compression in the camera. All the FPGA code is provided under GNU GPL and with free for download development tools from Xilinx you may modify this part of the camera code similar to the software. FPGA registers are accessible by the software through a system bus, FPGA can also transfer data to the system memory using DMA access. In addition to the pseudo-DMA (the only method available in the earlier ETRAX 100LX) the 10353 board has circuitry to allow the FPGA to gain full control of the system bus and transfer data to the system memory up to 5 times faster.&lt;br /&gt;
** Another 64MB of DDR SDRAM memory chip is connected directly to the FPGA and provides temporary buffering of the images needed for compression or processing. With the dedicated controllers and fine-tuned data structures this memory can provide an average data rate of 95% of the memory bandwidth of 0.5GB/sec.&lt;br /&gt;
** Cypress programmable CY22393 3-PLL clock generator provides clock for the CPU and FPGA, all the frequencies can be adjusted when needed.&lt;br /&gt;
  &lt;br /&gt;
Modules for the 353/363 series cameras:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10338 10338] - 5MPix sensor board for 353-series cameras&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10357 10357] - solid-state storage (can accommodate up to 8 CF cards - 128GB total)&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10359 10359] - multifunction multiplexer/FPGA processing board. Can be used to connect up to 3 of the sensor boards (i.e. 10338, 10347) to one processor board. It can process the image data too.&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10347 10347] - controller part of a two-board stack (currently with 10342 or 10344) to connect 35mm format CCD image sensors&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10342 10342] - sensor board (requires 10347) for the Kodak 11MPix KAI-11002 CCD image sensor&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10344 10344] - sensor board (requires 10347) for the Kodak 16MPix KAI-16000 CCD image sensor&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10369 10369] - interface board with SATA port, 2 CF card slots, USB (4 ports), RS-232, 2 channels of optoisolated I/Os for synchronization, clock/calendar with super-capacitor backup power&lt;br /&gt;
&lt;br /&gt;
==== [[ARMUS Embedded Linux Board]] ====&lt;br /&gt;
An ARM920T board running Linux at 200 Mips with sound, Ethernet, CAN, 48+ bidirectionnal IOs and 4 DSPs for motor control (DC, Servos, etc...). Built as a student proof robotics design platform.&lt;br /&gt;
&lt;br /&gt;
==== [http://balloonboard.org Balloon Xscale ARM+FPGA dev board] ====&lt;br /&gt;
The Balloon project has produced Balloon3, a high-performance ARM board designed for use by OEMs and Higher education. Spec is PXA270 (583Mhz), FPGA or CPLD, 1GB flash, 784MB RAM, USB (master, slave, OTG), CF slot, expansion bus, 16-bit bus, I2C, LCD, serial, audio. Very low power in CPLD confiuguration. Small, light. Various add-on boards: VGA LCD driver, robot motor driver+A/D, digital IO. Released under the Balloon Open Hardware license, which allows anyone to manufacture and for people to make derivatives. The expansion bus allows balloon to be used as the computing component for various special-purpose devices.&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp]] ====&lt;br /&gt;
The linuxstamp is an open source processor module. It is designed to be a very simple board capable of running linux. It is based on the Atmel AT91RM9200 processor (An ARM9 processor with a MMU).&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp Mboard 1]] ====&lt;br /&gt;
This is the first mother board for the linuxstamp. It is still in the planning stages (no pcbs).&lt;br /&gt;
&lt;br /&gt;
==== [http://www.linuxdevices.com/links/LK9764937601.html LART -- an open license StrongARM based tiny SBC] ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;All CAD files required for building LART are available under the closest we could get to an Open/Free Hardware License.&amp;quot;&lt;br /&gt;
The link in the Linux Devices article no longer works; the most recent link is http://www.lartmaker.nl/ .&lt;br /&gt;
&lt;br /&gt;
==== Other Boards that Run Linux ====&lt;br /&gt;
&lt;br /&gt;
* Is it possible to [http://groups.google.com/group/comp.arch.embedded/browse_thread/thread/be085ff0772cde21/8331dee5db8eb083#8331dee5db8eb083  Linux on a &amp;quot;soft CPU&amp;quot;] inside a FPGA?&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxhosts.org/article.cfm/id/158855 The ARM9 AT91SAM9261 is capable of running Linux].&lt;br /&gt;
* [http://www.linuxdevices.com/articles/AT8498487406.html &amp;quot;teeny weeny Linux  single board computers&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
=== [[Open Mobile Gadgets]] -- open source, open hardware, mobile phone ===&lt;br /&gt;
An open source, open hardware mobile phone in its preliminary development.&lt;br /&gt;
&lt;br /&gt;
=== [[Music Player]]s including MP3 players ===&lt;br /&gt;
&lt;br /&gt;
* [[TRAXMOD]] Open source MOD music player for dsPIC/ARM microcontrollers.&lt;br /&gt;
&lt;br /&gt;
* [[Music Player]] Mostly off site.&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes 3.3V TTL serial and outputs to a super-common RS232 connection. Insto-NMEA!&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS USB Dev Board]] ===&lt;br /&gt;
A great example project using the CP2102 USB to TTL UART IC as well as some basic battery holder info.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes all the power it needs from the serial port. Use it to power your microcontroller and communicate between serial port and microcontroller.  Takes advantage of the fact that pc serial ports will accept 0-5V rather than the RS232 standard of around negative 10V to  positive 10V.  Very convenient - no external power required!  Note that you may use either a 5.1V Zener or a 5V regulator.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 RS485 USB Converter Board]] ===&lt;br /&gt;
Aim to build a general Converter between different Interfaces.&lt;br /&gt;
&lt;br /&gt;
=== [[Chalk Roach|Number Six]] ===&lt;br /&gt;
&amp;quot;#6&amp;quot; (the son of Chalk Roach)&lt;br /&gt;
is a ultra simple microcontroller development board for Atmel ATmega32 = 16MHz, 2KB SRAM, 16KB Flash&lt;br /&gt;
&lt;br /&gt;
=== LED and POV displays ===&lt;br /&gt;
&lt;br /&gt;
Led displays range from a battery and an LED which light up ( cool!, add a magnet and you have an led throwie ) to microcontroller led projects, either Smart Led ( Led with a microcontroller so that it blinks, reacts to the environment, or shifts color ) or Led Arrays ( or led matrix ) that do simple graphics and or play games, or POV devices where what you see depends upon you persistance of vision ( which can include some led arrays ).  You can probably dig up more using these terms in google.&lt;br /&gt;
&lt;br /&gt;
==== Our Own Projects ====&lt;br /&gt;
&lt;br /&gt;
* [[24&amp;quot; Wall Clock]] A really big wall clock. Why? Well, cause it might look cool? Probably not. But we do use GPS to get the time! Groovy.&lt;br /&gt;
* [[POV display]] that spins around, giving the illusion of a large display. ([[User:DavidCary|DavidCary]])&lt;br /&gt;
* [[PointLess LED Array]] A 8 by 8 array displays something using POV ([[russ_hensel]])&lt;br /&gt;
* [[PIC Links]] and search on POV and/or LED&lt;br /&gt;
&lt;br /&gt;
==== Off Site ====&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/p/bicycleledpov/ Bicycle LED POV] is an electronic LED bar to attach on bicycle wheels. When riding the bicycle, the LED bar will draw with light, text messages and image animations. Free/Open hardware, firmware and software.&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/03/luscious_electric_delight.html &amp;quot;luscious electric delight&amp;quot;]: source and schematics for a large graphical LED panel. Uses 12 MAX6953 LED drivers; each MAX6953 drives four 5x7 led matrices. The PC generates arbitrary bitmap, sends it out the serial port to a PIC, which translates it to I2C bus connected to all the MAX6953 LED drivers, which update the image at a continuous frame rate of 30fps.&lt;br /&gt;
* [https://oldwiki.blinkenarea.org/bin/view/Blinkenarea/BlinkenProjects BlinkenProjects]: projects with lots of LEDs[http://www.kiu.weite-welt.com/de.schoar.blog/?p=206], including a 3D LED array. Wiki: http://wiki.blinkenarea.org/&lt;br /&gt;
* [http://www.ianpaterson.org/projects/spokepov20050704/index.htm  Ian’s Spoke POV] Review it.&lt;br /&gt;
* [http://www.electric-clothing.com/superpov.html Project: Super POV] Review it.&lt;br /&gt;
* [http://www.ladyada.net/make/spokepov/index.html SpokePOV Persistence of Vision for your Bike] Very nice, kit available.&lt;br /&gt;
* [http://www.attiny.com/dotmatrix.htm On this page you will find a scrolling LED sign based on the ATtiny2313 AVR microcontroller] Row Column approach with a shift register]&lt;br /&gt;
* [http://blog.makezine.com/archive/2007/02/flashing_led_br.html Flashing LED Bra]&lt;br /&gt;
* [http://www.evilmadscientist.com/article.php/peggy &amp;quot;Peggy,&amp;quot; A Light Emitting Pegboard Display]&lt;br /&gt;
* Christmas trees are now led based so: [http://computerchristmas.com/ The #1 Site for Controlling Christmas Lights with a Computer]&lt;br /&gt;
* [http://members.misty.com/don//ledx.html Don Klipstein's LED Main Page]  Lots of good info.&lt;br /&gt;
* [http://www.instructables.com/id/Synchronizing-Fireflies/ Synchronizing Fireflies] ATtiny super smart swarm of LEDs.&lt;br /&gt;
* [http://www.u-disp.com/ U-Disp - An Open Sourced USB display]&lt;br /&gt;
* [http://crushingabyss.com/sunrise_alarmclock/index.html Sunrise LED Alarm Clock] ATMega8515 controlling two color-mixed high-power LED channels with PWM.  Also contains a RTC circuit and a serial port.  Full source including PC Windows serial port communication code.&lt;br /&gt;
&lt;br /&gt;
=== [[Cellular Rotary Phone]] ===&lt;br /&gt;
An indepth breakdown of the Port-O-Rotary. Some clues to help you avoid audio problems with the GM862.&lt;br /&gt;
&lt;br /&gt;
=== [[Das Brewmeister!]] and [[Fermenter Controller]] ===&lt;br /&gt;
* [[Das Brewmeister!]] : An attempt to wirelessly monitor temperatures of fermentation vessels&lt;br /&gt;
* [[Fermenter Controller]] : A web available fermenter vessel controller. Uses PICs, [[I2C]], Rs232 and python.&lt;br /&gt;
&lt;br /&gt;
=== [[Home controller]] ===&lt;br /&gt;
Program your appliances to operate automatically in conjunction with your weekly and daily schedule, manually turn them on/off from your PC or use the controller as a process ON/OFF controller to regulate some kind of physical variable to the desired value.&lt;br /&gt;
&lt;br /&gt;
=== [[Interactive Lock Box]] ===&lt;br /&gt;
An interesting project using an accelerometer and capacitive touch ICs.&lt;br /&gt;
&lt;br /&gt;
=== [[Motor driver]] (H-bridge) ===&lt;br /&gt;
&lt;br /&gt;
=== [[atomic microscope]] ===&lt;br /&gt;
An atomic-resolution microscope.&lt;br /&gt;
* STM (scanning tunnelling microscope)&lt;br /&gt;
* AFM (atomic force microscope)&lt;br /&gt;
&lt;br /&gt;
=== [[BlueICE]] ===&lt;br /&gt;
A bluetooth JTAG ICE debugger for AVR's!!!&lt;br /&gt;
&lt;br /&gt;
=== Sort-of-Networked [[RFID Reader]] ===&lt;br /&gt;
A 125Khz RFID Reader with a simple ring network - to allow connection of multiple units to the same control computer.&lt;br /&gt;
&lt;br /&gt;
=== Battery charger ===&lt;br /&gt;
&lt;br /&gt;
See [http://elecdesign.com/Article/ArticleID/1823/1823.html &amp;quot;Build A Smart Battery Charger Using A Single-Transistor Circuit&amp;quot;] by Ejaz ur Rehman.&lt;br /&gt;
But be sure to read the &amp;quot;Reader Comments&amp;quot; at the end.&lt;br /&gt;
The suggestion to add a zener diode is a good idea.&lt;br /&gt;
&lt;br /&gt;
=== the Open Graphics Project ===&lt;br /&gt;
&lt;br /&gt;
[http://linux.wordpress.com/2006/07/19/introducing-the-open-graphics-project/ the Open Graphics Project]&lt;br /&gt;
a project started by chip-designer Timothy Miller.&lt;br /&gt;
His goal, along with the rest of the project, known as the “Open Graphics Foundation” is to make a 3D accelerated video card which is fully documented, free-licensed, and open source.&lt;br /&gt;
See [http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics the Open Graphics wiki].&lt;br /&gt;
&lt;br /&gt;
=== [[Amiga floppy project]] ===&lt;br /&gt;
&lt;br /&gt;
The Amiga floppy project:&lt;br /&gt;
designing, building, and programming an adapter to allow PCs to read from Amiga floppies.&lt;br /&gt;
&amp;quot;This is really designed to be a community project(hence the blog with progress reports).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This project is the building of an external USB amiga floppy drive controller.  It sits between the USB port on a Windows PC, and a regular PC floppy drive.  It will allow the PC to create .ADF images from an amiga floppy disk.  This device is based on a Parallax SX28 microcontroller, uses Ramtron FRAM memory for temporary track storage, and uses another Parallax component for the USB interface.&lt;br /&gt;
&lt;br /&gt;
See http://www.techtravels.org/amiga/amigablog for the latest in the blow by blow attempts to get this thing off the ground!!&lt;br /&gt;
&lt;br /&gt;
=== Irsensor-a ===&lt;br /&gt;
&lt;br /&gt;
Infrared Proximity Sensor Alfa&lt;br /&gt;
[http://www.kedo.com.mx/modules/content/index.php?id=3 Infrared Proximity Sensor Alfa in www.kedo.com.mx]&lt;br /&gt;
&lt;br /&gt;
The Infrared Proximity Sensor Alfa is a sensor to detect objects that can reflect infrared light.  It has the following characteristics.&lt;br /&gt;
* Designed to detect objects that are close and can reflect infrared lights.&lt;br /&gt;
* It has a Infrared Transmitter to eliminate the dependency of solar lighting.  So It can be used in the night.&lt;br /&gt;
* It has a Infrared Receiver that detects the closest object that reflects the infrared lights.&lt;br /&gt;
* It has an incorporated voltage regulator&lt;br /&gt;
* The output is a constant 5V when it is active and 0V when no detection.&lt;br /&gt;
* You can change the proximity threshold with a potentiometer.&lt;br /&gt;
&lt;br /&gt;
== [[DsPIC30F 5011 Development Board]] ==&lt;br /&gt;
A development board using Microchip dsPIC30F5011, a 5V based 16-bit microcontroller with DSP functions, EEPROM, ADC, PWM and communciation ports of UARTs, I2C, SPI etc. Contains concise information on:&lt;br /&gt;
#Development environments (IDE)&lt;br /&gt;
#External programming methods (ICSP Programming using ICD2 Programmer)&lt;br /&gt;
#Bootloader implementation (RTSP)&lt;br /&gt;
#Software development tips based on POSIX concepts&lt;br /&gt;
#Basic conversion tips to target board using Microchip dsPIC33FJ128GP306, a pin-to-pin compatible 3.3V microcontroller&lt;br /&gt;
&lt;br /&gt;
==[[ADuC832 Development Board]]==&lt;br /&gt;
[http://chungyan5.no-ip.org/vc/linlike8/tags/0.04.04/arch/51family/examples/di_do_ai_ao/AltiumDesigner6ProjectFiles.zip?root=freertos_posix&amp;amp;view=log AltiumDesigner6ProjectFiles]&lt;br /&gt;
&lt;br /&gt;
== [[Ethernet Module]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
*The entire Ethernet Module consists of:&lt;br /&gt;
#Hardware: a LAN card based on Davicom DM9000A chip&lt;br /&gt;
#Software: a TCP/IP stack based on uIP 1.0 or lwIP&lt;br /&gt;
&lt;br /&gt;
== [[Modulation Plugin]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Modulation Plugin Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
&lt;br /&gt;
== [[Multi-purpose Embedded System]] ==&lt;br /&gt;
&lt;br /&gt;
*This project intends to provide ideas and technical information to create a multi-purpose embedded system. &lt;br /&gt;
**Information contained in this wiki should be as generic as possible (unless otherwise stated) so that the ideas and information can be portable to different hardware (e.g. 8-bit/16-bit/32-bit MCU). &lt;br /&gt;
**The peripherial devices should be expandable&lt;br /&gt;
&lt;br /&gt;
== Scavenge ==&lt;br /&gt;
&lt;br /&gt;
Some people derive an inordinate amount of pleasure from building semi-useful objects from zero-cost junk.&lt;br /&gt;
&lt;br /&gt;
In the electronics field, most of the stuff built from scavenged components falls into 2 categories:&lt;br /&gt;
* ham radio transmitters and receivers -- built from a few transistors, caps, resistors, and wire&lt;br /&gt;
* BEAM robotics -- built from the above plus motors, solar cells, ...&lt;br /&gt;
&lt;br /&gt;
According to http://coprolite.com/art12.html ,&lt;br /&gt;
&amp;quot;I'd love to hear about where you found your 8048. Take a picture of the host that you remove it from (CD player, truck, refridgerator, whatever) and I'll put your picture on a page that chronicles our adventures sifting through the rubble.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Also see [[Free_From_Salvage]]&lt;br /&gt;
&lt;br /&gt;
=== openEyes ===&lt;br /&gt;
openEyes is an open-source open-hardware toolkit for low-cost real-time eye tracking.&lt;br /&gt;
See [http://hcvl.hci.iastate.edu/cgi-bin/openEyes.cgi the OpenEyes hardware and software] and [http://hcvl.hci.iastate.edu/cgi-bin/openEyeswiki/index.cgi the openEyes wiki].&lt;br /&gt;
&lt;br /&gt;
=== RepRap ===&lt;br /&gt;
RepRap is an open source project to create a 3d printer or fabber machine.  There is tons of information available on [http://www.reprap.org its website].  The current iteration is a 3 axis cartesian robot with 2 extruder heads:  a Thermoplastic head that extrudes plastics like HDPE, ABS, and CAPA, and a support material head that extrudes a water soluble material to support the build process.&lt;br /&gt;
&lt;br /&gt;
The [http://burningsmell.org/biollante/ Biollante project] is a kind of RepRap that uses a 6 axis Stewart platform.&lt;br /&gt;
Can devices from a [http://kmoddl.library.cornell.edu/ mechanical model library] be fabbed with RapRap?&lt;br /&gt;
The article [http://ccsl.mae.cornell.edu/papers/Nature05_Zykov.pdf &amp;quot;Self-reproducing machines&amp;quot;] goes even further than just 6 identical parts -- it suggests that &amp;quot;self-reproducing machines composed of many identical microscale modules&amp;quot; may be a better design than the original RepRap design where just about every part is unique.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is the meta-problem of engineering: Design a machine that can design other machines.&amp;quot; -- Hod Lipson[http://www.mae.cornell.edu/lipson/]&lt;br /&gt;
&lt;br /&gt;
=== TwentyDollarWikiDevice ===&lt;br /&gt;
&lt;br /&gt;
Challenge: Build a Wiki Device with a parts cost of no more than twenty dollars which is usable as a portable wiki. Include feature to make it compatible with a desktop or laptop computer's PersonalWiki, with a connector allowing this use.&lt;br /&gt;
--&lt;br /&gt;
http://c2.com/cgi/wiki?TwentyDollarWikiDevice&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hardware portable wiki for taking notes with an auto-merging functionality when you are very close to Internet or your computer.&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
http://communitywiki.org/AlexandreDulaunoy&lt;br /&gt;
&lt;br /&gt;
=== [[breakout boards]] ===&lt;br /&gt;
These are three boards that I designed for a specific project and found them very useful. Each of these boards uses the phoenix contact plugable terminal blocks. The 50-pin breakout board is for a 50-pin ribbon cable. The LEM breakout board is for LEM AC/DC current sensor. The power supply breakout board is for a +5v +/-15v power supply.&lt;br /&gt;
&lt;br /&gt;
=== Free Telephony Project ===&lt;br /&gt;
&lt;br /&gt;
[http://www.rowetel.com/ucasterisk Free Telephony Project]&lt;br /&gt;
&lt;br /&gt;
* Embedded Asterisk IP-PBX hardware and software&lt;br /&gt;
&lt;br /&gt;
* Low cost, completely open IP-PBX hardware including FXS/FXO analog and E1/T1 interfaces, and DSP motherboard hardware.  Target price of $100 for a 4 port IP-PBX.&lt;br /&gt;
&lt;br /&gt;
=== Eyes for Open Robot ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com/commerce/product_info.php?products_id=637 $20 CMOS Camera Module - 640x480] has a [http://forum.sparkfun.com/viewtopic.php?t=2442 &amp;quot;Get-that-camera-working competition&amp;quot; discussion forum] and [http://www.makezine.com/blog/archive/2007/01/hack_this_cmos.html now been adequately documented] ... http://elinux.org/wiki/SparkfunCamera ... [http://forum.sparkfun.com/viewtopic.php?t=2442&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=135 by David Carne].&lt;br /&gt;
&lt;br /&gt;
* ... perhaps simpler to use an off-the-shelf webcam that plugs directly into a laptop ... [http://www.linux.com/howtos/Webcam-HOWTO/hardware.shtml Enabling Support for Your (Webcam) Hardware in Linux] ... [http://www.saillard.org/linux/pwc/ Philips USB Webcam Driver for Linux] ... [http://qce-ga.sourceforge.net/ QuickCam] ...&lt;br /&gt;
&lt;br /&gt;
''Is there a simple way for my Java application to fetch the latest camera image in an Array of pixel values?''&lt;br /&gt;
&lt;br /&gt;
=== robot ===&lt;br /&gt;
&lt;br /&gt;
* open architecture humanoid robotics platform --[http://www.is.aist.go.jp/humanoid/openhrp/English/indexE.html OpenHRP]&lt;br /&gt;
* the open hardware, open source, [http://en.wikipedia.org/wiki/E-puck_mobile_robot e-puck mobile robot]&lt;br /&gt;
&lt;br /&gt;
=== RCAP: R/C Auto Pilot: Remote Control Auto Pilot ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The RCAP2 is a Remote Control AutoPilot] for model airplanes, cars and boats. The autopilot function can be switched off or on during flight with the flick of a switch.&amp;quot; Uses PIC16F876A to:&lt;br /&gt;
* read (servo) commands from the RC server&lt;br /&gt;
* read (RS-232) GPS location from a NMEA capable GPS (with programmable goto/waypoints functions)&lt;br /&gt;
* drive (servo) commands to the rudder.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikibooks.org/wiki/RCAP RCAP Documentation at Wikibooks ],&lt;br /&gt;
and [http://rcpilot.sourceforge.net/modules/rcap/index.php RCAP PCB layout at Sourceforge ].&lt;br /&gt;
&lt;br /&gt;
== [http://www.remember.ro/scripts/wiegand.php Wiegand reader simple controller] ==&lt;br /&gt;
&lt;br /&gt;
The PICmicro 16F628 decodes [http://en.wikipedia.org/wiki/Wiegand_protocol Wiegand protocol] coming from card reader.&lt;br /&gt;
If the card matches one of the 40 cards in EEPROM, it turns on the light (opens the door).&lt;br /&gt;
Schematic and source code published under GNU terms.&lt;br /&gt;
&lt;br /&gt;
== [http://www.rcrowley.com/ComClone/default.htm ComClone2 Intercom] ==&lt;br /&gt;
&lt;br /&gt;
ComClone2 is a DIY clone of the industry-standard &amp;quot;party line&amp;quot; production intercom system as first introduced by Clearcom and now sourced by many other vendors.  This intercom system is widely used in both live show(theatrical, music, etc.) and video production. Website provides complete construction information including PC board, etc.&lt;br /&gt;
&lt;br /&gt;
== Minimig ==&lt;br /&gt;
&lt;br /&gt;
[[Minimig|Amiga 500 implemented]] with Xilinx FPGA + Freescale mc68000&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer : A Homebrew USB Soundcard ] ==&lt;br /&gt;
&lt;br /&gt;
This project is a homebrew 12bit 24KHz homebrew USB soundcard based on a pic 18f2550 and a few Microchip analog parts.&lt;br /&gt;
The project is based on the Microchip USB framework, but the core audio processing is written from scratch.&lt;br /&gt;
The card is a duel Audio 1.0 + generic interface composite device with the generic interface being handled by WinUSB. &lt;br /&gt;
The schematic, card firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY - A Scrolling Display with RF connection to a PC ] ===&lt;br /&gt;
&lt;br /&gt;
POV scrolling display with an RF connection to a mini-itx computer and weatherstation.  Project is built out of 384 discrete red LEDs.  Display shows time and date, sunrise/sunset time and outdoor/indoor weather.  &lt;br /&gt;
&lt;br /&gt;
Schematics, Board Layouts, and MPLAB C18 firmware source code is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC : A Homebrew USB FHSS RF Modem ] ==&lt;br /&gt;
&lt;br /&gt;
The PINGPONG-CDC project is a homebrew USB frequency hopping spread spectrum RF modem ([[FHSS]]).  The modem is based on the Microchip 18F2550 and the Semtec XE1205 RF module.  The module does not include a MAC or protocol layer.  That is what this project implements.  The project demonstrates how to write a FHSS MAC layer and use USB to interface it with a PC through CDC and WinUSB.&lt;br /&gt;
Since the protocol is not hard-wired, it is easy to change the software to experiment with different protocols.&lt;br /&gt;
A utility for pairing and configuring modems is included.  The schematic, firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS : FCC Legal Frequency Hopping Spread Spectrum USB Wireless Ethernet ] ==&lt;br /&gt;
&lt;br /&gt;
This is the PINGPONG-CDC project that emulated ethernet through the RNDIS driver in Windows rather then a serial cable replacement. Full source code is provided.&lt;br /&gt;
&lt;br /&gt;
== An acceptable third generation PostScript printer ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ask the Guru: A Third-Generation Printer&amp;quot;&lt;br /&gt;
article by Don Lancaster 1990&lt;br /&gt;
http://www.tinaja.com/glib/guru60.pdf&lt;br /&gt;
lists specifications for&lt;br /&gt;
&amp;quot;An acceptable third generation PostScript printer.&amp;quot;&lt;br /&gt;
Would this be a good &amp;quot;open hardware&amp;quot; project ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== the [[Kestrel]] ==&lt;br /&gt;
&lt;br /&gt;
[http://archives.seul.org/geda/user/Aug-2004/msg00170.html &amp;quot;About the Kestrel&amp;quot;] by Samuel A. Falvo II 2004&lt;br /&gt;
&lt;br /&gt;
''(quote)''&lt;br /&gt;
&lt;br /&gt;
The Kestrel's intended purpose is to be a rational, grass-roots computer &lt;br /&gt;
design employing half-way modern technology, where (quite unlike the PC) *EVERYTHING* is documented openly.&lt;br /&gt;
BUT, not adopting every possible &lt;br /&gt;
technology under the sun just because it exists. ... you'd get the circuit schematics, register-level &lt;br /&gt;
programming information, timing diagrams, and descriptions of the &lt;br /&gt;
ROM-resident OS interfaces ...&lt;br /&gt;
&lt;br /&gt;
The over-arching goals of the project remain the same:&lt;br /&gt;
&lt;br /&gt;
* An open, completely documented architecture, able to be described in a SINGLE BOOK. ...&lt;br /&gt;
&lt;br /&gt;
* Fan-less design, which means, low power, even at the expense of computation speed. ... I'm not aiming for the lowEST power -- but fanless design is critical.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Instant on, (nearly) instant off. ... On the Amiga, you just waited 5 seconds, without touching anything, (that's it) for the disk caches to sync with the volumes, and then you flicked the power switch. End of discussion.  Not so with Windows or Linux.  Anyway, boot-up is way, way more expensive.  It has to check RAM every freaking time ..., it probes the buses and takes its damn sweet time doing it, etc.  AmigaOS did all this in a fraction of a second.  Heck, even just spending 5 seconds is sufficient for me.  But remember that this is added on to the start-up time of the OS you're loading too!  The goal: instant on, instant off.  Trust me -- it really DOES make a difference!&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Lightning fast I/O auto-detection.  If the Amiga can do it with 8MHz processor technology, so can we with 66MHz.  I simply cannot emphasize this enough.&lt;br /&gt;
&lt;br /&gt;
* Relatively easy to build.  Since this is now an advanced kit idea, this isn't nearly as weighted as it used to be.  Nonetheless, it is a goal to strive for.&lt;br /&gt;
&lt;br /&gt;
* Minimum cost. ...&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
The whole purpose is to have FUN with this computer -- to have fun &lt;br /&gt;
building it, to have fun using it, to have fun expanding it.  Part of &lt;br /&gt;
this fun factor is being able to hack the hardware as much as you can &lt;br /&gt;
hack the software.&lt;br /&gt;
Commodore's IEC bus, HP's HP-IL, and Amiga's Zorro &lt;br /&gt;
bus are all inspirations here.&lt;br /&gt;
...&lt;br /&gt;
it wasn't hard to build a Zorro &lt;br /&gt;
card that fully interoperated with the system, you didn't need to be &lt;br /&gt;
registered with anyone but Commodore (and they gave away mfr IDs for &lt;br /&gt;
FREE), and full hardware interface details were available in the Amiga &lt;br /&gt;
HRM for a cost of $29.99 US.  It was bliss.&lt;br /&gt;
&lt;br /&gt;
* Everything is LGPLed.  So if you DID want to include PCI slots or whatever, please feel free!!  Just because it's not my personal priority with the system doesn't mean it's not someone else's.  This is the beauty of open source and, indeed, [[open hardware]].&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Support for new business opportunities. ...  This ties into the prime goal of this whole thing, which is,&lt;br /&gt;
&lt;br /&gt;
* The creation of a vibrant and healthy user and developer community, capable of supporting itself on both software AND hardware fronts.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
''(end quote)''&lt;br /&gt;
&lt;br /&gt;
A more up-to-date description of&lt;br /&gt;
[http://falvotech.com/content/kestrel/ The Kestrel Project].&lt;br /&gt;
(several other pages on the Kestrel project nearby).&lt;br /&gt;
&lt;br /&gt;
== [[astronomy]] ==&lt;br /&gt;
A variety of &amp;quot;open&amp;quot; tools for optical and radio astronomy.&lt;br /&gt;
&lt;br /&gt;
== flash downloaders ==&lt;br /&gt;
Many people have published open-hardware schematics for downloading programs into the flash of various microcontrollers. [http://m8cutils.sourceforge.net/ m8cprogs for Cypress PSoC], [http://techref.massmind.org/techref/devprogs.htm various flash downloaders for Microchip PIC], etc.&lt;br /&gt;
&lt;br /&gt;
== [[WikiNode]] ==&lt;br /&gt;
The WikiNode project tries to link every wiki in the world together.&lt;br /&gt;
Our &amp;quot;[[WikiNode]]&amp;quot; links to closely-related wiki (and their WikiNode links back).&lt;br /&gt;
&lt;br /&gt;
If you want to talk about something that is not quite on-topic here at Open Circuits&lt;br /&gt;
(say, &amp;quot;desktop PC case modding&amp;quot;, or &amp;quot;embedded Linux programming&amp;quot;), our WikiNode helps you find another wiki where people love to talk about that exact topic.&lt;br /&gt;
The corresponding WikiNode on each of those wiki helps people who want to talk about &amp;quot;open hardware&amp;quot; to discover this wiki.&lt;br /&gt;
&lt;br /&gt;
== arm7-oled-clock ==&lt;br /&gt;
&lt;br /&gt;
arm7-oled-clock is a clock hardware/software project for a clock with a graphic organic led display running on an atmel arm7 microcontroller.&lt;br /&gt;
&lt;br /&gt;
Here is the [http://code.google.com/p/arm7-oled-clock/ arm7-oled-clock's project page on google code].&lt;br /&gt;
&lt;br /&gt;
== Sun SPOTs ==&lt;br /&gt;
&lt;br /&gt;
[http://www.sun.com/ Sun Microsystems] has open sourced both hardware and software for the [http://research.sun.com/ Sun Microsystem Laboratories] Sun SPOT (Small Programmable Object Technology) Wireless Sensor Network. &lt;br /&gt;
&lt;br /&gt;
This Java-based system is an ARM920T 180MHz processor, 4Mbyte Flash, 512Kbyte pSRAM and  802.15.4 radio transceiver (TI CC2420). See the [http://www.sunspotworld.com/ Sun SPOT World] website for more information. We also have an active [https://www.sunspotworld.com/forums/ forum].&lt;br /&gt;
&lt;br /&gt;
The hardware designs can be downloaded from [https://spots-hardware.dev.java.net/ https://spots-hardware.dev.java.net]. The content available for download (subversion) are the schematics (pdf, Altium), bill of materials (Excel), assembly drawings (pdf), fabrication drawings (pdf), PC design files (Altium) and gerber files (RS274X) for these boards.&lt;br /&gt;
&lt;br /&gt;
The boards we have posted are:&lt;br /&gt;
* eDemo: Demonstration add-on board for the Sun SPOT. &lt;br /&gt;
* eFlash: MiniSD card reader/writer add on board for Sun SPOT &lt;br /&gt;
* eProto: Prototype board with simple interface to Sun SPOT &lt;br /&gt;
* eProtomega: eSPOT Prototyping board with Atmega88 processor &lt;br /&gt;
* eSerial: RS232 Serial interface board for the Sun SPOT &lt;br /&gt;
* eUSB-Host: USB host interface to Sun SPOT &lt;br /&gt;
* eDaq: Industrial strength ADC board&lt;br /&gt;
* eBones: Basic interface board application note&lt;br /&gt;
* eSPOT: Main Sun SPOT board&lt;br /&gt;
&lt;br /&gt;
Our wiki for the hardware is [http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware].&lt;br /&gt;
&lt;br /&gt;
SPOTs run Squawk, an open source Java virtual machine (VM). The download (and more information) for Squawk is [https://squawk.dev.java.net/ https://squawk.dev.java.net/]. The SPOT specific libraries can be downloaded from [https://spots-libraries.dev.java.net/ https://spots-libraries.dev.java.net/] along with community applications [https://spots-applications.dev.java.net/ https://spots-applications.dev.java.net/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source USB programmer==&lt;br /&gt;
&lt;br /&gt;
Open Programmer is an open source USB programmer for PIC micros, ATMEL micros, I2C EEPROMS, generic I2C/SPI devices. It's based on a 18F2550.&lt;br /&gt;
[http://openprog.altervista.org/ Open Programmer home page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[GPIB]] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Lists of Semi-Open Projects ==&lt;br /&gt;
&lt;br /&gt;
* UHF FM BUG with ButtonCell battery ( http://www.elektronika.ba/408/fm-bug-420-480-mhz/ ) &amp;quot;This bug is 100% made from an old Nokia GSM phone! It operates at 434 MHz and reception can be achieved on a modified TV tuner or 70cm band HAM radio.&amp;quot;&lt;br /&gt;
* [http://massmind.org/techref/microchip/alternatives.htm microcontroller alternatives] lists a bunch of &amp;quot;small PCBs&amp;quot; (is there a better name?) designed for hacking and prototyping, that already have the processor and a few other super-common things built in ... so you don't have to start *completely* from scratch.&lt;br /&gt;
* [http://thinkcycle.org/ ThinkCycle] &amp;quot;ThinkCycle is a ... non-profit initiative ... supporting distributed collaboration towards design challenges facing underserved communities and the environment. ThinkCycle seeks to create a culture of open source design innovation&amp;quot;&lt;br /&gt;
* Are [http://positron.org/projects/ the Positron projects] &amp;quot;open&amp;quot; enough to be mentioned? I especially liked the [http://positron.org/projects/acrylic_cases/ &amp;quot;Lasercut Acrylic Casebuilding Tutorial&amp;quot; ].&lt;br /&gt;
* Is [http://wiki.vislab.usyd.edu.au/moinwiki/PuckControl/BuildingThePuck the Vislab puck] suitable for this list?&lt;br /&gt;
* [http://massmind.org/techref/piclist/pcbcontest.htm  PICList &amp;amp; JAL_List free PCB contest] &amp;quot;this will encourage people to publish designs and get more good ideas out into the real world for everyone to see.&amp;quot; (So, are these &amp;quot;open&amp;quot; circuits?)&lt;br /&gt;
* http://ePanorama.net/ has a bunch of schematics and a web discussion forum. Are they &amp;quot;open&amp;quot; enough to mention here?&lt;br /&gt;
* &amp;quot;Yet Another One-hand Keyboard&amp;quot; ( http://chordite.com/ ) &amp;quot;The firmware included in the download lets an Atmel AVR '2313 microcontroller interpret chords and talk to a PS/2 port.&amp;quot; -- it's not completely open, but the license allows you to immediately download, for free, lots of technical information and a license to build up to 5 of your own. Building more than 5 requires some sort of payment to license the patent on the hardware configuration. (The software appears to be open source). There seems to be an associated Yahoo mailing list. What is an appropriate way to invite John W. McKown and others on the mailing list to use a wiki such as Open Circuits to maintain a FAQ?&lt;br /&gt;
* [http://www.solorb.com/elect/ FC's Electronic Circuits] ?&lt;br /&gt;
* [http://panvent.blogspot.com/ &amp;quot;Pandemic Ventilator Project&amp;quot;] asks: &amp;quot;Does Open Source Hardware Development Work?&amp;quot;&lt;br /&gt;
* GSM SMS Controllers ( http://www.elektronika.ba/503/gsm-controller-v2/ ) &amp;quot;TwoWay Thing (GSM Controller v3) is a device that allows you to control appliances using SMS messages. There are also 4 inputs for connecting sensors so the device will send an alarm SMS or even call you to report an alarm condition. The device draws very little current and is being powered by phone’s battery which is a great thing. Nokia should be constantly charged or supplied with some sort of external power for long term operation.&amp;quot;&lt;br /&gt;
* Phone-call alarm alert ( http://www.elektronika.ba/505/phone-call-alerter/ ) &amp;quot;After programming just supply power to the device. After pressing the button &amp;quot;Pokreni dojavu alarma&amp;quot; it will start to dial (tone or pulse, depending on the jumper setup). When the phone call is succesfully established, the called party should press pound key &amp;quot;#&amp;quot; to stop the device from calling another number or again.&amp;quot;&lt;br /&gt;
* SMS Box ( http://www.elektronika.ba/563/sms-box-project/ ) &amp;quot;This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!&amp;quot;&lt;br /&gt;
* GSM alarm alert - call ( http://www.elektronika.ba/501/gsm-alarm-caller/ ) &amp;quot;Alerting alarm over via GSM network&amp;quot;&lt;br /&gt;
* [http://linuxdevices.com/news/NS3871478989.html Bug Labs]: A startup is readying a modular, open source hardware/software system resembling a set of electronic Legos. Nov. 05, 2007 [http://www.buglabs.net/]&lt;br /&gt;
* [http://picflow.sourceforge.net/ PIC flow meter and instrumentation modules]: Sensors, Gauges, Flow meter, data logging, connected by Grundfos Pumps inc. GENIbus over RS485.&lt;br /&gt;
* Raphaël Assénat has [http://raphnet.net/electronique/electronique_en.php posted several electronics projects], including schematics. Several of them involve interfacing various &amp;quot;classic&amp;quot; video game controllers to USB. His [http://raphnet.net/electronique/cid/cid_en.php &amp;quot;Caller Id decoder&amp;quot;] is a nice example of adding just one more feature to something using a minimum of additional electronics.&lt;br /&gt;
* [http://www.grandideastudio.com/portfolio/defcon-15-badge/ Grand Idea Studio] -- do these badges count as &amp;quot;open circuits&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== [[Other Projects | other project sites or links to projects]] ==&lt;br /&gt;
&lt;br /&gt;
May or may not be open, not much review material here, noted for the record, may be promoted in the future if they are outstanding in any way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Basic_Circuit_Building_Blocks&amp;diff=17244</id>
		<title>Basic Circuit Building Blocks</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Basic_Circuit_Building_Blocks&amp;diff=17244"/>
		<updated>2009-01-08T08:13:45Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: add 7segment leds&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are circuits and parts of circuits that we see over and over again in larger projects.  Understanding a complex circuit is much easier if you understand these building blocks.  &lt;br /&gt;
&lt;br /&gt;
Operational amplifier are the basis for many circuit building blocks especially in the range of DC to 1 meg Hz.  See [[OpAmp Links]].&lt;br /&gt;
&lt;br /&gt;
== Page Status.... ==&lt;br /&gt;
( [[russ_hensel]] was building this page, but is now distracted so further progress ma;y be up to you.  His schematics have been drawn in Eagle and the screen captured.  Feel free to add your own circuits, as long as they are basic building blocks, there are lots of other places for project circuits. &lt;br /&gt;
Some entries are not complete, if the explanation of the circuit does not match the diagram that is a good tip off.  For some reason even some of the uploaded graphics are not showing up, I am working on this as well.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To Do &lt;br /&gt;
* Why not put alpha order?&lt;br /&gt;
* work on external links&lt;br /&gt;
&lt;br /&gt;
more circuits that would be good to add&lt;br /&gt;
*Constant Current Circuit&lt;br /&gt;
*Wheatstone Bridge&lt;br /&gt;
&lt;br /&gt;
[http://itp.nyu.edu/physcomp/sensors/Schematics/WheatstoneBridge Wheatstone Bridge]&lt;br /&gt;
*AC Coupling Capacitor / High Pass Filter&lt;br /&gt;
*Battery Lamp and Switch&lt;br /&gt;
*Diode Rectifier&lt;br /&gt;
*LM35 Temperature Sensor&lt;br /&gt;
*555 Timer astable oscillator&lt;br /&gt;
*diode for forward drop bias voltage&lt;br /&gt;
*row and collumn connection&lt;br /&gt;
*charge pump&lt;br /&gt;
*transformer&lt;br /&gt;
*voltage multiplier&lt;br /&gt;
*diode logical or&lt;br /&gt;
*RC timer&lt;br /&gt;
*diode full wave bridge&lt;br /&gt;
*H Bridge&lt;br /&gt;
*Simple Oscillator circuits&lt;br /&gt;
*Current mirrors&lt;br /&gt;
*RF Mixers&lt;br /&gt;
*[[Colpitts Oscillator]]&lt;br /&gt;
&lt;br /&gt;
An H bridge is an electronic circuit that causes current to flow in one direction or the other ( from a singel ended power supply ).  Often used for motor control.  It is an electronic double pole double throw switch.&lt;br /&gt;
[http://code.rancidbacon.com/ElectronicsElectronics] See Section on ''H-Bridge''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current Sense Resistor ( Shunt Resistance ) ==&lt;br /&gt;
&lt;br /&gt;
A current Sense Resistor is a low value of resistor that is placed in series with some other circuit.  We can then measure the voltage across the resistor to compute the current.  If the resistor has a low value compared to other components we can ignore the effect on the circuit.  We use the word shunt when the voltage is measured by a device that has a fairly low resistance itself.  We then have to do a more careful calculation of how the current is shared by the two devices.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:shunt.png | Shunt Resistance ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R	shunt resistor used to sense the current  ( and divert it from the meter ).  Usually much less in value than the internal resistance of the meter.&lt;br /&gt;
*METER  meter or other device used to measure the voltage across the shunt reistor.  Often the resistance of the meter is ignored ( if high ).&lt;br /&gt;
*BATTERY  a battery or other voltage source.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
In the old days a sensitive meter, say 50 mv full scale, would be used with a set of shunt, some looking like metal bars, to measure a wide range of currents, up to and exceeding 50 amps.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
#[http://www.scienceshareware.com/bg-current-monitoring.htm  Scienceshareware.com's How A Precision Resistor Is Used to Measure / Calculate Current and Power in an Electrical Circuit.]&lt;br /&gt;
#[http://www.maxim-ic.com/appnotes.cfm/appnote_number/746/ High-Side Current-Sense Measurement: Circuits and Principles]&lt;br /&gt;
#[http://en.wikipedia.org/wiki/Shunt_(electrical) Shunt (electrical) From Wikipedia, the free encyclopedia]&lt;br /&gt;
* Other ways to measure current: [[Motor_driver#current_sense]]&lt;br /&gt;
&lt;br /&gt;
== Filter Capacitor / Decoupling Capacitor / Low Pass Filter ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:filtercap.png | Filter Capacitor ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*D2	is a diode, it lets current pass only in the direction of the arrow.&lt;br /&gt;
*R	resistor &lt;br /&gt;
*Input  a source of alternating current ( occasionally DC in which case the whole circuit serves only to protect against a reverse connection.&lt;br /&gt;
C1      the first, main, filter capacitor.&lt;br /&gt;
C2      the second filter capacitor.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
In this circuit C1 is a classic filter capacitor it charges while the diode conducts, it discharges and supplies current when the diode does not.  R and C2 are a second stage filter.  With R set to 0, it simply adds to the value of C1.  With R in the circuit it forms a low pass filter which helps remove the ripple from the power ( at the cost of some voltage drop ).  In the old days R would often be a low value inductor which had a similar effect without the voltage drop.  A capacitor alone is often put across a circuit component that uses power to supply bursts of current and stop noise from being propagated through the power supply.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Op amp Non Inverting Amplifier ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:opamp_nia.png | Op amp Non Inverting Amplifier ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
OPAMPA  Any general purpose op amp, often connected to + and - power supplies&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Gain is = ( R1/R2 ) + 1 &lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[OpAmp Links]&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Op amp Unity Gain Buffer ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current ( up to about 10 ma for the typical op amp. ).  For example if you wish to measure the out put of a voltage divider with a 0 to 1 ma meter a unity gain buffer might be just what you need.  This circuit is also know as a voltage follower.&lt;br /&gt;
&lt;br /&gt;
The unity gain buffer has an output voltage just the same as the input voltage.  The advantage is that the input circuit does not “feel” the output.  That is the input acts pretty much like a very large resistor ( many mega ohms or more ) connected to ground, and the output supply's whatever current ( up to about 10 ma ) is necessary to maintain the output voltage.  Here is the circuit:&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:opamp_ugb.png | Op Amp Unity Gain Buffer ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*INPUT		the input signal you wish to buffer&lt;br /&gt;
*RIN		the input resistor, often 0 ohms.&lt;br /&gt;
*OPAMPA  Any general purpose op amp, often connected to + and - power supplies&lt;br /&gt;
*RFB   	the feed back resistor &lt;br /&gt;
*OUTPUT	the output&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
The values of RIN and RFB are not very critical and are normally 0 ohms, just a straight connection.  The op amp here is a quad or 4 op amp part, we are using just one section of it.  Power needs to be supplied to pin 8 and 4 in the usual way for op amps.&lt;br /&gt;
&lt;br /&gt;
More information:  &lt;br /&gt;
*[[OpAmp Links]]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Buffer_amplifier Buffer amplifier From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.bcae1.com/opamp.htm Operational Amplifiers]&lt;br /&gt;
*[http://www.eecs.tufts.edu/~dsculley/tutorial/opamps/opamps5.html Op-Amp Buffer]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parallel Circuit ==&lt;br /&gt;
In a parallel circuit the current divides and some flows through each component .  The key to these circuits is that the voltage is the same in every element of the circuit and the total of the current through each of the components adds up to the total current from the battery.  When you use a current meter it is always placed in series with the part of the circuit where you wish to measure the current.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:parallel.png | Parallel Circuit ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
*BATTERY  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
I you have a lot of components that use the same voltage put them in parallel.  This is how most lights in a house are wired.  Each individual light can be turned on and off without changing the current or voltage in the other lights.  With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 /( R1 * R2 ).  When you need a resistor of a different value than you have you can sometimes “make it up” using a parallel connection of resistors you do have.  Two identical resistors in parallel are equivalent to one of half the resistance.  A parallel circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about parallel circuits in the references.  This circuit should be contrasted with the Series Circuit.  Parallel circuits can also be used with other components, the equations vary, for capicators the capacitances add in a parallel circuit.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull Up and Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you want to feed a user input to a digital circuit, for example a PIC input pin.&lt;br /&gt;
&lt;br /&gt;
A pull up is a fairly high value resistor (say 1 to 100 K ohms) that is connected to the positive side of the power supply.  This makes the other end of the resistor the same voltage as the power supply (as long as it is connected to a high impedance).  The other end of the resistor is connected to a switch that is then connected to ground.  When the switch is connected current flow through the resistor drops the entire power supply voltage and the input voltage for the circuit is now 0 (sometimes called active low, since when the switch is active the output is low).  Pull up is sometimes used without the switch to keep a signal high all the time.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:pus.png | Pull Up and Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*PUSH_BUTTON_SWITCH		is a push button switch&lt;br /&gt;
*R_PULLUP	is the pull up resistor &lt;br /&gt;
*VPLUS_VDD   	is the power supply voltage&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
[http://www.seattlerobotics.org/encoder/mar97/basics.html  Very Basic Circuits]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Debouncing Discussion:&lt;br /&gt;
&lt;br /&gt;
We have two groups of solution: Hardware Debouncing Circuit and Software Debouncing Driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hardware Debouncing Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:Pus_debouncing.PNG | Pull Up and Switch with debouncing ]]&lt;br /&gt;
with [http://chungyan5.no-ip.org/open_data/electronic_computer/ui/key_with_debouncing geda circuit], and [http://chungyan5.no-ip.org/open_data/electronic_computer/eda/geda/libs symbols]&lt;br /&gt;
*Advantage - Do not occupy the CPU processing power for debouncing, lets CPU to handle more other application task(s)&lt;br /&gt;
*Disadvantage - we need to implement the above hardware circuit inside the project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Software Debouncing Driver:&lt;br /&gt;
*Advantage - Saving cost &amp;amp; space for nothing debouncing circuit&lt;br /&gt;
*Disadvantage - Utilize CPU processing power for debouncing, less time for CPU to handle other application process&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ToDo===&lt;br /&gt;
*Software Debouncing Driver&lt;br /&gt;
**compile time parameters:&lt;br /&gt;
***time delay between each sample&lt;br /&gt;
***no. of sample - until all samples &lt;br /&gt;
**different type of switches, may be have different above compile time parameters&lt;br /&gt;
**API to OS or GUI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull Down and Switch ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:pds.png | Pull Down and Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R_PULLDOWN	resistor which normally keeps the output low ( ground ).&lt;br /&gt;
*PUSH_BUTTON_SWITCH	switch to make the output high&lt;br /&gt;
*VPLUS_VDD  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Just a variation on the Pull Up and Switch.&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Series Circuit ==&lt;br /&gt;
&lt;br /&gt;
In a series circuit the current first flows through one component then another and so on.  The key to these circuits is that the current is the same in every element of the circuit and the total of the voltage across each of the components adds up to the voltage of the battery.  A current meter is always in series with the part of the circuit whose current is being measured.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:series.png | Series Circuit ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
*BAT  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
I you have a lot of components that use the same current put them in series.  This is often how LEDs are connected to higher voltages; this also eliminates the need for a current limiting resistor on each LED.  With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 .  When you need a resistor of a different value than you have you can sometimes “make it up” using a series connection of resistors you do have.  Two identical resistors in series are equivalent to one of double the resistance.  A series circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about series circuits in the references.  This circuit should be contrasted with the Parallel Circuit.  A voltage divider is an example of a series circuit.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Three Terminal Regulator ==&lt;br /&gt;
&lt;br /&gt;
Use when you need a regulated voltage and or short circuit protection.&lt;br /&gt;
&lt;br /&gt;
Most circuits run better if the primary power source is a constant fixed voltage.  A battery is only a poor approximation to this.  Taking a battery or other voltage source ( like a wall wart plug in transformer ) and running it through a voltage regulator transforms it into a good fixed source of voltage.  It also generally adds current limiting as short circuit protection. The 7805 is a very common 5 volt regulator. &lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:ttr.png | Three Terminal Regulator  ]]&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
The circuit above is very basic.  Practical circuits normally include filter capacitors on both the input and the output.  Most regulators protect against both over temperature and over current.  Regulators come in various voltages both positive and negative.  They also vary in maximum current output. There are also adjustable regulators, ways of using regular regulators as adjustable ones, and ways of boosting the current output.  The spec sheets often describe how to do these things.  Voltage regulators “use up” a couple of volts of the input voltage, low drop out regulators have use less, cost more.  It is a good idea to check the specification for any regulator you are going to use.  The LM78xx ( positive ) and LM79xx ( negative ) are quite common.&lt;br /&gt;
&lt;br /&gt;
More information:  &lt;br /&gt;
*[[Basic Voltage Regulators]] &lt;br /&gt;
*[http://en.wikipedia.org/wiki/7805 7805 From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.tkk.fi/Misc/Electronics/circuits/psu_5v.html Simple 5V power supply for digital circuits]&lt;br /&gt;
&lt;br /&gt;
== Relay with Diode Snubber ==&lt;br /&gt;
&lt;br /&gt;
Sometimes you will want to switch an external device on and off with a device that can only source a small amount of current (a microcontroller for example). For this you will need a relay. A relay is a mechanical device with a electromagnetic coil and a metal switch. When the coil is energized, the metal switch will move, completing the circuit. &lt;br /&gt;
&lt;br /&gt;
An inductive element, like the relay coil, is likely to generate an undesired voltage when the current is suddenly stopped. Use a diode (snubber) to dissipate the extra voltage. &lt;br /&gt;
&lt;br /&gt;
The diode is connected in reverse from the normal voltage across the inductor, when the voltage is removed the collapsing field can continue to drive current through the diode without generating a high voltage.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:diodesnubber.png | Diode snubbber  ]]&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
In the circuit shown, the &amp;quot;input&amp;quot; will come directly from the small current source device (microcontroller output pin). The resistor must be sized correctly, along with the NPN transistor DC current gain, to ensure sufficient current passes through the relay coil to activate it. &lt;br /&gt;
&lt;br /&gt;
Other inductors that might use a diode snubber are transformers, solenoids, dc motors, and of course straight ahead inductors.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://en.wikipedia.org/wiki/snubber &amp;quot;snubber&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/flyback_diode &amp;quot;flyback diode&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Relay &amp;quot;relay&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.dnatechindia.com/index.php/Tutorials/8051-Tutorial/Relay-Interfacing.html Microcontroller] relay interfacing example.&lt;br /&gt;
&lt;br /&gt;
== Transistor Low Side Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you wish to turn a load on and off with both a low voltage and a low current.  Note that neither side of the load is grounded.&lt;br /&gt;
&lt;br /&gt;
A low side switch is one which switches a circuit on and off at the ground or low side of the circuit.  The advantage of a low side switch is that when using a transistor as the switch the voltage to drive the transistor is itself a low voltage.  It is often the easy way to drive LEDS, motors, and other high current devices from such low power devices as PIC output ports.  Low side switches are popular and there are many integrated circuits for them as well as this circuit.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:Tran_lss.jpg | Transistor Low Side Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED		is a low power LED&lt;br /&gt;
*R_LED		is a current limiting resistor for the LED&lt;br /&gt;
*Q			is a bipolar transistor &lt;br /&gt;
*R_1		is a current limiting resistor transistor base current&lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high.  To acomplish this:&lt;br /&gt;
&lt;br /&gt;
*Compute the value of R_LED using ohms law and the specifications for the LED.&lt;br /&gt;
*Compute the current through the LED.&lt;br /&gt;
*The transistor must supply the current, it should be equal approxtely to the input voltage divided by R1 times the beta of the transistor.&lt;br /&gt;
&lt;br /&gt;
An example calculation would be nice, and will appear later.&lt;br /&gt;
&lt;br /&gt;
This circuit is sometimes called &amp;quot;grounded-emitter configuration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Transistor#Switches Transistor From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== Transistor High Side Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you wish to turn a load on and off with a voltage at a low current.  Note that low  side of the load is grounded.  The voltage to turn on the switch is equal to the supply voltage ( or perhaps just a bit larger )&lt;br /&gt;
&lt;br /&gt;
A high side switch is one which switches a circuit on and off at the supply voltage or high side of the circuit.  The advantage of a high side switch is that the load is grounded on one side.  Compared to the low side switch it needs a higher voltage to drive it, but it also eliminates one resistor of that circuit.  It the voltage to drive it is available it may be the circuit of choice.  It is often the easy way to drive leds motors and other high current devices from such low power devices as PIC output ports. &lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:tran_hss.png | Transistor High Side Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED		is a low power LED&lt;br /&gt;
*R_LED		is a current limiting resistor for the LED&lt;br /&gt;
*Q		is a bipolar transistor &lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high.  To compute the values in the circuit:&lt;br /&gt;
&lt;br /&gt;
*Compute the value of R_LED using ohms law and the specifications for the LED.&lt;br /&gt;
*The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current.  The input voltage should be about equal to VPLUS_VDD, high compared to that needed for the low side switch.&lt;br /&gt;
&lt;br /&gt;
== Transistor Emitter Follower ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current.  The circuit has no voltage gain, but because of the current gain it has a lot of power gain.  It is frequently used in the final stage of an amplifier.  &lt;br /&gt;
&lt;br /&gt;
This circuit is a variation of the transistor high side switch.  The difference is that we typically drive this circuit in a linear way ( all of the voltages between 0 and the supply voltage ) to make it a linear amplifier.&lt;br /&gt;
&lt;br /&gt;
The emitter follower is also called a common collector circuit.  The Emitter Follower is basically a high side switch, but when we call it an emitter follower we normally think of it as a linear ( analog ) amplifier, rather than as a switch.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:tef.png | Transistor Emitter Follower ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R_LOAD		represents the resistance of the load&lt;br /&gt;
*Q		is a npn bipolar transistor &lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor.  Use a Darlington connected transistor for a very high beta.&lt;br /&gt;
&lt;br /&gt;
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current.  &lt;br /&gt;
&lt;br /&gt;
This circuit will only amplify positive voltages, using a pnp transistor you can amplify only negative voltages.  Combine the two ( see push pull amplifier ) you can amplify both positive and negative voltages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Variation of the circuit include: &lt;br /&gt;
&lt;br /&gt;
*Use of coupling capacitors to amplify ac signals.&lt;br /&gt;
*Various other components to bias the transistor.&lt;br /&gt;
*Use an op amp buffer with voltage gain at the input, then the emitter follower for high current. In this way a few Milli volts with current on the order of pico amps can drive an output of several volts at an ampere or more. &lt;br /&gt;
&lt;br /&gt;
More information: &lt;br /&gt;
&lt;br /&gt;
*[http://www.mines.edu/Academic/courses/physics/phgn217/lab4/lect7/sld013.htm  Emitter Follower]&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Common_collector Common collector From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== Voltage Divider ==&lt;br /&gt;
Voltage Divider&lt;br /&gt;
&lt;br /&gt;
We use a voltage divider when we have a voltage that is too big and we just want a fraction ( like 1/3 or .33 ) of it.  It is like an amplifier with a gain of less than 1.  We use two resistors, the output is always a constant fraction of the input voltage.&lt;br /&gt;
&lt;br /&gt;
Sometimes we use a potentiometer as a voltage divider.  This makes the ratio of output to input adjustable.  This is how we make a gain control or volume control.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:vdivide.png | Voltage Divider ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1&lt;br /&gt;
*R2	resistor 2&lt;br /&gt;
*POT  a potentiometer&lt;br /&gt;
&lt;br /&gt;
The ratio of input to output is:  output/input = R2/( R1 + R2 ).&lt;br /&gt;
&lt;br /&gt;
Discussion&lt;br /&gt;
&lt;br /&gt;
The equation assumes that the input source is low impedance and the output is high impedance, if this is not true consider using a buffer on the input or the output ( Op Amp Unity Gain Buffer or Transistor Emitter Follower ) For audio applications a so called “log taper” pot may be used as it better matches the way in which we hear.  If you want a calibrated control you may use a precision “10 turn precision” pot.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.seattlerobotics.org/encoder/mar97/basics.html Very Basic Circuits]&lt;br /&gt;
*[http://itp.nyu.edu/physcomp/sensors/Schematics/VoltageDivider Voltage Divider]&lt;br /&gt;
&lt;br /&gt;
== RC Filter ==&lt;br /&gt;
&lt;br /&gt;
The most basic filters are the RC-High Pass and RC-Low Pass filters.  The high pass filter removes DC and low frequencies and the low pass removes high frequencies.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''High Pass''' [[Image:rchighpass.png | RC High Pass Filter]]&lt;br /&gt;
'''Low Pass''' [[Image:rclowpass.png | RC Low Pass Filter]]&lt;br /&gt;
&lt;br /&gt;
Both circuits have the same 3dB frequency or the frequency at which the power of the signal is aproximately halved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
f_\mathrm{c} = {1 \over 2 \pi \tau } = {1 \over 2 \pi R C}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way to remember the two circuits is to think about how the capacitor acts at various signal frequencies.  At high frequencies capacitors act like wires.  At low frequencies capacitors act like disconnections.&lt;br /&gt;
&lt;br /&gt;
An important use of low pass filters is for the anti-aliasing circuity on the input of an A/D converter or the output of a D/A converter. An important use of a high pass filter is to remove the DC offset of a signal.  For example, it's possible to use a power supply that is +5 to GND to generate a sin from a D/A converter and use a high pass filter to change the sin to a +2.5 to -2.5 signal at the output.&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Low-pass_filter Low Pass Filter]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/High-pass_filter High Pass Filter]&lt;br /&gt;
&lt;br /&gt;
== Light Emitting Diode ( with current limiting resistor ) ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit to light low power LEDs&lt;br /&gt;
&lt;br /&gt;
A light emitting diode can be very sensitive to small voltage changes, just a bit too much voltage and the LED will draw too much current and “burn out”.  Thus it is often used with a resistor in series.  If we have a 5 volt source of voltage and an LED that is specified for 2.5 volts at 10 ma, then the resistor must have ( 5 – 2.5 ) volts = 2.5 volts and 10 ma.  Using ohms law  2.5/10 x 10 ee-3 = 250 ohms.&lt;br /&gt;
&lt;br /&gt;
A transistor low or high side switch can be used with the resistor if your input cannot supply enough current for the LED.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:ledres.jpg | LED and current limiting resistor ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED	the LED&lt;br /&gt;
*R_LED  the current limiting resistor&lt;br /&gt;
*INPUT	voltage source for lighting the LED&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.seattlerobotics.org/encoder/mar97/basics.html  Very Basic Circuits ] &lt;br /&gt;
*[http://www.iguanalabs.com/1stled.htm Learning About Transistors and LEDs ]&lt;br /&gt;
*[http://quantsuff.com/index.htm WELCOME TO QUANTSUFF'S CIRCUIT PAGE. Low Voltage, high-efficiency Drivers for LED Lights ]&lt;br /&gt;
&lt;br /&gt;
== Transistor -- Push Pull Circuit ==&lt;br /&gt;
&lt;br /&gt;
Use when you need current gain and need both positive and negative output.&lt;br /&gt;
&lt;br /&gt;
A modification of the “transistor emitter follower” that can give both positive and negative outputs.  Based on two transistors one npn the other pnp: one pushes the other pulls.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:pptrans.png | Push Pull Transistor Circuit]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*Q1	transistor 1 need not be a TIP41C but does need to be NPN&lt;br /&gt;
*Q2	transistor 2 need not be a TIP42C but does need to be PNP&lt;br /&gt;
*R_LOAD	represents the load, here it is in the emitter, it could also be placed in the collector circuit&lt;br /&gt;
*VPLUS_VDD Power supply voltage, positive.&lt;br /&gt;
*VMINUS Power supply voltage, negative.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Often there are other components for transistor bias or other purposes.  The circuit here is really basic.  The common transistors used are so called complementary pairs, similar characteristics but one npn and the other pnp.  Note that we need both positive and negative power supplies. You can also put the push pull circuit inside the feedback loop of an op amp to get a high current op amplifier.  Push pull amplifies can also be made with other types of transistors, tubes, or other components.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.ecircuitcenter.com/Circuits/pushpull/pushpull.htm Push-Pull Output Stage]&lt;br /&gt;
*[http://www.allaboutcircuits.com/vol_6/chpt_6/10.html Class B audio amplifier]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Electronic_amplifier     Electronic amplifier From Wikipedia, the free encyclopedia (search on Class B and AB )]&lt;br /&gt;
&lt;br /&gt;
== Transistors -- Darlington connected ==&lt;br /&gt;
&lt;br /&gt;
Use a Darlington transistor connection when you want really high current gain.  Gain of 1000 is easily in reach.  That is 1 ma to 1 amp &lt;br /&gt;
This is a useful connection of 2 transistors that together form a transistor of much larger gain.  You can also buy Darlington transistors all packaged in a single case with just 3 connections exposed to the outside.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:dtrans.png | Darlington Transistor Connection  ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*Q1	transistor 1 need not be a 2N3565 but does need to be NPN&lt;br /&gt;
*Q2	transistor 2 need not be a 2N3565 but does need to be NPN&lt;br /&gt;
*R_LOAD	represents the load, here it is in the emitter, it could also be placed in the collector circuit&lt;br /&gt;
*VPLUS_VDD Power supply voltage, positive.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
Often Q1 is a high gain small signal transistor and Q2 a lower gain power transistor.  You can use PNP transistors by using a negative power supply. Use a ULN2803 ( or similar chips ) to get 8 darlingtons in one package, useful as low side switches and in conjunction with microcontrollers.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* http://en.wikipedia.org/wiki/Darlington_transistor  Darlington transistor From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.kpsec.freeuk.com/trancirc.htm  Transistor Circuits ( search on Darlington )]&lt;br /&gt;
*[http://www.ibiblio.org/kuphaldt/electricCircuits/Semi/SEMI_4.html Lessons In Electric Circuits -- Volume III Chapter 4 BIPOLAR JUNCTION  TRANSISTORS Darlington pair ( search on Darlington )]&lt;br /&gt;
&lt;br /&gt;
== Schmitt Trigger ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:opamp_st.png | Schmitt Trigger ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*RIN	input resistor -- when this inputs more current than the positive feedback resistor the output switches to the voltage at the input, else it stays at the output voltage it has already reached.  Typically lower in value than RFB.&lt;br /&gt;
*RFB	positive feedback resistor the output voltage is feed back to the input and keeps the output at its current voltage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
The circuit is used to switch between two states even in the presence of noise.  This is an somewhat unusual op amp circuit as it uses positive not negative feedback.  See the references for a better explanation and variations on the circuit.&lt;br /&gt;
Schmidt Triggers are also available as integrated circuits which require no external components.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[[OpAmp Links]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== oscillators ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Flip-flop circuit.jpg]]&lt;br /&gt;
(is there a better page to discuss oscillators?)&lt;br /&gt;
&lt;br /&gt;
== Power up low active reset circuit ==&lt;br /&gt;
[[Image:power_up_low_active_reset_circuit.png]]&lt;br /&gt;
[[Image:pular.png]]&lt;br /&gt;
*[http://chungyan5.no-ip.org/open_data/electronic_computer/middleware/pwr_up_low_active_reset/  power_up_low_active_reset_circuit]&lt;br /&gt;
*[http://spreadsheets.google.com/pub?key=pobKDna9aVYeKjbR-Hf-OIg Result of Resistant to delay time]&lt;br /&gt;
&lt;br /&gt;
== ADC Voltage Protection Circuit ==&lt;br /&gt;
[[Image:Adc.png]]&lt;br /&gt;
*The opamp circuit is used to&lt;br /&gt;
#provide a low input source resistance to the ADC&lt;br /&gt;
#protect ADC whose input signal may exceed the supply/reference voltage (i.e. INPUT &amp;gt; V&amp;lt;sub&amp;gt;cc&amp;lt;/sub&amp;gt;)&lt;br /&gt;
*In scenario 2, the voltage into the ADC input pin is capped at the supply voltage.&lt;br /&gt;
*Requirement for the op-amp:&lt;br /&gt;
**The op-amp can withstand the input signal beyond the supply voltage, provided that the input current is limited to I&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt; (e.g. [http://focus.ti.com/lit/ds/symlink/opa4340.pdf OPA4340] I&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt; = 10mA)&lt;br /&gt;
&lt;br /&gt;
*Test conditions:&lt;br /&gt;
**V&amp;lt;sub&amp;gt;signal&amp;lt;/sub&amp;gt; = 5V&lt;br /&gt;
**R1 = 8.2kohm, R2 = 15kohm, C1 = 0.1uF, C2 = 0.22uF&lt;br /&gt;
**Measured V+ = 3.8V&lt;br /&gt;
**Calculated current = (5-3.8)/23200 = 52uA &amp;lt; 10mA&lt;br /&gt;
==Seven segment LEDs==&lt;br /&gt;
&lt;br /&gt;
== further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[input protection]] circuits&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''... do we need another page for not-so-basic circuits such as the Baker clamp ? ...''&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17243</id>
		<title>ADuC832 Development Board</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=ADuC832_Development_Board&amp;diff=17243"/>
		<updated>2009-01-08T08:11:34Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: New page: ==Features== ==Implementation==&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Features==&lt;br /&gt;
==Implementation==&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Projects&amp;diff=17242</id>
		<title>Projects</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Projects&amp;diff=17242"/>
		<updated>2009-01-08T08:10:08Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Open Circuits ===&lt;br /&gt;
&lt;br /&gt;
These should be projects or links to projects that are open, at a minimum in the sense that there is enough information so that others can reproduce the project.  Lets stay away from sites that are just show cases without the details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Chip EEG]] ===&lt;br /&gt;
The Programmable Chip EEG is a Multi-channel electroencephalograph that could be a brain-computer interface.&lt;br /&gt;
See the [http://openeeg.sourceforge.net/doc/ OpenEEG Project]&lt;br /&gt;
&lt;br /&gt;
=== Open Source Disability Gadgets ===&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Gear and software for people with disabilities is usually ... hard or impossible to repair it, or get anyone to repair it. We need to hack the model for accessibility tools! With a culture of open source designs, Instructables, wikis, and blogs&amp;quot; -- [http://panelpicker.sxsw.com/ideas/view/1745 Open Source Disability Gadgets: DIY for PWD]&lt;br /&gt;
&lt;br /&gt;
=== µWatch ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.calcwatch.com/ µWatch]: World's First D-I-Y Scientific Calculator Watch&lt;br /&gt;
&lt;br /&gt;
=== Open Source Circuits Magazine ===&lt;br /&gt;
[http://www.anykits.com/ Anykits magazine]&lt;br /&gt;
- Anykits publishes an open source magazine with quite a few, application oriented circuits. It contains schematics, parts list and PCB illustrations.&lt;br /&gt;
The best part is that its formated for print and available as regular PDF.&lt;br /&gt;
&lt;br /&gt;
=== Open OBDII ===&lt;br /&gt;
[http://www.sterntech.com/obdii.php Link to source and schematics]&lt;br /&gt;
Open source hardware and software implementing OBDII tester for cars. &lt;br /&gt;
Two versions one using a PIC microcontroller and one using an AVR microcontroller.&lt;br /&gt;
&lt;br /&gt;
=== [[vehicle]]s: manned and unmanned ===&lt;br /&gt;
Lots of [[vehicle | vehicle-related projects]] -- for motorcycles, automobiles, and unmanned aerial vehicles (UAVs).&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F84A - single relay ===&lt;br /&gt;
* [http://www.elektronika.ba/507/phoneline-controller-v1/] controll one relay over phone-line. Uses PIC16F84A and MT8870.&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F876A - 6 relays! ===&lt;br /&gt;
* [http://www.elektronika.ba/508/phoneline-controller-v2/] controll up to 6 relays over phone-line. Uses PIC16F876A and MT8870.&lt;br /&gt;
&lt;br /&gt;
===Homemade MIDI turntable===&lt;br /&gt;
Cheap and simple homemade MIDI turntable with GPL2 license. Using a ATmega, a HDNS-2000 optical mouse encoder, GCC-AVR, AVR-Libc and FreeRTOS. [http://casainho.net/tiki-index.php?page=Homemade+midi+turntable Homepage of Homemade MIDI turntable].&lt;br /&gt;
&lt;br /&gt;
=== Motherboards that Run Linux ===&lt;br /&gt;
==== [http://www.elphel.com Elphel Free Software &amp;amp; Open Hardware cameras and camera modules] ====&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10353 10353] - processor board (computer part of the camera) uses ETRAX FS processor running GNU/Linux (currently kernel 2.6.19) that has support for multiple hardware interfaces with the following of them used/connected in the Model 353:&lt;br /&gt;
** 10/100 Ethernet&lt;br /&gt;
** USB 1.1 (host)&lt;br /&gt;
** IDE (ATA-6)&lt;br /&gt;
** RS-232 &lt;br /&gt;
** Teridian 78Q2123 is used as Ethernet PHY in the camera - it has Auto-MDI/X, so no more crossover cables are needed when connecting camera directly to a PC.&lt;br /&gt;
** 64MB of 32-bit white system SDRAM provide memory to run multiple applications in the camera. It is also used as a buffer for video/images and as a RAM-disk.&lt;br /&gt;
** 128MB of system flash memory work a solid-state disk to boot the camera and provide it with the software. The JFFS2 file system allows writing to this &amp;quot;disk&amp;quot; data and updating the applications without the need to replace the whole flash memory image. As in the other Elphel products marked with /*source inside*/ logo, Model 353 holds all the source code (including FPGA and circuit diagrams) designed by Elphel. Combined with the other free software used in the camera (automatically downloaded when Elphel software is being installed) this code is completely sufficient to regenerate the camera flash image. Axis ETRAX FS provides built-in code to boot from the network and restore the contents of flash memory if it is lost/corrupted so re-flashing the camera is a completely safe procedure.&lt;br /&gt;
** Xilinx (R) Spartan 3e 1200K gates FPGA is the highest density device available in the small FT256 package (that fits in the camera) and it carries most of the video processing/compression in the camera. All the FPGA code is provided under GNU GPL and with free for download development tools from Xilinx you may modify this part of the camera code similar to the software. FPGA registers are accessible by the software through a system bus, FPGA can also transfer data to the system memory using DMA access. In addition to the pseudo-DMA (the only method available in the earlier ETRAX 100LX) the 10353 board has circuitry to allow the FPGA to gain full control of the system bus and transfer data to the system memory up to 5 times faster.&lt;br /&gt;
** Another 64MB of DDR SDRAM memory chip is connected directly to the FPGA and provides temporary buffering of the images needed for compression or processing. With the dedicated controllers and fine-tuned data structures this memory can provide an average data rate of 95% of the memory bandwidth of 0.5GB/sec.&lt;br /&gt;
** Cypress programmable CY22393 3-PLL clock generator provides clock for the CPU and FPGA, all the frequencies can be adjusted when needed.&lt;br /&gt;
  &lt;br /&gt;
Modules for the 353/363 series cameras:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10338 10338] - 5MPix sensor board for 353-series cameras&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10357 10357] - solid-state storage (can accommodate up to 8 CF cards - 128GB total)&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10359 10359] - multifunction multiplexer/FPGA processing board. Can be used to connect up to 3 of the sensor boards (i.e. 10338, 10347) to one processor board. It can process the image data too.&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10347 10347] - controller part of a two-board stack (currently with 10342 or 10344) to connect 35mm format CCD image sensors&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10342 10342] - sensor board (requires 10347) for the Kodak 11MPix KAI-11002 CCD image sensor&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10344 10344] - sensor board (requires 10347) for the Kodak 16MPix KAI-16000 CCD image sensor&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10369 10369] - interface board with SATA port, 2 CF card slots, USB (4 ports), RS-232, 2 channels of optoisolated I/Os for synchronization, clock/calendar with super-capacitor backup power&lt;br /&gt;
&lt;br /&gt;
==== [[ARMUS Embedded Linux Board]] ====&lt;br /&gt;
An ARM920T board running Linux at 200 Mips with sound, Ethernet, CAN, 48+ bidirectionnal IOs and 4 DSPs for motor control (DC, Servos, etc...). Built as a student proof robotics design platform.&lt;br /&gt;
&lt;br /&gt;
==== [http://balloonboard.org Balloon Xscale ARM+FPGA dev board] ====&lt;br /&gt;
The Balloon project has produced Balloon3, a high-performance ARM board designed for use by OEMs and Higher education. Spec is PXA270 (583Mhz), FPGA or CPLD, 1GB flash, 784MB RAM, USB (master, slave, OTG), CF slot, expansion bus, 16-bit bus, I2C, LCD, serial, audio. Very low power in CPLD confiuguration. Small, light. Various add-on boards: VGA LCD driver, robot motor driver+A/D, digital IO. Released under the Balloon Open Hardware license, which allows anyone to manufacture and for people to make derivatives. The expansion bus allows balloon to be used as the computing component for various special-purpose devices.&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp]] ====&lt;br /&gt;
The linuxstamp is an open source processor module. It is designed to be a very simple board capable of running linux. It is based on the Atmel AT91RM9200 processor (An ARM9 processor with a MMU).&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp Mboard 1]] ====&lt;br /&gt;
This is the first mother board for the linuxstamp. It is still in the planning stages (no pcbs).&lt;br /&gt;
&lt;br /&gt;
==== [http://www.linuxdevices.com/links/LK9764937601.html LART -- an open license StrongARM based tiny SBC] ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;All CAD files required for building LART are available under the closest we could get to an Open/Free Hardware License.&amp;quot;&lt;br /&gt;
The link in the Linux Devices article no longer works; the most recent link is http://www.lartmaker.nl/ .&lt;br /&gt;
&lt;br /&gt;
==== Other Boards that Run Linux ====&lt;br /&gt;
&lt;br /&gt;
* Is it possible to [http://groups.google.com/group/comp.arch.embedded/browse_thread/thread/be085ff0772cde21/8331dee5db8eb083#8331dee5db8eb083  Linux on a &amp;quot;soft CPU&amp;quot;] inside a FPGA?&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxhosts.org/article.cfm/id/158855 The ARM9 AT91SAM9261 is capable of running Linux].&lt;br /&gt;
* [http://www.linuxdevices.com/articles/AT8498487406.html &amp;quot;teeny weeny Linux  single board computers&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
=== [[Open Mobile Gadgets]] -- open source, open hardware, mobile phone ===&lt;br /&gt;
An open source, open hardware mobile phone in its preliminary development.&lt;br /&gt;
&lt;br /&gt;
=== [[Music Player]]s including MP3 players ===&lt;br /&gt;
&lt;br /&gt;
* [[TRAXMOD]] Open source MOD music player for dsPIC/ARM microcontrollers.&lt;br /&gt;
&lt;br /&gt;
* [[Music Player]] Mostly off site.&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes 3.3V TTL serial and outputs to a super-common RS232 connection. Insto-NMEA!&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS USB Dev Board]] ===&lt;br /&gt;
A great example project using the CP2102 USB to TTL UART IC as well as some basic battery holder info.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes all the power it needs from the serial port. Use it to power your microcontroller and communicate between serial port and microcontroller.  Takes advantage of the fact that pc serial ports will accept 0-5V rather than the RS232 standard of around negative 10V to  positive 10V.  Very convenient - no external power required!  Note that you may use either a 5.1V Zener or a 5V regulator.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 RS485 USB Converter Board]] ===&lt;br /&gt;
Aim to build a general Converter between different Interfaces.&lt;br /&gt;
&lt;br /&gt;
=== [[Chalk Roach|Number Six]] ===&lt;br /&gt;
&amp;quot;#6&amp;quot; (the son of Chalk Roach)&lt;br /&gt;
is a ultra simple microcontroller development board for Atmel ATmega32 = 16MHz, 2KB SRAM, 16KB Flash&lt;br /&gt;
&lt;br /&gt;
=== LED and POV displays ===&lt;br /&gt;
&lt;br /&gt;
Led displays range from a battery and an LED which light up ( cool!, add a magnet and you have an led throwie ) to microcontroller led projects, either Smart Led ( Led with a microcontroller so that it blinks, reacts to the environment, or shifts color ) or Led Arrays ( or led matrix ) that do simple graphics and or play games, or POV devices where what you see depends upon you persistance of vision ( which can include some led arrays ).  You can probably dig up more using these terms in google.&lt;br /&gt;
&lt;br /&gt;
==== Our Own Projects ====&lt;br /&gt;
&lt;br /&gt;
* [[24&amp;quot; Wall Clock]] A really big wall clock. Why? Well, cause it might look cool? Probably not. But we do use GPS to get the time! Groovy.&lt;br /&gt;
* [[POV display]] that spins around, giving the illusion of a large display. ([[User:DavidCary|DavidCary]])&lt;br /&gt;
* [[PointLess LED Array]] A 8 by 8 array displays something using POV ([[russ_hensel]])&lt;br /&gt;
* [[PIC Links]] and search on POV and/or LED&lt;br /&gt;
&lt;br /&gt;
==== Off Site ====&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/p/bicycleledpov/ Bicycle LED POV] is an electronic LED bar to attach on bicycle wheels. When riding the bicycle, the LED bar will draw with light, text messages and image animations. Free/Open hardware, firmware and software.&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/03/luscious_electric_delight.html &amp;quot;luscious electric delight&amp;quot;]: source and schematics for a large graphical LED panel. Uses 12 MAX6953 LED drivers; each MAX6953 drives four 5x7 led matrices. The PC generates arbitrary bitmap, sends it out the serial port to a PIC, which translates it to I2C bus connected to all the MAX6953 LED drivers, which update the image at a continuous frame rate of 30fps.&lt;br /&gt;
* [https://oldwiki.blinkenarea.org/bin/view/Blinkenarea/BlinkenProjects BlinkenProjects]: projects with lots of LEDs[http://www.kiu.weite-welt.com/de.schoar.blog/?p=206], including a 3D LED array. Wiki: http://wiki.blinkenarea.org/&lt;br /&gt;
* [http://www.ianpaterson.org/projects/spokepov20050704/index.htm  Ian’s Spoke POV] Review it.&lt;br /&gt;
* [http://www.electric-clothing.com/superpov.html Project: Super POV] Review it.&lt;br /&gt;
* [http://www.ladyada.net/make/spokepov/index.html SpokePOV Persistence of Vision for your Bike] Very nice, kit available.&lt;br /&gt;
* [http://www.attiny.com/dotmatrix.htm On this page you will find a scrolling LED sign based on the ATtiny2313 AVR microcontroller] Row Column approach with a shift register]&lt;br /&gt;
* [http://blog.makezine.com/archive/2007/02/flashing_led_br.html Flashing LED Bra]&lt;br /&gt;
* [http://www.evilmadscientist.com/article.php/peggy &amp;quot;Peggy,&amp;quot; A Light Emitting Pegboard Display]&lt;br /&gt;
* Christmas trees are now led based so: [http://computerchristmas.com/ The #1 Site for Controlling Christmas Lights with a Computer]&lt;br /&gt;
* [http://members.misty.com/don//ledx.html Don Klipstein's LED Main Page]  Lots of good info.&lt;br /&gt;
* [http://www.instructables.com/id/Synchronizing-Fireflies/ Synchronizing Fireflies] ATtiny super smart swarm of LEDs.&lt;br /&gt;
* [http://www.u-disp.com/ U-Disp - An Open Sourced USB display]&lt;br /&gt;
* [http://crushingabyss.com/sunrise_alarmclock/index.html Sunrise LED Alarm Clock] ATMega8515 controlling two color-mixed high-power LED channels with PWM.  Also contains a RTC circuit and a serial port.  Full source including PC Windows serial port communication code.&lt;br /&gt;
&lt;br /&gt;
=== [[Cellular Rotary Phone]] ===&lt;br /&gt;
An indepth breakdown of the Port-O-Rotary. Some clues to help you avoid audio problems with the GM862.&lt;br /&gt;
&lt;br /&gt;
=== [[Das Brewmeister!]] and [[Fermenter Controller]] ===&lt;br /&gt;
* [[Das Brewmeister!]] : An attempt to wirelessly monitor temperatures of fermentation vessels&lt;br /&gt;
* [[Fermenter Controller]] : A web available fermenter vessel controller. Uses PICs, [[I2C]], Rs232 and python.&lt;br /&gt;
&lt;br /&gt;
=== [[Home controller]] ===&lt;br /&gt;
Program your appliances to operate automatically in conjunction with your weekly and daily schedule, manually turn them on/off from your PC or use the controller as a process ON/OFF controller to regulate some kind of physical variable to the desired value.&lt;br /&gt;
&lt;br /&gt;
=== [[Interactive Lock Box]] ===&lt;br /&gt;
An interesting project using an accelerometer and capacitive touch ICs.&lt;br /&gt;
&lt;br /&gt;
=== [[Motor driver]] (H-bridge) ===&lt;br /&gt;
&lt;br /&gt;
=== [[atomic microscope]] ===&lt;br /&gt;
An atomic-resolution microscope.&lt;br /&gt;
* STM (scanning tunnelling microscope)&lt;br /&gt;
* AFM (atomic force microscope)&lt;br /&gt;
&lt;br /&gt;
=== [[BlueICE]] ===&lt;br /&gt;
A bluetooth JTAG ICE debugger for AVR's!!!&lt;br /&gt;
&lt;br /&gt;
=== Sort-of-Networked [[RFID Reader]] ===&lt;br /&gt;
A 125Khz RFID Reader with a simple ring network - to allow connection of multiple units to the same control computer.&lt;br /&gt;
&lt;br /&gt;
=== Battery charger ===&lt;br /&gt;
&lt;br /&gt;
See [http://elecdesign.com/Article/ArticleID/1823/1823.html &amp;quot;Build A Smart Battery Charger Using A Single-Transistor Circuit&amp;quot;] by Ejaz ur Rehman.&lt;br /&gt;
But be sure to read the &amp;quot;Reader Comments&amp;quot; at the end.&lt;br /&gt;
The suggestion to add a zener diode is a good idea.&lt;br /&gt;
&lt;br /&gt;
=== the Open Graphics Project ===&lt;br /&gt;
&lt;br /&gt;
[http://linux.wordpress.com/2006/07/19/introducing-the-open-graphics-project/ the Open Graphics Project]&lt;br /&gt;
a project started by chip-designer Timothy Miller.&lt;br /&gt;
His goal, along with the rest of the project, known as the “Open Graphics Foundation” is to make a 3D accelerated video card which is fully documented, free-licensed, and open source.&lt;br /&gt;
See [http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics the Open Graphics wiki].&lt;br /&gt;
&lt;br /&gt;
=== [[Amiga floppy project]] ===&lt;br /&gt;
&lt;br /&gt;
The Amiga floppy project:&lt;br /&gt;
designing, building, and programming an adapter to allow PCs to read from Amiga floppies.&lt;br /&gt;
&amp;quot;This is really designed to be a community project(hence the blog with progress reports).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This project is the building of an external USB amiga floppy drive controller.  It sits between the USB port on a Windows PC, and a regular PC floppy drive.  It will allow the PC to create .ADF images from an amiga floppy disk.  This device is based on a Parallax SX28 microcontroller, uses Ramtron FRAM memory for temporary track storage, and uses another Parallax component for the USB interface.&lt;br /&gt;
&lt;br /&gt;
See http://www.techtravels.org/amiga/amigablog for the latest in the blow by blow attempts to get this thing off the ground!!&lt;br /&gt;
&lt;br /&gt;
=== Irsensor-a ===&lt;br /&gt;
&lt;br /&gt;
Infrared Proximity Sensor Alfa&lt;br /&gt;
[http://www.kedo.com.mx/modules/content/index.php?id=3 Infrared Proximity Sensor Alfa in www.kedo.com.mx]&lt;br /&gt;
&lt;br /&gt;
The Infrared Proximity Sensor Alfa is a sensor to detect objects that can reflect infrared light.  It has the following characteristics.&lt;br /&gt;
* Designed to detect objects that are close and can reflect infrared lights.&lt;br /&gt;
* It has a Infrared Transmitter to eliminate the dependency of solar lighting.  So It can be used in the night.&lt;br /&gt;
* It has a Infrared Receiver that detects the closest object that reflects the infrared lights.&lt;br /&gt;
* It has an incorporated voltage regulator&lt;br /&gt;
* The output is a constant 5V when it is active and 0V when no detection.&lt;br /&gt;
* You can change the proximity threshold with a potentiometer.&lt;br /&gt;
&lt;br /&gt;
== [[DsPIC30F 5011 Development Board]] ==&lt;br /&gt;
A development board using Microchip dsPIC30F5011, a 5V based 16-bit microcontroller with DSP functions, EEPROM, ADC, PWM and communciation ports of UARTs, I2C, SPI etc. Contains concise information on:&lt;br /&gt;
#Development environments (IDE)&lt;br /&gt;
#External programming methods (ICSP Programming using ICD2 Programmer)&lt;br /&gt;
#Bootloader implementation (RTSP)&lt;br /&gt;
#Software development tips based on POSIX concepts&lt;br /&gt;
#Basic conversion tips to target board using Microchip dsPIC33FJ128GP306, a pin-to-pin compatible 3.3V microcontroller&lt;br /&gt;
&lt;br /&gt;
==[[ADuC832 Development Board]]==&lt;br /&gt;
&lt;br /&gt;
== [[Ethernet Module]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
*The entire Ethernet Module consists of:&lt;br /&gt;
#Hardware: a LAN card based on Davicom DM9000A chip&lt;br /&gt;
#Software: a TCP/IP stack based on uIP 1.0 or lwIP&lt;br /&gt;
&lt;br /&gt;
== [[Modulation Plugin]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Modulation Plugin Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
&lt;br /&gt;
== [[Multi-purpose Embedded System]] ==&lt;br /&gt;
&lt;br /&gt;
*This project intends to provide ideas and technical information to create a multi-purpose embedded system. &lt;br /&gt;
**Information contained in this wiki should be as generic as possible (unless otherwise stated) so that the ideas and information can be portable to different hardware (e.g. 8-bit/16-bit/32-bit MCU). &lt;br /&gt;
**The peripherial devices should be expandable&lt;br /&gt;
&lt;br /&gt;
== Scavenge ==&lt;br /&gt;
&lt;br /&gt;
Some people derive an inordinate amount of pleasure from building semi-useful objects from zero-cost junk.&lt;br /&gt;
&lt;br /&gt;
In the electronics field, most of the stuff built from scavenged components falls into 2 categories:&lt;br /&gt;
* ham radio transmitters and receivers -- built from a few transistors, caps, resistors, and wire&lt;br /&gt;
* BEAM robotics -- built from the above plus motors, solar cells, ...&lt;br /&gt;
&lt;br /&gt;
According to http://coprolite.com/art12.html ,&lt;br /&gt;
&amp;quot;I'd love to hear about where you found your 8048. Take a picture of the host that you remove it from (CD player, truck, refridgerator, whatever) and I'll put your picture on a page that chronicles our adventures sifting through the rubble.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Also see [[Free_From_Salvage]]&lt;br /&gt;
&lt;br /&gt;
=== openEyes ===&lt;br /&gt;
openEyes is an open-source open-hardware toolkit for low-cost real-time eye tracking.&lt;br /&gt;
See [http://hcvl.hci.iastate.edu/cgi-bin/openEyes.cgi the OpenEyes hardware and software] and [http://hcvl.hci.iastate.edu/cgi-bin/openEyeswiki/index.cgi the openEyes wiki].&lt;br /&gt;
&lt;br /&gt;
=== RepRap ===&lt;br /&gt;
RepRap is an open source project to create a 3d printer or fabber machine.  There is tons of information available on [http://www.reprap.org its website].  The current iteration is a 3 axis cartesian robot with 2 extruder heads:  a Thermoplastic head that extrudes plastics like HDPE, ABS, and CAPA, and a support material head that extrudes a water soluble material to support the build process.&lt;br /&gt;
&lt;br /&gt;
The [http://burningsmell.org/biollante/ Biollante project] is a kind of RepRap that uses a 6 axis Stewart platform.&lt;br /&gt;
Can devices from a [http://kmoddl.library.cornell.edu/ mechanical model library] be fabbed with RapRap?&lt;br /&gt;
The article [http://ccsl.mae.cornell.edu/papers/Nature05_Zykov.pdf &amp;quot;Self-reproducing machines&amp;quot;] goes even further than just 6 identical parts -- it suggests that &amp;quot;self-reproducing machines composed of many identical microscale modules&amp;quot; may be a better design than the original RepRap design where just about every part is unique.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is the meta-problem of engineering: Design a machine that can design other machines.&amp;quot; -- Hod Lipson[http://www.mae.cornell.edu/lipson/]&lt;br /&gt;
&lt;br /&gt;
=== TwentyDollarWikiDevice ===&lt;br /&gt;
&lt;br /&gt;
Challenge: Build a Wiki Device with a parts cost of no more than twenty dollars which is usable as a portable wiki. Include feature to make it compatible with a desktop or laptop computer's PersonalWiki, with a connector allowing this use.&lt;br /&gt;
--&lt;br /&gt;
http://c2.com/cgi/wiki?TwentyDollarWikiDevice&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hardware portable wiki for taking notes with an auto-merging functionality when you are very close to Internet or your computer.&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
http://communitywiki.org/AlexandreDulaunoy&lt;br /&gt;
&lt;br /&gt;
=== [[breakout boards]] ===&lt;br /&gt;
These are three boards that I designed for a specific project and found them very useful. Each of these boards uses the phoenix contact plugable terminal blocks. The 50-pin breakout board is for a 50-pin ribbon cable. The LEM breakout board is for LEM AC/DC current sensor. The power supply breakout board is for a +5v +/-15v power supply.&lt;br /&gt;
&lt;br /&gt;
=== Free Telephony Project ===&lt;br /&gt;
&lt;br /&gt;
[http://www.rowetel.com/ucasterisk Free Telephony Project]&lt;br /&gt;
&lt;br /&gt;
* Embedded Asterisk IP-PBX hardware and software&lt;br /&gt;
&lt;br /&gt;
* Low cost, completely open IP-PBX hardware including FXS/FXO analog and E1/T1 interfaces, and DSP motherboard hardware.  Target price of $100 for a 4 port IP-PBX.&lt;br /&gt;
&lt;br /&gt;
=== Eyes for Open Robot ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com/commerce/product_info.php?products_id=637 $20 CMOS Camera Module - 640x480] has a [http://forum.sparkfun.com/viewtopic.php?t=2442 &amp;quot;Get-that-camera-working competition&amp;quot; discussion forum] and [http://www.makezine.com/blog/archive/2007/01/hack_this_cmos.html now been adequately documented] ... http://elinux.org/wiki/SparkfunCamera ... [http://forum.sparkfun.com/viewtopic.php?t=2442&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=135 by David Carne].&lt;br /&gt;
&lt;br /&gt;
* ... perhaps simpler to use an off-the-shelf webcam that plugs directly into a laptop ... [http://www.linux.com/howtos/Webcam-HOWTO/hardware.shtml Enabling Support for Your (Webcam) Hardware in Linux] ... [http://www.saillard.org/linux/pwc/ Philips USB Webcam Driver for Linux] ... [http://qce-ga.sourceforge.net/ QuickCam] ...&lt;br /&gt;
&lt;br /&gt;
''Is there a simple way for my Java application to fetch the latest camera image in an Array of pixel values?''&lt;br /&gt;
&lt;br /&gt;
=== robot ===&lt;br /&gt;
&lt;br /&gt;
* open architecture humanoid robotics platform --[http://www.is.aist.go.jp/humanoid/openhrp/English/indexE.html OpenHRP]&lt;br /&gt;
* the open hardware, open source, [http://en.wikipedia.org/wiki/E-puck_mobile_robot e-puck mobile robot]&lt;br /&gt;
&lt;br /&gt;
=== RCAP: R/C Auto Pilot: Remote Control Auto Pilot ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The RCAP2 is a Remote Control AutoPilot] for model airplanes, cars and boats. The autopilot function can be switched off or on during flight with the flick of a switch.&amp;quot; Uses PIC16F876A to:&lt;br /&gt;
* read (servo) commands from the RC server&lt;br /&gt;
* read (RS-232) GPS location from a NMEA capable GPS (with programmable goto/waypoints functions)&lt;br /&gt;
* drive (servo) commands to the rudder.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikibooks.org/wiki/RCAP RCAP Documentation at Wikibooks ],&lt;br /&gt;
and [http://rcpilot.sourceforge.net/modules/rcap/index.php RCAP PCB layout at Sourceforge ].&lt;br /&gt;
&lt;br /&gt;
== [http://www.remember.ro/scripts/wiegand.php Wiegand reader simple controller] ==&lt;br /&gt;
&lt;br /&gt;
The PICmicro 16F628 decodes [http://en.wikipedia.org/wiki/Wiegand_protocol Wiegand protocol] coming from card reader.&lt;br /&gt;
If the card matches one of the 40 cards in EEPROM, it turns on the light (opens the door).&lt;br /&gt;
Schematic and source code published under GNU terms.&lt;br /&gt;
&lt;br /&gt;
== [http://www.rcrowley.com/ComClone/default.htm ComClone2 Intercom] ==&lt;br /&gt;
&lt;br /&gt;
ComClone2 is a DIY clone of the industry-standard &amp;quot;party line&amp;quot; production intercom system as first introduced by Clearcom and now sourced by many other vendors.  This intercom system is widely used in both live show(theatrical, music, etc.) and video production. Website provides complete construction information including PC board, etc.&lt;br /&gt;
&lt;br /&gt;
== Minimig ==&lt;br /&gt;
&lt;br /&gt;
[[Minimig|Amiga 500 implemented]] with Xilinx FPGA + Freescale mc68000&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer : A Homebrew USB Soundcard ] ==&lt;br /&gt;
&lt;br /&gt;
This project is a homebrew 12bit 24KHz homebrew USB soundcard based on a pic 18f2550 and a few Microchip analog parts.&lt;br /&gt;
The project is based on the Microchip USB framework, but the core audio processing is written from scratch.&lt;br /&gt;
The card is a duel Audio 1.0 + generic interface composite device with the generic interface being handled by WinUSB. &lt;br /&gt;
The schematic, card firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY - A Scrolling Display with RF connection to a PC ] ===&lt;br /&gt;
&lt;br /&gt;
POV scrolling display with an RF connection to a mini-itx computer and weatherstation.  Project is built out of 384 discrete red LEDs.  Display shows time and date, sunrise/sunset time and outdoor/indoor weather.  &lt;br /&gt;
&lt;br /&gt;
Schematics, Board Layouts, and MPLAB C18 firmware source code is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC : A Homebrew USB FHSS RF Modem ] ==&lt;br /&gt;
&lt;br /&gt;
The PINGPONG-CDC project is a homebrew USB frequency hopping spread spectrum RF modem ([[FHSS]]).  The modem is based on the Microchip 18F2550 and the Semtec XE1205 RF module.  The module does not include a MAC or protocol layer.  That is what this project implements.  The project demonstrates how to write a FHSS MAC layer and use USB to interface it with a PC through CDC and WinUSB.&lt;br /&gt;
Since the protocol is not hard-wired, it is easy to change the software to experiment with different protocols.&lt;br /&gt;
A utility for pairing and configuring modems is included.  The schematic, firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS : FCC Legal Frequency Hopping Spread Spectrum USB Wireless Ethernet ] ==&lt;br /&gt;
&lt;br /&gt;
This is the PINGPONG-CDC project that emulated ethernet through the RNDIS driver in Windows rather then a serial cable replacement. Full source code is provided.&lt;br /&gt;
&lt;br /&gt;
== An acceptable third generation PostScript printer ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ask the Guru: A Third-Generation Printer&amp;quot;&lt;br /&gt;
article by Don Lancaster 1990&lt;br /&gt;
http://www.tinaja.com/glib/guru60.pdf&lt;br /&gt;
lists specifications for&lt;br /&gt;
&amp;quot;An acceptable third generation PostScript printer.&amp;quot;&lt;br /&gt;
Would this be a good &amp;quot;open hardware&amp;quot; project ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== the [[Kestrel]] ==&lt;br /&gt;
&lt;br /&gt;
[http://archives.seul.org/geda/user/Aug-2004/msg00170.html &amp;quot;About the Kestrel&amp;quot;] by Samuel A. Falvo II 2004&lt;br /&gt;
&lt;br /&gt;
''(quote)''&lt;br /&gt;
&lt;br /&gt;
The Kestrel's intended purpose is to be a rational, grass-roots computer &lt;br /&gt;
design employing half-way modern technology, where (quite unlike the PC) *EVERYTHING* is documented openly.&lt;br /&gt;
BUT, not adopting every possible &lt;br /&gt;
technology under the sun just because it exists. ... you'd get the circuit schematics, register-level &lt;br /&gt;
programming information, timing diagrams, and descriptions of the &lt;br /&gt;
ROM-resident OS interfaces ...&lt;br /&gt;
&lt;br /&gt;
The over-arching goals of the project remain the same:&lt;br /&gt;
&lt;br /&gt;
* An open, completely documented architecture, able to be described in a SINGLE BOOK. ...&lt;br /&gt;
&lt;br /&gt;
* Fan-less design, which means, low power, even at the expense of computation speed. ... I'm not aiming for the lowEST power -- but fanless design is critical.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Instant on, (nearly) instant off. ... On the Amiga, you just waited 5 seconds, without touching anything, (that's it) for the disk caches to sync with the volumes, and then you flicked the power switch. End of discussion.  Not so with Windows or Linux.  Anyway, boot-up is way, way more expensive.  It has to check RAM every freaking time ..., it probes the buses and takes its damn sweet time doing it, etc.  AmigaOS did all this in a fraction of a second.  Heck, even just spending 5 seconds is sufficient for me.  But remember that this is added on to the start-up time of the OS you're loading too!  The goal: instant on, instant off.  Trust me -- it really DOES make a difference!&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Lightning fast I/O auto-detection.  If the Amiga can do it with 8MHz processor technology, so can we with 66MHz.  I simply cannot emphasize this enough.&lt;br /&gt;
&lt;br /&gt;
* Relatively easy to build.  Since this is now an advanced kit idea, this isn't nearly as weighted as it used to be.  Nonetheless, it is a goal to strive for.&lt;br /&gt;
&lt;br /&gt;
* Minimum cost. ...&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
The whole purpose is to have FUN with this computer -- to have fun &lt;br /&gt;
building it, to have fun using it, to have fun expanding it.  Part of &lt;br /&gt;
this fun factor is being able to hack the hardware as much as you can &lt;br /&gt;
hack the software.&lt;br /&gt;
Commodore's IEC bus, HP's HP-IL, and Amiga's Zorro &lt;br /&gt;
bus are all inspirations here.&lt;br /&gt;
...&lt;br /&gt;
it wasn't hard to build a Zorro &lt;br /&gt;
card that fully interoperated with the system, you didn't need to be &lt;br /&gt;
registered with anyone but Commodore (and they gave away mfr IDs for &lt;br /&gt;
FREE), and full hardware interface details were available in the Amiga &lt;br /&gt;
HRM for a cost of $29.99 US.  It was bliss.&lt;br /&gt;
&lt;br /&gt;
* Everything is LGPLed.  So if you DID want to include PCI slots or whatever, please feel free!!  Just because it's not my personal priority with the system doesn't mean it's not someone else's.  This is the beauty of open source and, indeed, [[open hardware]].&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Support for new business opportunities. ...  This ties into the prime goal of this whole thing, which is,&lt;br /&gt;
&lt;br /&gt;
* The creation of a vibrant and healthy user and developer community, capable of supporting itself on both software AND hardware fronts.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
''(end quote)''&lt;br /&gt;
&lt;br /&gt;
A more up-to-date description of&lt;br /&gt;
[http://falvotech.com/content/kestrel/ The Kestrel Project].&lt;br /&gt;
(several other pages on the Kestrel project nearby).&lt;br /&gt;
&lt;br /&gt;
== [[astronomy]] ==&lt;br /&gt;
A variety of &amp;quot;open&amp;quot; tools for optical and radio astronomy.&lt;br /&gt;
&lt;br /&gt;
== flash downloaders ==&lt;br /&gt;
Many people have published open-hardware schematics for downloading programs into the flash of various microcontrollers. [http://m8cutils.sourceforge.net/ m8cprogs for Cypress PSoC], [http://techref.massmind.org/techref/devprogs.htm various flash downloaders for Microchip PIC], etc.&lt;br /&gt;
&lt;br /&gt;
== [[WikiNode]] ==&lt;br /&gt;
The WikiNode project tries to link every wiki in the world together.&lt;br /&gt;
Our &amp;quot;[[WikiNode]]&amp;quot; links to closely-related wiki (and their WikiNode links back).&lt;br /&gt;
&lt;br /&gt;
If you want to talk about something that is not quite on-topic here at Open Circuits&lt;br /&gt;
(say, &amp;quot;desktop PC case modding&amp;quot;, or &amp;quot;embedded Linux programming&amp;quot;), our WikiNode helps you find another wiki where people love to talk about that exact topic.&lt;br /&gt;
The corresponding WikiNode on each of those wiki helps people who want to talk about &amp;quot;open hardware&amp;quot; to discover this wiki.&lt;br /&gt;
&lt;br /&gt;
== arm7-oled-clock ==&lt;br /&gt;
&lt;br /&gt;
arm7-oled-clock is a clock hardware/software project for a clock with a graphic organic led display running on an atmel arm7 microcontroller.&lt;br /&gt;
&lt;br /&gt;
Here is the [http://code.google.com/p/arm7-oled-clock/ arm7-oled-clock's project page on google code].&lt;br /&gt;
&lt;br /&gt;
== Sun SPOTs ==&lt;br /&gt;
&lt;br /&gt;
[http://www.sun.com/ Sun Microsystems] has open sourced both hardware and software for the [http://research.sun.com/ Sun Microsystem Laboratories] Sun SPOT (Small Programmable Object Technology) Wireless Sensor Network. &lt;br /&gt;
&lt;br /&gt;
This Java-based system is an ARM920T 180MHz processor, 4Mbyte Flash, 512Kbyte pSRAM and  802.15.4 radio transceiver (TI CC2420). See the [http://www.sunspotworld.com/ Sun SPOT World] website for more information. We also have an active [https://www.sunspotworld.com/forums/ forum].&lt;br /&gt;
&lt;br /&gt;
The hardware designs can be downloaded from [https://spots-hardware.dev.java.net/ https://spots-hardware.dev.java.net]. The content available for download (subversion) are the schematics (pdf, Altium), bill of materials (Excel), assembly drawings (pdf), fabrication drawings (pdf), PC design files (Altium) and gerber files (RS274X) for these boards.&lt;br /&gt;
&lt;br /&gt;
The boards we have posted are:&lt;br /&gt;
* eDemo: Demonstration add-on board for the Sun SPOT. &lt;br /&gt;
* eFlash: MiniSD card reader/writer add on board for Sun SPOT &lt;br /&gt;
* eProto: Prototype board with simple interface to Sun SPOT &lt;br /&gt;
* eProtomega: eSPOT Prototyping board with Atmega88 processor &lt;br /&gt;
* eSerial: RS232 Serial interface board for the Sun SPOT &lt;br /&gt;
* eUSB-Host: USB host interface to Sun SPOT &lt;br /&gt;
* eDaq: Industrial strength ADC board&lt;br /&gt;
* eBones: Basic interface board application note&lt;br /&gt;
* eSPOT: Main Sun SPOT board&lt;br /&gt;
&lt;br /&gt;
Our wiki for the hardware is [http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware].&lt;br /&gt;
&lt;br /&gt;
SPOTs run Squawk, an open source Java virtual machine (VM). The download (and more information) for Squawk is [https://squawk.dev.java.net/ https://squawk.dev.java.net/]. The SPOT specific libraries can be downloaded from [https://spots-libraries.dev.java.net/ https://spots-libraries.dev.java.net/] along with community applications [https://spots-applications.dev.java.net/ https://spots-applications.dev.java.net/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source USB programmer==&lt;br /&gt;
&lt;br /&gt;
Open Programmer is an open source USB programmer for PIC micros, ATMEL micros, I2C EEPROMS, generic I2C/SPI devices. It's based on a 18F2550.&lt;br /&gt;
[http://openprog.altervista.org/ Open Programmer home page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[GPIB]] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Lists of Semi-Open Projects ==&lt;br /&gt;
&lt;br /&gt;
* UHF FM BUG with ButtonCell battery ( http://www.elektronika.ba/408/fm-bug-420-480-mhz/ ) &amp;quot;This bug is 100% made from an old Nokia GSM phone! It operates at 434 MHz and reception can be achieved on a modified TV tuner or 70cm band HAM radio.&amp;quot;&lt;br /&gt;
* [http://massmind.org/techref/microchip/alternatives.htm microcontroller alternatives] lists a bunch of &amp;quot;small PCBs&amp;quot; (is there a better name?) designed for hacking and prototyping, that already have the processor and a few other super-common things built in ... so you don't have to start *completely* from scratch.&lt;br /&gt;
* [http://thinkcycle.org/ ThinkCycle] &amp;quot;ThinkCycle is a ... non-profit initiative ... supporting distributed collaboration towards design challenges facing underserved communities and the environment. ThinkCycle seeks to create a culture of open source design innovation&amp;quot;&lt;br /&gt;
* Are [http://positron.org/projects/ the Positron projects] &amp;quot;open&amp;quot; enough to be mentioned? I especially liked the [http://positron.org/projects/acrylic_cases/ &amp;quot;Lasercut Acrylic Casebuilding Tutorial&amp;quot; ].&lt;br /&gt;
* Is [http://wiki.vislab.usyd.edu.au/moinwiki/PuckControl/BuildingThePuck the Vislab puck] suitable for this list?&lt;br /&gt;
* [http://massmind.org/techref/piclist/pcbcontest.htm  PICList &amp;amp; JAL_List free PCB contest] &amp;quot;this will encourage people to publish designs and get more good ideas out into the real world for everyone to see.&amp;quot; (So, are these &amp;quot;open&amp;quot; circuits?)&lt;br /&gt;
* http://ePanorama.net/ has a bunch of schematics and a web discussion forum. Are they &amp;quot;open&amp;quot; enough to mention here?&lt;br /&gt;
* &amp;quot;Yet Another One-hand Keyboard&amp;quot; ( http://chordite.com/ ) &amp;quot;The firmware included in the download lets an Atmel AVR '2313 microcontroller interpret chords and talk to a PS/2 port.&amp;quot; -- it's not completely open, but the license allows you to immediately download, for free, lots of technical information and a license to build up to 5 of your own. Building more than 5 requires some sort of payment to license the patent on the hardware configuration. (The software appears to be open source). There seems to be an associated Yahoo mailing list. What is an appropriate way to invite John W. McKown and others on the mailing list to use a wiki such as Open Circuits to maintain a FAQ?&lt;br /&gt;
* [http://www.solorb.com/elect/ FC's Electronic Circuits] ?&lt;br /&gt;
* [http://panvent.blogspot.com/ &amp;quot;Pandemic Ventilator Project&amp;quot;] asks: &amp;quot;Does Open Source Hardware Development Work?&amp;quot;&lt;br /&gt;
* GSM SMS Controllers ( http://www.elektronika.ba/503/gsm-controller-v2/ ) &amp;quot;TwoWay Thing (GSM Controller v3) is a device that allows you to control appliances using SMS messages. There are also 4 inputs for connecting sensors so the device will send an alarm SMS or even call you to report an alarm condition. The device draws very little current and is being powered by phone’s battery which is a great thing. Nokia should be constantly charged or supplied with some sort of external power for long term operation.&amp;quot;&lt;br /&gt;
* Phone-call alarm alert ( http://www.elektronika.ba/505/phone-call-alerter/ ) &amp;quot;After programming just supply power to the device. After pressing the button &amp;quot;Pokreni dojavu alarma&amp;quot; it will start to dial (tone or pulse, depending on the jumper setup). When the phone call is succesfully established, the called party should press pound key &amp;quot;#&amp;quot; to stop the device from calling another number or again.&amp;quot;&lt;br /&gt;
* SMS Box ( http://www.elektronika.ba/563/sms-box-project/ ) &amp;quot;This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!&amp;quot;&lt;br /&gt;
* GSM alarm alert - call ( http://www.elektronika.ba/501/gsm-alarm-caller/ ) &amp;quot;Alerting alarm over via GSM network&amp;quot;&lt;br /&gt;
* [http://linuxdevices.com/news/NS3871478989.html Bug Labs]: A startup is readying a modular, open source hardware/software system resembling a set of electronic Legos. Nov. 05, 2007 [http://www.buglabs.net/]&lt;br /&gt;
* [http://picflow.sourceforge.net/ PIC flow meter and instrumentation modules]: Sensors, Gauges, Flow meter, data logging, connected by Grundfos Pumps inc. GENIbus over RS485.&lt;br /&gt;
* Raphaël Assénat has [http://raphnet.net/electronique/electronique_en.php posted several electronics projects], including schematics. Several of them involve interfacing various &amp;quot;classic&amp;quot; video game controllers to USB. His [http://raphnet.net/electronique/cid/cid_en.php &amp;quot;Caller Id decoder&amp;quot;] is a nice example of adding just one more feature to something using a minimum of additional electronics.&lt;br /&gt;
* [http://www.grandideastudio.com/portfolio/defcon-15-badge/ Grand Idea Studio] -- do these badges count as &amp;quot;open circuits&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== [[Other Projects | other project sites or links to projects]] ==&lt;br /&gt;
&lt;br /&gt;
May or may not be open, not much review material here, noted for the record, may be promoted in the future if they are outstanding in any way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Projects&amp;diff=17241</id>
		<title>Projects</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Projects&amp;diff=17241"/>
		<updated>2009-01-08T08:07:03Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: ADD ADuC832&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Open Circuits ===&lt;br /&gt;
&lt;br /&gt;
These should be projects or links to projects that are open, at a minimum in the sense that there is enough information so that others can reproduce the project.  Lets stay away from sites that are just show cases without the details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Chip EEG]] ===&lt;br /&gt;
The Programmable Chip EEG is a Multi-channel electroencephalograph that could be a brain-computer interface.&lt;br /&gt;
See the [http://openeeg.sourceforge.net/doc/ OpenEEG Project]&lt;br /&gt;
&lt;br /&gt;
=== Open Source Disability Gadgets ===&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Gear and software for people with disabilities is usually ... hard or impossible to repair it, or get anyone to repair it. We need to hack the model for accessibility tools! With a culture of open source designs, Instructables, wikis, and blogs&amp;quot; -- [http://panelpicker.sxsw.com/ideas/view/1745 Open Source Disability Gadgets: DIY for PWD]&lt;br /&gt;
&lt;br /&gt;
=== µWatch ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.calcwatch.com/ µWatch]: World's First D-I-Y Scientific Calculator Watch&lt;br /&gt;
&lt;br /&gt;
=== Open Source Circuits Magazine ===&lt;br /&gt;
[http://www.anykits.com/ Anykits magazine]&lt;br /&gt;
- Anykits publishes an open source magazine with quite a few, application oriented circuits. It contains schematics, parts list and PCB illustrations.&lt;br /&gt;
The best part is that its formated for print and available as regular PDF.&lt;br /&gt;
&lt;br /&gt;
=== Open OBDII ===&lt;br /&gt;
[http://www.sterntech.com/obdii.php Link to source and schematics]&lt;br /&gt;
Open source hardware and software implementing OBDII tester for cars. &lt;br /&gt;
Two versions one using a PIC microcontroller and one using an AVR microcontroller.&lt;br /&gt;
&lt;br /&gt;
=== [[vehicle]]s: manned and unmanned ===&lt;br /&gt;
Lots of [[vehicle | vehicle-related projects]] -- for motorcycles, automobiles, and unmanned aerial vehicles (UAVs).&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F84A - single relay ===&lt;br /&gt;
* [http://www.elektronika.ba/507/phoneline-controller-v1/] controll one relay over phone-line. Uses PIC16F84A and MT8870.&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F876A - 6 relays! ===&lt;br /&gt;
* [http://www.elektronika.ba/508/phoneline-controller-v2/] controll up to 6 relays over phone-line. Uses PIC16F876A and MT8870.&lt;br /&gt;
&lt;br /&gt;
===Homemade MIDI turntable===&lt;br /&gt;
Cheap and simple homemade MIDI turntable with GPL2 license. Using a ATmega, a HDNS-2000 optical mouse encoder, GCC-AVR, AVR-Libc and FreeRTOS. [http://casainho.net/tiki-index.php?page=Homemade+midi+turntable Homepage of Homemade MIDI turntable].&lt;br /&gt;
&lt;br /&gt;
=== Motherboards that Run Linux ===&lt;br /&gt;
==== [http://www.elphel.com Elphel Free Software &amp;amp; Open Hardware cameras and camera modules] ====&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10353 10353] - processor board (computer part of the camera) uses ETRAX FS processor running GNU/Linux (currently kernel 2.6.19) that has support for multiple hardware interfaces with the following of them used/connected in the Model 353:&lt;br /&gt;
** 10/100 Ethernet&lt;br /&gt;
** USB 1.1 (host)&lt;br /&gt;
** IDE (ATA-6)&lt;br /&gt;
** RS-232 &lt;br /&gt;
** Teridian 78Q2123 is used as Ethernet PHY in the camera - it has Auto-MDI/X, so no more crossover cables are needed when connecting camera directly to a PC.&lt;br /&gt;
** 64MB of 32-bit white system SDRAM provide memory to run multiple applications in the camera. It is also used as a buffer for video/images and as a RAM-disk.&lt;br /&gt;
** 128MB of system flash memory work a solid-state disk to boot the camera and provide it with the software. The JFFS2 file system allows writing to this &amp;quot;disk&amp;quot; data and updating the applications without the need to replace the whole flash memory image. As in the other Elphel products marked with /*source inside*/ logo, Model 353 holds all the source code (including FPGA and circuit diagrams) designed by Elphel. Combined with the other free software used in the camera (automatically downloaded when Elphel software is being installed) this code is completely sufficient to regenerate the camera flash image. Axis ETRAX FS provides built-in code to boot from the network and restore the contents of flash memory if it is lost/corrupted so re-flashing the camera is a completely safe procedure.&lt;br /&gt;
** Xilinx (R) Spartan 3e 1200K gates FPGA is the highest density device available in the small FT256 package (that fits in the camera) and it carries most of the video processing/compression in the camera. All the FPGA code is provided under GNU GPL and with free for download development tools from Xilinx you may modify this part of the camera code similar to the software. FPGA registers are accessible by the software through a system bus, FPGA can also transfer data to the system memory using DMA access. In addition to the pseudo-DMA (the only method available in the earlier ETRAX 100LX) the 10353 board has circuitry to allow the FPGA to gain full control of the system bus and transfer data to the system memory up to 5 times faster.&lt;br /&gt;
** Another 64MB of DDR SDRAM memory chip is connected directly to the FPGA and provides temporary buffering of the images needed for compression or processing. With the dedicated controllers and fine-tuned data structures this memory can provide an average data rate of 95% of the memory bandwidth of 0.5GB/sec.&lt;br /&gt;
** Cypress programmable CY22393 3-PLL clock generator provides clock for the CPU and FPGA, all the frequencies can be adjusted when needed.&lt;br /&gt;
  &lt;br /&gt;
Modules for the 353/363 series cameras:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10338 10338] - 5MPix sensor board for 353-series cameras&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10357 10357] - solid-state storage (can accommodate up to 8 CF cards - 128GB total)&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10359 10359] - multifunction multiplexer/FPGA processing board. Can be used to connect up to 3 of the sensor boards (i.e. 10338, 10347) to one processor board. It can process the image data too.&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10347 10347] - controller part of a two-board stack (currently with 10342 or 10344) to connect 35mm format CCD image sensors&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10342 10342] - sensor board (requires 10347) for the Kodak 11MPix KAI-11002 CCD image sensor&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10344 10344] - sensor board (requires 10347) for the Kodak 16MPix KAI-16000 CCD image sensor&lt;br /&gt;
* [http://wiki.elphel.com/index.php?title=10369 10369] - interface board with SATA port, 2 CF card slots, USB (4 ports), RS-232, 2 channels of optoisolated I/Os for synchronization, clock/calendar with super-capacitor backup power&lt;br /&gt;
&lt;br /&gt;
==== [[ARMUS Embedded Linux Board]] ====&lt;br /&gt;
An ARM920T board running Linux at 200 Mips with sound, Ethernet, CAN, 48+ bidirectionnal IOs and 4 DSPs for motor control (DC, Servos, etc...). Built as a student proof robotics design platform.&lt;br /&gt;
&lt;br /&gt;
==== [http://balloonboard.org Balloon Xscale ARM+FPGA dev board] ====&lt;br /&gt;
The Balloon project has produced Balloon3, a high-performance ARM board designed for use by OEMs and Higher education. Spec is PXA270 (583Mhz), FPGA or CPLD, 1GB flash, 784MB RAM, USB (master, slave, OTG), CF slot, expansion bus, 16-bit bus, I2C, LCD, serial, audio. Very low power in CPLD confiuguration. Small, light. Various add-on boards: VGA LCD driver, robot motor driver+A/D, digital IO. Released under the Balloon Open Hardware license, which allows anyone to manufacture and for people to make derivatives. The expansion bus allows balloon to be used as the computing component for various special-purpose devices.&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp]] ====&lt;br /&gt;
The linuxstamp is an open source processor module. It is designed to be a very simple board capable of running linux. It is based on the Atmel AT91RM9200 processor (An ARM9 processor with a MMU).&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp Mboard 1]] ====&lt;br /&gt;
This is the first mother board for the linuxstamp. It is still in the planning stages (no pcbs).&lt;br /&gt;
&lt;br /&gt;
==== [http://www.linuxdevices.com/links/LK9764937601.html LART -- an open license StrongARM based tiny SBC] ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;All CAD files required for building LART are available under the closest we could get to an Open/Free Hardware License.&amp;quot;&lt;br /&gt;
The link in the Linux Devices article no longer works; the most recent link is http://www.lartmaker.nl/ .&lt;br /&gt;
&lt;br /&gt;
==== Other Boards that Run Linux ====&lt;br /&gt;
&lt;br /&gt;
* Is it possible to [http://groups.google.com/group/comp.arch.embedded/browse_thread/thread/be085ff0772cde21/8331dee5db8eb083#8331dee5db8eb083  Linux on a &amp;quot;soft CPU&amp;quot;] inside a FPGA?&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxhosts.org/article.cfm/id/158855 The ARM9 AT91SAM9261 is capable of running Linux].&lt;br /&gt;
* [http://www.linuxdevices.com/articles/AT8498487406.html &amp;quot;teeny weeny Linux  single board computers&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
=== [[Open Mobile Gadgets]] -- open source, open hardware, mobile phone ===&lt;br /&gt;
An open source, open hardware mobile phone in its preliminary development.&lt;br /&gt;
&lt;br /&gt;
=== [[Music Player]]s including MP3 players ===&lt;br /&gt;
&lt;br /&gt;
* [[TRAXMOD]] Open source MOD music player for dsPIC/ARM microcontrollers.&lt;br /&gt;
&lt;br /&gt;
* [[Music Player]] Mostly off site.&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes 3.3V TTL serial and outputs to a super-common RS232 connection. Insto-NMEA!&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS USB Dev Board]] ===&lt;br /&gt;
A great example project using the CP2102 USB to TTL UART IC as well as some basic battery holder info.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes all the power it needs from the serial port. Use it to power your microcontroller and communicate between serial port and microcontroller.  Takes advantage of the fact that pc serial ports will accept 0-5V rather than the RS232 standard of around negative 10V to  positive 10V.  Very convenient - no external power required!  Note that you may use either a 5.1V Zener or a 5V regulator.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 RS485 USB Converter Board]] ===&lt;br /&gt;
Aim to build a general Converter between different Interfaces.&lt;br /&gt;
&lt;br /&gt;
=== [[Chalk Roach|Number Six]] ===&lt;br /&gt;
&amp;quot;#6&amp;quot; (the son of Chalk Roach)&lt;br /&gt;
is a ultra simple microcontroller development board for Atmel ATmega32 = 16MHz, 2KB SRAM, 16KB Flash&lt;br /&gt;
&lt;br /&gt;
=== LED and POV displays ===&lt;br /&gt;
&lt;br /&gt;
Led displays range from a battery and an LED which light up ( cool!, add a magnet and you have an led throwie ) to microcontroller led projects, either Smart Led ( Led with a microcontroller so that it blinks, reacts to the environment, or shifts color ) or Led Arrays ( or led matrix ) that do simple graphics and or play games, or POV devices where what you see depends upon you persistance of vision ( which can include some led arrays ).  You can probably dig up more using these terms in google.&lt;br /&gt;
&lt;br /&gt;
==== Our Own Projects ====&lt;br /&gt;
&lt;br /&gt;
* [[24&amp;quot; Wall Clock]] A really big wall clock. Why? Well, cause it might look cool? Probably not. But we do use GPS to get the time! Groovy.&lt;br /&gt;
* [[POV display]] that spins around, giving the illusion of a large display. ([[User:DavidCary|DavidCary]])&lt;br /&gt;
* [[PointLess LED Array]] A 8 by 8 array displays something using POV ([[russ_hensel]])&lt;br /&gt;
* [[PIC Links]] and search on POV and/or LED&lt;br /&gt;
&lt;br /&gt;
==== Off Site ====&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/p/bicycleledpov/ Bicycle LED POV] is an electronic LED bar to attach on bicycle wheels. When riding the bicycle, the LED bar will draw with light, text messages and image animations. Free/Open hardware, firmware and software.&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/03/luscious_electric_delight.html &amp;quot;luscious electric delight&amp;quot;]: source and schematics for a large graphical LED panel. Uses 12 MAX6953 LED drivers; each MAX6953 drives four 5x7 led matrices. The PC generates arbitrary bitmap, sends it out the serial port to a PIC, which translates it to I2C bus connected to all the MAX6953 LED drivers, which update the image at a continuous frame rate of 30fps.&lt;br /&gt;
* [https://oldwiki.blinkenarea.org/bin/view/Blinkenarea/BlinkenProjects BlinkenProjects]: projects with lots of LEDs[http://www.kiu.weite-welt.com/de.schoar.blog/?p=206], including a 3D LED array. Wiki: http://wiki.blinkenarea.org/&lt;br /&gt;
* [http://www.ianpaterson.org/projects/spokepov20050704/index.htm  Ian’s Spoke POV] Review it.&lt;br /&gt;
* [http://www.electric-clothing.com/superpov.html Project: Super POV] Review it.&lt;br /&gt;
* [http://www.ladyada.net/make/spokepov/index.html SpokePOV Persistence of Vision for your Bike] Very nice, kit available.&lt;br /&gt;
* [http://www.attiny.com/dotmatrix.htm On this page you will find a scrolling LED sign based on the ATtiny2313 AVR microcontroller] Row Column approach with a shift register]&lt;br /&gt;
* [http://blog.makezine.com/archive/2007/02/flashing_led_br.html Flashing LED Bra]&lt;br /&gt;
* [http://www.evilmadscientist.com/article.php/peggy &amp;quot;Peggy,&amp;quot; A Light Emitting Pegboard Display]&lt;br /&gt;
* Christmas trees are now led based so: [http://computerchristmas.com/ The #1 Site for Controlling Christmas Lights with a Computer]&lt;br /&gt;
* [http://members.misty.com/don//ledx.html Don Klipstein's LED Main Page]  Lots of good info.&lt;br /&gt;
* [http://www.instructables.com/id/Synchronizing-Fireflies/ Synchronizing Fireflies] ATtiny super smart swarm of LEDs.&lt;br /&gt;
* [http://www.u-disp.com/ U-Disp - An Open Sourced USB display]&lt;br /&gt;
* [http://crushingabyss.com/sunrise_alarmclock/index.html Sunrise LED Alarm Clock] ATMega8515 controlling two color-mixed high-power LED channels with PWM.  Also contains a RTC circuit and a serial port.  Full source including PC Windows serial port communication code.&lt;br /&gt;
&lt;br /&gt;
=== [[Cellular Rotary Phone]] ===&lt;br /&gt;
An indepth breakdown of the Port-O-Rotary. Some clues to help you avoid audio problems with the GM862.&lt;br /&gt;
&lt;br /&gt;
=== [[Das Brewmeister!]] and [[Fermenter Controller]] ===&lt;br /&gt;
* [[Das Brewmeister!]] : An attempt to wirelessly monitor temperatures of fermentation vessels&lt;br /&gt;
* [[Fermenter Controller]] : A web available fermenter vessel controller. Uses PICs, [[I2C]], Rs232 and python.&lt;br /&gt;
&lt;br /&gt;
=== [[Home controller]] ===&lt;br /&gt;
Program your appliances to operate automatically in conjunction with your weekly and daily schedule, manually turn them on/off from your PC or use the controller as a process ON/OFF controller to regulate some kind of physical variable to the desired value.&lt;br /&gt;
&lt;br /&gt;
=== [[Interactive Lock Box]] ===&lt;br /&gt;
An interesting project using an accelerometer and capacitive touch ICs.&lt;br /&gt;
&lt;br /&gt;
=== [[Motor driver]] (H-bridge) ===&lt;br /&gt;
&lt;br /&gt;
=== [[atomic microscope]] ===&lt;br /&gt;
An atomic-resolution microscope.&lt;br /&gt;
* STM (scanning tunnelling microscope)&lt;br /&gt;
* AFM (atomic force microscope)&lt;br /&gt;
&lt;br /&gt;
=== [[BlueICE]] ===&lt;br /&gt;
A bluetooth JTAG ICE debugger for AVR's!!!&lt;br /&gt;
&lt;br /&gt;
=== Sort-of-Networked [[RFID Reader]] ===&lt;br /&gt;
A 125Khz RFID Reader with a simple ring network - to allow connection of multiple units to the same control computer.&lt;br /&gt;
&lt;br /&gt;
=== Battery charger ===&lt;br /&gt;
&lt;br /&gt;
See [http://elecdesign.com/Article/ArticleID/1823/1823.html &amp;quot;Build A Smart Battery Charger Using A Single-Transistor Circuit&amp;quot;] by Ejaz ur Rehman.&lt;br /&gt;
But be sure to read the &amp;quot;Reader Comments&amp;quot; at the end.&lt;br /&gt;
The suggestion to add a zener diode is a good idea.&lt;br /&gt;
&lt;br /&gt;
=== the Open Graphics Project ===&lt;br /&gt;
&lt;br /&gt;
[http://linux.wordpress.com/2006/07/19/introducing-the-open-graphics-project/ the Open Graphics Project]&lt;br /&gt;
a project started by chip-designer Timothy Miller.&lt;br /&gt;
His goal, along with the rest of the project, known as the “Open Graphics Foundation” is to make a 3D accelerated video card which is fully documented, free-licensed, and open source.&lt;br /&gt;
See [http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics the Open Graphics wiki].&lt;br /&gt;
&lt;br /&gt;
=== [[Amiga floppy project]] ===&lt;br /&gt;
&lt;br /&gt;
The Amiga floppy project:&lt;br /&gt;
designing, building, and programming an adapter to allow PCs to read from Amiga floppies.&lt;br /&gt;
&amp;quot;This is really designed to be a community project(hence the blog with progress reports).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This project is the building of an external USB amiga floppy drive controller.  It sits between the USB port on a Windows PC, and a regular PC floppy drive.  It will allow the PC to create .ADF images from an amiga floppy disk.  This device is based on a Parallax SX28 microcontroller, uses Ramtron FRAM memory for temporary track storage, and uses another Parallax component for the USB interface.&lt;br /&gt;
&lt;br /&gt;
See http://www.techtravels.org/amiga/amigablog for the latest in the blow by blow attempts to get this thing off the ground!!&lt;br /&gt;
&lt;br /&gt;
=== Irsensor-a ===&lt;br /&gt;
&lt;br /&gt;
Infrared Proximity Sensor Alfa&lt;br /&gt;
[http://www.kedo.com.mx/modules/content/index.php?id=3 Infrared Proximity Sensor Alfa in www.kedo.com.mx]&lt;br /&gt;
&lt;br /&gt;
The Infrared Proximity Sensor Alfa is a sensor to detect objects that can reflect infrared light.  It has the following characteristics.&lt;br /&gt;
* Designed to detect objects that are close and can reflect infrared lights.&lt;br /&gt;
* It has a Infrared Transmitter to eliminate the dependency of solar lighting.  So It can be used in the night.&lt;br /&gt;
* It has a Infrared Receiver that detects the closest object that reflects the infrared lights.&lt;br /&gt;
* It has an incorporated voltage regulator&lt;br /&gt;
* The output is a constant 5V when it is active and 0V when no detection.&lt;br /&gt;
* You can change the proximity threshold with a potentiometer.&lt;br /&gt;
&lt;br /&gt;
== [[DsPIC30F 5011 Development Board]] ==&lt;br /&gt;
A development board using Microchip dsPIC30F5011, a 5V based 16-bit microcontroller with DSP functions, EEPROM, ADC, PWM and communciation ports of UARTs, I2C, SPI etc. Contains concise information on:&lt;br /&gt;
#Development environments (IDE)&lt;br /&gt;
#External programming methods (ICSP Programming using ICD2 Programmer)&lt;br /&gt;
#Bootloader implementation (RTSP)&lt;br /&gt;
#Software development tips based on POSIX concepts&lt;br /&gt;
#Basic conversion tips to target board using Microchip dsPIC33FJ128GP306, a pin-to-pin compatible 3.3V microcontroller&lt;br /&gt;
&lt;br /&gt;
==[[ADuC832]]==&lt;br /&gt;
&lt;br /&gt;
== [[Ethernet Module]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
*The entire Ethernet Module consists of:&lt;br /&gt;
#Hardware: a LAN card based on Davicom DM9000A chip&lt;br /&gt;
#Software: a TCP/IP stack based on uIP 1.0 or lwIP&lt;br /&gt;
&lt;br /&gt;
== [[Modulation Plugin]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Modulation Plugin Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
&lt;br /&gt;
== [[Multi-purpose Embedded System]] ==&lt;br /&gt;
&lt;br /&gt;
*This project intends to provide ideas and technical information to create a multi-purpose embedded system. &lt;br /&gt;
**Information contained in this wiki should be as generic as possible (unless otherwise stated) so that the ideas and information can be portable to different hardware (e.g. 8-bit/16-bit/32-bit MCU). &lt;br /&gt;
**The peripherial devices should be expandable&lt;br /&gt;
&lt;br /&gt;
== Scavenge ==&lt;br /&gt;
&lt;br /&gt;
Some people derive an inordinate amount of pleasure from building semi-useful objects from zero-cost junk.&lt;br /&gt;
&lt;br /&gt;
In the electronics field, most of the stuff built from scavenged components falls into 2 categories:&lt;br /&gt;
* ham radio transmitters and receivers -- built from a few transistors, caps, resistors, and wire&lt;br /&gt;
* BEAM robotics -- built from the above plus motors, solar cells, ...&lt;br /&gt;
&lt;br /&gt;
According to http://coprolite.com/art12.html ,&lt;br /&gt;
&amp;quot;I'd love to hear about where you found your 8048. Take a picture of the host that you remove it from (CD player, truck, refridgerator, whatever) and I'll put your picture on a page that chronicles our adventures sifting through the rubble.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Also see [[Free_From_Salvage]]&lt;br /&gt;
&lt;br /&gt;
=== openEyes ===&lt;br /&gt;
openEyes is an open-source open-hardware toolkit for low-cost real-time eye tracking.&lt;br /&gt;
See [http://hcvl.hci.iastate.edu/cgi-bin/openEyes.cgi the OpenEyes hardware and software] and [http://hcvl.hci.iastate.edu/cgi-bin/openEyeswiki/index.cgi the openEyes wiki].&lt;br /&gt;
&lt;br /&gt;
=== RepRap ===&lt;br /&gt;
RepRap is an open source project to create a 3d printer or fabber machine.  There is tons of information available on [http://www.reprap.org its website].  The current iteration is a 3 axis cartesian robot with 2 extruder heads:  a Thermoplastic head that extrudes plastics like HDPE, ABS, and CAPA, and a support material head that extrudes a water soluble material to support the build process.&lt;br /&gt;
&lt;br /&gt;
The [http://burningsmell.org/biollante/ Biollante project] is a kind of RepRap that uses a 6 axis Stewart platform.&lt;br /&gt;
Can devices from a [http://kmoddl.library.cornell.edu/ mechanical model library] be fabbed with RapRap?&lt;br /&gt;
The article [http://ccsl.mae.cornell.edu/papers/Nature05_Zykov.pdf &amp;quot;Self-reproducing machines&amp;quot;] goes even further than just 6 identical parts -- it suggests that &amp;quot;self-reproducing machines composed of many identical microscale modules&amp;quot; may be a better design than the original RepRap design where just about every part is unique.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is the meta-problem of engineering: Design a machine that can design other machines.&amp;quot; -- Hod Lipson[http://www.mae.cornell.edu/lipson/]&lt;br /&gt;
&lt;br /&gt;
=== TwentyDollarWikiDevice ===&lt;br /&gt;
&lt;br /&gt;
Challenge: Build a Wiki Device with a parts cost of no more than twenty dollars which is usable as a portable wiki. Include feature to make it compatible with a desktop or laptop computer's PersonalWiki, with a connector allowing this use.&lt;br /&gt;
--&lt;br /&gt;
http://c2.com/cgi/wiki?TwentyDollarWikiDevice&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hardware portable wiki for taking notes with an auto-merging functionality when you are very close to Internet or your computer.&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
http://communitywiki.org/AlexandreDulaunoy&lt;br /&gt;
&lt;br /&gt;
=== [[breakout boards]] ===&lt;br /&gt;
These are three boards that I designed for a specific project and found them very useful. Each of these boards uses the phoenix contact plugable terminal blocks. The 50-pin breakout board is for a 50-pin ribbon cable. The LEM breakout board is for LEM AC/DC current sensor. The power supply breakout board is for a +5v +/-15v power supply.&lt;br /&gt;
&lt;br /&gt;
=== Free Telephony Project ===&lt;br /&gt;
&lt;br /&gt;
[http://www.rowetel.com/ucasterisk Free Telephony Project]&lt;br /&gt;
&lt;br /&gt;
* Embedded Asterisk IP-PBX hardware and software&lt;br /&gt;
&lt;br /&gt;
* Low cost, completely open IP-PBX hardware including FXS/FXO analog and E1/T1 interfaces, and DSP motherboard hardware.  Target price of $100 for a 4 port IP-PBX.&lt;br /&gt;
&lt;br /&gt;
=== Eyes for Open Robot ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com/commerce/product_info.php?products_id=637 $20 CMOS Camera Module - 640x480] has a [http://forum.sparkfun.com/viewtopic.php?t=2442 &amp;quot;Get-that-camera-working competition&amp;quot; discussion forum] and [http://www.makezine.com/blog/archive/2007/01/hack_this_cmos.html now been adequately documented] ... http://elinux.org/wiki/SparkfunCamera ... [http://forum.sparkfun.com/viewtopic.php?t=2442&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=135 by David Carne].&lt;br /&gt;
&lt;br /&gt;
* ... perhaps simpler to use an off-the-shelf webcam that plugs directly into a laptop ... [http://www.linux.com/howtos/Webcam-HOWTO/hardware.shtml Enabling Support for Your (Webcam) Hardware in Linux] ... [http://www.saillard.org/linux/pwc/ Philips USB Webcam Driver for Linux] ... [http://qce-ga.sourceforge.net/ QuickCam] ...&lt;br /&gt;
&lt;br /&gt;
''Is there a simple way for my Java application to fetch the latest camera image in an Array of pixel values?''&lt;br /&gt;
&lt;br /&gt;
=== robot ===&lt;br /&gt;
&lt;br /&gt;
* open architecture humanoid robotics platform --[http://www.is.aist.go.jp/humanoid/openhrp/English/indexE.html OpenHRP]&lt;br /&gt;
* the open hardware, open source, [http://en.wikipedia.org/wiki/E-puck_mobile_robot e-puck mobile robot]&lt;br /&gt;
&lt;br /&gt;
=== RCAP: R/C Auto Pilot: Remote Control Auto Pilot ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The RCAP2 is a Remote Control AutoPilot] for model airplanes, cars and boats. The autopilot function can be switched off or on during flight with the flick of a switch.&amp;quot; Uses PIC16F876A to:&lt;br /&gt;
* read (servo) commands from the RC server&lt;br /&gt;
* read (RS-232) GPS location from a NMEA capable GPS (with programmable goto/waypoints functions)&lt;br /&gt;
* drive (servo) commands to the rudder.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikibooks.org/wiki/RCAP RCAP Documentation at Wikibooks ],&lt;br /&gt;
and [http://rcpilot.sourceforge.net/modules/rcap/index.php RCAP PCB layout at Sourceforge ].&lt;br /&gt;
&lt;br /&gt;
== [http://www.remember.ro/scripts/wiegand.php Wiegand reader simple controller] ==&lt;br /&gt;
&lt;br /&gt;
The PICmicro 16F628 decodes [http://en.wikipedia.org/wiki/Wiegand_protocol Wiegand protocol] coming from card reader.&lt;br /&gt;
If the card matches one of the 40 cards in EEPROM, it turns on the light (opens the door).&lt;br /&gt;
Schematic and source code published under GNU terms.&lt;br /&gt;
&lt;br /&gt;
== [http://www.rcrowley.com/ComClone/default.htm ComClone2 Intercom] ==&lt;br /&gt;
&lt;br /&gt;
ComClone2 is a DIY clone of the industry-standard &amp;quot;party line&amp;quot; production intercom system as first introduced by Clearcom and now sourced by many other vendors.  This intercom system is widely used in both live show(theatrical, music, etc.) and video production. Website provides complete construction information including PC board, etc.&lt;br /&gt;
&lt;br /&gt;
== Minimig ==&lt;br /&gt;
&lt;br /&gt;
[[Minimig|Amiga 500 implemented]] with Xilinx FPGA + Freescale mc68000&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer : A Homebrew USB Soundcard ] ==&lt;br /&gt;
&lt;br /&gt;
This project is a homebrew 12bit 24KHz homebrew USB soundcard based on a pic 18f2550 and a few Microchip analog parts.&lt;br /&gt;
The project is based on the Microchip USB framework, but the core audio processing is written from scratch.&lt;br /&gt;
The card is a duel Audio 1.0 + generic interface composite device with the generic interface being handled by WinUSB. &lt;br /&gt;
The schematic, card firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY - A Scrolling Display with RF connection to a PC ] ===&lt;br /&gt;
&lt;br /&gt;
POV scrolling display with an RF connection to a mini-itx computer and weatherstation.  Project is built out of 384 discrete red LEDs.  Display shows time and date, sunrise/sunset time and outdoor/indoor weather.  &lt;br /&gt;
&lt;br /&gt;
Schematics, Board Layouts, and MPLAB C18 firmware source code is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC : A Homebrew USB FHSS RF Modem ] ==&lt;br /&gt;
&lt;br /&gt;
The PINGPONG-CDC project is a homebrew USB frequency hopping spread spectrum RF modem ([[FHSS]]).  The modem is based on the Microchip 18F2550 and the Semtec XE1205 RF module.  The module does not include a MAC or protocol layer.  That is what this project implements.  The project demonstrates how to write a FHSS MAC layer and use USB to interface it with a PC through CDC and WinUSB.&lt;br /&gt;
Since the protocol is not hard-wired, it is easy to change the software to experiment with different protocols.&lt;br /&gt;
A utility for pairing and configuring modems is included.  The schematic, firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS : FCC Legal Frequency Hopping Spread Spectrum USB Wireless Ethernet ] ==&lt;br /&gt;
&lt;br /&gt;
This is the PINGPONG-CDC project that emulated ethernet through the RNDIS driver in Windows rather then a serial cable replacement. Full source code is provided.&lt;br /&gt;
&lt;br /&gt;
== An acceptable third generation PostScript printer ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ask the Guru: A Third-Generation Printer&amp;quot;&lt;br /&gt;
article by Don Lancaster 1990&lt;br /&gt;
http://www.tinaja.com/glib/guru60.pdf&lt;br /&gt;
lists specifications for&lt;br /&gt;
&amp;quot;An acceptable third generation PostScript printer.&amp;quot;&lt;br /&gt;
Would this be a good &amp;quot;open hardware&amp;quot; project ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== the [[Kestrel]] ==&lt;br /&gt;
&lt;br /&gt;
[http://archives.seul.org/geda/user/Aug-2004/msg00170.html &amp;quot;About the Kestrel&amp;quot;] by Samuel A. Falvo II 2004&lt;br /&gt;
&lt;br /&gt;
''(quote)''&lt;br /&gt;
&lt;br /&gt;
The Kestrel's intended purpose is to be a rational, grass-roots computer &lt;br /&gt;
design employing half-way modern technology, where (quite unlike the PC) *EVERYTHING* is documented openly.&lt;br /&gt;
BUT, not adopting every possible &lt;br /&gt;
technology under the sun just because it exists. ... you'd get the circuit schematics, register-level &lt;br /&gt;
programming information, timing diagrams, and descriptions of the &lt;br /&gt;
ROM-resident OS interfaces ...&lt;br /&gt;
&lt;br /&gt;
The over-arching goals of the project remain the same:&lt;br /&gt;
&lt;br /&gt;
* An open, completely documented architecture, able to be described in a SINGLE BOOK. ...&lt;br /&gt;
&lt;br /&gt;
* Fan-less design, which means, low power, even at the expense of computation speed. ... I'm not aiming for the lowEST power -- but fanless design is critical.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Instant on, (nearly) instant off. ... On the Amiga, you just waited 5 seconds, without touching anything, (that's it) for the disk caches to sync with the volumes, and then you flicked the power switch. End of discussion.  Not so with Windows or Linux.  Anyway, boot-up is way, way more expensive.  It has to check RAM every freaking time ..., it probes the buses and takes its damn sweet time doing it, etc.  AmigaOS did all this in a fraction of a second.  Heck, even just spending 5 seconds is sufficient for me.  But remember that this is added on to the start-up time of the OS you're loading too!  The goal: instant on, instant off.  Trust me -- it really DOES make a difference!&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Lightning fast I/O auto-detection.  If the Amiga can do it with 8MHz processor technology, so can we with 66MHz.  I simply cannot emphasize this enough.&lt;br /&gt;
&lt;br /&gt;
* Relatively easy to build.  Since this is now an advanced kit idea, this isn't nearly as weighted as it used to be.  Nonetheless, it is a goal to strive for.&lt;br /&gt;
&lt;br /&gt;
* Minimum cost. ...&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
The whole purpose is to have FUN with this computer -- to have fun &lt;br /&gt;
building it, to have fun using it, to have fun expanding it.  Part of &lt;br /&gt;
this fun factor is being able to hack the hardware as much as you can &lt;br /&gt;
hack the software.&lt;br /&gt;
Commodore's IEC bus, HP's HP-IL, and Amiga's Zorro &lt;br /&gt;
bus are all inspirations here.&lt;br /&gt;
...&lt;br /&gt;
it wasn't hard to build a Zorro &lt;br /&gt;
card that fully interoperated with the system, you didn't need to be &lt;br /&gt;
registered with anyone but Commodore (and they gave away mfr IDs for &lt;br /&gt;
FREE), and full hardware interface details were available in the Amiga &lt;br /&gt;
HRM for a cost of $29.99 US.  It was bliss.&lt;br /&gt;
&lt;br /&gt;
* Everything is LGPLed.  So if you DID want to include PCI slots or whatever, please feel free!!  Just because it's not my personal priority with the system doesn't mean it's not someone else's.  This is the beauty of open source and, indeed, [[open hardware]].&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Support for new business opportunities. ...  This ties into the prime goal of this whole thing, which is,&lt;br /&gt;
&lt;br /&gt;
* The creation of a vibrant and healthy user and developer community, capable of supporting itself on both software AND hardware fronts.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
''(end quote)''&lt;br /&gt;
&lt;br /&gt;
A more up-to-date description of&lt;br /&gt;
[http://falvotech.com/content/kestrel/ The Kestrel Project].&lt;br /&gt;
(several other pages on the Kestrel project nearby).&lt;br /&gt;
&lt;br /&gt;
== [[astronomy]] ==&lt;br /&gt;
A variety of &amp;quot;open&amp;quot; tools for optical and radio astronomy.&lt;br /&gt;
&lt;br /&gt;
== flash downloaders ==&lt;br /&gt;
Many people have published open-hardware schematics for downloading programs into the flash of various microcontrollers. [http://m8cutils.sourceforge.net/ m8cprogs for Cypress PSoC], [http://techref.massmind.org/techref/devprogs.htm various flash downloaders for Microchip PIC], etc.&lt;br /&gt;
&lt;br /&gt;
== [[WikiNode]] ==&lt;br /&gt;
The WikiNode project tries to link every wiki in the world together.&lt;br /&gt;
Our &amp;quot;[[WikiNode]]&amp;quot; links to closely-related wiki (and their WikiNode links back).&lt;br /&gt;
&lt;br /&gt;
If you want to talk about something that is not quite on-topic here at Open Circuits&lt;br /&gt;
(say, &amp;quot;desktop PC case modding&amp;quot;, or &amp;quot;embedded Linux programming&amp;quot;), our WikiNode helps you find another wiki where people love to talk about that exact topic.&lt;br /&gt;
The corresponding WikiNode on each of those wiki helps people who want to talk about &amp;quot;open hardware&amp;quot; to discover this wiki.&lt;br /&gt;
&lt;br /&gt;
== arm7-oled-clock ==&lt;br /&gt;
&lt;br /&gt;
arm7-oled-clock is a clock hardware/software project for a clock with a graphic organic led display running on an atmel arm7 microcontroller.&lt;br /&gt;
&lt;br /&gt;
Here is the [http://code.google.com/p/arm7-oled-clock/ arm7-oled-clock's project page on google code].&lt;br /&gt;
&lt;br /&gt;
== Sun SPOTs ==&lt;br /&gt;
&lt;br /&gt;
[http://www.sun.com/ Sun Microsystems] has open sourced both hardware and software for the [http://research.sun.com/ Sun Microsystem Laboratories] Sun SPOT (Small Programmable Object Technology) Wireless Sensor Network. &lt;br /&gt;
&lt;br /&gt;
This Java-based system is an ARM920T 180MHz processor, 4Mbyte Flash, 512Kbyte pSRAM and  802.15.4 radio transceiver (TI CC2420). See the [http://www.sunspotworld.com/ Sun SPOT World] website for more information. We also have an active [https://www.sunspotworld.com/forums/ forum].&lt;br /&gt;
&lt;br /&gt;
The hardware designs can be downloaded from [https://spots-hardware.dev.java.net/ https://spots-hardware.dev.java.net]. The content available for download (subversion) are the schematics (pdf, Altium), bill of materials (Excel), assembly drawings (pdf), fabrication drawings (pdf), PC design files (Altium) and gerber files (RS274X) for these boards.&lt;br /&gt;
&lt;br /&gt;
The boards we have posted are:&lt;br /&gt;
* eDemo: Demonstration add-on board for the Sun SPOT. &lt;br /&gt;
* eFlash: MiniSD card reader/writer add on board for Sun SPOT &lt;br /&gt;
* eProto: Prototype board with simple interface to Sun SPOT &lt;br /&gt;
* eProtomega: eSPOT Prototyping board with Atmega88 processor &lt;br /&gt;
* eSerial: RS232 Serial interface board for the Sun SPOT &lt;br /&gt;
* eUSB-Host: USB host interface to Sun SPOT &lt;br /&gt;
* eDaq: Industrial strength ADC board&lt;br /&gt;
* eBones: Basic interface board application note&lt;br /&gt;
* eSPOT: Main Sun SPOT board&lt;br /&gt;
&lt;br /&gt;
Our wiki for the hardware is [http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware].&lt;br /&gt;
&lt;br /&gt;
SPOTs run Squawk, an open source Java virtual machine (VM). The download (and more information) for Squawk is [https://squawk.dev.java.net/ https://squawk.dev.java.net/]. The SPOT specific libraries can be downloaded from [https://spots-libraries.dev.java.net/ https://spots-libraries.dev.java.net/] along with community applications [https://spots-applications.dev.java.net/ https://spots-applications.dev.java.net/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Open Source USB programmer==&lt;br /&gt;
&lt;br /&gt;
Open Programmer is an open source USB programmer for PIC micros, ATMEL micros, I2C EEPROMS, generic I2C/SPI devices. It's based on a 18F2550.&lt;br /&gt;
[http://openprog.altervista.org/ Open Programmer home page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[GPIB]] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Lists of Semi-Open Projects ==&lt;br /&gt;
&lt;br /&gt;
* UHF FM BUG with ButtonCell battery ( http://www.elektronika.ba/408/fm-bug-420-480-mhz/ ) &amp;quot;This bug is 100% made from an old Nokia GSM phone! It operates at 434 MHz and reception can be achieved on a modified TV tuner or 70cm band HAM radio.&amp;quot;&lt;br /&gt;
* [http://massmind.org/techref/microchip/alternatives.htm microcontroller alternatives] lists a bunch of &amp;quot;small PCBs&amp;quot; (is there a better name?) designed for hacking and prototyping, that already have the processor and a few other super-common things built in ... so you don't have to start *completely* from scratch.&lt;br /&gt;
* [http://thinkcycle.org/ ThinkCycle] &amp;quot;ThinkCycle is a ... non-profit initiative ... supporting distributed collaboration towards design challenges facing underserved communities and the environment. ThinkCycle seeks to create a culture of open source design innovation&amp;quot;&lt;br /&gt;
* Are [http://positron.org/projects/ the Positron projects] &amp;quot;open&amp;quot; enough to be mentioned? I especially liked the [http://positron.org/projects/acrylic_cases/ &amp;quot;Lasercut Acrylic Casebuilding Tutorial&amp;quot; ].&lt;br /&gt;
* Is [http://wiki.vislab.usyd.edu.au/moinwiki/PuckControl/BuildingThePuck the Vislab puck] suitable for this list?&lt;br /&gt;
* [http://massmind.org/techref/piclist/pcbcontest.htm  PICList &amp;amp; JAL_List free PCB contest] &amp;quot;this will encourage people to publish designs and get more good ideas out into the real world for everyone to see.&amp;quot; (So, are these &amp;quot;open&amp;quot; circuits?)&lt;br /&gt;
* http://ePanorama.net/ has a bunch of schematics and a web discussion forum. Are they &amp;quot;open&amp;quot; enough to mention here?&lt;br /&gt;
* &amp;quot;Yet Another One-hand Keyboard&amp;quot; ( http://chordite.com/ ) &amp;quot;The firmware included in the download lets an Atmel AVR '2313 microcontroller interpret chords and talk to a PS/2 port.&amp;quot; -- it's not completely open, but the license allows you to immediately download, for free, lots of technical information and a license to build up to 5 of your own. Building more than 5 requires some sort of payment to license the patent on the hardware configuration. (The software appears to be open source). There seems to be an associated Yahoo mailing list. What is an appropriate way to invite John W. McKown and others on the mailing list to use a wiki such as Open Circuits to maintain a FAQ?&lt;br /&gt;
* [http://www.solorb.com/elect/ FC's Electronic Circuits] ?&lt;br /&gt;
* [http://panvent.blogspot.com/ &amp;quot;Pandemic Ventilator Project&amp;quot;] asks: &amp;quot;Does Open Source Hardware Development Work?&amp;quot;&lt;br /&gt;
* GSM SMS Controllers ( http://www.elektronika.ba/503/gsm-controller-v2/ ) &amp;quot;TwoWay Thing (GSM Controller v3) is a device that allows you to control appliances using SMS messages. There are also 4 inputs for connecting sensors so the device will send an alarm SMS or even call you to report an alarm condition. The device draws very little current and is being powered by phone’s battery which is a great thing. Nokia should be constantly charged or supplied with some sort of external power for long term operation.&amp;quot;&lt;br /&gt;
* Phone-call alarm alert ( http://www.elektronika.ba/505/phone-call-alerter/ ) &amp;quot;After programming just supply power to the device. After pressing the button &amp;quot;Pokreni dojavu alarma&amp;quot; it will start to dial (tone or pulse, depending on the jumper setup). When the phone call is succesfully established, the called party should press pound key &amp;quot;#&amp;quot; to stop the device from calling another number or again.&amp;quot;&lt;br /&gt;
* SMS Box ( http://www.elektronika.ba/563/sms-box-project/ ) &amp;quot;This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!&amp;quot;&lt;br /&gt;
* GSM alarm alert - call ( http://www.elektronika.ba/501/gsm-alarm-caller/ ) &amp;quot;Alerting alarm over via GSM network&amp;quot;&lt;br /&gt;
* [http://linuxdevices.com/news/NS3871478989.html Bug Labs]: A startup is readying a modular, open source hardware/software system resembling a set of electronic Legos. Nov. 05, 2007 [http://www.buglabs.net/]&lt;br /&gt;
* [http://picflow.sourceforge.net/ PIC flow meter and instrumentation modules]: Sensors, Gauges, Flow meter, data logging, connected by Grundfos Pumps inc. GENIbus over RS485.&lt;br /&gt;
* Raphaël Assénat has [http://raphnet.net/electronique/electronique_en.php posted several electronics projects], including schematics. Several of them involve interfacing various &amp;quot;classic&amp;quot; video game controllers to USB. His [http://raphnet.net/electronique/cid/cid_en.php &amp;quot;Caller Id decoder&amp;quot;] is a nice example of adding just one more feature to something using a minimum of additional electronics.&lt;br /&gt;
* [http://www.grandideastudio.com/portfolio/defcon-15-badge/ Grand Idea Studio] -- do these badges count as &amp;quot;open circuits&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== [[Other Projects | other project sites or links to projects]] ==&lt;br /&gt;
&lt;br /&gt;
May or may not be open, not much review material here, noted for the record, may be promoted in the future if they are outstanding in any way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Topway_LCD&amp;diff=17114</id>
		<title>Topway LCD</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Topway_LCD&amp;diff=17114"/>
		<updated>2008-12-23T07:38:05Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LCD model: LM6023ADW==&lt;br /&gt;
*manufacturer : [http://www.topwaydisplay.com/ Topway]&lt;br /&gt;
*Tested temperature Range : -8 to 40&lt;br /&gt;
*The contrast becomes dimmer when Temperature is lower than 5 degree&lt;br /&gt;
*The contrast becomes brigher when Temperature is  hight than 35 degree&lt;br /&gt;
&lt;br /&gt;
5V LCD to 3.3V LCD&lt;br /&gt;
  * connect JP3&lt;br /&gt;
  * disconnect JP2&lt;br /&gt;
  * place a 4.7uF cap onto C10.&lt;br /&gt;
  * remove R7. &lt;br /&gt;
&lt;br /&gt;
3.3V LCD to 5V LCD&lt;br /&gt;
  * disconnect JP3&lt;br /&gt;
  * connect JP2&lt;br /&gt;
  * remove C10&lt;br /&gt;
  * place 20ohm onto R7.&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Topway_LCD&amp;diff=17113</id>
		<title>Topway LCD</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Topway_LCD&amp;diff=17113"/>
		<updated>2008-12-23T07:36:14Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: New page: manufacturer : [http://www.topwaydisplay.com/ Topway]  LCD model: LM6023ADW Tested temperature Range : -8 to 40 The contrast becomes dimmer when Temperature is lower than 5 degree The cont...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;manufacturer : [http://www.topwaydisplay.com/ Topway]&lt;br /&gt;
&lt;br /&gt;
LCD model: LM6023ADW&lt;br /&gt;
Tested temperature Range : -8 to 40&lt;br /&gt;
The contrast becomes dimmer when Temperature is lower than 5 degree&lt;br /&gt;
The contrast becomes brigher when Temperature is  hight than 35 degree&lt;br /&gt;
&lt;br /&gt;
LCD to 3.3VLCD&lt;br /&gt;
* connect JP3&lt;br /&gt;
* disconnect JP2&lt;br /&gt;
* place a 4.7uF cap onto C10.&lt;br /&gt;
* remove R7. &lt;br /&gt;
&lt;br /&gt;
[edit] 3.3V LCD to 5VLCD&lt;br /&gt;
* disconnect JP3&lt;br /&gt;
* connect JP2&lt;br /&gt;
* remove C10&lt;br /&gt;
* place 20ohm onto R7.&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Optoelectronics&amp;diff=17112</id>
		<title>Optoelectronics</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Optoelectronics&amp;diff=17112"/>
		<updated>2008-12-23T07:27:38Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Optoelectronics are devices that are some combination of electrical and optical.  Perhaps the simplest is the Light Emitting Diode or LED which converts electrical energy into light.  A listing of some optoelectronic devices follows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
LEDs are diodes designed to produce visible light.&lt;br /&gt;
&lt;br /&gt;
Commonly a small low power device that makes a not too bright light. High power, high brightness versions are now becoming widely available. The low power ones typically run on a volt or so, at about 10 ma. Typically they are run on higher voltages with a current limiting resistor that sets the current. Current control is almost always required ( often with a resistor ) as LED are very sensitive to small voltage changes. Like other diodes they conduct only in one direction.&lt;br /&gt;
&lt;br /&gt;
When using a LED in a cicuit it's important to use a current limiter such as a resistor. When using resistors measure the foreward voltage drop of the LED with a multimeter, subtract this from the supply voltage, then plug the difference into ohms law to calculate the required resistor value.  Different color LEDs all have different voltage drops.&lt;br /&gt;
&lt;br /&gt;
Uses&lt;br /&gt;
*Indicator&lt;br /&gt;
*Part of 7 segment display&lt;br /&gt;
*Light source&lt;br /&gt;
&lt;br /&gt;
External Links&lt;br /&gt;
&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Light_Emitting_Diode Light-emitting diode From Wikipedia, the free encyclopedia]&lt;br /&gt;
# [http://www.iguanalabs.com/1stled.htm Learning About Transistors and LEDs]&lt;br /&gt;
# [http://www.piclist.com/techref/io/led/pulse.htm?key=base+resistor&amp;amp;from= Brighter Appearance through pulsing]&lt;br /&gt;
# [http://www.uchobby.com/index.php/2008/02/25/improving-the-ping-pong-ball-led-diffuser/ Improving the Ping Pong Ball LED Diffuser ]&lt;br /&gt;
# [[Basic_Circuits_and_Circuit_Building_Blocks#Light_Emitting_Diode_.28_with_current_limiting_resistor_.29 ]]&lt;br /&gt;
&lt;br /&gt;
== LCDs ==&lt;br /&gt;
&lt;br /&gt;
Liquid Crystal Displays&lt;br /&gt;
* Serial - These displays have a microcontroller on the display with a serial or I2C connection.  Several builtin fonts are typically included.  These displays are very easy to use, but the update rate for a display is very slow. Fullblown bitmap support is usually not available.  Typical price for these displays is $50+.&lt;br /&gt;
&lt;br /&gt;
* Parallel - Parallel displays connect to a microcontroller via a parallel interface( the bitwidth varies from 8bits to 32bits ).  Displays can have a much faster update rate then serial since they allow arbitrary graphs to be display.  The displays are typically much cheaper then serial display starting as low as $20.&lt;br /&gt;
&lt;br /&gt;
Finding LCD displays is not easy since huge distributors such as Digikey have a limited selection. &lt;br /&gt;
&lt;br /&gt;
Some places that do have LCDs for hobby use:&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com Sparkfun] - Has a good selection of both parallel and serial displays.  &lt;br /&gt;
* [http://www.matrixorbital.com MatrixOrbital] - Specializes in serial display especially the type for direct connection to a PC.&lt;br /&gt;
* [http://www.jameco.com Jameco] - A small selection. Mostly serial.&lt;br /&gt;
* [http://www.seeedstudio.com/depot Seeedstudio] - Free sourcing services with some stock of basic LCD.&lt;br /&gt;
&lt;br /&gt;
===[[Topway LCD]]===&lt;br /&gt;
&lt;br /&gt;
== Photo Diode ==&lt;br /&gt;
A diode with its junction exposed to light will generate a little bit of voltage and current ( if the circuit resistance is not infinite ).  Diodes that are meant to exploit this are photo diodes, regular diodes often, but not always, are enclosed to keep out the light.  The signal is not strong and lots of amplification can be useful.&lt;br /&gt;
&lt;br /&gt;
== Photo Transistor ==&lt;br /&gt;
If a photo diode makes up one junction of a transistor the photo diode has a built in amplifier.  This is the photo transistor.  An advantage is that the signal is larger.&lt;br /&gt;
&lt;br /&gt;
== Photo Multiplier ==&lt;br /&gt;
This is a somewhat unusual ( for most experimenters ) device.  It is a vacume tube with a series of electrodes at high voltage from each other.  When a photon knocks an electron out of the first electrode it then knocks out more on the second electrode and so on.  They can be very sensitive, I think down to single electrons.&lt;br /&gt;
&lt;br /&gt;
== Solid State Laser  ==&lt;br /&gt;
== Optical Isolator ==&lt;br /&gt;
== Photo Resistor ==&lt;br /&gt;
== Photovoltaic Cell ==&lt;br /&gt;
# [http://en.wikipedia.org/wiki/Photovoltaics Photovoltaics - Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== VFD ==&lt;br /&gt;
*life time - around 10000 to 30000hrs when dim down to 50% brightness&lt;br /&gt;
*make sure no any dead pt&lt;br /&gt;
*update rate - around 10mSec for each new update data&lt;br /&gt;
*command for dim down&lt;br /&gt;
*no electrostatic effect due to glass material&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=16844</id>
		<title>Programming the Device</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=16844"/>
		<updated>2008-11-24T10:51:00Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Loading Firmware */ adding RS232 converter hw&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements==&lt;br /&gt;
&lt;br /&gt;
===Hardware===&lt;br /&gt;
#PC with COM port (Windows XP Installed for MPLAB)&lt;br /&gt;
#ICD2 Programmer&lt;br /&gt;
#Target Board&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
#[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent &amp;quot;Devices cannot be founded&amp;quot; warnings.&lt;br /&gt;
#[http://chungyan5.no-ip.org/websvn/listing.php dsPicProgrammer] ('''dsPicProgrammer.jar''')&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#[http://chungyan5.no-ip.org/websvn/listing.php dsPicBootloader] ('''bl_5011.hex'''). Original assembly code by ingenia can be downloaded from [http://www.ingenia-cat.com/download/iBL.s here].&lt;br /&gt;
#Application hex file (e.g. '''app.hex''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loading Bootloader (Once only)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Loading Bootloader&lt;br /&gt;
! Step !! Remarks &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install [http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE] || &lt;br /&gt;
*Do '''NOT''' connect ICD 2 (via USB) to PC&lt;br /&gt;
*Execute '''MPLAB vX.XX Install.exe'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install USB Driver ||&lt;br /&gt;
*Follow the instruction in (C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\Ddicd2.htm)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Select Target Chip ||&lt;br /&gt;
*Run MPLAB IDE on PC&lt;br /&gt;
*Select: Configure&amp;gt;Select Devices...&lt;br /&gt;
*Choose dsPIC30F5011&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Target &amp;lt;-&amp;gt; ICD 2  ||&lt;br /&gt;
*Use six pin cable. Beware of the pin assignments. Only pin 1 - 5 should be used.&lt;br /&gt;
*Place Jumper on target board (if any). The Jumper connects target V&amp;lt;sub&amp;gt;cc&amp;lt;/sub&amp;gt; to ICD 2.&lt;br /&gt;
*Do '''NOT''' power-up the target.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Plug-in ICD 2 to PC via USB cable&lt;br /&gt;
*Power-up the target.&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;MPLAB ICD 2&lt;br /&gt;
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished&lt;br /&gt;
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests.&lt;br /&gt;
*See results of self test if necessary: Programmer&amp;gt;Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Load Bootloader ||&lt;br /&gt;
*Select: File&amp;gt;Import...&lt;br /&gt;
*Select '''bl_5011.hex'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Start Programming ||&lt;br /&gt;
*Select: Programmer&amp;gt;Program&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Finishing ||&lt;br /&gt;
*Power-down the Taget&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;None&lt;br /&gt;
*Unplug USB cable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loading Firmware==&lt;br /&gt;
*If the RS232 converter hardware required, pls go there [[RS232_RS485_USB_Converter_Board]] for RS232 converter only&lt;br /&gt;
*Download [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer1.5.5.zip dsPic_Programmer.zip], [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/ws/ updated directory] or [http://chungyan5.no-ip.org/vc svn server]&lt;br /&gt;
*Save to a directory.&lt;br /&gt;
::e.g. desktop&lt;br /&gt;
*Unzip the dsPic_Programmer.zip, then you have an unziped file.&lt;br /&gt;
[[Image:prog_guid_dl.JPG]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Drag the unzip file to a director.&lt;br /&gt;
::eg. USB memory devics&lt;br /&gt;
[[Image:prog_guid_drag.JPG]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Save your .hex file(foo.hex) to your directory location  &lt;br /&gt;
::e.g. X:\dsPic_Programmer\ ---&amp;gt; X:\ is the driver where the dsPic_Programmer located&lt;br /&gt;
[[Image:prog_guid_hex.JPG]]&lt;br /&gt;
===Download Firmware===&lt;br /&gt;
*Start a Command Prompt&lt;br /&gt;
**Start -&amp;gt; Run&amp;lt;br&amp;gt;[[Image:2 1 run.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
**Enter cmd&amp;lt;br&amp;gt;[[Image:2 2 cmd.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Run dsPicProgrammer&lt;br /&gt;
**Make sure your device is connected through a &amp;quot;Direct RS232 Cable&amp;quot; to PC Serial Port. &lt;br /&gt;
**Change to the directory where dsPicProgrammer.jar is located and run the command:&lt;br /&gt;
***for example, jre\bin\java -Djava.library.path=.\rxtx\bin -jar dspicProgrammer.jar COM1 115200 foo.hex&lt;br /&gt;
***Or directly using dsPicProgrammer.bat COM1 115200 foo.hex(Windows)&lt;br /&gt;
***java -jar dsPicProgrammer.jar /dev/ttyS0 115200 foo.hex (Linux)&lt;br /&gt;
:::where COM1 is your COM Port ID&lt;br /&gt;
:::115200 is communication speed [in bps]&lt;br /&gt;
:::foo.hex is your firmware new file&lt;br /&gt;
::[[Image:2 3 command.JPG]]&lt;br /&gt;
:*When the program prompt you for an input, press y:&amp;lt;br&amp;gt;[[Image:2 4 prompt.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*If communication can be established, you should see something like this:&amp;lt;br&amp;gt;[[Image:2 5 progress.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*Wait until programming is completed.&amp;lt;br&amp;gt;[[Image:2 6 complete.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*after all completed, power OFF your device, then power ON again, enjoy your new updated.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Invalid COM Port===&lt;br /&gt;
*In case of selecting an invalid COM port, you should see the error message:&amp;lt;br&amp;gt;gnu.io.NoSuchPortException: Choosing COM Port Error&amp;lt;br&amp;gt;[[Image:3 1 com err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Missing firmware file===&lt;br /&gt;
*In case of selecting a firmware file that does not exist, you should see the error message:&amp;lt;br&amp;gt;java.io.FileNotFoundException: foo1.hex &amp;lt;The system cannot find the file specified&amp;gt;&amp;lt;br&amp;gt;[[Image:3 2 file err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Missing RXTX driver===&lt;br /&gt;
*In case of missing the RXTX driver, you should see the error message:&amp;lt;br&amp;gt;Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException&amp;lt;br&amp;gt;[[Image:3 3 rxtx err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Basic_Circuit_Building_Blocks&amp;diff=16698</id>
		<title>Basic Circuit Building Blocks</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Basic_Circuit_Building_Blocks&amp;diff=16698"/>
		<updated>2008-10-31T08:40:50Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Power up low active reset circuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are circuits and parts of circuits that we see over and over again in larger projects.  Understanding a complex circuit is much easier if you understand these building blocks.  &lt;br /&gt;
&lt;br /&gt;
Operational amplifier are the basis for many circuit building blocks especially in the range of DC to 1 meg Hz.  See [[OpAmp Links]].&lt;br /&gt;
&lt;br /&gt;
== Page Status.... ==&lt;br /&gt;
( [[russ_hensel]] was building this page, but is now distracted so further progress ma;y be up to you.  His schematics have been drawn in Eagle and the screen captured.  Feel free to add your own circuits, as long as they are basic building blocks, there are lots of other places for project circuits. &lt;br /&gt;
Some entries are not complete, if the explanation of the circuit does not match the diagram that is a good tip off.  For some reason even some of the uploaded graphics are not showing up, I am working on this as well.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To Do &lt;br /&gt;
* Why not put alpha order?&lt;br /&gt;
* work on external links&lt;br /&gt;
&lt;br /&gt;
more circuits that would be good to add&lt;br /&gt;
*Constant Current Circuit&lt;br /&gt;
*Wheatstone Bridge.&lt;br /&gt;
[http://itp.nyu.edu/physcomp/sensors/Schematics/WheatstoneBridge Wheatstone Bridge]&lt;br /&gt;
*AC Coupling Capacitor / High Pass Filter&lt;br /&gt;
*Battery Lamp and Switch&lt;br /&gt;
*Diode Rectifier&lt;br /&gt;
*LM35 Temperature Sensor&lt;br /&gt;
*555 Timer astable oscillator&lt;br /&gt;
*diode for forward drop bias voltage&lt;br /&gt;
*row and collumn connection&lt;br /&gt;
*charge pump&lt;br /&gt;
*transformer&lt;br /&gt;
*voltage multiplier&lt;br /&gt;
*diode logical or&lt;br /&gt;
*RC timer&lt;br /&gt;
*diode full wave bridge&lt;br /&gt;
*H Bridge&lt;br /&gt;
*Simple Oscillator circuits&lt;br /&gt;
*Current mirrors&lt;br /&gt;
*RF Mixers&lt;br /&gt;
*[[Colpitts Oscillator]]&lt;br /&gt;
&lt;br /&gt;
An H bridge is an electronic circuit that causes current to flow in one direction or the other ( from a singel ended power supply ).  Often used for motor control.  It is an electronic double pole double throw switch.&lt;br /&gt;
[http://code.rancidbacon.com/ElectronicsElectronics] See Section on ''H-Bridge''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Current Sense Resistor ( Shunt Resistance ) ==&lt;br /&gt;
&lt;br /&gt;
A current Sense Resistor is a low value of resistor that is placed in series with some other circuit.  We can then measure the voltage across the resistor to compute the current.  If the resistor has a low value compared to other components we can ignore the effect on the circuit.  We use the word shunt when the voltage is measured by a device that has a fairly low resistance itself.  We then have to do a more careful calculation of how the current is shared by the two devices.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:shunt.png | Shunt Resistance ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R	shunt resistor used to sense the current  ( and divert it from the meter ).  Usually much less in value than the internal resistance of the meter.&lt;br /&gt;
*METER  meter or other device used to measure the voltage across the shunt reistor.  Often the resistance of the meter is ignored ( if high ).&lt;br /&gt;
*BATTERY  a battery or other voltage source.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
In the old days a sensitive meter, say 50 mv full scale, would be used with a set of shunt, some looking like metal bars, to measure a wide range of currents, up to and exceeding 50 amps.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
#[http://www.scienceshareware.com/bg-current-monitoring.htm  Scienceshareware.com's How A Precision Resistor Is Used to Measure / Calculate Current and Power in an Electrical Circuit.]&lt;br /&gt;
#[http://www.maxim-ic.com/appnotes.cfm/appnote_number/746/ High-Side Current-Sense Measurement: Circuits and Principles]&lt;br /&gt;
#[http://en.wikipedia.org/wiki/Shunt_(electrical) Shunt (electrical) From Wikipedia, the free encyclopedia]&lt;br /&gt;
* Other ways to measure current: [[Motor_driver#current_sense]]&lt;br /&gt;
&lt;br /&gt;
== Filter Capacitor / Decoupling Capacitor / Low Pass Filter ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:filtercap.png | Filter Capacitor ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*D2	is a diode, it lets current pass only in the direction of the arrow.&lt;br /&gt;
*R	resistor &lt;br /&gt;
*Input  a source of alternating current ( occasionally DC in which case the whole circuit serves only to protect against a reverse connection.&lt;br /&gt;
C1      the first, main, filter capacitor.&lt;br /&gt;
C2      the second filter capacitor.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
In this circuit C1 is a classic filter capacitor it charges while the diode conducts, it discharges and supplies current when the diode does not.  R and C2 are a second stage filter.  With R set to 0, it simply adds to the value of C1.  With R in the circuit it forms a low pass filter which helps remove the ripple from the power ( at the cost of some voltage drop ).  In the old days R would often be a low value inductor which had a similar effect without the voltage drop.  A capacitor alone is often put across a circuit component that uses power to supply bursts of current and stop noise from being propagated through the power supply.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Op amp Non Inverting Amplifier ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:opamp_nia.png | Op amp Non Inverting Amplifier ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
OPAMPA  Any general purpose op amp, often connected to + and - power supplies&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Gain is = ( R1/R2 ) + 1 &lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[OpAmp Links]&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Op amp Unity Gain Buffer ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current ( up to about 10 ma for the typical op amp. ).  For example if you wish to measure the out put of a voltage divider with a 0 to 1 ma meter a unity gain buffer might be just what you need.  This circuit is also know as a voltage follower.&lt;br /&gt;
&lt;br /&gt;
The unity gain buffer has an output voltage just the same as the input voltage.  The advantage is that the input circuit does not “feel” the output.  That is the input acts pretty much like a very large resistor ( many mega ohms or more ) connected to ground, and the output supply's whatever current ( up to about 10 ma ) is necessary to maintain the output voltage.  Here is the circuit:&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:opamp_ugb.png | Op Amp Unity Gain Buffer ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*INPUT		the input signal you wish to buffer&lt;br /&gt;
*RIN		the input resistor, often 0 ohms.&lt;br /&gt;
*OPAMPA  Any general purpose op amp, often connected to + and - power supplies&lt;br /&gt;
*RFB   	the feed back resistor &lt;br /&gt;
*OUTPUT	the output&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
The values of RIN and RFB are not very critical and are normally 0 ohms, just a straight connection.  The op amp here is a quad or 4 op amp part, we are using just one section of it.  Power needs to be supplied to pin 8 and 4 in the usual way for op amps.&lt;br /&gt;
&lt;br /&gt;
More information:  &lt;br /&gt;
*[[OpAmp Links]]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Buffer_amplifier Buffer amplifier From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.bcae1.com/opamp.htm Operational Amplifiers]&lt;br /&gt;
*[http://www.eecs.tufts.edu/~dsculley/tutorial/opamps/opamps5.html Op-Amp Buffer]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parallel Circuit ==&lt;br /&gt;
In a parallel circuit the current divides and some flows through each component .  The key to these circuits is that the voltage is the same in every element of the circuit and the total of the current through each of the components adds up to the total current from the battery.  When you use a current meter it is always placed in series with the part of the circuit where you wish to measure the current.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:parallel.png | Parallel Circuit ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
*BATTERY  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
I you have a lot of components that use the same voltage put them in parallel.  This is how most lights in a house are wired.  Each individual light can be turned on and off without changing the current or voltage in the other lights.  With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 /( R1 * R2 ).  When you need a resistor of a different value than you have you can sometimes “make it up” using a parallel connection of resistors you do have.  Two identical resistors in parallel are equivalent to one of half the resistance.  A parallel circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about parallel circuits in the references.  This circuit should be contrasted with the Series Circuit.  Parallel circuits can also be used with other components, the equations vary, for capicators the capacitances add in a parallel circuit.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull Up and Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you want to feed a user input to a digital circuit, for example a PIC input pin.&lt;br /&gt;
&lt;br /&gt;
A pull up is a fairly high value resistor (say 1 to 100 K ohms) that is connected to the positive side of the power supply.  This makes the other end of the resistor the same voltage as the power supply (as long as it is connected to a high impedance).  The other end of the resistor is connected to a switch that is then connected to ground.  When the switch is connected current flow through the resistor drops the entire power supply voltage and the input voltage for the circuit is now 0 (sometimes called active low, since when the switch is active the output is low).  Pull up is sometimes used without the switch to keep a signal high all the time.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:pus.png | Pull Up and Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*PUSH_BUTTON_SWITCH		is a push button switch&lt;br /&gt;
*R_PULLUP	is the pull up resistor &lt;br /&gt;
*VPLUS_VDD   	is the power supply voltage&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
[http://www.seattlerobotics.org/encoder/mar97/basics.html  Very Basic Circuits]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Debouncing Discussion:&lt;br /&gt;
&lt;br /&gt;
We have two groups of solution: Hardware Debouncing Circuit and Software Debouncing Driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hardware Debouncing Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:Pus_debouncing.PNG | Pull Up and Switch with debouncing ]]&lt;br /&gt;
with [http://chungyan5.no-ip.org/open_data/electronic_computer/ui/key_with_debouncing geda circuit], and [http://chungyan5.no-ip.org/open_data/electronic_computer/eda/geda/libs symbols]&lt;br /&gt;
*Advantage - Do not occupy the CPU processing power for debouncing, lets CPU to handle more other application task(s)&lt;br /&gt;
*Disadvantage - we need to implement the above hardware circuit inside the project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Software Debouncing Driver:&lt;br /&gt;
*Advantage - Saving cost &amp;amp; space for nothing debouncing circuit&lt;br /&gt;
*Disadvantage - Utilize CPU processing power for debouncing, less time for CPU to handle other application process&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ToDo===&lt;br /&gt;
*Software Debouncing Driver&lt;br /&gt;
**compile time parameters:&lt;br /&gt;
***time delay between each sample&lt;br /&gt;
***no. of sample - until all samples &lt;br /&gt;
**different type of switches, may be have different above compile time parameters&lt;br /&gt;
**API to OS or GUI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull Down and Switch ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:pds.png | Pull Down and Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R_PULLDOWN	resistor which normally keeps the output low ( ground ).&lt;br /&gt;
*PUSH_BUTTON_SWITCH	switch to make the output high&lt;br /&gt;
*VPLUS_VDD  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Just a variation on the Pull Up and Switch.&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Series Circuit ==&lt;br /&gt;
&lt;br /&gt;
In a series circuit the current first flows through one component then another and so on.  The key to these circuits is that the current is the same in every element of the circuit and the total of the voltage across each of the components adds up to the voltage of the battery.  A current meter is always in series with the part of the circuit whose current is being measured.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:series.png | Series Circuit ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1 or any other 2 terminal component, capacitor, inductor, diode....&lt;br /&gt;
*R2	resistor 2 or any other 2 terminal component.....&lt;br /&gt;
*BAT  a battery or other voltage source&lt;br /&gt;
&lt;br /&gt;
I you have a lot of components that use the same current put them in series.  This is often how LEDs are connected to higher voltages; this also eliminates the need for a current limiting resistor on each LED.  With a bit of math you can show that the two resistors act like one resistor of value R = R1 + R2 .  When you need a resistor of a different value than you have you can sometimes “make it up” using a series connection of resistors you do have.  Two identical resistors in series are equivalent to one of double the resistance.  A series circuit can have more than 2 resistors, there can be 3, 4, ... You can find out more about series circuits in the references.  This circuit should be contrasted with the Parallel Circuit.  A voltage divider is an example of a series circuit.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* [http://en.wikipedia.org/wiki/Parallel_circuit Series and parallel circuits From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---------------------------------------------------------------------&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Three Terminal Regulator ==&lt;br /&gt;
&lt;br /&gt;
Use when you need a regulated voltage and or short circuit protection.&lt;br /&gt;
&lt;br /&gt;
Most circuits run better if the primary power source is a constant fixed voltage.  A battery is only a poor approximation to this.  Taking a battery or other voltage source ( like a wall wart plug in transformer ) and running it through a voltage regulator transforms it into a good fixed source of voltage.  It also generally adds current limiting as short circuit protection. The 7805 is a very common 5 volt regulator. &lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:ttr.png | Three Terminal Regulator  ]]&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
The circuit above is very basic.  Practical circuits normally include filter capacitors on both the input and the output.  Most regulators protect against both over temperature and over current.  Regulators come in various voltages both positive and negative.  They also vary in maximum current output. There are also adjustable regulators, ways of using regular regulators as adjustable ones, and ways of boosting the current output.  The spec sheets often describe how to do these things.  Voltage regulators “use up” a couple of volts of the input voltage, low drop out regulators have use less, cost more.  It is a good idea to check the specification for any regulator you are going to use.  The LM78xx ( positive ) and LM79xx ( negative ) are quite common.&lt;br /&gt;
&lt;br /&gt;
More information:  &lt;br /&gt;
*[[Basic Voltage Regulators]] &lt;br /&gt;
*[http://en.wikipedia.org/wiki/7805 7805 From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.tkk.fi/Misc/Electronics/circuits/psu_5v.html Simple 5V power supply for digital circuits]&lt;br /&gt;
&lt;br /&gt;
== Relay with Diode Snubber ==&lt;br /&gt;
&lt;br /&gt;
Sometimes you will want to switch an external device on and off with a device that can only source a small amount of current (a microcontroller for example). For this you will need a relay. A relay is a mechanical device with a electromagnetic coil and a metal switch. When the coil is energized, the metal switch will move, completing the circuit. &lt;br /&gt;
&lt;br /&gt;
An inductive element, like the relay coil, is likely to generate an undesired voltage when the current is suddenly stopped. Use a diode (snubber) to dissipate the extra voltage. &lt;br /&gt;
&lt;br /&gt;
The diode is connected in reverse from the normal voltage across the inductor, when the voltage is removed the collapsing field can continue to drive current through the diode without generating a high voltage.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:diodesnubber.png | Diode snubbber  ]]&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
In the circuit shown, the &amp;quot;input&amp;quot; will come directly from the small current source device (microcontroller output pin). The resistor must be sized correctly, along with the NPN transistor DC current gain, to ensure sufficient current passes through the relay coil to activate it. &lt;br /&gt;
&lt;br /&gt;
Other inductors that might use a diode snubber are transformers, solenoids, dc motors, and of course straight ahead inductors.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://en.wikipedia.org/wiki/snubber &amp;quot;snubber&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/flyback_diode &amp;quot;flyback diode&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Relay &amp;quot;relay&amp;quot; from Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.dnatechindia.com/index.php/Tutorials/8051-Tutorial/Relay-Interfacing.html Microcontroller] relay interfacing example.&lt;br /&gt;
&lt;br /&gt;
== Transistor Low Side Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you wish to turn a load on and off with both a low voltage and a low current.  Note that neither side of the load is grounded.&lt;br /&gt;
&lt;br /&gt;
A low side switch is one which switches a circuit on and off at the ground or low side of the circuit.  The advantage of a low side switch is that when using a transistor as the switch the voltage to drive the transistor is itself a low voltage.  It is often the easy way to drive LEDS, motors, and other high current devices from such low power devices as PIC output ports.  Low side switches are popular and there are many integrated circuits for them as well as this circuit.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:Tran_lss.jpg | Transistor Low Side Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED		is a low power LED&lt;br /&gt;
*R_LED		is a current limiting resistor for the LED&lt;br /&gt;
*Q			is a bipolar transistor &lt;br /&gt;
*R_1		is a current limiting resistor transistor base current&lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high.  To acomplish this:&lt;br /&gt;
&lt;br /&gt;
*Compute the value of R_LED using ohms law and the specifications for the LED.&lt;br /&gt;
*Compute the current through the LED.&lt;br /&gt;
*The transistor must supply the current, it should be equal approxtely to the input voltage divided by R1 times the beta of the transistor.&lt;br /&gt;
&lt;br /&gt;
An example calculation would be nice, and will appear later.&lt;br /&gt;
&lt;br /&gt;
This circuit is sometimes called &amp;quot;grounded-emitter configuration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Transistor#Switches Transistor From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== Transistor High Side Switch ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you wish to turn a load on and off with a voltage at a low current.  Note that low  side of the load is grounded.  The voltage to turn on the switch is equal to the supply voltage ( or perhaps just a bit larger )&lt;br /&gt;
&lt;br /&gt;
A high side switch is one which switches a circuit on and off at the supply voltage or high side of the circuit.  The advantage of a high side switch is that the load is grounded on one side.  Compared to the low side switch it needs a higher voltage to drive it, but it also eliminates one resistor of that circuit.  It the voltage to drive it is available it may be the circuit of choice.  It is often the easy way to drive leds motors and other high current devices from such low power devices as PIC output ports. &lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:tran_hss.png | Transistor High Side Switch ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED		is a low power LED&lt;br /&gt;
*R_LED		is a current limiting resistor for the LED&lt;br /&gt;
*Q		is a bipolar transistor &lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
The voltage at the collector of the circuit should fall to a fraction of a volt when the input is high.  To compute the values in the circuit:&lt;br /&gt;
&lt;br /&gt;
*Compute the value of R_LED using ohms law and the specifications for the LED.&lt;br /&gt;
*The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current.  The input voltage should be about equal to VPLUS_VDD, high compared to that needed for the low side switch.&lt;br /&gt;
&lt;br /&gt;
== Transistor Emitter Follower ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit when you have a signal of high impedance ( can supply only a little current ) that you want to connect to another circuit that draws a significant current.  The circuit has no voltage gain, but because of the current gain it has a lot of power gain.  It is frequently used in the final stage of an amplifier.  &lt;br /&gt;
&lt;br /&gt;
This circuit is a variation of the transistor high side switch.  The difference is that we typically drive this circuit in a linear way ( all of the voltages between 0 and the supply voltage ) to make it a linear amplifier.&lt;br /&gt;
&lt;br /&gt;
The emitter follower is also called a common collector circuit.  The Emitter Follower is basically a high side switch, but when we call it an emitter follower we normally think of it as a linear ( analog ) amplifier, rather than as a switch.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
&lt;br /&gt;
[[Image:tef.png | Transistor Emitter Follower ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R_LOAD		represents the resistance of the load&lt;br /&gt;
*Q		is a npn bipolar transistor &lt;br /&gt;
*VPLUS_VDD   is the power supply for the LED&lt;br /&gt;
&lt;br /&gt;
The current to drive the circuit is approximately the current to drive the load divided by the beta of the transistor.  Use a Darlington connected transistor for a very high beta.&lt;br /&gt;
&lt;br /&gt;
No resistor is needed into the base of the transistor because as the load draws current the voltage at the base will rise and limit the base current.  &lt;br /&gt;
&lt;br /&gt;
This circuit will only amplify positive voltages, using a pnp transistor you can amplify only negative voltages.  Combine the two ( see push pull amplifier ) you can amplify both positive and negative voltages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Variation of the circuit include: &lt;br /&gt;
&lt;br /&gt;
*Use of coupling capacitors to amplify ac signals.&lt;br /&gt;
*Various other components to bias the transistor.&lt;br /&gt;
*Use an op amp buffer with voltage gain at the input, then the emitter follower for high current. In this way a few Milli volts with current on the order of pico amps can drive an output of several volts at an ampere or more. &lt;br /&gt;
&lt;br /&gt;
More information: &lt;br /&gt;
&lt;br /&gt;
*[http://www.mines.edu/Academic/courses/physics/phgn217/lab4/lect7/sld013.htm  Emitter Follower]&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Common_collector Common collector From Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== Voltage Divider ==&lt;br /&gt;
Voltage Divider&lt;br /&gt;
&lt;br /&gt;
We use a voltage divider when we have a voltage that is too big and we just want a fraction ( like 1/3 or .33 ) of it.  It is like an amplifier with a gain of less than 1.  We use two resistors, the output is always a constant fraction of the input voltage.&lt;br /&gt;
&lt;br /&gt;
Sometimes we use a potentiometer as a voltage divider.  This makes the ratio of output to input adjustable.  This is how we make a gain control or volume control.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:vdivide.png | Voltage Divider ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*R1	resistor 1&lt;br /&gt;
*R2	resistor 2&lt;br /&gt;
*POT  a potentiometer&lt;br /&gt;
&lt;br /&gt;
The ratio of input to output is:  output/input = R2/( R1 + R2 ).&lt;br /&gt;
&lt;br /&gt;
Discussion&lt;br /&gt;
&lt;br /&gt;
The equation assumes that the input source is low impedance and the output is high impedance, if this is not true consider using a buffer on the input or the output ( Op Amp Unity Gain Buffer or Transistor Emitter Follower ) For audio applications a so called “log taper” pot may be used as it better matches the way in which we hear.  If you want a calibrated control you may use a precision “10 turn precision” pot.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.seattlerobotics.org/encoder/mar97/basics.html Very Basic Circuits]&lt;br /&gt;
*[http://itp.nyu.edu/physcomp/sensors/Schematics/VoltageDivider Voltage Divider]&lt;br /&gt;
&lt;br /&gt;
== RC Filter ==&lt;br /&gt;
&lt;br /&gt;
The most basic filters are the RC-High Pass and RC-Low Pass filters.  The high pass filter removes DC and low frequencies and the low pass removes high frequencies.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''High Pass''' [[Image:rchighpass.png | RC High Pass Filter]]&lt;br /&gt;
'''Low Pass''' [[Image:rclowpass.png | RC Low Pass Filter]]&lt;br /&gt;
&lt;br /&gt;
Both circuits have the same 3dB frequency or the frequency at which the power of the signal is aproximately halved.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
f_\mathrm{c} = {1 \over 2 \pi \tau } = {1 \over 2 \pi R C}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The way to remember the two circuits is to think about how the capacitor acts at various signal frequencies.  At high frequencies capacitors act like wires.  At low frequencies capacitors act like disconnections.&lt;br /&gt;
&lt;br /&gt;
An important use of low pass filters is for the anti-aliasing circuity on the input of an A/D converter or the output of a D/A converter. An important use of a high pass filter is to remove the DC offset of a signal.  For example, it's possible to use a power supply that is +5 to GND to generate a sin from a D/A converter and use a high pass filter to change the sin to a +2.5 to -2.5 signal at the output.&lt;br /&gt;
&lt;br /&gt;
More information:&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Low-pass_filter Low Pass Filter]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/High-pass_filter High Pass Filter]&lt;br /&gt;
&lt;br /&gt;
== Light Emitting Diode ( with current limiting resistor ) ==&lt;br /&gt;
&lt;br /&gt;
Use this circuit to light low power LEDs&lt;br /&gt;
&lt;br /&gt;
A light emitting diode can be very sensitive to small voltage changes, just a bit too much voltage and the LED will draw too much current and “burn out”.  Thus it is often used with a resistor in series.  If we have a 5 volt source of voltage and an LED that is specified for 2.5 volts at 10 ma, then the resistor must have ( 5 – 2.5 ) volts = 2.5 volts and 10 ma.  Using ohms law  2.5/10 x 10 ee-3 = 250 ohms.&lt;br /&gt;
&lt;br /&gt;
A transistor low or high side switch can be used with the resistor if your input cannot supply enough current for the LED.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:ledres.jpg | LED and current limiting resistor ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*LED	the LED&lt;br /&gt;
*R_LED  the current limiting resistor&lt;br /&gt;
*INPUT	voltage source for lighting the LED&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.seattlerobotics.org/encoder/mar97/basics.html  Very Basic Circuits ] &lt;br /&gt;
*[http://www.iguanalabs.com/1stled.htm Learning About Transistors and LEDs ]&lt;br /&gt;
*[http://quantsuff.com/index.htm WELCOME TO QUANTSUFF'S CIRCUIT PAGE. Low Voltage, high-efficiency Drivers for LED Lights ]&lt;br /&gt;
&lt;br /&gt;
== Transistor -- Push Pull Circuit ==&lt;br /&gt;
&lt;br /&gt;
Use when you need current gain and need both positive and negative output.&lt;br /&gt;
&lt;br /&gt;
A modification of the “transistor emitter follower” that can give both positive and negative outputs.  Based on two transistors one npn the other pnp: one pushes the other pulls.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:pptrans.png | Push Pull Transistor Circuit]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*Q1	transistor 1 need not be a TIP41C but does need to be NPN&lt;br /&gt;
*Q2	transistor 2 need not be a TIP42C but does need to be PNP&lt;br /&gt;
*R_LOAD	represents the load, here it is in the emitter, it could also be placed in the collector circuit&lt;br /&gt;
*VPLUS_VDD Power supply voltage, positive.&lt;br /&gt;
*VMINUS Power supply voltage, negative.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
Often there are other components for transistor bias or other purposes.  The circuit here is really basic.  The common transistors used are so called complementary pairs, similar characteristics but one npn and the other pnp.  Note that we need both positive and negative power supplies. You can also put the push pull circuit inside the feedback loop of an op amp to get a high current op amplifier.  Push pull amplifies can also be made with other types of transistors, tubes, or other components.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
*[http://www.ecircuitcenter.com/Circuits/pushpull/pushpull.htm Push-Pull Output Stage]&lt;br /&gt;
*[http://www.allaboutcircuits.com/vol_6/chpt_6/10.html Class B audio amplifier]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Electronic_amplifier     Electronic amplifier From Wikipedia, the free encyclopedia (search on Class B and AB )]&lt;br /&gt;
&lt;br /&gt;
== Transistors -- Darlington connected ==&lt;br /&gt;
&lt;br /&gt;
Use a Darlington transistor connection when you want really high current gain.  Gain of 1000 is easily in reach.  That is 1 ma to 1 amp &lt;br /&gt;
This is a useful connection of 2 transistors that together form a transistor of much larger gain.  You can also buy Darlington transistors all packaged in a single case with just 3 connections exposed to the outside.&lt;br /&gt;
&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:dtrans.png | Darlington Transistor Connection  ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*Q1	transistor 1 need not be a 2N3565 but does need to be NPN&lt;br /&gt;
*Q2	transistor 2 need not be a 2N3565 but does need to be NPN&lt;br /&gt;
*R_LOAD	represents the load, here it is in the emitter, it could also be placed in the collector circuit&lt;br /&gt;
*VPLUS_VDD Power supply voltage, positive.&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
Often Q1 is a high gain small signal transistor and Q2 a lower gain power transistor.  You can use PNP transistors by using a negative power supply. Use a ULN2803 ( or similar chips ) to get 8 darlingtons in one package, useful as low side switches and in conjunction with microcontrollers.&lt;br /&gt;
&lt;br /&gt;
More information:   &lt;br /&gt;
* http://en.wikipedia.org/wiki/Darlington_transistor  Darlington transistor From Wikipedia, the free encyclopedia]&lt;br /&gt;
*[http://www.kpsec.freeuk.com/trancirc.htm  Transistor Circuits ( search on Darlington )]&lt;br /&gt;
*[http://www.ibiblio.org/kuphaldt/electricCircuits/Semi/SEMI_4.html Lessons In Electric Circuits -- Volume III Chapter 4 BIPOLAR JUNCTION  TRANSISTORS Darlington pair ( search on Darlington )]&lt;br /&gt;
&lt;br /&gt;
== Schmitt Trigger ==&lt;br /&gt;
Circuit:&lt;br /&gt;
[[Image:opamp_st.png | Schmitt Trigger ]]&lt;br /&gt;
&lt;br /&gt;
Where&lt;br /&gt;
*RIN	input resistor -- when this inputs more current than the positive feedback resistor the output switches to the voltage at the input, else it stays at the output voltage it has already reached.  Typically lower in value than RFB.&lt;br /&gt;
*RFB	positive feedback resistor the output voltage is feed back to the input and keeps the output at its current voltage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion:&lt;br /&gt;
&lt;br /&gt;
The circuit is used to switch between two states even in the presence of noise.  This is an somewhat unusual op amp circuit as it uses positive not negative feedback.  See the references for a better explanation and variations on the circuit.&lt;br /&gt;
Schmidt Triggers are also available as integrated circuits which require no external components.&lt;br /&gt;
&lt;br /&gt;
More Information:&lt;br /&gt;
*[[OpAmp Links]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== oscillators ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Flip-flop circuit.jpg]]&lt;br /&gt;
(is there a better page to discuss oscillators?)&lt;br /&gt;
&lt;br /&gt;
== Power up low active reset circuit ==&lt;br /&gt;
[[Image:power_up_low_active_reset_circuit.png]]&lt;br /&gt;
[[Image:pular.png]]&lt;br /&gt;
*[http://chungyan5.no-ip.org/open_data/electronic_computer/middleware/pwr_up_low_active_reset/  power_up_low_active_reset_circuit]&lt;br /&gt;
*[http://spreadsheets.google.com/pub?key=pobKDna9aVYeKjbR-Hf-OIg Result of Resistant to delay time]&lt;br /&gt;
&lt;br /&gt;
== further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[input protection]] circuits&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''... do we need another page for not-so-basic circuits such as the Baker clamp ? ...''&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=16606</id>
		<title>Programming the Device</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=16606"/>
		<updated>2008-10-17T03:08:32Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Loading Firmware */  del rxtx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements==&lt;br /&gt;
&lt;br /&gt;
===Hardware===&lt;br /&gt;
#PC with COM port (Windows XP Installed for MPLAB)&lt;br /&gt;
#ICD2 Programmer&lt;br /&gt;
#Target Board&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
#[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent &amp;quot;Devices cannot be founded&amp;quot; warnings.&lt;br /&gt;
#[http://chungyan5.no-ip.org/websvn/listing.php dsPicProgrammer] ('''dsPicProgrammer.jar''')&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#[http://chungyan5.no-ip.org/websvn/listing.php dsPicBootloader] ('''bl_5011.hex'''). Original assembly code by ingenia can be downloaded from [http://www.ingenia-cat.com/download/iBL.s here].&lt;br /&gt;
#Application hex file (e.g. '''app.hex''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loading Bootloader (Once only)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Loading Bootloader&lt;br /&gt;
! Step !! Remarks &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install [http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE] || &lt;br /&gt;
*Do '''NOT''' connect ICD 2 (via USB) to PC&lt;br /&gt;
*Execute '''MPLAB vX.XX Install.exe'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install USB Driver ||&lt;br /&gt;
*Follow the instruction in (C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\Ddicd2.htm)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Select Target Chip ||&lt;br /&gt;
*Run MPLAB IDE on PC&lt;br /&gt;
*Select: Configure&amp;gt;Select Devices...&lt;br /&gt;
*Choose dsPIC30F5011&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Target &amp;lt;-&amp;gt; ICD 2  ||&lt;br /&gt;
*Use six pin cable. Beware of the pin assignments. Only pin 1 - 5 should be used.&lt;br /&gt;
*Place Jumper on target board (if any). The Jumper connects target V&amp;lt;sub&amp;gt;cc&amp;lt;/sub&amp;gt; to ICD 2.&lt;br /&gt;
*Do '''NOT''' power-up the target.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Plug-in ICD 2 to PC via USB cable&lt;br /&gt;
*Power-up the target.&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;MPLAB ICD 2&lt;br /&gt;
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished&lt;br /&gt;
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests.&lt;br /&gt;
*See results of self test if necessary: Programmer&amp;gt;Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Load Bootloader ||&lt;br /&gt;
*Select: File&amp;gt;Import...&lt;br /&gt;
*Select '''bl_5011.hex'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Start Programming ||&lt;br /&gt;
*Select: Programmer&amp;gt;Program&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Finishing ||&lt;br /&gt;
*Power-down the Taget&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;None&lt;br /&gt;
*Unplug USB cable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loading Firmware==&lt;br /&gt;
*Download dsPicProgrammer &lt;br /&gt;
**Available from [http://chungyan5.no-ip.org/vc here]&lt;br /&gt;
**directly download this [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer1.5.2.zip package]&lt;br /&gt;
**Expand the latest tag under dsPicProgrammer&lt;br /&gt;
**File: dsPicProgrammer.jar&amp;lt;br&amp;gt;[[Image:1 5 dspicprogrammer.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
**Save the file (dsPicProgrammer.jar) and your hex file (foo.hex) to your local directory (e.g. C:\dsPicProgrammer\)&amp;lt;br&amp;gt;[[Image:1 6 dspicprogrammer2.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Download Firmware===&lt;br /&gt;
*Start a Command Prompt&lt;br /&gt;
**Start -&amp;gt; Run&amp;lt;br&amp;gt;[[Image:2 1 run.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
**Enter cmd&amp;lt;br&amp;gt;[[Image:2 2 cmd.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Run dsPicProgrammer&lt;br /&gt;
**Make sure your device is connected through a &amp;quot;Direct RS232 Cable&amp;quot; to PC Serial Port. &lt;br /&gt;
**Change to the directory where dsPicProgrammer.jar is located and run the command:&lt;br /&gt;
***[path/to/java/]java -Djava.library.path=[path/to/rxtxlib] -jar dsPicProgrammer.jar COM1 57600 foo.hex&lt;br /&gt;
****for example, jre\bin\java -Djava.library.path=.\rxtx\bin -jar dspicProgrammer.jar COM1 57600 foo.hex&lt;br /&gt;
***Or directly using dsPicProgrammer.bat COM1 57600 foo.hex(Windows)&lt;br /&gt;
***java -jar dsPicProgrammer.jar /dev/ttyS0 57600 foo.hex (Linux)&lt;br /&gt;
:::where COM1 is your COM Port ID&lt;br /&gt;
:::57600 is communication speed [in bps]&lt;br /&gt;
:::foo.hex is your firmware new file&lt;br /&gt;
::[[Image:2 3 command.JPG]]&lt;br /&gt;
:*When the program prompt you for an input, press y:&amp;lt;br&amp;gt;[[Image:2 4 prompt.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*If communication can be established, you should see something like this:&amp;lt;br&amp;gt;[[Image:2 5 progress.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*Wait until programming is completed.&amp;lt;br&amp;gt;[[Image:2 6 complete.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*after all completed, power OFF your device, then power ON again, enjoy your new updated.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Invalid COM Port===&lt;br /&gt;
*In case of selecting an invalid COM port, you should see the error message:&amp;lt;br&amp;gt;gnu.io.NoSuchPortException: Choosing COM Port Error&amp;lt;br&amp;gt;[[Image:3 1 com err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Missing firmware file===&lt;br /&gt;
*In case of selecting a firmware file that does not exist, you should see the error message:&amp;lt;br&amp;gt;java.io.FileNotFoundException: foo1.hex &amp;lt;The system cannot find the file specified&amp;gt;&amp;lt;br&amp;gt;[[Image:3 2 file err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Missing RXTX driver===&lt;br /&gt;
*In case of missing the RXTX driver, you should see the error message:&amp;lt;br&amp;gt;Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException&amp;lt;br&amp;gt;[[Image:3 3 rxtx err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=16605</id>
		<title>Programming the Device</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=16605"/>
		<updated>2008-10-17T02:46:28Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Software */ del how to download RXTX driver&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements==&lt;br /&gt;
&lt;br /&gt;
===Hardware===&lt;br /&gt;
#PC with COM port (Windows XP Installed for MPLAB)&lt;br /&gt;
#ICD2 Programmer&lt;br /&gt;
#Target Board&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
#[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent &amp;quot;Devices cannot be founded&amp;quot; warnings.&lt;br /&gt;
#[http://chungyan5.no-ip.org/websvn/listing.php dsPicProgrammer] ('''dsPicProgrammer.jar''')&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#[http://chungyan5.no-ip.org/websvn/listing.php dsPicBootloader] ('''bl_5011.hex'''). Original assembly code by ingenia can be downloaded from [http://www.ingenia-cat.com/download/iBL.s here].&lt;br /&gt;
#Application hex file (e.g. '''app.hex''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loading Bootloader (Once only)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Loading Bootloader&lt;br /&gt;
! Step !! Remarks &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install [http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE] || &lt;br /&gt;
*Do '''NOT''' connect ICD 2 (via USB) to PC&lt;br /&gt;
*Execute '''MPLAB vX.XX Install.exe'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install USB Driver ||&lt;br /&gt;
*Follow the instruction in (C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\Ddicd2.htm)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Select Target Chip ||&lt;br /&gt;
*Run MPLAB IDE on PC&lt;br /&gt;
*Select: Configure&amp;gt;Select Devices...&lt;br /&gt;
*Choose dsPIC30F5011&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Target &amp;lt;-&amp;gt; ICD 2  ||&lt;br /&gt;
*Use six pin cable. Beware of the pin assignments. Only pin 1 - 5 should be used.&lt;br /&gt;
*Place Jumper on target board (if any). The Jumper connects target V&amp;lt;sub&amp;gt;cc&amp;lt;/sub&amp;gt; to ICD 2.&lt;br /&gt;
*Do '''NOT''' power-up the target.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Plug-in ICD 2 to PC via USB cable&lt;br /&gt;
*Power-up the target.&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;MPLAB ICD 2&lt;br /&gt;
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished&lt;br /&gt;
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests.&lt;br /&gt;
*See results of self test if necessary: Programmer&amp;gt;Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Load Bootloader ||&lt;br /&gt;
*Select: File&amp;gt;Import...&lt;br /&gt;
*Select '''bl_5011.hex'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Start Programming ||&lt;br /&gt;
*Select: Programmer&amp;gt;Program&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Finishing ||&lt;br /&gt;
*Power-down the Taget&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;None&lt;br /&gt;
*Unplug USB cable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loading Firmware==&lt;br /&gt;
&amp;lt;!--using Firefox-File-Page_Setup-Format-Scale-85% to print --&amp;gt;&lt;br /&gt;
===Java Environment Setup (Once only)===&lt;br /&gt;
*Download and install the latest JDK or JRE&lt;br /&gt;
**Available from [http://java.sun.com/javase/downloads/index.jsp Sun Microsystems] (e.g. JDK 6 Update 3)&amp;lt;br&amp;gt;[[Image:1 1 java.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Download and Extract RXTX Driver &lt;br /&gt;
**Available from [http://users.frii.com/jarvi/rxtx/download.html RXTX] &lt;br /&gt;
**File: rxtx-2.1-7-bins-r2.zip (Final)&lt;br /&gt;
**Extract the files using software such as WinRAR&amp;lt;br&amp;gt;[[Image:1 2 rxtx.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Copy RXTXcomm.jar to&lt;br /&gt;
**For Windows users, C:\Program Files\Java\X\lib\ext (under the latest jre, e.g. X = jre1.6.0_03)&lt;br /&gt;
**For Linux users, /usr/lib/jvm/java-version/jre/lib/ext&amp;lt;br&amp;gt;[[Image:1 3 rxtxcomm.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Copy rxtxSerial.dll/librxtxSerial.so to&lt;br /&gt;
**For Windows users, C:\Program Files\Java\X\bin (under the lastest jre, e.g. X = jre1.6.0_03)&lt;br /&gt;
**For Linux users, /usr/lib/jvm/java-version/jre/lib/[machine type] (i386 for instance)&amp;lt;br&amp;gt;[[Image:1 4 rxtxserial.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Download dsPicProgrammer &lt;br /&gt;
**Available from [http://chungyan5.no-ip.org/vc here]&lt;br /&gt;
**directly download this [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer1.5.2.zip package]&lt;br /&gt;
**Expand the latest tag under dsPicProgrammer&lt;br /&gt;
**File: dsPicProgrammer.jar&amp;lt;br&amp;gt;[[Image:1 5 dspicprogrammer.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
**Save the file (dsPicProgrammer.jar) and your hex file (foo.hex) to your local directory (e.g. C:\dsPicProgrammer\)&amp;lt;br&amp;gt;[[Image:1 6 dspicprogrammer2.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Download Firmware===&lt;br /&gt;
*Start a Command Prompt&lt;br /&gt;
**Start -&amp;gt; Run&amp;lt;br&amp;gt;[[Image:2 1 run.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
**Enter cmd&amp;lt;br&amp;gt;[[Image:2 2 cmd.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Run dsPicProgrammer&lt;br /&gt;
**Make sure your device is connected through a &amp;quot;Direct RS232 Cable&amp;quot; to PC Serial Port. &lt;br /&gt;
**Change to the directory where dsPicProgrammer.jar is located and run the command:&lt;br /&gt;
***[path/to/java/]java -Djava.library.path=[path/to/rxtxlib] -jar dsPicProgrammer.jar COM1 57600 foo.hex&lt;br /&gt;
****for example, jre\bin\java -Djava.library.path=.\rxtx\bin -jar dspicProgrammer.jar COM1 57600 foo.hex&lt;br /&gt;
***Or directly using dsPicProgrammer.bat COM1 57600 foo.hex(Windows)&lt;br /&gt;
***java -jar dsPicProgrammer.jar /dev/ttyS0 57600 foo.hex (Linux)&lt;br /&gt;
:::where COM1 is your COM Port ID&lt;br /&gt;
:::57600 is communication speed [in bps]&lt;br /&gt;
:::foo.hex is your firmware new file&lt;br /&gt;
::[[Image:2 3 command.JPG]]&lt;br /&gt;
:*When the program prompt you for an input, press y:&amp;lt;br&amp;gt;[[Image:2 4 prompt.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*If communication can be established, you should see something like this:&amp;lt;br&amp;gt;[[Image:2 5 progress.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*Wait until programming is completed.&amp;lt;br&amp;gt;[[Image:2 6 complete.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*after all completed, power OFF your device, then power ON again, enjoy your new updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Invalid COM Port===&lt;br /&gt;
*In case of selecting an invalid COM port, you should see the error message:&amp;lt;br&amp;gt;gnu.io.NoSuchPortException: Choosing COM Port Error&amp;lt;br&amp;gt;[[Image:3 1 com err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Missing firmware file===&lt;br /&gt;
*In case of selecting a firmware file that does not exist, you should see the error message:&amp;lt;br&amp;gt;java.io.FileNotFoundException: foo1.hex &amp;lt;The system cannot find the file specified&amp;gt;&amp;lt;br&amp;gt;[[Image:3 2 file err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Missing RXTX driver===&lt;br /&gt;
*In case of missing the RXTX driver, you should see the error message:&amp;lt;br&amp;gt;Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException&amp;lt;br&amp;gt;[[Image:3 3 rxtx err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Sensors&amp;diff=16570</id>
		<title>Sensors</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Sensors&amp;diff=16570"/>
		<updated>2008-10-09T09:40:27Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Temperature Sensor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accelerometers, Gyroscopes, Temperature Sensors, Pressure Sensors, ...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== General ===&lt;br /&gt;
A sensor is a device that converts some physical measurement into an electrical signal.  This allows remote sensing, display of variables, and recording of values.  There are a wide variety of sensors, we touch on them only fairly briefly here.  Note that some standard components can be used to make or as sensors by themselves.  A normal signal diode, for example, has a forward voltage drop that depends on temperature.  Thus it can be used as a temperature sensor.  In &amp;quot;Further Reading&amp;quot; we have some good references for more information on sensors and interfacing to sensors.&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer ===&lt;br /&gt;
These measure ( gasp ) acceleration.  May be caused by gravity or the second derivative of position ( relative to an inertial frame ).  Since acceleration is a vector to go the whole distace you need a 3 axis sensor, but often 1 or 2 D will do.  Often the output is a voltage(s).  Feed it to a microcontroller with an a to d converter, perhaps through an operational amplifier. [[Op amp]]&lt;br /&gt;
&lt;br /&gt;
* [http://podophile.com/2006/08/02/accelerometer-101-understanding-the-nike-ipod-sport-kit-sensor/ Accelerometer 101: Understanding the Nike iPod Sport Kit Sensor]&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com/commerce/product_info.php?products_id=849 Accelerometer Breakout Board - ADXL322 +/-2g SKU#: SEN-00849 Price: $29.95] From SparkFun.  Also links to other info.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dimensionengineering.com/DE-ACCM2G.htm Buffered ±2g Accelerometer Product ID: DE-ACCM2G Price: $22.95] Also other links.&lt;br /&gt;
&lt;br /&gt;
*[[PIC Links]] Then search for Accelerometer.&lt;br /&gt;
&lt;br /&gt;
=== Gas sensor ===&lt;br /&gt;
* [[Image:4514.jpg|100px]] [[MiCS 4514]] CO and NOx sensor&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Knock Sensor === &lt;br /&gt;
* [http://www.arduino.cc/en/Tutorial/KnockSensor Knock Sensor]&lt;br /&gt;
&lt;br /&gt;
=== Magnetic Field Sensor ===&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Hall_effect_sensor Hall effect sensor]&lt;br /&gt;
&lt;br /&gt;
=== light sensor ===&lt;br /&gt;
&lt;br /&gt;
* photo diode&lt;br /&gt;
* photo transistor&lt;br /&gt;
* LED: a [[light-emitting diode]] can be wired &amp;quot;backwards&amp;quot; and used as a light sensor. See [[light-emitting diode#sensor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Rotary Encoder ===&lt;br /&gt;
A rotary encoder is a device that measure ( or encodes ) rotational motion.  The old fashioned mice with a ball used dual rotery encoders one to measure motion in the x direction one to measure motion in the y direction.  This may be done using switching technology or by using optical methods ( so some encoders may be considered optical electronics ). Even stepper motors may be used as rotary encoders.  It normally requires a microcontroller ( or speciality chip ) to decode the signals.  In addition to mice rotary encoders are used for the user control on volume controls ( finally coupled to say digital potentiaometrs ), measure the position of joints in robots, or measuring the speed and/or positon of motors ( as in some servo motors ).&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/playground/Main/RotaryEncoders  Reading Rotary Encoders]&lt;br /&gt;
* [http://www.robotroom.com/Counter.html An Electronic Counter Project for Digital and Analog Signals, including Quadrature Encoders]&lt;br /&gt;
* [http://users.tkk.fi/~jwagner/electr/rotary-enc/ Inexpensive rotary encoder]&lt;br /&gt;
&lt;br /&gt;
=== Linear Encoder ===&lt;br /&gt;
Like rotary encoders but for linear motion.  Modern digital calipers are based on this technology ( i think ).  Positioning of print heads in computers may also uses this to position the print head.&lt;br /&gt;
&lt;br /&gt;
=== Temperature Sensor  ===&lt;br /&gt;
Some are analog some are digital.  All can use microcontroller interfaces again digital or analog.  Two analog devices are LM34 and LM35, they are very easy to use because the voltage output is directly proportional to the temperature.  Dallas semiconductor makes a line of sensors based on their one wire networking, cool.  Temperature may also be sensed by thermistors ( temperature sensitive resistors ), the forward voltage on a diode ( or transistor ) or by thermocouples ( junctions of two different conductors ).  Thermocouples can work up to almost the melting temperature of the conductors.  You can also sense temperature based on the light emitted ( usually ir ) from the object.  Many of the temperature sensors can be highly non-linear in their response, programming in a microcontroller can be used to linearize the readings.&lt;br /&gt;
&lt;br /&gt;
*[http://www.instructables.com/id/Water-proofed-temperature-sensor/ Water proofed temperature sensor] from instructables.&lt;br /&gt;
*[http://spreadsheets.google.com/pub?key=pobKDna9aVYccbtu0zqXvEA&amp;amp;gid=0 thermistor test result] from mainland china - shenzhen&lt;br /&gt;
&lt;br /&gt;
=== Stress Sensor  ===&lt;br /&gt;
Also know as strain gage.  Often based on materials where the resistance varies when elongated.  Typically have very small signal output that are measured in bridge configurations.&lt;br /&gt;
&lt;br /&gt;
=== Pressure and Barometric Sensor  ===&lt;br /&gt;
Solid state units have become available for this.  We need more material here.  They can be used for weather stations, measuring altitude, or measuring pressure.&lt;br /&gt;
&lt;br /&gt;
=== Capacitive Sensor ===&lt;br /&gt;
These measure capacitance, but normally this is the means to measuring something else: for example moving your hand close to a metal plate increases its capacitance to ground.  Measuring the capacitance thus measures the the touch ( or near touch ).  Two insulated electrodes on either side of a glass tube can detect the presence of water in the tube by the change capacitance.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* [http://wsn.oversigma.com/wiki/index.php/Sensors WSN:Sensors]&lt;br /&gt;
* [http://www.arduino.cc/playground/Main/InterfacingWithHardware#Input Interfacing with Hardware] See the section on &amp;quot;Input&amp;quot; Writtern for the arduino but usefull just for the info on sensors.&lt;br /&gt;
* [http://itp.nyu.edu/physcomp/sensors/Main/HomePage Welcome to the ITP Sensor Workshop Wiki.] A whole wiki on sensors, looks good.&lt;br /&gt;
* [http://www.sensorwiki.org/index.php/Main_Page Welcome to SensorWiki.org] A wiki just about sensors.&lt;br /&gt;
* [http://newton.ex.ac.uk/teaching/CDHW/Sensors/  Introduction to Sensors] from the University of Exeter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Sensors&amp;diff=16569</id>
		<title>Sensors</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Sensors&amp;diff=16569"/>
		<updated>2008-10-09T06:33:34Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Temperature Sensor */  add thermistor test result&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Accelerometers, Gyroscopes, Temperature Sensors, Pressure Sensors, ...&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=== General ===&lt;br /&gt;
A sensor is a device that converts some physical measurement into an electrical signal.  This allows remote sensing, display of variables, and recording of values.  There are a wide variety of sensors, we touch on them only fairly briefly here.  Note that some standard components can be used to make or as sensors by themselves.  A normal signal diode, for example, has a forward voltage drop that depends on temperature.  Thus it can be used as a temperature sensor.  In &amp;quot;Further Reading&amp;quot; we have some good references for more information on sensors and interfacing to sensors.&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer ===&lt;br /&gt;
These measure ( gasp ) acceleration.  May be caused by gravity or the second derivative of position ( relative to an inertial frame ).  Since acceleration is a vector to go the whole distace you need a 3 axis sensor, but often 1 or 2 D will do.  Often the output is a voltage(s).  Feed it to a microcontroller with an a to d converter, perhaps through an operational amplifier. [[Op amp]]&lt;br /&gt;
&lt;br /&gt;
* [http://podophile.com/2006/08/02/accelerometer-101-understanding-the-nike-ipod-sport-kit-sensor/ Accelerometer 101: Understanding the Nike iPod Sport Kit Sensor]&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com/commerce/product_info.php?products_id=849 Accelerometer Breakout Board - ADXL322 +/-2g SKU#: SEN-00849 Price: $29.95] From SparkFun.  Also links to other info.&lt;br /&gt;
&lt;br /&gt;
* [http://www.dimensionengineering.com/DE-ACCM2G.htm Buffered ±2g Accelerometer Product ID: DE-ACCM2G Price: $22.95] Also other links.&lt;br /&gt;
&lt;br /&gt;
*[[PIC Links]] Then search for Accelerometer.&lt;br /&gt;
&lt;br /&gt;
=== Gas sensor ===&lt;br /&gt;
* [[Image:4514.jpg|100px]] [[MiCS 4514]] CO and NOx sensor&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Knock Sensor === &lt;br /&gt;
* [http://www.arduino.cc/en/Tutorial/KnockSensor Knock Sensor]&lt;br /&gt;
&lt;br /&gt;
=== Magnetic Field Sensor ===&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Hall_effect_sensor Hall effect sensor]&lt;br /&gt;
&lt;br /&gt;
=== light sensor ===&lt;br /&gt;
&lt;br /&gt;
* photo diode&lt;br /&gt;
* photo transistor&lt;br /&gt;
* LED: a [[light-emitting diode]] can be wired &amp;quot;backwards&amp;quot; and used as a light sensor. See [[light-emitting diode#sensor]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Rotary Encoder ===&lt;br /&gt;
A rotary encoder is a device that measure ( or encodes ) rotational motion.  The old fashioned mice with a ball used dual rotery encoders one to measure motion in the x direction one to measure motion in the y direction.  This may be done using switching technology or by using optical methods ( so some encoders may be considered optical electronics ). Even stepper motors may be used as rotary encoders.  It normally requires a microcontroller ( or speciality chip ) to decode the signals.  In addition to mice rotary encoders are used for the user control on volume controls ( finally coupled to say digital potentiaometrs ), measure the position of joints in robots, or measuring the speed and/or positon of motors ( as in some servo motors ).&lt;br /&gt;
&lt;br /&gt;
* [http://www.arduino.cc/playground/Main/RotaryEncoders  Reading Rotary Encoders]&lt;br /&gt;
* [http://www.robotroom.com/Counter.html An Electronic Counter Project for Digital and Analog Signals, including Quadrature Encoders]&lt;br /&gt;
* [http://users.tkk.fi/~jwagner/electr/rotary-enc/ Inexpensive rotary encoder]&lt;br /&gt;
&lt;br /&gt;
=== Linear Encoder ===&lt;br /&gt;
Like rotary encoders but for linear motion.  Modern digital calipers are based on this technology ( i think ).  Positioning of print heads in computers may also uses this to position the print head.&lt;br /&gt;
&lt;br /&gt;
=== Temperature Sensor  ===&lt;br /&gt;
Some are analog some are digital.  All can use microcontroller interfaces again digital or analog.  Two analog devices are LM34 and LM35, they are very easy to use because the voltage output is directly proportional to the temperature.  Dallas semiconductor makes a line of sensors based on their one wire networking, cool.  Temperature may also be sensed by thermistors ( temperature sensitive resistors ), the forward voltage on a diode ( or transistor ) or by thermocouples ( junctions of two different conductors ).  Thermocouples can work up to almost the melting temperature of the conductors.  You can also sense temperature based on the light emitted ( usually ir ) from the object.  Many of the temperature sensors can be highly non-linear in their response, programming in a microcontroller can be used to linearize the readings.&lt;br /&gt;
&lt;br /&gt;
*[http://www.instructables.com/id/Water-proofed-temperature-sensor/ Water proofed temperature sensor] from instructables.&lt;br /&gt;
*[http://spreadsheets.google.com/ccc?key=pobKDna9aVYccbtu0zqXvEA&amp;amp;hl=en thermistor test result] from mainland china - shenzhen&lt;br /&gt;
&lt;br /&gt;
=== Stress Sensor  ===&lt;br /&gt;
Also know as strain gage.  Often based on materials where the resistance varies when elongated.  Typically have very small signal output that are measured in bridge configurations.&lt;br /&gt;
&lt;br /&gt;
=== Pressure and Barometric Sensor  ===&lt;br /&gt;
Solid state units have become available for this.  We need more material here.  They can be used for weather stations, measuring altitude, or measuring pressure.&lt;br /&gt;
&lt;br /&gt;
=== Capacitive Sensor ===&lt;br /&gt;
These measure capacitance, but normally this is the means to measuring something else: for example moving your hand close to a metal plate increases its capacitance to ground.  Measuring the capacitance thus measures the the touch ( or near touch ).  Two insulated electrodes on either side of a glass tube can detect the presence of water in the tube by the change capacitance.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* [http://wsn.oversigma.com/wiki/index.php/Sensors WSN:Sensors]&lt;br /&gt;
* [http://www.arduino.cc/playground/Main/InterfacingWithHardware#Input Interfacing with Hardware] See the section on &amp;quot;Input&amp;quot; Writtern for the arduino but usefull just for the info on sensors.&lt;br /&gt;
* [http://itp.nyu.edu/physcomp/sensors/Main/HomePage Welcome to the ITP Sensor Workshop Wiki.] A whole wiki on sensors, looks good.&lt;br /&gt;
* [http://www.sensorwiki.org/index.php/Main_Page Welcome to SensorWiki.org] A wiki just about sensors.&lt;br /&gt;
* [http://newton.ex.ac.uk/teaching/CDHW/Sensors/  Introduction to Sensors] from the University of Exeter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Ethernet_Module&amp;diff=16043</id>
		<title>Ethernet Module</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Ethernet_Module&amp;diff=16043"/>
		<updated>2008-07-28T03:26:29Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* ToDo List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
*This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://opencircuits.com/DsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
*The entire Ethernet Module consists of:&lt;br /&gt;
#Hardware: a LAN card based on [http://www.davicom.com.tw/eng/index.htm Davicom] DM9000A chip&lt;br /&gt;
#Software: a TCP/IP stack based on [http://www.sics.se/~adam/uip/ uIP] 1.0 or [http://savannah.nongnu.org/projects/lwip/ lwIP]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Bug List==&lt;br /&gt;
*DHCP&lt;br /&gt;
**dhcp client fault from buffalo router&lt;br /&gt;
**occasionally cannot access webserver with dhcp&lt;br /&gt;
&lt;br /&gt;
*DHCP&lt;br /&gt;
**dhcp client fault from main router&lt;br /&gt;
**occasionally cannot access webserver with dhcp&lt;br /&gt;
**possible cause: module tries to get IP configuration when switching on and off too frequently. This causes the router to enter into an unknown state. Even using the static mode with the same IP cannot get Internet access properly. When wait for some time and switch on the module again, the router may have been &amp;quot;reset&amp;quot;, and the connection is ok again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ToDo List==&lt;br /&gt;
*32kB constant limitations&lt;br /&gt;
**see if webserver can be stored in flash in file system&lt;br /&gt;
*SNMP&lt;br /&gt;
**porting snmp to uip&lt;br /&gt;
**reference to lwip&lt;br /&gt;
*SMTP&lt;br /&gt;
**some router cannot used SMTP module&lt;br /&gt;
**the router return its own IP as DNS resolver, and it does support only parsing direct IP function&lt;br /&gt;
**desktop applications (e.g. outlook, thunderbird, webmail) do not use DNS resolver (UDP application) to connect to the mail server, but use TCP/IP to do the job&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
===Component List===&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Special Item !! Description !! Quantity&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [http://www.davicom.com.tw/big5/download/Data%20Sheet/DM9000A-DS-F01-101906.pdf DM9000AEP] || Ethernet Controller || 1&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.hanrun.com/hr/upfile/2_1_113.pdf HR911102A] || RJ45 Connector with Integrated Magnetics for 10/100 Base-TX  || 1&lt;br /&gt;
|-&lt;br /&gt;
| [http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf 93LC46B-I/SN] || 1K Serial EEPROM  || 1 (Optional)&lt;br /&gt;
|-&lt;br /&gt;
| 25MHz Crystal || Crystal || 1&lt;br /&gt;
|-&lt;br /&gt;
| 22pF || For Crystal Use || 2&lt;br /&gt;
|-&lt;br /&gt;
| 220uF || For RXVDD25/TXVDD25  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 49.9ohm || For RX+/RX-/TX+/TX- || 4&lt;br /&gt;
|-&lt;br /&gt;
| 6.8kohm || For BGRES/BGGND || 1&lt;br /&gt;
|-&lt;br /&gt;
| 510ohm || For LEDs|| 2&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Circuit and PCB===&lt;br /&gt;
in [http://chungyan5.no-ip.org/vc/?root=ethernet gEDA format]&lt;br /&gt;
and its gEDA [http://www.opencircuits.com/PCB_Footprints#gEDA_Symbols_and_footprints sym and footprints]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software Driver==&lt;br /&gt;
*Download [http://chungyan5.no-ip.org/vc/tags/1.09.05/demo_posix/dspic/drivers/dm9000a.c?root=freertos_posix&amp;amp;view=markup dm9000a.c]&lt;br /&gt;
*Download [http://chungyan5.no-ip.org/vc/tags/1.09.05/demo_posix/dspic/drivers/include/dm9000a.h?root=freertos_posix&amp;amp;view=markup dm9000a.h]&lt;br /&gt;
*Base on [http://www.freertos.org/ FreeRTOS] and [http://opencircuits.com/DsPIC30F_5011_Development_Board dsPIC33 platform]&lt;br /&gt;
*Using POSIX-like API:&lt;br /&gt;
**'''int dmfe_open(int flags)''': initialize the Ethernet controller for 10MHz Half-Duplex&lt;br /&gt;
**'''int dmfe_close()''': turn off the PHY layer&lt;br /&gt;
**'''int dmfe_read(void)''': copy a packet to the default buffer&lt;br /&gt;
**'''int dmfe_write(unsigned char device, unsigned char *buf, int count)''': copy count bytes of the data from buf and transmit&lt;br /&gt;
**'''void dmfe_interrupt(void)''': process the transmit interrupt from DM9000A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP/IP Stack==&lt;br /&gt;
*uIP and lwIP are light weight TCP/IP Stack designed for 8-bit/16-bit embedded systems.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===uIP===&lt;br /&gt;
*Develped by Adam Dunkels of the Networked Embedded Systems group at the Swedish Institute of Computer Science.&lt;br /&gt;
*uIP is under the [http://www.sics.se/~adam/uip/index.php/License BSD-style license]&lt;br /&gt;
====CVS Repository====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Attribute !! Value&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Host || uip-stack.cvs.sourceforge.net&lt;br /&gt;
|-&lt;br /&gt;
| Repository Path || /cvsroot/uip-stack&lt;br /&gt;
|-&lt;br /&gt;
| Connection Type || pserver&lt;br /&gt;
|-&lt;br /&gt;
| User || anonymous&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
*Changes made to CVS Repository (tag: HEAD v1.1)&lt;br /&gt;
**'''uip.c'''&lt;br /&gt;
***Comment out all DEBUG_PRINTF(...) in lines 1, 323, 910, 1015, 1070, 1863, 1868, 1869&lt;br /&gt;
**'''uip.h'''&lt;br /&gt;
***Change line 1070 to&amp;lt;br&amp;gt;#      define HTONS(n) (u16_t)(((((u16_t) (n)) &amp;lt;&amp;lt; 8)&amp;amp;0xff00) | ((((u16_t) (n)) &amp;gt;&amp;gt; 8)&amp;amp;0x00ff))&lt;br /&gt;
**'''psock.c'''&lt;br /&gt;
***Change line 188 to&amp;lt;br&amp;gt;s-&amp;gt;sendptr = (u8_t*) buf;&lt;br /&gt;
***Change lines 276, 303 to&amp;lt;br&amp;gt;buf_setup(&amp;amp;psock-&amp;gt;buf, (u8_t*)(psock-&amp;gt;bufptr), psock-&amp;gt;bufsize);&lt;br /&gt;
***Change line 334 to&amp;lt;br&amp;gt;buf_setup(&amp;amp;psock-&amp;gt;buf, (u8_t*)buffer, buffersize);&lt;br /&gt;
&lt;br /&gt;
====Porting====&lt;br /&gt;
*Include the following files to use the uIP stack&lt;br /&gt;
**timer.c&lt;br /&gt;
**uip.c&lt;br /&gt;
**uip_arp.c&lt;br /&gt;
**psock.c&lt;br /&gt;
*The following files have been created to port uIP 1.0 to dsPic33F development board using FreeRTOS&lt;br /&gt;
*[http://chungyan5.no-ip.org/vc/tags/1.09.05/demo_posix/dspic/drivers/clock-arch.c?root=freertos_posix&amp;amp;view=markup clock-arch.c]: return the os tick counts since the system is turned on.&lt;br /&gt;
*[http://chungyan5.no-ip.org/vc/tags/1.09.05/demo_posix/dspic/drivers/include/clock-arch.h?root=freertos_posix&amp;amp;view=markup clock-arch.h]: a constant specifying the number of os ticks in one second.&lt;br /&gt;
*[http://chungyan5.no-ip.org/vc/tags/1.09.05/demo_posix/dspic/dspic33/rackmount/04_uip/include/uip-conf.h?root=freertos_posix&amp;amp;view=markup uip-config.h]: configuration for your application.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===lwIP===&lt;br /&gt;
*lwIP is a small independent implementation of uIP.&lt;br /&gt;
*It is more powerful than uIP but requires more memory.&lt;br /&gt;
*lwIP is under the [http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5 Modified BSD License]&lt;br /&gt;
====CVS Repository====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
! Attribute !! Value&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Host || cvs.savannah.nongnu.org&lt;br /&gt;
|-&lt;br /&gt;
| Repository Path || /sources/lwip&lt;br /&gt;
|-&lt;br /&gt;
| Connection Type || pserver&lt;br /&gt;
|-&lt;br /&gt;
| User || anonymous&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
====Porting====&lt;br /&gt;
*To be added&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==uIP Ethernet Application==&lt;br /&gt;
&lt;br /&gt;
===DHCP Client===&lt;br /&gt;
*Enable UDP in &amp;quot;uip-config.h&amp;quot;&lt;br /&gt;
      #define UIP_CONF_UDP             1&lt;br /&gt;
*Make sure your uip buffer size is large enough (DHCP messages from some servers can be more than 500 bytes). In my setting, I use 1536 in &amp;quot;uip-config.h&amp;quot;&lt;br /&gt;
      #define UIP_CONF_BUFFER_SIZE     1536&lt;br /&gt;
*Include the dhcpc.h header file in &amp;quot;uip-config.h&amp;quot;&lt;br /&gt;
      #include &amp;quot;dhcpc.h&amp;quot;&lt;br /&gt;
*Change PT_WAIT_UNTIL(...) to PT_YIELD_UNTIL(...) in line 259 and 276 in &amp;quot;dhcpc.c&amp;quot; [This is a known bug in dhcpc.c]&lt;br /&gt;
*In your main loop, initialize your MAC address and DHCP if UIP_FIXEDADDR is 0 in &amp;quot;uip-opt.h&amp;quot;, for example:&lt;br /&gt;
   int main(void)&lt;br /&gt;
   {&lt;br /&gt;
      uip_ipaddr_t ipaddr;&lt;br /&gt;
      struct timer periodic_timer, arp_timer;&lt;br /&gt;
      struct uip_eth_addr mac = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06};&lt;br /&gt;
      &lt;br /&gt;
      timer_set(&amp;amp;periodic_timer, CLOCK_SECOND / 2);&lt;br /&gt;
      timer_set(&amp;amp;arp_timer, CLOCK_SECOND * 10);&lt;br /&gt;
      &lt;br /&gt;
      tapdev_init();&lt;br /&gt;
      uip_init();&lt;br /&gt;
      &lt;br /&gt;
      uip_setethaddr(mac);&lt;br /&gt;
      dhcpc_init(&amp;amp;mac, 6);&lt;br /&gt;
      &lt;br /&gt;
      while(1){&lt;br /&gt;
        //normal codes goes here&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
*Implement dhcpc_configured(). This function will be called after DHCP client has obtained an IP address. Basically, you have to at least set your IP address, subnet mask and default gateway, for example,&lt;br /&gt;
   void dhcpc_configured(const struct dhcpc_state *s)&lt;br /&gt;
   {&lt;br /&gt;
     uip_sethostaddr(s-&amp;gt;ipaddr);&lt;br /&gt;
     uip_setnetmask(s-&amp;gt;netmask);&lt;br /&gt;
     uip_setdraddr(s-&amp;gt;default_router);&lt;br /&gt;
     &lt;br /&gt;
     //you can print your ip addr to your console/lcd to see if you get a valid ip address&lt;br /&gt;
   }&lt;br /&gt;
*An example of using DHCP Client in the dsPic33F development board can be found [http://chungyan5.no-ip.org/vc/tags/1.09.05/demo_posix/common/app_http.c?root=freertos_posix&amp;amp;view=markup here].&lt;br /&gt;
&lt;br /&gt;
===Web Server===&lt;br /&gt;
*Include the &amp;quot;webserver.h&amp;quot; header file in &amp;quot;uip-config.h&amp;quot;&lt;br /&gt;
      #include &amp;quot;webserver.h&amp;quot;&lt;br /&gt;
*Modify httpd-fs.h&lt;br /&gt;
**HTTPD_FS_STATISTICS set to 0&lt;br /&gt;
*Create a website using HTML tags with/without Javascript&lt;br /&gt;
*Modify httpd-fs.c&lt;br /&gt;
**changed #include &amp;quot;httpd-fsdata.c&amp;quot; to #include &amp;lt;httpd-fsdata.c&amp;gt; &lt;br /&gt;
*Generate httpd-fsdata.c for your website by executing '''perl makefsdata''' under your web root directory.&lt;br /&gt;
====add-on====&lt;br /&gt;
*The Web Server included in uIP 1.0 has been designed to load/reload the entire page (either html/shtml files) in response to a HTTP GET command, e.g.&lt;br /&gt;
   GET /index.html HTTP/1.1&lt;br /&gt;
   GET /abc.shtml HTTP/1.1&lt;br /&gt;
*As a result, if the webpage is required to refresh the dynamic data periodically, the surfing experience will be degraded by the large transfer of datastream.&lt;br /&gt;
*In consideration of the above issue, a solution is proposed here, so that the webserver can handle this kind of cgi HTTP-request&lt;br /&gt;
   GET /abc.shtml?val=500.0&amp;amp;button=Set HTTP/1.1&lt;br /&gt;
*Modify httpd.c&lt;br /&gt;
**added #include &amp;quot;httpd-hget.h&amp;quot; in line 63&lt;br /&gt;
**added httpd_hget(s-&amp;gt;filename) in line 224&lt;br /&gt;
*Create httpd-hget.h&lt;br /&gt;
**added to generate dynamic pages, e.g. /abc.shtml?button=Refresh&lt;br /&gt;
   #ifndef __HTTPD_HGET_H__&lt;br /&gt;
   #define __HTTPD_HGET_H__&lt;br /&gt;
      extern void httpd_hget(char *name);&lt;br /&gt;
   #endif&lt;br /&gt;
*Create httpd-hget.c&lt;br /&gt;
**an example is shown [http://chungyan5.no-ip.org/vc/tags/1.09.05/demo_posix/dspic/dspic33/rackmount/04_uip/uip/httpd-hget.c?root=freertos_posix&amp;amp;view=markup here]&lt;br /&gt;
&lt;br /&gt;
==SNMP Agent==&lt;br /&gt;
*Simple Network Management Protocol (SNMP) is a standard protocol to access variables to remote device via the Internet.&lt;br /&gt;
*It belongs to the Application Layer, as in HTTP.&lt;br /&gt;
*If a device is SNMP compatible, any SNMP compatible host system can monitor and control that device.&lt;br /&gt;
&lt;br /&gt;
===Components in a SNMP System===&lt;br /&gt;
*Network Management Station (NMS)&lt;br /&gt;
**This is a client, initiating SNMP communication.&lt;br /&gt;
**This can be a PC with an NMS software (e.g. [http://nino.sourceforge.net/nino/index.html NINO]), polling data from the SNMP agents periodically.&lt;br /&gt;
*SNMP Agents&lt;br /&gt;
**These are servers, responding to one or multiple NMS requests.&lt;br /&gt;
*Management Information Base (MIB)&lt;br /&gt;
**A special collection of variables managed by the SNMP agents.&lt;br /&gt;
**MIB has a tree-like structure.&lt;br /&gt;
**An Object Identifier (OID) is given for each node.&lt;br /&gt;
**Data are stored at the end-nodes.&lt;br /&gt;
**Private variables may be constructed under the &amp;quot;enterprise&amp;quot; sub-tree.&lt;br /&gt;
**The OID for &amp;quot;enterprise&amp;quot; can be obtained from [http://www.iana.org/cgi-bin/enterprise.pl Internet Assigned Number Authority (IANA)].&lt;br /&gt;
&lt;br /&gt;
===Abstract Syntax Notation===&lt;br /&gt;
*Each MIB variable contains several attributes, such as data type, access type and object identifier.&lt;br /&gt;
*Abstract Syntax Notation version 1 (ASN.1) is a language to define these attributes in SNMP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
+------------------------------------+&lt;br /&gt;
|            application             |&lt;br /&gt;
|                                    |&lt;br /&gt;
+--------+--------+---------+--------+&lt;br /&gt;
|  web   |  dhcp  |  snmp   | ...    |&lt;br /&gt;
| Server |        |         |        |&lt;br /&gt;
|        |        |         |        |&lt;br /&gt;
|--------+--------+---------+--------+&lt;br /&gt;
|   ethernet      | uip              |&lt;br /&gt;
|   control       |                  |&lt;br /&gt;
+-----------------+------------------+&lt;br /&gt;
|               driver               |&lt;br /&gt;
+------------------------------------+&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reference==&lt;br /&gt;
===DM9000A===&lt;br /&gt;
*[http://www.davicom.com.tw/eng/products/dm9000a.htm DM9000A Description]&lt;br /&gt;
*[http://www.davicom.com.tw/big5/download/Data%20Sheet/DM9000A-DS-F01-101906.pdf DM9000A Datasheet]&lt;br /&gt;
*[http://www.davicom.com.tw/big5/download/AC/dm9000a/DM9000A%20circuit_EMI_052306.pdf Application Circuit]&lt;br /&gt;
*[http://www.davicom.com.tw/big5/download/LayoutGuide/DM9000A_9010-LG-V11_031706.pdf Layout Guidelines]&lt;br /&gt;
*[http://www.davicom.com.tw/big5/download/ApplicationNote/DM9000A%20Application%20Notes%20Ver%201_20_101906.pdf Application Note]&lt;br /&gt;
*[http://www.davicom.com.tw/eng/download/Driver/driver_9000.htm DM9000A Official Drivers]&lt;br /&gt;
===dsPic33F Development Board===&lt;br /&gt;
*[http://opencircuits.com/DsPIC30F_5011_Development_Board dsPic33F Development Board]&lt;br /&gt;
===uIP===&lt;br /&gt;
*[http://www.sics.se/~adam/uip/index.php/Main_Page uIP Description]&lt;br /&gt;
*[http://www.sics.se/~adam/uip/index.php/Documentation uIP Documentation]&lt;br /&gt;
*[http://www.sics.se/~adam/uip/index.php/Download Download]&lt;br /&gt;
*[http://sourceforge.net/cvs/?group_id=186227 CVS Repository]&lt;br /&gt;
===lwIP===&lt;br /&gt;
*[http://savannah.nongnu.org/projects/lwip/ lwIP Description]&lt;br /&gt;
*[http://www.nongnu.org/lwip/ Documentation]&lt;br /&gt;
===HTML===&lt;br /&gt;
*[http://www.w3schools.com/default.asp W3 Schools]: Learning how to write HTML and JavaScript&lt;br /&gt;
*[http://www.nvu.com/index.php Nvu]: Open source HTML Editor&lt;br /&gt;
===SNMP===&lt;br /&gt;
*[http://www.snmplink.org SNMP Link]: Information on SNMP Agents&lt;br /&gt;
*[http://pen.iana.org/pen/PenApplication.page IANA]: Applying a Private Enterprise Number&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Modulation_Plugin&amp;diff=15722</id>
		<title>Modulation Plugin</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Modulation_Plugin&amp;diff=15722"/>
		<updated>2008-06-26T07:35:09Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* Components Inside Circuit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ToDos==&lt;br /&gt;
*make sure each components freq. response, to make sure the highest freq. &lt;br /&gt;
*place DAC into this module board together, then only 4 wires(Vcc, I2C clk, Gnd &amp;amp; I2C data) fr. host. &lt;br /&gt;
*understand all components&lt;br /&gt;
*call sample&lt;br /&gt;
*draw circuit and PCB and grounding problem&lt;br /&gt;
*test by real circuit and firmware&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Objectives==&lt;br /&gt;
*The modulation module is used to deliver a digital output signal with the following characteristics:&lt;br /&gt;
**Square wave&lt;br /&gt;
**Variable frequency (&amp;gt;1kHz)&lt;br /&gt;
**Variable amplitude (0V - 2.5V)&lt;br /&gt;
*interface to MCU which do the control&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software Solution==&lt;br /&gt;
*Timer Interrupt controlling I2C 10-bit DAC can only achieve frequency response of about 1kHz&lt;br /&gt;
**5byte/cmd&lt;br /&gt;
**8bit/byte&lt;br /&gt;
**baudrate = 400kHz&lt;br /&gt;
**This yields 10kHz (0.1ms)&lt;br /&gt;
**As OS context switch is 10ms, set timer to 1ms (1kHz), so that 0.9ms can be used to process other tasks&lt;br /&gt;
*Due to higher freq. response requirement, so using hardware to implement the clock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware Solution==&lt;br /&gt;
&lt;br /&gt;
===Circuit===&lt;br /&gt;
&lt;br /&gt;
                     +-----+            +--------+         +--------+&lt;br /&gt;
       I2C Bus       |     |            | Analog |         | Op-Amp |&lt;br /&gt;
   ------------+-----| DAC |------------| Switch |---------|        |---------Output&lt;br /&gt;
               |     |     |            +--------+         +--------+&lt;br /&gt;
               |     +-----+                |&lt;br /&gt;
               |                            |&lt;br /&gt;
               |     +--------------+       |&lt;br /&gt;
               |     | Programmable |       |&lt;br /&gt;
               +-----| Clock        |-------+&lt;br /&gt;
                     +--------------+&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
===Circuit Simulation by [http://www.falstad.com/circuit/ Paul Falstad's Web]===&lt;br /&gt;
*Import the following&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ 1 5.0E-6 16.817414165184545 64 5.0 50&lt;br /&gt;
w 128 256 144 256 0&lt;br /&gt;
w 16 256 64 256 0&lt;br /&gt;
g 16 352 16 368 0&lt;br /&gt;
v 64 64 112 64 0 0 40.0 2.5 0.0 0.0 0.5&lt;br /&gt;
w 112 128 144 128 0&lt;br /&gt;
w 64 128 16 128 0&lt;br /&gt;
w 16 128 16 256 0&lt;br /&gt;
v 64 256 128 256 0 2 1000.0 1.65 1.65 0.0 0.5&lt;br /&gt;
a 336 144 464 144 1 3.3 0.0&lt;br /&gt;
w 336 160 336 192 0&lt;br /&gt;
w 464 192 464 144 0&lt;br /&gt;
w 464 144 512 144 0&lt;br /&gt;
r 592 144 592 256 0 1000.0&lt;br /&gt;
g 592 352 592 368 0&lt;br /&gt;
w 512 144 592 144 0&lt;br /&gt;
w 336 192 352 192 0&lt;br /&gt;
w 432 192 464 192 0&lt;br /&gt;
v 64 128 112 128 0 1 1.0 1.25 1.25 0.0 0.5&lt;br /&gt;
w 16 256 16 288 0&lt;br /&gt;
w 16 288 16 352 0&lt;br /&gt;
w 592 256 592 352 0&lt;br /&gt;
g 272 352 272 368 0&lt;br /&gt;
w 272 128 336 128 0&lt;br /&gt;
w 176 256 176 144 0&lt;br /&gt;
r 272 224 272 288 0 1000.0&lt;br /&gt;
w 272 128 272 224 0&lt;br /&gt;
w 272 288 272 352 0&lt;br /&gt;
159 144 128 208 128 0&lt;br /&gt;
r 208 128 256 128 0 1000.0&lt;br /&gt;
w 256 128 272 128 0&lt;br /&gt;
w 144 256 176 256 0&lt;br /&gt;
r 336 224 336 288 0 1000.0&lt;br /&gt;
g 336 352 336 368 0&lt;br /&gt;
w 336 288 336 352 0&lt;br /&gt;
w 336 192 336 224 0&lt;br /&gt;
r 352 192 432 192 0 1000.0&lt;br /&gt;
o 4 64 0 34 2.5 7.8125E-4 0 -1&lt;br /&gt;
o 0 64 0 35 5.0 9.765625E-5 1 -1&lt;br /&gt;
o 11 64 0 34 2.5 0.0015625 2 -1&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Components Inside Circuit==&lt;br /&gt;
&lt;br /&gt;
===DAC chip===&lt;br /&gt;
*datasheet -- http://focus.ti.com/lit/ds/symlink/dac6574.pdf&lt;br /&gt;
&lt;br /&gt;
===clk chip===&lt;br /&gt;
*datasheet -- http://focus.ti.com/docs/prod/folders/print/cdc706.html&lt;br /&gt;
*call sample first, later to buy at -- http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-21381-5-ND&lt;br /&gt;
&lt;br /&gt;
===analog switch===&lt;br /&gt;
*http://focus.ti.com/docs/prod/folders/print/ts5a1066.html&lt;br /&gt;
*call sample&lt;br /&gt;
&lt;br /&gt;
===op-amp buffer===&lt;br /&gt;
*OPA340&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Projects&amp;diff=15721</id>
		<title>Projects</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Projects&amp;diff=15721"/>
		<updated>2008-06-26T07:27:05Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* dsPIC30F/dsPIC33F Development Board */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Open Circuits ===&lt;br /&gt;
&lt;br /&gt;
These should be projects or links to projects that are open, at a minimum in the sense that there is enough information so that others can reproduce the project.  Lets stay away from sites that are just show cases without the details.&lt;br /&gt;
&lt;br /&gt;
=== µWatch ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.calcwatch.com/ µWatch]: World's First D-I-Y Scientific Calculator Watch&lt;br /&gt;
&lt;br /&gt;
=== Open Source Circuits Magazine ===&lt;br /&gt;
[http://www.anykits.com/ Anykits magazine]&lt;br /&gt;
- Anykits publishes an open source magazine with quite a few, application oriented circuits. It contains schematics, parts list and PCB illustrations.&lt;br /&gt;
The best part is that its formated for print and available as regular PDF.&lt;br /&gt;
&lt;br /&gt;
=== Open OBDII ===&lt;br /&gt;
[http://www.sterntech.com/obdii.php Link to source and schematics]&lt;br /&gt;
Open source hardware and software implementing OBDII tester for cars. &lt;br /&gt;
Two versions one using a PIC microcontroller and one using an AVR microcontroller.&lt;br /&gt;
&lt;br /&gt;
=== [[vehicle]]s: manned and unmanned ===&lt;br /&gt;
Lots of [[vehicle | vehicle-related projects]] -- for motorcycles, automobiles, and unmanned aerial vehicles (UAVs).&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F84A - single relay ===&lt;br /&gt;
* [http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=10] controll one relay over phone-line. Uses PIC16F84A and MT8870.&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F876A - 6 relays! ===&lt;br /&gt;
* [http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=11] controll up to 6 relays over phone-line. Uses PIC16F876A and MT8870.&lt;br /&gt;
&lt;br /&gt;
===Homemade MIDI turntable===&lt;br /&gt;
Cheap and simple homemade MIDI turntable with GPL2 license. Using a ATmega, a HDNS-2000 optical mouse encoder, GCC-AVR, AVR-Libc and FreeRTOS. [http://casainho.net/tiki-index.php?page=Homemade+midi+turntable Homepage of Homemade MIDI turntable].&lt;br /&gt;
&lt;br /&gt;
=== Motherboards that Run Linux ===&lt;br /&gt;
&lt;br /&gt;
==== [[ARMUS Embedded Linux Board]] ====&lt;br /&gt;
An ARM920T board running Linux at 200 Mips with sound, Ethernet, CAN, 48+ bidirectionnal IOs and 4 DSPs for motor control (DC, Servos, etc...). Built as a student proof robotics design platform.&lt;br /&gt;
&lt;br /&gt;
==== [http://balloonboard.org Balloon Xscale ARM+FPGA dev board] ====&lt;br /&gt;
The Balloon project has produced Balloon3, a high-performance ARM board designed for use by OEMs and Higher education. Spec is PXA270 (583Mhz), FPGA or CPLD, 1GB flash, 784MB RAM, USB (master, slave, OTG), CF slot, expansion bus, 16-bit bus, I2C, LCD, serial, audio. Very low power in CPLD confiuguration. Small, light. Various add-on boards: VGA LCD driver, robot motor driver+A/D, digital IO. Released under the Balloon Open Hardware license, which allows anyone to manufacture and for people to make derivatives. The expansion bus allows balloon to be used as the computing component for various special-purpose devices.&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp]] ====&lt;br /&gt;
The linuxstamp is an open source processor module. It is designed to be a very simple board capable of running linux. It is based on the Atmel AT91RM9200 processor (An ARM9 processor with a MMU).&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp Mboard 1]] ====&lt;br /&gt;
This is the first mother board for the linuxstamp. It is still in the planning stages (no pcbs).&lt;br /&gt;
&lt;br /&gt;
==== [http://www.linuxdevices.com/links/LK9764937601.html LART -- an open license StrongARM based tiny SBC] ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;All CAD files required for building LART are available under the closest we could get to an Open/Free Hardware License.&amp;quot;&lt;br /&gt;
(Has this information [http://www-it.et.tudelft.nl/~inald/html/research.htm#MMC gone offline?])&lt;br /&gt;
&lt;br /&gt;
==== Other Boards that Run Linux ====&lt;br /&gt;
&lt;br /&gt;
* Is it possible to [http://groups.google.com/group/comp.arch.embedded/browse_thread/thread/be085ff0772cde21/8331dee5db8eb083#8331dee5db8eb083  Linux on a &amp;quot;soft CPU&amp;quot;] inside a FPGA?&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxhosts.org/article.cfm/id/158855 The ARM9 AT91SAM9261 is capable of running Linux].&lt;br /&gt;
* [http://www.linuxdevices.com/articles/AT8498487406.html &amp;quot;teeny weeny Linux  single board computers&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Chip EEG]] ===&lt;br /&gt;
The Programmable Chip EEG is a Multi-channel electroencephalograph that could be a brain-computer interface.&lt;br /&gt;
See the [http://openeeg.sourceforge.net/doc/ OpenEEG Project]&lt;br /&gt;
&lt;br /&gt;
=== [[Open Mobile Gadgets]] -- open source, open hardware, mobile phone ===&lt;br /&gt;
An open source, open hardware mobile phone in its preliminary development.&lt;br /&gt;
&lt;br /&gt;
=== [[Music Player]]s including MP3 players ===&lt;br /&gt;
&lt;br /&gt;
* [[TRAXMOD]] Open source MOD music player for dsPIC/ARM microcontrollers.&lt;br /&gt;
&lt;br /&gt;
* [[Music Player]] Mostly off site.&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes 3.3V TTL serial and outputs to a super-common RS232 connection. Insto-NMEA!&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes all the power it needs from the serial port. Use it to power your microcontroller and communicate between serial port and microcontroller.  Takes advantage of the fact that pc serial ports will accept 0-5V rather than the RS232 standard of around negative 10V to  positive 10V.  Very convenient - no external power required!  Note that you may use either a 5.1V Zener or a 5V regulator.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 RS485 USB Converter Board]] ===&lt;br /&gt;
Aim to build a general Converter between different Interfaces.&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS USB Dev Board]] ===&lt;br /&gt;
A great example project using the CP2102 USB to TTL UART IC as well as some basic battery holder info.&lt;br /&gt;
&lt;br /&gt;
=== [[Chalk Roach|Number Six]] ===&lt;br /&gt;
&amp;quot;#6&amp;quot; (the son of Chalk Roach)&lt;br /&gt;
is a ultra simple microcontroller development board for Atmel ATmega32 = 16MHz, 2KB SRAM, 16KB Flash&lt;br /&gt;
&lt;br /&gt;
=== LED and POV displays ===&lt;br /&gt;
&lt;br /&gt;
Led displays range from a battery and an LED which light up ( cool!, add a magnet and you have an led throwie ) to microcontroller led projects, either Smart Led ( Led with a microcontroller so that it blinks, reacts to the environment, or shifts color ) or Led Arrays ( or led matrix ) that do simple graphics and or play games, or POV devices where what you see depends upon you persistance of vision ( which can include some led arrays ).  You can probably dig up more using these terms in google.&lt;br /&gt;
&lt;br /&gt;
==== Our Own Projects ====&lt;br /&gt;
&lt;br /&gt;
* [[24&amp;quot; Wall Clock]] A really big wall clock. Why? Well, cause it might look cool? Probably not. But we do use GPS to get the time! Groovy.&lt;br /&gt;
* [[POV display]] that spins around, giving the illusion of a large display. ([[User:DavidCary|DavidCary]])&lt;br /&gt;
* [[PointLess LED Array]] A 8 by 8 array displays something using POV ([[russ_hensel]])&lt;br /&gt;
* [[PIC Links]] and search on POV and/or LED&lt;br /&gt;
&lt;br /&gt;
==== Off Site ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/03/luscious_electric_delight.html &amp;quot;luscious electric delight&amp;quot;]: source and schematics for a large graphical LED panel. Uses 12 MAX6953 LED drivers; each MAX6953 drives four 5x7 led matrices. The PC generates arbitrary bitmap, sends it out the serial port to a PIC, which translates it to I2C bus connected to all the MAX6953 LED drivers, which update the image at a continuous frame rate of 30fps.&lt;br /&gt;
* [https://oldwiki.blinkenarea.org/bin/view/Blinkenarea/BlinkenProjects BlinkenProjects]: projects with lots of LEDs[http://www.kiu.weite-welt.com/de.schoar.blog/?p=206], including a 3D LED array. Wiki: http://wiki.blinkenarea.org/&lt;br /&gt;
* [http://www.ianpaterson.org/projects/spokepov20050704/index.htm  Ian’s Spoke POV] Review it.&lt;br /&gt;
* [http://www.electric-clothing.com/superpov.html Project: Super POV] Review it.&lt;br /&gt;
* [http://www.ladyada.net/make/spokepov/index.html SpokePOV Persistence of Vision for your Bike] Very nice, kit available.&lt;br /&gt;
* [http://www.attiny.com/dotmatrix.htm On this page you will find a scrolling LED sign based on the ATtiny2313 AVR microcontroller] Row Column approach with a shift register]&lt;br /&gt;
* [http://blog.makezine.com/archive/2007/02/flashing_led_br.html Flashing LED Bra]&lt;br /&gt;
* [http://www.evilmadscientist.com/article.php/peggy &amp;quot;Peggy,&amp;quot; A Light Emitting Pegboard Display]&lt;br /&gt;
* Christmass trees are now led based so: [http://computerchristmas.com/ The #1 Site for Controlling Christmas Lights with a Computer]&lt;br /&gt;
* [http://members.misty.com/don//ledx.html Don Klipstein's LED Main Page]  Lots of good info.&lt;br /&gt;
* [http://www.instructables.com/id/Synchronizing-Fireflies/ Synchronizing Fireflies] ATtiny super smart swarm of LEDs.&lt;br /&gt;
* [http://www.u-disp.com/ U-Disp - An Open Sourced USB display]&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY - A Scrolling Display with RF connection to a PC ] ==&lt;br /&gt;
&lt;br /&gt;
POV scrolling display with an RF connection to a mini-itx computer and weatherstation.  Project is built out of 384 discrete red LEDs.  Display shows time and date, sunrise/sunset time and outdoor/indoor weather.  &lt;br /&gt;
&lt;br /&gt;
Schematics, Board Layouts, and MPLAB C18 firmware source code is provided.&lt;br /&gt;
&lt;br /&gt;
=== [[Cellular Rotary Phone]] ===&lt;br /&gt;
An indepth breakdown of the Port-O-Rotary. Some clues to help you avoid audio problems with the GM862.&lt;br /&gt;
&lt;br /&gt;
=== [[Das Brewmeister!]] and [[Fermenter Controller]] ===&lt;br /&gt;
* [[Das Brewmeister!]] : An attempt to wirelessly monitor temperatures of fermentation vessels&lt;br /&gt;
* [[Fermenter Controller]] : A web available fermenter vessel controller. Uses PICs, [[I2C]], Rs232 and python.&lt;br /&gt;
&lt;br /&gt;
=== [[Home controller]] ===&lt;br /&gt;
Program your appliances to operate automatically in conjunction with your weekly and daily schedule, manually turn them on/off from your PC or use the controller as a process ON/OFF controller to regulate some kind of physical variable to the desired value.&lt;br /&gt;
&lt;br /&gt;
=== [[Interactive Lock Box]] ===&lt;br /&gt;
An interesting project using an accelerometer and capacitive touch ICs.&lt;br /&gt;
&lt;br /&gt;
=== [[Motor driver]] (H-bridge) ===&lt;br /&gt;
&lt;br /&gt;
=== [[atomic microscope]] ===&lt;br /&gt;
An atomic-resolution microscope.&lt;br /&gt;
* STM (scanning tunnelling microscope)&lt;br /&gt;
* AFM (atomic force microscope)&lt;br /&gt;
&lt;br /&gt;
=== [[BlueICE]] ===&lt;br /&gt;
A bluetooth JTAG ICE debugger for AVR's!!!&lt;br /&gt;
&lt;br /&gt;
=== Sort-of-Networked [[RFID Reader]] ===&lt;br /&gt;
A 125Khz RFID Reader with a simple ring network - to allow connection of multiple units to the same control computer.&lt;br /&gt;
&lt;br /&gt;
=== Battery charger ===&lt;br /&gt;
&lt;br /&gt;
See [http://elecdesign.com/Article/ArticleID/1823/1823.html &amp;quot;Build A Smart Battery Charger Using A Single-Transistor Circuit&amp;quot;] by Ejaz ur Rehman.&lt;br /&gt;
But be sure to read the &amp;quot;Reader Comments&amp;quot; at the end.&lt;br /&gt;
The suggestion to add a zener diode is a good idea.&lt;br /&gt;
&lt;br /&gt;
=== the Open Graphics Project ===&lt;br /&gt;
&lt;br /&gt;
[http://linux.wordpress.com/2006/07/19/introducing-the-open-graphics-project/ the Open Graphics Project]&lt;br /&gt;
a project started by chip-designer Timothy Miller.&lt;br /&gt;
His goal, along with the rest of the project, known as the “Open Graphics Foundation” is to make a 3D accelerated video card which is fully documented, free-licensed, and open source.&lt;br /&gt;
See [http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics the Open Graphics wiki].&lt;br /&gt;
&lt;br /&gt;
=== [[Amiga floppy project]] ===&lt;br /&gt;
&lt;br /&gt;
The Amiga floppy project:&lt;br /&gt;
designing, building, and programming an adapter to allow PCs to read from Amiga floppies.&lt;br /&gt;
&amp;quot;This is really designed to be a community project(hence the blog with progress reports).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This project is the building of an external USB amiga floppy drive controller.  It sits between the USB port on a Windows PC, and a regular PC floppy drive.  It will allow the PC to create .ADF images from an amiga floppy disk.  This device is based on a Parallax SX28 microcontroller, uses Ramtron FRAM memory for temporary track storage, and uses another Parallax component for the USB interface.&lt;br /&gt;
&lt;br /&gt;
See http://www.techtravels.org/amiga/amigablog for the latest in the blow by blow attempts to get this thing off the ground!!&lt;br /&gt;
&lt;br /&gt;
=== Irsensor-a ===&lt;br /&gt;
&lt;br /&gt;
Infrared Proximity Sensor Alfa&lt;br /&gt;
[http://www.kedo.com.mx/modules/content/index.php?id=3 Infrared Proximity Sensor Alfa in www.kedo.com.mx]&lt;br /&gt;
&lt;br /&gt;
The Infrared Proximity Sensor Alfa is a sensor to detect objects that can reflect infrared light.  It has the following characteristics.&lt;br /&gt;
* Designed to detect objects that are close and can reflect infrared lights.&lt;br /&gt;
* It has a Infrared Transmitter to eliminate the dependency of solar lighting.  So It can be used in the night.&lt;br /&gt;
* It has a Infrared Receiver that detects the closest object that reflects the infrared lights.&lt;br /&gt;
* It has an incorporated voltage regulator&lt;br /&gt;
* The output is a constant 5V when it is active and 0V when no detection.&lt;br /&gt;
* You can change the proximity threshold with a potentiometer.&lt;br /&gt;
&lt;br /&gt;
== [[DsPIC30F 5011 Development Board]] ==&lt;br /&gt;
A development board using Microchip dsPIC30F5011, a 5V based 16-bit microcontroller with DSP functions, EEPROM, ADC, PWM and communciation ports of UARTs, I2C, SPI etc. Contains concise information on:&lt;br /&gt;
#Development environments (IDE)&lt;br /&gt;
#External programming methods (ICSP Programming using ICD2 Programmer)&lt;br /&gt;
#Bootloader implementation (RTSP)&lt;br /&gt;
#Software development tips based on POSIX concepts&lt;br /&gt;
#Basic conversion tips to target board using Microchip dsPIC33FJ128GP306, a pin-to-pin compatible 3.3V microcontroller&lt;br /&gt;
&lt;br /&gt;
== [[Ethernet Module]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
*The entire Ethernet Module consists of:&lt;br /&gt;
#Hardware: a LAN card based on Davicom DM9000A chip&lt;br /&gt;
#Software: a TCP/IP stack based on uIP 1.0 or lwIP&lt;br /&gt;
&lt;br /&gt;
== [[Modulation Plugin]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Modulation Plugin Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
&lt;br /&gt;
== Scavenge ==&lt;br /&gt;
&lt;br /&gt;
Some people derive an inordinate amount of pleasure from building semi-useful objects from zero-cost junk.&lt;br /&gt;
&lt;br /&gt;
In the electronics field, most of the stuff built from scavenged components falls into 2 categories:&lt;br /&gt;
* ham radio transmitters and receivers -- built from a few transistors, caps, resistors, and wire&lt;br /&gt;
* BEAM robotics -- built from the above plus motors, solar cells, ...&lt;br /&gt;
&lt;br /&gt;
According to http://coprolite.com/art12.html ,&lt;br /&gt;
&amp;quot;I'd love to hear about where you found your 8048. Take a picture of the host that you remove it from (CD player, truck, refridgerator, whatever) and I'll put your picture on a page that chronicles our adventures sifting through the rubble.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Also see [[Free_From_Salvage]]&lt;br /&gt;
&lt;br /&gt;
=== openEyes ===&lt;br /&gt;
openEyes is an open-source open-hardware toolkit for low-cost real-time eye tracking.&lt;br /&gt;
See [http://hcvl.hci.iastate.edu/cgi-bin/openEyes.cgi the OpenEyes hardware and software] and [http://hcvl.hci.iastate.edu/cgi-bin/openEyeswiki/index.cgi the openEyes wiki].&lt;br /&gt;
&lt;br /&gt;
=== RepRap ===&lt;br /&gt;
RepRap is an open source project to create a 3d printer or fabber machine.  There is tons of information available on [http://www.reprap.org its website].  The current iteration is a 3 axis cartesian robot with 2 extruder heads:  a Thermoplastic head that extrudes plastics like HDPE, ABS, and CAPA, and a support material head that extrudes a water soluble material to support the build process.&lt;br /&gt;
&lt;br /&gt;
The [http://burningsmell.org/biollante/ Biollante project] is a kind of RepRap that uses a 6 axis Stewart platform.&lt;br /&gt;
Can devices from a [http://kmoddl.library.cornell.edu/ mechanical model library] be fabbed with RapRap?&lt;br /&gt;
The article [http://ccsl.mae.cornell.edu/papers/Nature05_Zykov.pdf &amp;quot;Self-reproducing machines&amp;quot;] goes even further than just 6 identical parts -- it suggests that &amp;quot;self-reproducing machines composed of many identical microscale modules&amp;quot; may be a better design than the original RepRap design where just about every part is unique.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is the meta-problem of engineering: Design a machine that can design other machines.&amp;quot; -- Hod Lipson[http://www.mae.cornell.edu/lipson/]&lt;br /&gt;
&lt;br /&gt;
=== TwentyDollarWikiDevice ===&lt;br /&gt;
&lt;br /&gt;
Challenge: Build a Wiki Device with a parts cost of no more than twenty dollars which is usable as a portable wiki. Include feature to make it compatible with a desktop or laptop computer's PersonalWiki, with a connector allowing this use.&lt;br /&gt;
--&lt;br /&gt;
http://c2.com/cgi/wiki?TwentyDollarWikiDevice&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hardware portable wiki for taking notes with an auto-merging functionality when you are very close to Internet or your computer.&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
http://communitywiki.org/AlexandreDulaunoy&lt;br /&gt;
&lt;br /&gt;
=== [[breakout boards]] ===&lt;br /&gt;
These are three boards that I designed for a specific project and found them very useful. Each of these boards uses the phoenix contact plugable terminal blocks. The 50-pin breakout board is for a 50-pin ribbon cable. The LEM breakout board is for LEM AC/DC current sensor. The power supply breakout board is for a +5v +/-15v power supply.&lt;br /&gt;
&lt;br /&gt;
=== Free Telephony Project ===&lt;br /&gt;
&lt;br /&gt;
[http://www.rowetel.com/ucasterisk Free Telephony Project]&lt;br /&gt;
&lt;br /&gt;
* Embedded Asterisk IP-PBX hardware and software&lt;br /&gt;
&lt;br /&gt;
* Low cost, completely open IP-PBX hardware including FXS/FXO analog and E1/T1 interfaces, and DSP motherboard hardware.  Target price of $100 for a 4 port IP-PBX.&lt;br /&gt;
&lt;br /&gt;
=== Eyes for Open Robot ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com/commerce/product_info.php?products_id=637 $20 CMOS Camera Module - 640x480] has a [http://forum.sparkfun.com/viewtopic.php?t=2442 &amp;quot;Get-that-camera-working competition&amp;quot; discussion forum] and [http://www.makezine.com/blog/archive/2007/01/hack_this_cmos.html now been adequately documented] ... http://elinux.org/wiki/SparkfunCamera ... [http://forum.sparkfun.com/viewtopic.php?t=2442&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=135 by David Carne].&lt;br /&gt;
&lt;br /&gt;
* ... perhaps simpler to use an off-the-shelf webcam that plugs directly into a laptop ... [http://www.linux.com/howtos/Webcam-HOWTO/hardware.shtml Enabling Support for Your (Webcam) Hardware in Linux] ... [http://www.saillard.org/linux/pwc/ Philips USB Webcam Driver for Linux] ... [http://qce-ga.sourceforge.net/ QuickCam] ...&lt;br /&gt;
&lt;br /&gt;
''Is there a simple way for my Java application to fetch the latest camera image in an Array of pixel values?''&lt;br /&gt;
&lt;br /&gt;
=== robot ===&lt;br /&gt;
&lt;br /&gt;
* open architecture humanoid robotics platform --[http://www.is.aist.go.jp/humanoid/openhrp/English/indexE.html OpenHRP]&lt;br /&gt;
&lt;br /&gt;
=== RCAP: R/C Auto Pilot: Remote Control Auto Pilot ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The RCAP2 is a Remote Control AutoPilot] for model airplanes, cars and boats. The autopilot function can be switched off or on during flight with the flick of a switch.&amp;quot; Uses PIC16F876A to:&lt;br /&gt;
* read (servo) commands from the RC server&lt;br /&gt;
* read (RS-232) GPS location from a NMEA capable GPS (with programmable goto/waypoints functions)&lt;br /&gt;
* drive (servo) commands to the rudder.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikibooks.org/wiki/RCAP RCAP Documentation at Wikibooks ],&lt;br /&gt;
and [http://rcpilot.sourceforge.net/modules/rcap/index.php RCAP PCB layout at Sourceforge ].&lt;br /&gt;
&lt;br /&gt;
== [http://www.remember.ro/scripts/wiegand.php Wiegand reader simple controller] ==&lt;br /&gt;
&lt;br /&gt;
The PICmicro 16F628 decodes [http://en.wikipedia.org/wiki/Wiegand_protocol Wiegand protocol] coming from card reader.&lt;br /&gt;
If the card matches one of the 40 cards in EEPROM, it turns on the light (opens the door).&lt;br /&gt;
Schematic and source code published under GNU terms.&lt;br /&gt;
&lt;br /&gt;
== [http://www.rcrowley.com/ComClone/default.htm ComClone2 Intercom] ==&lt;br /&gt;
&lt;br /&gt;
ComClone2 is a DIY clone of the industry-standard &amp;quot;party line&amp;quot; production intercom system as first introduced by Clearcom and now sourced by many other vendors.  This intercom system is widely used in both live show(theatrical, music, etc.) and video production. Website provides complete construction information including PC board, etc.&lt;br /&gt;
&lt;br /&gt;
== Minimig ==&lt;br /&gt;
&lt;br /&gt;
[[Minimig|Amiga 500 implemented]] with Xilinx FPGA + Freescale mc68000&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer : A Homebrew USB Soundcard ] ==&lt;br /&gt;
&lt;br /&gt;
This project is a homebrew 12bit 24KHz homebrew USB soundcard based on a pic 18f2550 and a few Microchip analog parts.&lt;br /&gt;
The project is based on the Microchip USB framework, but the core audio processing is written from scratch.&lt;br /&gt;
The card is a duel Audio 1.0 + generic interface composite device with the generic interface being handled by WinUSB. &lt;br /&gt;
The schematic, card firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC : A Homebrew USB FHSS RF Modem ] ==&lt;br /&gt;
&lt;br /&gt;
The PINGPONG-CDC project is a homebrew USB frequency hopping spread spectrum RF modem ([[FHSS]]).  The modem is based on the Microchip 18F2550 and the Semtec XE1205 RF module.  The module does not include a MAC or protocol layer.  That is what this project implements.  The project demonstrates how to write a FHSS MAC layer and use USB to interface it with a PC through CDC and WinUSB.&lt;br /&gt;
Since the protocol is not hard-wired, it is easy to change the software to experiment with different protocols.&lt;br /&gt;
A utility for pairing and configuring modems is included.  The schematic, firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS : FCC Legal Frequency Hopping Spread Spectrum USB Wireless Ethernet ] ==&lt;br /&gt;
&lt;br /&gt;
This is the PINGPONG-CDC project that emulated ethernet through the RNDIS driver in Windows rather then a serial cable replacement. Full source code is provided.&lt;br /&gt;
&lt;br /&gt;
== An acceptable third generation PostScript printer ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ask the Guru: A Third-Generation Printer&amp;quot;&lt;br /&gt;
article by Don Lancaster 1990&lt;br /&gt;
http://www.tinaja.com/glib/guru60.pdf&lt;br /&gt;
lists specifications for&lt;br /&gt;
&amp;quot;An acceptable third generation PostScript printer.&amp;quot;&lt;br /&gt;
Would this be a good &amp;quot;open hardware&amp;quot; project ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== the [[Kestrel]] ==&lt;br /&gt;
&lt;br /&gt;
[http://archives.seul.org/geda/user/Aug-2004/msg00170.html &amp;quot;About the Kestrel&amp;quot;] by Samuel A. Falvo II 2004&lt;br /&gt;
&lt;br /&gt;
''(quote)''&lt;br /&gt;
&lt;br /&gt;
The Kestrel's intended purpose is to be a rational, grass-roots computer &lt;br /&gt;
design employing half-way modern technology, where (quite unlike the PC) *EVERYTHING* is documented openly.&lt;br /&gt;
BUT, not adopting every possible &lt;br /&gt;
technology under the sun just because it exists. ... you'd get the circuit schematics, register-level &lt;br /&gt;
programming information, timing diagrams, and descriptions of the &lt;br /&gt;
ROM-resident OS interfaces ...&lt;br /&gt;
&lt;br /&gt;
The over-arching goals of the project remain the same:&lt;br /&gt;
&lt;br /&gt;
* An open, completely documented architecture, able to be described in a SINGLE BOOK. ...&lt;br /&gt;
&lt;br /&gt;
* Fan-less design, which means, low power, even at the expense of computation speed. ... I'm not aiming for the lowEST power -- but fanless design is critical.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Instant on, (nearly) instant off. ... On the Amiga, you just waited 5 seconds, without touching anything, (that's it) for the disk caches to sync with the volumes, and then you flicked the power switch. End of discussion.  Not so with Windows or Linux.  Anyway, boot-up is way, way more expensive.  It has to check RAM every freaking time ..., it probes the buses and takes its damn sweet time doing it, etc.  AmigaOS did all this in a fraction of a second.  Heck, even just spending 5 seconds is sufficient for me.  But remember that this is added on to the start-up time of the OS you're loading too!  The goal: instant on, instant off.  Trust me -- it really DOES make a difference!&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Lightning fast I/O auto-detection.  If the Amiga can do it with 8MHz processor technology, so can we with 66MHz.  I simply cannot emphasize this enough.&lt;br /&gt;
&lt;br /&gt;
* Relatively easy to build.  Since this is now an advanced kit idea, this isn't nearly as weighted as it used to be.  Nonetheless, it is a goal to strive for.&lt;br /&gt;
&lt;br /&gt;
* Minimum cost. ...&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
The whole purpose is to have FUN with this computer -- to have fun &lt;br /&gt;
building it, to have fun using it, to have fun expanding it.  Part of &lt;br /&gt;
this fun factor is being able to hack the hardware as much as you can &lt;br /&gt;
hack the software.&lt;br /&gt;
Commodore's IEC bus, HP's HP-IL, and Amiga's Zorro &lt;br /&gt;
bus are all inspirations here.&lt;br /&gt;
...&lt;br /&gt;
it wasn't hard to build a Zorro &lt;br /&gt;
card that fully interoperated with the system, you didn't need to be &lt;br /&gt;
registered with anyone but Commodore (and they gave away mfr IDs for &lt;br /&gt;
FREE), and full hardware interface details were available in the Amiga &lt;br /&gt;
HRM for a cost of $29.99 US.  It was bliss.&lt;br /&gt;
&lt;br /&gt;
* Everything is LGPLed.  So if you DID want to include PCI slots or whatever, please feel free!!  Just because it's not my personal priority with the system doesn't mean it's not someone else's.  This is the beauty of open source and, indeed, [[open hardware]].&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Support for new business opportunities. ...  This ties into the prime goal of this whole thing, which is,&lt;br /&gt;
&lt;br /&gt;
* The creation of a vibrant and healthy user and developer community, capable of supporting itself on both software AND hardware fronts.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
''(end quote)''&lt;br /&gt;
&lt;br /&gt;
A more up-to-date description of&lt;br /&gt;
[http://falvotech.com/content/kestrel/ The Kestrel Project].&lt;br /&gt;
(several other pages on the Kestrel project nearby).&lt;br /&gt;
&lt;br /&gt;
== [[astronomy]] ==&lt;br /&gt;
A variety of &amp;quot;open&amp;quot; tools for optical and radio astronomy.&lt;br /&gt;
&lt;br /&gt;
== flash downloaders ==&lt;br /&gt;
Many people have published open-hardware schematics for downloading programs into the flash of various microcontrollers. [http://m8cutils.sourceforge.net/ m8cprogs for Cypress PSoC], [http://techref.massmind.org/techref/devprogs.htm various flash downloaders for Microchip PIC], etc.&lt;br /&gt;
&lt;br /&gt;
== [[WikiNode]] ==&lt;br /&gt;
The WikiNode project tries to link every wiki in the world together.&lt;br /&gt;
Our &amp;quot;[[WikiNode]]&amp;quot; links to closely-related wiki (and their WikiNode links back).&lt;br /&gt;
&lt;br /&gt;
If you want to talk about something that is not quite on-topic here at Open Circuits&lt;br /&gt;
(say, &amp;quot;desktop PC case modding&amp;quot;, or &amp;quot;embedded Linux programming&amp;quot;), our WikiNode helps you find another wiki where people love to talk about that exact topic.&lt;br /&gt;
The corresponding WikiNode on each of those wiki helps people who want to talk about &amp;quot;open hardware&amp;quot; to discover this wiki.&lt;br /&gt;
&lt;br /&gt;
== arm7-oled-clock ==&lt;br /&gt;
&lt;br /&gt;
arm7-oled-clock is a clock hardware/software project for a clock with a graphic organic led display running on an atmel arm7 microcontroller.&lt;br /&gt;
&lt;br /&gt;
Here is the [http://code.google.com/p/arm7-oled-clock/ arm7-oled-clock's project page on google code].&lt;br /&gt;
&lt;br /&gt;
== Sun SPOTs ==&lt;br /&gt;
&lt;br /&gt;
[http://www.sun.com/ Sun Microsystems] has open sourced both hardware and software for the [http://research.sun.com/ Sun Microsystem Laboratories] Sun SPOT (Small Programmable Object Technology) Wireless Sensor Network. &lt;br /&gt;
&lt;br /&gt;
This Java-based system is an ARM920T 180MHz processor, 4Mbyte Flash, 512Kbyte pSRAM and  802.15.4 radio transceiver (TI CC2420). See the [http://www.sunspotworld.com/ Sun SPOT World] website for more information. We also have an active [https://www.sunspotworld.com/forums/ forum].&lt;br /&gt;
&lt;br /&gt;
The hardware designs can be downloaded from [https://spots-hardware.dev.java.net/ https://spots-hardware.dev.java.net]. The content available for download (subversion) are the schematics (pdf, Altium), bill of materials (Excel), assembly drawings (pdf), fabrication drawings (pdf), PC design files (Altium) and gerber files (RS274X) for these boards.&lt;br /&gt;
&lt;br /&gt;
The boards we have posted are:&lt;br /&gt;
* eDemo: Demonstration add-on board for the Sun SPOT. &lt;br /&gt;
* eFlash: MiniSD card reader/writer add on board for Sun SPOT &lt;br /&gt;
* eProto: Prototype board with simple interface to Sun SPOT &lt;br /&gt;
* eProtomega: eSPOT Prototyping board with Atmega88 processor &lt;br /&gt;
* eSerial: RS232 Serial interface board for the Sun SPOT &lt;br /&gt;
* eUSB-Host: USB host interface to Sun SPOT &lt;br /&gt;
* eDaq: Industrial strength ADC board&lt;br /&gt;
* eBones: Basic interface board application note&lt;br /&gt;
* eSPOT: Main Sun SPOT board&lt;br /&gt;
&lt;br /&gt;
Our wiki for the hardware is [http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware].&lt;br /&gt;
&lt;br /&gt;
SPOTs run Squawk, an open source Java virtual machine (VM). The download (and more information) for Squawk is [https://squawk.dev.java.net/ https://squawk.dev.java.net/]. The SPOT specific libraries can be downloaded from [https://spots-libraries.dev.java.net/ https://spots-libraries.dev.java.net/] along with community applications [https://spots-applications.dev.java.net/ https://spots-applications.dev.java.net/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Lists of Semi-Open Projects ==&lt;br /&gt;
&lt;br /&gt;
* UHF FM BUG with ButtonCell battery ( http://www.elektronika.ba/el.sheme/?akc=daj_shemu&amp;amp;idshema=490 ) &amp;quot;This bug is 100% made from an old Nokia GSM phone! It operates at 434 MHz and reception can be achieved on a modified TV tuner or 70cm band HAM radio.&amp;quot;&lt;br /&gt;
* [http://massmind.org/techref/microchip/alternatives.htm microcontroller alternatives] lists a bunch of &amp;quot;small PCBs&amp;quot; (is there a better name?) designed for hacking and prototyping, that already have the processor and a few other super-common things built in ... so you don't have to start *completely* from scratch.&lt;br /&gt;
* [http://thinkcycle.org/ ThinkCycle] &amp;quot;ThinkCycle is a ... non-profit initiative ... supporting distributed collaboration towards design challenges facing underserved communities and the environment. ThinkCycle seeks to create a culture of open source design innovation&amp;quot;&lt;br /&gt;
* Are [http://positron.org/projects/ the Positron projects] &amp;quot;open&amp;quot; enough to be mentioned? I especially liked the [http://positron.org/projects/acrylic_cases/ &amp;quot;Lasercut Acrylic Casebuilding Tutorial&amp;quot; ].&lt;br /&gt;
* Is [http://wiki.vislab.usyd.edu.au/moinwiki/PuckControl/BuildingThePuck the Vislab puck] suitable for this list?&lt;br /&gt;
* [http://massmind.org/techref/piclist/pcbcontest.htm  PICList &amp;amp; JAL_List free PCB contest] &amp;quot;this will encourage people to publish designs and get more good ideas out into the real world for everyone to see.&amp;quot; (So, are these &amp;quot;open&amp;quot; circuits?)&lt;br /&gt;
* http://ePanorama.net/ has a bunch of schematics and a web discussion forum. Are they &amp;quot;open&amp;quot; enough to mention here?&lt;br /&gt;
* &amp;quot;Yet Another One-hand Keyboard&amp;quot; ( http://chordite.com/ ) &amp;quot;The firmware included in the download lets an Atmel AVR '2313 microcontroller interpret chords and talk to a PS/2 port.&amp;quot; -- it's not completely open, but the license allows you to immediately download, for free, lots of technical information and a license to build up to 5 of your own. Building more than 5 requires some sort of payment to license the patent on the hardware configuration. (The software appears to be open source). There seems to be an associated Yahoo mailing list. What is an appropriate way to invite John W. McKown and others on the mailing list to use a wiki such as Open Circuits to maintain a FAQ?&lt;br /&gt;
* [http://www.solorb.com/elect/ FC's Electronic Circuits] ?&lt;br /&gt;
* [http://panvent.blogspot.com/ &amp;quot;Pandemic Ventilator Project&amp;quot;] asks: &amp;quot;Does Open Source Hardware Development Work?&amp;quot;&lt;br /&gt;
* GSM SMS Controllers ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=6 ) &amp;quot;TwoWay Thing (GSM Controller v3) is a device that allows you to control appliances using SMS messages. There are also 4 inputs for connecting sensors so the device will send an alarm SMS or even call you to report an alarm condition. The device draws very little current and is being powered by phone’s battery which is a great thing. Nokia should be constantly charged or supplied with some sort of external power for long term operation.&amp;quot;&lt;br /&gt;
* Phone-call alarm alert ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=7 ) &amp;quot;After programming just supply power to the device. After pressing the button &amp;quot;Pokreni dojavu alarma&amp;quot; it will start to dial (tone or pulse, depending on the jumper setup). When the phone call is succesfully established, the called party should press pound key &amp;quot;#&amp;quot; to stop the device from calling another number or again.&amp;quot;&lt;br /&gt;
* SMS Box ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=9 ) &amp;quot;This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!&amp;quot;&lt;br /&gt;
* GSM alarm alert - call ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=5 ) &amp;quot;Alerting alarm over via GSM network&amp;quot;&lt;br /&gt;
* [http://linuxdevices.com/news/NS3871478989.html Bug Labs]: A startup is readying a modular, open source hardware/software system resembling a set of electronic Legos. Nov. 05, 2007 [http://www.buglabs.net/]&lt;br /&gt;
* [http://picflow.sourceforge.net/ PIC flow meter and instrumentation modules]: Sensors, Gauges, Flow meter, data logging, connected by Grundfos Pumps inc. GENIbus over RS485.&lt;br /&gt;
* Raphaël Assénat has [http://raphnet.net/electronique/electronique_en.php posted several electronics projects], including schematics. Several of them involve interfacing various &amp;quot;classic&amp;quot; video game controllers to USB. His [http://raphnet.net/electronique/cid/cid_en.php &amp;quot;Caller Id decoder&amp;quot;] is a nice example of adding just one more feature to something using a minimum of additional electronics.&lt;br /&gt;
&lt;br /&gt;
== [[Other Projects | other project sites or links to projects]] ==&lt;br /&gt;
&lt;br /&gt;
May or may not be open, not much review material here, noted for the record, may be promoted in the future if they are outstanding in any way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Modulation_Plugin&amp;diff=15720</id>
		<title>Modulation Plugin</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Modulation_Plugin&amp;diff=15720"/>
		<updated>2008-06-26T07:23:05Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ToDos==&lt;br /&gt;
*make sure each components freq. response, to make sure the highest freq. &lt;br /&gt;
*place DAC into this module board together, then only 4 wires(Vcc, I2C clk, Gnd &amp;amp; I2C data) fr. host. &lt;br /&gt;
*understand all components&lt;br /&gt;
*call sample&lt;br /&gt;
*draw circuit and PCB and grounding problem&lt;br /&gt;
*test by real circuit and firmware&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Objectives==&lt;br /&gt;
*The modulation module is used to deliver a digital output signal with the following characteristics:&lt;br /&gt;
**Square wave&lt;br /&gt;
**Variable frequency (&amp;gt;1kHz)&lt;br /&gt;
**Variable amplitude (0V - 2.5V)&lt;br /&gt;
*interface to MCU which do the control&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software Solution==&lt;br /&gt;
*Timer Interrupt controlling I2C 10-bit DAC can only achieve frequency response of about 1kHz&lt;br /&gt;
**5byte/cmd&lt;br /&gt;
**8bit/byte&lt;br /&gt;
**baudrate = 400kHz&lt;br /&gt;
**This yields 10kHz (0.1ms)&lt;br /&gt;
**As OS context switch is 10ms, set timer to 1ms (1kHz), so that 0.9ms can be used to process other tasks&lt;br /&gt;
*Due to higher freq. response requirement, so using hardware to implement the clock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware Solution==&lt;br /&gt;
&lt;br /&gt;
===Circuit===&lt;br /&gt;
&lt;br /&gt;
                     +-----+            +--------+         +--------+&lt;br /&gt;
       I2C Bus       |     |            | Analog |         | Op-Amp |&lt;br /&gt;
   ------------+-----| DAC |------------| Switch |---------|        |---------Output&lt;br /&gt;
               |     |     |            +--------+         +--------+&lt;br /&gt;
               |     +-----+                |&lt;br /&gt;
               |                            |&lt;br /&gt;
               |     +--------------+       |&lt;br /&gt;
               |     | Programmable |       |&lt;br /&gt;
               +-----| Clock        |-------+&lt;br /&gt;
                     +--------------+&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
===Circuit Simulation by [http://www.falstad.com/circuit/ Paul Falstad's Web]===&lt;br /&gt;
*Import the following&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ 1 5.0E-6 16.817414165184545 64 5.0 50&lt;br /&gt;
w 128 256 144 256 0&lt;br /&gt;
w 16 256 64 256 0&lt;br /&gt;
g 16 352 16 368 0&lt;br /&gt;
v 64 64 112 64 0 0 40.0 2.5 0.0 0.0 0.5&lt;br /&gt;
w 112 128 144 128 0&lt;br /&gt;
w 64 128 16 128 0&lt;br /&gt;
w 16 128 16 256 0&lt;br /&gt;
v 64 256 128 256 0 2 1000.0 1.65 1.65 0.0 0.5&lt;br /&gt;
a 336 144 464 144 1 3.3 0.0&lt;br /&gt;
w 336 160 336 192 0&lt;br /&gt;
w 464 192 464 144 0&lt;br /&gt;
w 464 144 512 144 0&lt;br /&gt;
r 592 144 592 256 0 1000.0&lt;br /&gt;
g 592 352 592 368 0&lt;br /&gt;
w 512 144 592 144 0&lt;br /&gt;
w 336 192 352 192 0&lt;br /&gt;
w 432 192 464 192 0&lt;br /&gt;
v 64 128 112 128 0 1 1.0 1.25 1.25 0.0 0.5&lt;br /&gt;
w 16 256 16 288 0&lt;br /&gt;
w 16 288 16 352 0&lt;br /&gt;
w 592 256 592 352 0&lt;br /&gt;
g 272 352 272 368 0&lt;br /&gt;
w 272 128 336 128 0&lt;br /&gt;
w 176 256 176 144 0&lt;br /&gt;
r 272 224 272 288 0 1000.0&lt;br /&gt;
w 272 128 272 224 0&lt;br /&gt;
w 272 288 272 352 0&lt;br /&gt;
159 144 128 208 128 0&lt;br /&gt;
r 208 128 256 128 0 1000.0&lt;br /&gt;
w 256 128 272 128 0&lt;br /&gt;
w 144 256 176 256 0&lt;br /&gt;
r 336 224 336 288 0 1000.0&lt;br /&gt;
g 336 352 336 368 0&lt;br /&gt;
w 336 288 336 352 0&lt;br /&gt;
w 336 192 336 224 0&lt;br /&gt;
r 352 192 432 192 0 1000.0&lt;br /&gt;
o 4 64 0 34 2.5 7.8125E-4 0 -1&lt;br /&gt;
o 0 64 0 35 5.0 9.765625E-5 1 -1&lt;br /&gt;
o 11 64 0 34 2.5 0.0015625 2 -1&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Components Inside Circuit==&lt;br /&gt;
&lt;br /&gt;
===clk chip===&lt;br /&gt;
*datasheet -- http://focus.ti.com/docs/prod/folders/print/cdc706.html&lt;br /&gt;
*call sample first, later to buy at -- http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=296-21381-5-ND&lt;br /&gt;
&lt;br /&gt;
===analog switch===&lt;br /&gt;
*http://focus.ti.com/docs/prod/folders/print/ts5a1066.html&lt;br /&gt;
*call sample&lt;br /&gt;
&lt;br /&gt;
===op-amp buffer===&lt;br /&gt;
*OPA340&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Projects&amp;diff=15717</id>
		<title>Projects</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Projects&amp;diff=15717"/>
		<updated>2008-06-26T06:45:57Z</updated>

		<summary type="html">&lt;p&gt;203.174.44.218: /* dsPIC30F 5011 Development Board */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Open Circuits ===&lt;br /&gt;
&lt;br /&gt;
These should be projects or links to projects that are open, at a minimum in the sense that there is enough information so that others can reproduce the project.  Lets stay away from sites that are just show cases without the details.&lt;br /&gt;
&lt;br /&gt;
=== µWatch ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.calcwatch.com/ µWatch]: World's First D-I-Y Scientific Calculator Watch&lt;br /&gt;
&lt;br /&gt;
=== Open Source Circuits Magazine ===&lt;br /&gt;
[http://www.anykits.com/ Anykits magazine]&lt;br /&gt;
- Anykits publishes an open source magazine with quite a few, application oriented circuits. It contains schematics, parts list and PCB illustrations.&lt;br /&gt;
The best part is that its formated for print and available as regular PDF.&lt;br /&gt;
&lt;br /&gt;
=== Open OBDII ===&lt;br /&gt;
[http://www.sterntech.com/obdii.php Link to source and schematics]&lt;br /&gt;
Open source hardware and software implementing OBDII tester for cars. &lt;br /&gt;
Two versions one using a PIC microcontroller and one using an AVR microcontroller.&lt;br /&gt;
&lt;br /&gt;
=== [[vehicle]]s: manned and unmanned ===&lt;br /&gt;
Lots of [[vehicle | vehicle-related projects]] -- for motorcycles, automobiles, and unmanned aerial vehicles (UAVs).&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F84A - single relay ===&lt;br /&gt;
* [http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=10] controll one relay over phone-line. Uses PIC16F84A and MT8870.&lt;br /&gt;
&lt;br /&gt;
=== Phone line relay controller with PIC16F876A - 6 relays! ===&lt;br /&gt;
* [http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=11] controll up to 6 relays over phone-line. Uses PIC16F876A and MT8870.&lt;br /&gt;
&lt;br /&gt;
===Homemade MIDI turntable===&lt;br /&gt;
Cheap and simple homemade MIDI turntable with GPL2 license. Using a ATmega, a HDNS-2000 optical mouse encoder, GCC-AVR, AVR-Libc and FreeRTOS. [http://casainho.net/tiki-index.php?page=Homemade+midi+turntable Homepage of Homemade MIDI turntable].&lt;br /&gt;
&lt;br /&gt;
=== Motherboards that Run Linux ===&lt;br /&gt;
&lt;br /&gt;
==== [[ARMUS Embedded Linux Board]] ====&lt;br /&gt;
An ARM920T board running Linux at 200 Mips with sound, Ethernet, CAN, 48+ bidirectionnal IOs and 4 DSPs for motor control (DC, Servos, etc...). Built as a student proof robotics design platform.&lt;br /&gt;
&lt;br /&gt;
==== [http://balloonboard.org Balloon Xscale ARM+FPGA dev board] ====&lt;br /&gt;
The Balloon project has produced Balloon3, a high-performance ARM board designed for use by OEMs and Higher education. Spec is PXA270 (583Mhz), FPGA or CPLD, 1GB flash, 784MB RAM, USB (master, slave, OTG), CF slot, expansion bus, 16-bit bus, I2C, LCD, serial, audio. Very low power in CPLD confiuguration. Small, light. Various add-on boards: VGA LCD driver, robot motor driver+A/D, digital IO. Released under the Balloon Open Hardware license, which allows anyone to manufacture and for people to make derivatives. The expansion bus allows balloon to be used as the computing component for various special-purpose devices.&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp]] ====&lt;br /&gt;
The linuxstamp is an open source processor module. It is designed to be a very simple board capable of running linux. It is based on the Atmel AT91RM9200 processor (An ARM9 processor with a MMU).&lt;br /&gt;
&lt;br /&gt;
==== [[Linuxstamp Mboard 1]] ====&lt;br /&gt;
This is the first mother board for the linuxstamp. It is still in the planning stages (no pcbs).&lt;br /&gt;
&lt;br /&gt;
==== [http://www.linuxdevices.com/links/LK9764937601.html LART -- an open license StrongARM based tiny SBC] ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;All CAD files required for building LART are available under the closest we could get to an Open/Free Hardware License.&amp;quot;&lt;br /&gt;
(Has this information [http://www-it.et.tudelft.nl/~inald/html/research.htm#MMC gone offline?])&lt;br /&gt;
&lt;br /&gt;
==== Other Boards that Run Linux ====&lt;br /&gt;
&lt;br /&gt;
* Is it possible to [http://groups.google.com/group/comp.arch.embedded/browse_thread/thread/be085ff0772cde21/8331dee5db8eb083#8331dee5db8eb083  Linux on a &amp;quot;soft CPU&amp;quot;] inside a FPGA?&lt;br /&gt;
&lt;br /&gt;
* [http://www.linuxhosts.org/article.cfm/id/158855 The ARM9 AT91SAM9261 is capable of running Linux].&lt;br /&gt;
* [http://www.linuxdevices.com/articles/AT8498487406.html &amp;quot;teeny weeny Linux  single board computers&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
=== [[Programmable Chip EEG]] ===&lt;br /&gt;
The Programmable Chip EEG is a Multi-channel electroencephalograph that could be a brain-computer interface.&lt;br /&gt;
See the [http://openeeg.sourceforge.net/doc/ OpenEEG Project]&lt;br /&gt;
&lt;br /&gt;
=== [[Open Mobile Gadgets]] -- open source, open hardware, mobile phone ===&lt;br /&gt;
An open source, open hardware mobile phone in its preliminary development.&lt;br /&gt;
&lt;br /&gt;
=== [[Music Player]]s including MP3 players ===&lt;br /&gt;
&lt;br /&gt;
* [[TRAXMOD]] Open source MOD music player for dsPIC/ARM microcontrollers.&lt;br /&gt;
&lt;br /&gt;
* [[Music Player]] Mostly off site.&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes 3.3V TTL serial and outputs to a super-common RS232 connection. Insto-NMEA!&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 Dev Board]] ===&lt;br /&gt;
A simple RS232 example project that takes all the power it needs from the serial port. Use it to power your microcontroller and communicate between serial port and microcontroller.  Takes advantage of the fact that pc serial ports will accept 0-5V rather than the RS232 standard of around negative 10V to  positive 10V.  Very convenient - no external power required!  Note that you may use either a 5.1V Zener or a 5V regulator.&lt;br /&gt;
&lt;br /&gt;
=== [[RS232 RS485 USB Converter Board]] ===&lt;br /&gt;
Aim to build a general Converter between different Interfaces.&lt;br /&gt;
&lt;br /&gt;
=== [[PG31 GPS USB Dev Board]] ===&lt;br /&gt;
A great example project using the CP2102 USB to TTL UART IC as well as some basic battery holder info.&lt;br /&gt;
&lt;br /&gt;
=== [[Chalk Roach|Number Six]] ===&lt;br /&gt;
&amp;quot;#6&amp;quot; (the son of Chalk Roach)&lt;br /&gt;
is a ultra simple microcontroller development board for Atmel ATmega32 = 16MHz, 2KB SRAM, 16KB Flash&lt;br /&gt;
&lt;br /&gt;
=== LED and POV displays ===&lt;br /&gt;
&lt;br /&gt;
Led displays range from a battery and an LED which light up ( cool!, add a magnet and you have an led throwie ) to microcontroller led projects, either Smart Led ( Led with a microcontroller so that it blinks, reacts to the environment, or shifts color ) or Led Arrays ( or led matrix ) that do simple graphics and or play games, or POV devices where what you see depends upon you persistance of vision ( which can include some led arrays ).  You can probably dig up more using these terms in google.&lt;br /&gt;
&lt;br /&gt;
==== Our Own Projects ====&lt;br /&gt;
&lt;br /&gt;
* [[24&amp;quot; Wall Clock]] A really big wall clock. Why? Well, cause it might look cool? Probably not. But we do use GPS to get the time! Groovy.&lt;br /&gt;
* [[POV display]] that spins around, giving the illusion of a large display. ([[User:DavidCary|DavidCary]])&lt;br /&gt;
* [[PointLess LED Array]] A 8 by 8 array displays something using POV ([[russ_hensel]])&lt;br /&gt;
* [[PIC Links]] and search on POV and/or LED&lt;br /&gt;
&lt;br /&gt;
==== Off Site ====&lt;br /&gt;
&lt;br /&gt;
* [http://www.makezine.com/blog/archive/2007/03/luscious_electric_delight.html &amp;quot;luscious electric delight&amp;quot;]: source and schematics for a large graphical LED panel. Uses 12 MAX6953 LED drivers; each MAX6953 drives four 5x7 led matrices. The PC generates arbitrary bitmap, sends it out the serial port to a PIC, which translates it to I2C bus connected to all the MAX6953 LED drivers, which update the image at a continuous frame rate of 30fps.&lt;br /&gt;
* [https://oldwiki.blinkenarea.org/bin/view/Blinkenarea/BlinkenProjects BlinkenProjects]: projects with lots of LEDs[http://www.kiu.weite-welt.com/de.schoar.blog/?p=206], including a 3D LED array. Wiki: http://wiki.blinkenarea.org/&lt;br /&gt;
* [http://www.ianpaterson.org/projects/spokepov20050704/index.htm  Ian’s Spoke POV] Review it.&lt;br /&gt;
* [http://www.electric-clothing.com/superpov.html Project: Super POV] Review it.&lt;br /&gt;
* [http://www.ladyada.net/make/spokepov/index.html SpokePOV Persistence of Vision for your Bike] Very nice, kit available.&lt;br /&gt;
* [http://www.attiny.com/dotmatrix.htm On this page you will find a scrolling LED sign based on the ATtiny2313 AVR microcontroller] Row Column approach with a shift register]&lt;br /&gt;
* [http://blog.makezine.com/archive/2007/02/flashing_led_br.html Flashing LED Bra]&lt;br /&gt;
* [http://www.evilmadscientist.com/article.php/peggy &amp;quot;Peggy,&amp;quot; A Light Emitting Pegboard Display]&lt;br /&gt;
* Christmass trees are now led based so: [http://computerchristmas.com/ The #1 Site for Controlling Christmas Lights with a Computer]&lt;br /&gt;
* [http://members.misty.com/don//ledx.html Don Klipstein's LED Main Page]  Lots of good info.&lt;br /&gt;
* [http://www.instructables.com/id/Synchronizing-Fireflies/ Synchronizing Fireflies] ATtiny super smart swarm of LEDs.&lt;br /&gt;
* [http://www.u-disp.com/ U-Disp - An Open Sourced USB display]&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfdisplay.html RFDISPLAY - A Scrolling Display with RF connection to a PC ] ==&lt;br /&gt;
&lt;br /&gt;
POV scrolling display with an RF connection to a mini-itx computer and weatherstation.  Project is built out of 384 discrete red LEDs.  Display shows time and date, sunrise/sunset time and outdoor/indoor weather.  &lt;br /&gt;
&lt;br /&gt;
Schematics, Board Layouts, and MPLAB C18 firmware source code is provided.&lt;br /&gt;
&lt;br /&gt;
=== [[Cellular Rotary Phone]] ===&lt;br /&gt;
An indepth breakdown of the Port-O-Rotary. Some clues to help you avoid audio problems with the GM862.&lt;br /&gt;
&lt;br /&gt;
=== [[Das Brewmeister!]] and [[Fermenter Controller]] ===&lt;br /&gt;
* [[Das Brewmeister!]] : An attempt to wirelessly monitor temperatures of fermentation vessels&lt;br /&gt;
* [[Fermenter Controller]] : A web available fermenter vessel controller. Uses PICs, [[I2C]], Rs232 and python.&lt;br /&gt;
&lt;br /&gt;
=== [[Home controller]] ===&lt;br /&gt;
Program your appliances to operate automatically in conjunction with your weekly and daily schedule, manually turn them on/off from your PC or use the controller as a process ON/OFF controller to regulate some kind of physical variable to the desired value.&lt;br /&gt;
&lt;br /&gt;
=== [[Interactive Lock Box]] ===&lt;br /&gt;
An interesting project using an accelerometer and capacitive touch ICs.&lt;br /&gt;
&lt;br /&gt;
=== [[Motor driver]] (H-bridge) ===&lt;br /&gt;
&lt;br /&gt;
=== [[atomic microscope]] ===&lt;br /&gt;
An atomic-resolution microscope.&lt;br /&gt;
* STM (scanning tunnelling microscope)&lt;br /&gt;
* AFM (atomic force microscope)&lt;br /&gt;
&lt;br /&gt;
=== [[BlueICE]] ===&lt;br /&gt;
A bluetooth JTAG ICE debugger for AVR's!!!&lt;br /&gt;
&lt;br /&gt;
=== Sort-of-Networked [[RFID Reader]] ===&lt;br /&gt;
A 125Khz RFID Reader with a simple ring network - to allow connection of multiple units to the same control computer.&lt;br /&gt;
&lt;br /&gt;
=== Battery charger ===&lt;br /&gt;
&lt;br /&gt;
See [http://elecdesign.com/Article/ArticleID/1823/1823.html &amp;quot;Build A Smart Battery Charger Using A Single-Transistor Circuit&amp;quot;] by Ejaz ur Rehman.&lt;br /&gt;
But be sure to read the &amp;quot;Reader Comments&amp;quot; at the end.&lt;br /&gt;
The suggestion to add a zener diode is a good idea.&lt;br /&gt;
&lt;br /&gt;
=== the Open Graphics Project ===&lt;br /&gt;
&lt;br /&gt;
[http://linux.wordpress.com/2006/07/19/introducing-the-open-graphics-project/ the Open Graphics Project]&lt;br /&gt;
a project started by chip-designer Timothy Miller.&lt;br /&gt;
His goal, along with the rest of the project, known as the “Open Graphics Foundation” is to make a 3D accelerated video card which is fully documented, free-licensed, and open source.&lt;br /&gt;
See [http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics the Open Graphics wiki].&lt;br /&gt;
&lt;br /&gt;
=== [[Amiga floppy project]] ===&lt;br /&gt;
&lt;br /&gt;
The Amiga floppy project:&lt;br /&gt;
designing, building, and programming an adapter to allow PCs to read from Amiga floppies.&lt;br /&gt;
&amp;quot;This is really designed to be a community project(hence the blog with progress reports).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This project is the building of an external USB amiga floppy drive controller.  It sits between the USB port on a Windows PC, and a regular PC floppy drive.  It will allow the PC to create .ADF images from an amiga floppy disk.  This device is based on a Parallax SX28 microcontroller, uses Ramtron FRAM memory for temporary track storage, and uses another Parallax component for the USB interface.&lt;br /&gt;
&lt;br /&gt;
See http://www.techtravels.org/amiga/amigablog for the latest in the blow by blow attempts to get this thing off the ground!!&lt;br /&gt;
&lt;br /&gt;
=== Irsensor-a ===&lt;br /&gt;
&lt;br /&gt;
Infrared Proximity Sensor Alfa&lt;br /&gt;
[http://www.kedo.com.mx/modules/content/index.php?id=3 Infrared Proximity Sensor Alfa in www.kedo.com.mx]&lt;br /&gt;
&lt;br /&gt;
The Infrared Proximity Sensor Alfa is a sensor to detect objects that can reflect infrared light.  It has the following characteristics.&lt;br /&gt;
* Designed to detect objects that are close and can reflect infrared lights.&lt;br /&gt;
* It has a Infrared Transmitter to eliminate the dependency of solar lighting.  So It can be used in the night.&lt;br /&gt;
* It has a Infrared Receiver that detects the closest object that reflects the infrared lights.&lt;br /&gt;
* It has an incorporated voltage regulator&lt;br /&gt;
* The output is a constant 5V when it is active and 0V when no detection.&lt;br /&gt;
* You can change the proximity threshold with a potentiometer.&lt;br /&gt;
&lt;br /&gt;
== [[dsPIC30F/dsPIC33F Development Board]] ==&lt;br /&gt;
A development board using Microchip dsPIC30F5011, a 5V based 16-bit microcontroller with DSP functions, EEPROM, ADC, PWM and communciation ports of UARTs, I2C, SPI etc. Contains concise information on:&lt;br /&gt;
#Development environments (IDE)&lt;br /&gt;
#External programming methods (ICSP Programming using ICD2 Programmer)&lt;br /&gt;
#Bootloader implementation (RTSP)&lt;br /&gt;
#Software development tips based on POSIX concepts&lt;br /&gt;
#Basic conversion tips to target board using Microchip dsPIC33FJ128GP306, a pin-to-pin compatible 3.3V microcontroller&lt;br /&gt;
&lt;br /&gt;
== [[Ethernet Module]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Ethernet Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
*The entire Ethernet Module consists of:&lt;br /&gt;
#Hardware: a LAN card based on Davicom DM9000A chip&lt;br /&gt;
#Software: a TCP/IP stack based on uIP 1.0 or lwIP&lt;br /&gt;
&lt;br /&gt;
== [[Modulation Plugin]] ==&lt;br /&gt;
&lt;br /&gt;
*This project aims to develop an Modulation Plugin Module, to be used in conjunction with a 8/16 bits embedded system such as the [http://www.opencircuits.com/Projects#dsPIC30F_5011_Development_Board dsPic33F development board].&lt;br /&gt;
&lt;br /&gt;
== Scavenge ==&lt;br /&gt;
&lt;br /&gt;
Some people derive an inordinate amount of pleasure from building semi-useful objects from zero-cost junk.&lt;br /&gt;
&lt;br /&gt;
In the electronics field, most of the stuff built from scavenged components falls into 2 categories:&lt;br /&gt;
* ham radio transmitters and receivers -- built from a few transistors, caps, resistors, and wire&lt;br /&gt;
* BEAM robotics -- built from the above plus motors, solar cells, ...&lt;br /&gt;
&lt;br /&gt;
According to http://coprolite.com/art12.html ,&lt;br /&gt;
&amp;quot;I'd love to hear about where you found your 8048. Take a picture of the host that you remove it from (CD player, truck, refridgerator, whatever) and I'll put your picture on a page that chronicles our adventures sifting through the rubble.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Also see [[Free_From_Salvage]]&lt;br /&gt;
&lt;br /&gt;
=== openEyes ===&lt;br /&gt;
openEyes is an open-source open-hardware toolkit for low-cost real-time eye tracking.&lt;br /&gt;
See [http://hcvl.hci.iastate.edu/cgi-bin/openEyes.cgi the OpenEyes hardware and software] and [http://hcvl.hci.iastate.edu/cgi-bin/openEyeswiki/index.cgi the openEyes wiki].&lt;br /&gt;
&lt;br /&gt;
=== RepRap ===&lt;br /&gt;
RepRap is an open source project to create a 3d printer or fabber machine.  There is tons of information available on [http://www.reprap.org its website].  The current iteration is a 3 axis cartesian robot with 2 extruder heads:  a Thermoplastic head that extrudes plastics like HDPE, ABS, and CAPA, and a support material head that extrudes a water soluble material to support the build process.&lt;br /&gt;
&lt;br /&gt;
The [http://burningsmell.org/biollante/ Biollante project] is a kind of RepRap that uses a 6 axis Stewart platform.&lt;br /&gt;
Can devices from a [http://kmoddl.library.cornell.edu/ mechanical model library] be fabbed with RapRap?&lt;br /&gt;
The article [http://ccsl.mae.cornell.edu/papers/Nature05_Zykov.pdf &amp;quot;Self-reproducing machines&amp;quot;] goes even further than just 6 identical parts -- it suggests that &amp;quot;self-reproducing machines composed of many identical microscale modules&amp;quot; may be a better design than the original RepRap design where just about every part is unique.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is the meta-problem of engineering: Design a machine that can design other machines.&amp;quot; -- Hod Lipson[http://www.mae.cornell.edu/lipson/]&lt;br /&gt;
&lt;br /&gt;
=== TwentyDollarWikiDevice ===&lt;br /&gt;
&lt;br /&gt;
Challenge: Build a Wiki Device with a parts cost of no more than twenty dollars which is usable as a portable wiki. Include feature to make it compatible with a desktop or laptop computer's PersonalWiki, with a connector allowing this use.&lt;br /&gt;
--&lt;br /&gt;
http://c2.com/cgi/wiki?TwentyDollarWikiDevice&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hardware portable wiki for taking notes with an auto-merging functionality when you are very close to Internet or your computer.&amp;quot;&lt;br /&gt;
--&lt;br /&gt;
http://communitywiki.org/AlexandreDulaunoy&lt;br /&gt;
&lt;br /&gt;
=== [[breakout boards]] ===&lt;br /&gt;
These are three boards that I designed for a specific project and found them very useful. Each of these boards uses the phoenix contact plugable terminal blocks. The 50-pin breakout board is for a 50-pin ribbon cable. The LEM breakout board is for LEM AC/DC current sensor. The power supply breakout board is for a +5v +/-15v power supply.&lt;br /&gt;
&lt;br /&gt;
=== Free Telephony Project ===&lt;br /&gt;
&lt;br /&gt;
[http://www.rowetel.com/ucasterisk Free Telephony Project]&lt;br /&gt;
&lt;br /&gt;
* Embedded Asterisk IP-PBX hardware and software&lt;br /&gt;
&lt;br /&gt;
* Low cost, completely open IP-PBX hardware including FXS/FXO analog and E1/T1 interfaces, and DSP motherboard hardware.  Target price of $100 for a 4 port IP-PBX.&lt;br /&gt;
&lt;br /&gt;
=== Eyes for Open Robot ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.sparkfun.com/commerce/product_info.php?products_id=637 $20 CMOS Camera Module - 640x480] has a [http://forum.sparkfun.com/viewtopic.php?t=2442 &amp;quot;Get-that-camera-working competition&amp;quot; discussion forum] and [http://www.makezine.com/blog/archive/2007/01/hack_this_cmos.html now been adequately documented] ... http://elinux.org/wiki/SparkfunCamera ... [http://forum.sparkfun.com/viewtopic.php?t=2442&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=135 by David Carne].&lt;br /&gt;
&lt;br /&gt;
* ... perhaps simpler to use an off-the-shelf webcam that plugs directly into a laptop ... [http://www.linux.com/howtos/Webcam-HOWTO/hardware.shtml Enabling Support for Your (Webcam) Hardware in Linux] ... [http://www.saillard.org/linux/pwc/ Philips USB Webcam Driver for Linux] ... [http://qce-ga.sourceforge.net/ QuickCam] ...&lt;br /&gt;
&lt;br /&gt;
''Is there a simple way for my Java application to fetch the latest camera image in an Array of pixel values?''&lt;br /&gt;
&lt;br /&gt;
=== robot ===&lt;br /&gt;
&lt;br /&gt;
* open architecture humanoid robotics platform --[http://www.is.aist.go.jp/humanoid/openhrp/English/indexE.html OpenHRP]&lt;br /&gt;
&lt;br /&gt;
=== RCAP: R/C Auto Pilot: Remote Control Auto Pilot ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The RCAP2 is a Remote Control AutoPilot] for model airplanes, cars and boats. The autopilot function can be switched off or on during flight with the flick of a switch.&amp;quot; Uses PIC16F876A to:&lt;br /&gt;
* read (servo) commands from the RC server&lt;br /&gt;
* read (RS-232) GPS location from a NMEA capable GPS (with programmable goto/waypoints functions)&lt;br /&gt;
* drive (servo) commands to the rudder.&lt;br /&gt;
&lt;br /&gt;
[http://en.wikibooks.org/wiki/RCAP RCAP Documentation at Wikibooks ],&lt;br /&gt;
and [http://rcpilot.sourceforge.net/modules/rcap/index.php RCAP PCB layout at Sourceforge ].&lt;br /&gt;
&lt;br /&gt;
== [http://www.remember.ro/scripts/wiegand.php Wiegand reader simple controller] ==&lt;br /&gt;
&lt;br /&gt;
The PICmicro 16F628 decodes [http://en.wikipedia.org/wiki/Wiegand_protocol Wiegand protocol] coming from card reader.&lt;br /&gt;
If the card matches one of the 40 cards in EEPROM, it turns on the light (opens the door).&lt;br /&gt;
Schematic and source code published under GNU terms.&lt;br /&gt;
&lt;br /&gt;
== [http://www.rcrowley.com/ComClone/default.htm ComClone2 Intercom] ==&lt;br /&gt;
&lt;br /&gt;
ComClone2 is a DIY clone of the industry-standard &amp;quot;party line&amp;quot; production intercom system as first introduced by Clearcom and now sourced by many other vendors.  This intercom system is widely used in both live show(theatrical, music, etc.) and video production. Website provides complete construction information including PC board, etc.&lt;br /&gt;
&lt;br /&gt;
== Minimig ==&lt;br /&gt;
&lt;br /&gt;
[[Minimig|Amiga 500 implemented]] with Xilinx FPGA + Freescale mc68000&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/soundcard.html USB Audio Streamer : A Homebrew USB Soundcard ] ==&lt;br /&gt;
&lt;br /&gt;
This project is a homebrew 12bit 24KHz homebrew USB soundcard based on a pic 18f2550 and a few Microchip analog parts.&lt;br /&gt;
The project is based on the Microchip USB framework, but the core audio processing is written from scratch.&lt;br /&gt;
The card is a duel Audio 1.0 + generic interface composite device with the generic interface being handled by WinUSB. &lt;br /&gt;
The schematic, card firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfmodem.html PINGPONG-CDC : A Homebrew USB FHSS RF Modem ] ==&lt;br /&gt;
&lt;br /&gt;
The PINGPONG-CDC project is a homebrew USB frequency hopping spread spectrum RF modem ([[FHSS]]).  The modem is based on the Microchip 18F2550 and the Semtec XE1205 RF module.  The module does not include a MAC or protocol layer.  That is what this project implements.  The project demonstrates how to write a FHSS MAC layer and use USB to interface it with a PC through CDC and WinUSB.&lt;br /&gt;
Since the protocol is not hard-wired, it is easy to change the software to experiment with different protocols.&lt;br /&gt;
A utility for pairing and configuring modems is included.  The schematic, firmware, and host C++ software is provided.&lt;br /&gt;
&lt;br /&gt;
== [http://www.raccoonrezcats.com/rfethernet.html XE1205-RNDIS : FCC Legal Frequency Hopping Spread Spectrum USB Wireless Ethernet ] ==&lt;br /&gt;
&lt;br /&gt;
This is the PINGPONG-CDC project that emulated ethernet through the RNDIS driver in Windows rather then a serial cable replacement. Full source code is provided.&lt;br /&gt;
&lt;br /&gt;
== An acceptable third generation PostScript printer ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ask the Guru: A Third-Generation Printer&amp;quot;&lt;br /&gt;
article by Don Lancaster 1990&lt;br /&gt;
http://www.tinaja.com/glib/guru60.pdf&lt;br /&gt;
lists specifications for&lt;br /&gt;
&amp;quot;An acceptable third generation PostScript printer.&amp;quot;&lt;br /&gt;
Would this be a good &amp;quot;open hardware&amp;quot; project ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== the [[Kestrel]] ==&lt;br /&gt;
&lt;br /&gt;
[http://archives.seul.org/geda/user/Aug-2004/msg00170.html &amp;quot;About the Kestrel&amp;quot;] by Samuel A. Falvo II 2004&lt;br /&gt;
&lt;br /&gt;
''(quote)''&lt;br /&gt;
&lt;br /&gt;
The Kestrel's intended purpose is to be a rational, grass-roots computer &lt;br /&gt;
design employing half-way modern technology, where (quite unlike the PC) *EVERYTHING* is documented openly.&lt;br /&gt;
BUT, not adopting every possible &lt;br /&gt;
technology under the sun just because it exists. ... you'd get the circuit schematics, register-level &lt;br /&gt;
programming information, timing diagrams, and descriptions of the &lt;br /&gt;
ROM-resident OS interfaces ...&lt;br /&gt;
&lt;br /&gt;
The over-arching goals of the project remain the same:&lt;br /&gt;
&lt;br /&gt;
* An open, completely documented architecture, able to be described in a SINGLE BOOK. ...&lt;br /&gt;
&lt;br /&gt;
* Fan-less design, which means, low power, even at the expense of computation speed. ... I'm not aiming for the lowEST power -- but fanless design is critical.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Instant on, (nearly) instant off. ... On the Amiga, you just waited 5 seconds, without touching anything, (that's it) for the disk caches to sync with the volumes, and then you flicked the power switch. End of discussion.  Not so with Windows or Linux.  Anyway, boot-up is way, way more expensive.  It has to check RAM every freaking time ..., it probes the buses and takes its damn sweet time doing it, etc.  AmigaOS did all this in a fraction of a second.  Heck, even just spending 5 seconds is sufficient for me.  But remember that this is added on to the start-up time of the OS you're loading too!  The goal: instant on, instant off.  Trust me -- it really DOES make a difference!&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Lightning fast I/O auto-detection.  If the Amiga can do it with 8MHz processor technology, so can we with 66MHz.  I simply cannot emphasize this enough.&lt;br /&gt;
&lt;br /&gt;
* Relatively easy to build.  Since this is now an advanced kit idea, this isn't nearly as weighted as it used to be.  Nonetheless, it is a goal to strive for.&lt;br /&gt;
&lt;br /&gt;
* Minimum cost. ...&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
The whole purpose is to have FUN with this computer -- to have fun &lt;br /&gt;
building it, to have fun using it, to have fun expanding it.  Part of &lt;br /&gt;
this fun factor is being able to hack the hardware as much as you can &lt;br /&gt;
hack the software.&lt;br /&gt;
Commodore's IEC bus, HP's HP-IL, and Amiga's Zorro &lt;br /&gt;
bus are all inspirations here.&lt;br /&gt;
...&lt;br /&gt;
it wasn't hard to build a Zorro &lt;br /&gt;
card that fully interoperated with the system, you didn't need to be &lt;br /&gt;
registered with anyone but Commodore (and they gave away mfr IDs for &lt;br /&gt;
FREE), and full hardware interface details were available in the Amiga &lt;br /&gt;
HRM for a cost of $29.99 US.  It was bliss.&lt;br /&gt;
&lt;br /&gt;
* Everything is LGPLed.  So if you DID want to include PCI slots or whatever, please feel free!!  Just because it's not my personal priority with the system doesn't mean it's not someone else's.  This is the beauty of open source and, indeed, [[open hardware]].&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* Support for new business opportunities. ...  This ties into the prime goal of this whole thing, which is,&lt;br /&gt;
&lt;br /&gt;
* The creation of a vibrant and healthy user and developer community, capable of supporting itself on both software AND hardware fronts.&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
''(end quote)''&lt;br /&gt;
&lt;br /&gt;
A more up-to-date description of&lt;br /&gt;
[http://falvotech.com/content/kestrel/ The Kestrel Project].&lt;br /&gt;
(several other pages on the Kestrel project nearby).&lt;br /&gt;
&lt;br /&gt;
== [[astronomy]] ==&lt;br /&gt;
A variety of &amp;quot;open&amp;quot; tools for optical and radio astronomy.&lt;br /&gt;
&lt;br /&gt;
== flash downloaders ==&lt;br /&gt;
Many people have published open-hardware schematics for downloading programs into the flash of various microcontrollers. [http://m8cutils.sourceforge.net/ m8cprogs for Cypress PSoC], [http://techref.massmind.org/techref/devprogs.htm various flash downloaders for Microchip PIC], etc.&lt;br /&gt;
&lt;br /&gt;
== [[WikiNode]] ==&lt;br /&gt;
The WikiNode project tries to link every wiki in the world together.&lt;br /&gt;
Our &amp;quot;[[WikiNode]]&amp;quot; links to closely-related wiki (and their WikiNode links back).&lt;br /&gt;
&lt;br /&gt;
If you want to talk about something that is not quite on-topic here at Open Circuits&lt;br /&gt;
(say, &amp;quot;desktop PC case modding&amp;quot;, or &amp;quot;embedded Linux programming&amp;quot;), our WikiNode helps you find another wiki where people love to talk about that exact topic.&lt;br /&gt;
The corresponding WikiNode on each of those wiki helps people who want to talk about &amp;quot;open hardware&amp;quot; to discover this wiki.&lt;br /&gt;
&lt;br /&gt;
== arm7-oled-clock ==&lt;br /&gt;
&lt;br /&gt;
arm7-oled-clock is a clock hardware/software project for a clock with a graphic organic led display running on an atmel arm7 microcontroller.&lt;br /&gt;
&lt;br /&gt;
Here is the [http://code.google.com/p/arm7-oled-clock/ arm7-oled-clock's project page on google code].&lt;br /&gt;
&lt;br /&gt;
== Sun SPOTs ==&lt;br /&gt;
&lt;br /&gt;
[http://www.sun.com/ Sun Microsystems] has open sourced both hardware and software for the [http://research.sun.com/ Sun Microsystem Laboratories] Sun SPOT (Small Programmable Object Technology) Wireless Sensor Network. &lt;br /&gt;
&lt;br /&gt;
This Java-based system is an ARM920T 180MHz processor, 4Mbyte Flash, 512Kbyte pSRAM and  802.15.4 radio transceiver (TI CC2420). See the [http://www.sunspotworld.com/ Sun SPOT World] website for more information. We also have an active [https://www.sunspotworld.com/forums/ forum].&lt;br /&gt;
&lt;br /&gt;
The hardware designs can be downloaded from [https://spots-hardware.dev.java.net/ https://spots-hardware.dev.java.net]. The content available for download (subversion) are the schematics (pdf, Altium), bill of materials (Excel), assembly drawings (pdf), fabrication drawings (pdf), PC design files (Altium) and gerber files (RS274X) for these boards.&lt;br /&gt;
&lt;br /&gt;
The boards we have posted are:&lt;br /&gt;
* eDemo: Demonstration add-on board for the Sun SPOT. &lt;br /&gt;
* eFlash: MiniSD card reader/writer add on board for Sun SPOT &lt;br /&gt;
* eProto: Prototype board with simple interface to Sun SPOT &lt;br /&gt;
* eProtomega: eSPOT Prototyping board with Atmega88 processor &lt;br /&gt;
* eSerial: RS232 Serial interface board for the Sun SPOT &lt;br /&gt;
* eUSB-Host: USB host interface to Sun SPOT &lt;br /&gt;
* eDaq: Industrial strength ADC board&lt;br /&gt;
* eBones: Basic interface board application note&lt;br /&gt;
* eSPOT: Main Sun SPOT board&lt;br /&gt;
&lt;br /&gt;
Our wiki for the hardware is [http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware http://wiki.java.net/bin/view/Mobileandembedded/SpotHardware].&lt;br /&gt;
&lt;br /&gt;
SPOTs run Squawk, an open source Java virtual machine (VM). The download (and more information) for Squawk is [https://squawk.dev.java.net/ https://squawk.dev.java.net/]. The SPOT specific libraries can be downloaded from [https://spots-libraries.dev.java.net/ https://spots-libraries.dev.java.net/] along with community applications [https://spots-applications.dev.java.net/ https://spots-applications.dev.java.net/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Lists of Semi-Open Projects ==&lt;br /&gt;
&lt;br /&gt;
* UHF FM BUG with ButtonCell battery ( http://www.elektronika.ba/el.sheme/?akc=daj_shemu&amp;amp;idshema=490 ) &amp;quot;This bug is 100% made from an old Nokia GSM phone! It operates at 434 MHz and reception can be achieved on a modified TV tuner or 70cm band HAM radio.&amp;quot;&lt;br /&gt;
* [http://massmind.org/techref/microchip/alternatives.htm microcontroller alternatives] lists a bunch of &amp;quot;small PCBs&amp;quot; (is there a better name?) designed for hacking and prototyping, that already have the processor and a few other super-common things built in ... so you don't have to start *completely* from scratch.&lt;br /&gt;
* [http://thinkcycle.org/ ThinkCycle] &amp;quot;ThinkCycle is a ... non-profit initiative ... supporting distributed collaboration towards design challenges facing underserved communities and the environment. ThinkCycle seeks to create a culture of open source design innovation&amp;quot;&lt;br /&gt;
* Are [http://positron.org/projects/ the Positron projects] &amp;quot;open&amp;quot; enough to be mentioned? I especially liked the [http://positron.org/projects/acrylic_cases/ &amp;quot;Lasercut Acrylic Casebuilding Tutorial&amp;quot; ].&lt;br /&gt;
* Is [http://wiki.vislab.usyd.edu.au/moinwiki/PuckControl/BuildingThePuck the Vislab puck] suitable for this list?&lt;br /&gt;
* [http://massmind.org/techref/piclist/pcbcontest.htm  PICList &amp;amp; JAL_List free PCB contest] &amp;quot;this will encourage people to publish designs and get more good ideas out into the real world for everyone to see.&amp;quot; (So, are these &amp;quot;open&amp;quot; circuits?)&lt;br /&gt;
* http://ePanorama.net/ has a bunch of schematics and a web discussion forum. Are they &amp;quot;open&amp;quot; enough to mention here?&lt;br /&gt;
* &amp;quot;Yet Another One-hand Keyboard&amp;quot; ( http://chordite.com/ ) &amp;quot;The firmware included in the download lets an Atmel AVR '2313 microcontroller interpret chords and talk to a PS/2 port.&amp;quot; -- it's not completely open, but the license allows you to immediately download, for free, lots of technical information and a license to build up to 5 of your own. Building more than 5 requires some sort of payment to license the patent on the hardware configuration. (The software appears to be open source). There seems to be an associated Yahoo mailing list. What is an appropriate way to invite John W. McKown and others on the mailing list to use a wiki such as Open Circuits to maintain a FAQ?&lt;br /&gt;
* [http://www.solorb.com/elect/ FC's Electronic Circuits] ?&lt;br /&gt;
* [http://panvent.blogspot.com/ &amp;quot;Pandemic Ventilator Project&amp;quot;] asks: &amp;quot;Does Open Source Hardware Development Work?&amp;quot;&lt;br /&gt;
* GSM SMS Controllers ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=6 ) &amp;quot;TwoWay Thing (GSM Controller v3) is a device that allows you to control appliances using SMS messages. There are also 4 inputs for connecting sensors so the device will send an alarm SMS or even call you to report an alarm condition. The device draws very little current and is being powered by phone’s battery which is a great thing. Nokia should be constantly charged or supplied with some sort of external power for long term operation.&amp;quot;&lt;br /&gt;
* Phone-call alarm alert ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=7 ) &amp;quot;After programming just supply power to the device. After pressing the button &amp;quot;Pokreni dojavu alarma&amp;quot; it will start to dial (tone or pulse, depending on the jumper setup). When the phone call is succesfully established, the called party should press pound key &amp;quot;#&amp;quot; to stop the device from calling another number or again.&amp;quot;&lt;br /&gt;
* SMS Box ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=9 ) &amp;quot;This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!&amp;quot;&lt;br /&gt;
* GSM alarm alert - call ( http://www.elektronika.ba/projekti/?akc=daj_projekt&amp;amp;idprojekt=5 ) &amp;quot;Alerting alarm over via GSM network&amp;quot;&lt;br /&gt;
* [http://linuxdevices.com/news/NS3871478989.html Bug Labs]: A startup is readying a modular, open source hardware/software system resembling a set of electronic Legos. Nov. 05, 2007 [http://www.buglabs.net/]&lt;br /&gt;
* [http://picflow.sourceforge.net/ PIC flow meter and instrumentation modules]: Sensors, Gauges, Flow meter, data logging, connected by Grundfos Pumps inc. GENIbus over RS485.&lt;br /&gt;
* Raphaël Assénat has [http://raphnet.net/electronique/electronique_en.php posted several electronics projects], including schematics. Several of them involve interfacing various &amp;quot;classic&amp;quot; video game controllers to USB. His [http://raphnet.net/electronique/cid/cid_en.php &amp;quot;Caller Id decoder&amp;quot;] is a nice example of adding just one more feature to something using a minimum of additional electronics.&lt;br /&gt;
&lt;br /&gt;
== [[Other Projects | other project sites or links to projects]] ==&lt;br /&gt;
&lt;br /&gt;
May or may not be open, not much review material here, noted for the record, may be promoted in the future if they are outstanding in any way.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Projects]]&lt;/div&gt;</summary>
		<author><name>203.174.44.218</name></author>
		
	</entry>
</feed>