Browse Source

putting ZMHW modector in main repo

master
Your Name 5 years ago
parent
commit
b26168acdf
259 changed files with 129486 additions and 4 deletions
  1. +1
    -0
      Car_Stereo_Replacement/docs/3.aux
  2. +9
    -3
      Car_Stereo_Replacement/docs/3.log
  3. BIN
      Car_Stereo_Replacement/docs/3.pdf
  4. +6
    -1
      Car_Stereo_Replacement/docs/3.tex
  5. +31
    -0
      Car_Stereo_Replacement/docs/3.tex~
  6. +15
    -0
      ZMHW_Modector/LICENSE
  7. +16
    -0
      ZMHW_Modector/README.md
  8. +533
    -0
      ZMHW_Modector/ZMHW_Modector.ino
  9. BIN
      ZMHW_Modector/ZMHW_Modector.pdf
  10. +1
    -0
      ZMHW_Modector/docs/.~lock.ZMHW_LaserInfrared_Doc10.odt#
  11. +1
    -0
      ZMHW_Modector/docs/.~lock.ZMHW_LaserInfrared_Doc25.odt#
  12. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc.odt
  13. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc1.odt
  14. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc10.odt
  15. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc10b.odt
  16. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc11.odt
  17. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc12.odt
  18. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc13.odt
  19. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc14.odt
  20. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc15.odt
  21. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc16.odt
  22. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc17.odt
  23. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc18.odt
  24. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc19.odt
  25. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc2.odt
  26. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc20.odt
  27. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc21.odt
  28. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc22.odt
  29. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc23.odt
  30. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc24.odt
  31. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc25.odt
  32. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc3.odt
  33. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc4.odt
  34. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc5.odt
  35. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc6.odt
  36. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc7.odt
  37. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc8.odt
  38. BIN
      ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc9.odt
  39. +20
    -0
      ZMHW_Modector/pcb/README.md
  40. +3
    -0
      ZMHW_Modector/pcb/archive/201901/sym-lib-table
  41. +451
    -0
      ZMHW_Modector/pcb/archive/201901/uno-cache.lib
  42. +144
    -0
      ZMHW_Modector/pcb/archive/201901/uno-rescue.lib
  43. +1122
    -0
      ZMHW_Modector/pcb/archive/201901/uno.bak
  44. +2359
    -0
      ZMHW_Modector/pcb/archive/201901/uno.kicad_pcb
  45. +2359
    -0
      ZMHW_Modector/pcb/archive/201901/uno.kicad_pcb-bak
  46. +592
    -0
      ZMHW_Modector/pcb/archive/201901/uno.net
  47. +40
    -0
      ZMHW_Modector/pcb/archive/201901/uno.pro
  48. +1122
    -0
      ZMHW_Modector/pcb/archive/201901/uno.sch
  49. +6
    -0
      ZMHW_Modector/pcb/bom/bom1.csv
  50. BIN
      ZMHW_Modector/pcb/bom/bom1.ods
  51. BIN
      ZMHW_Modector/pcb/documentation/ZMHW_Uno_Doc.pdf
  52. +14
    -0
      ZMHW_Modector/pcb/documentation/docs/start1.tex
  53. +14
    -0
      ZMHW_Modector/pcb/documentation/docs/start2.tex
  54. +29
    -0
      ZMHW_Modector/pcb/documentation/docs/start3.tex
  55. +29
    -0
      ZMHW_Modector/pcb/documentation/docs/start4.tex
  56. +33
    -0
      ZMHW_Modector/pcb/documentation/docs/start5.tex
  57. +35
    -0
      ZMHW_Modector/pcb/documentation/docs/start6.tex
  58. BIN
      ZMHW_Modector/pcb/documentation/movies/DSCN0935.webm
  59. BIN
      ZMHW_Modector/pcb/documentation/pics/3dview.jpg
  60. BIN
      ZMHW_Modector/pcb/documentation/pics/3dview2.jpg
  61. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0930.JPG
  62. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0931.JPG
  63. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0932.JPG
  64. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0936.JPG
  65. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0937.JPG
  66. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0938.JPG
  67. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0939.JPG
  68. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN0999.JPG
  69. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1002.JPG
  70. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1003.JPG
  71. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1004.JPG
  72. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1005.JPG
  73. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1006.JPG
  74. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1007.JPG
  75. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1008.JPG
  76. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1009.JPG
  77. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1010.JPG
  78. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1011.JPG
  79. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1012.JPG
  80. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1013.JPG
  81. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1014.JPG
  82. BIN
      ZMHW_Modector/pcb/documentation/pics/DSCN1015.JPG
  83. BIN
      ZMHW_Modector/pcb/documentation/pics/normal_upright_enc28j60.png
  84. BIN
      ZMHW_Modector/pcb/documentation/pics/schem.jpg
  85. BIN
      ZMHW_Modector/pcb/documentation/pics/upside_down_enc.jpg
  86. +176
    -0
      ZMHW_Modector/pcb/footprints/ARDUINO-101-SHIELD.kicad_mod
  87. +83
    -0
      ZMHW_Modector/pcb/footprints/ARDUINO-101-SHIELD_EASYTOSOLDER_VERS.kicad_mod
  88. +3
    -0
      ZMHW_Modector/pcb/fp-lib-table
  89. BIN
      ZMHW_Modector/pcb/fritzingdiagram/zmhwuno.fzz
  90. BIN
      ZMHW_Modector/pcb/fritzingdiagram/zmhwuno_bb.jpg
  91. +3035
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Cu.gbl
  92. +14
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Fab.gbr
  93. +4421
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Mask.gbs
  94. +15
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Paste.gbp
  95. +15
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.SilkS.gbo
  96. +50
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-Edge.Cuts.gm1
  97. +3253
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Cu.gtl
  98. +1657
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Fab.gbr
  99. +4565
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Mask.gts
  100. +47
    -0
      ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Paste.gtp

+ 1
- 0
Car_Stereo_Replacement/docs/3.aux View File

@ -2,3 +2,4 @@
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}} \@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}} \@writefile{toc}{\contentsline {section}{\numberline {2}Work Log}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}I2C OLED display}{1}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1}I2C OLED display}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Internal AVR Temperature Sensor}{1}}

+ 9
- 3
Car_Stereo_Replacement/docs/3.log View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 28 OCT 2019 01:01
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2019.8.17) 28 OCT 2019 01:39
entering extended mode entering extended mode
restricted \write18 enabled. restricted \write18 enabled.
%&-line parsing enabled. %&-line parsing enabled.
@ -53,13 +53,19 @@ ageMagick package will do the trick for you without any scripting. And runs on
the CLI! Simple as that:[] the CLI! Simple as that:[]
[] []
Overfull \hbox (45.51251pt too wide) in paragraph at lines 28--29
[]\OT1/cmr/m/n/10.95 https://thecavepearlproject.org/2019/02/25/no-parts-temper
ature-measurement-
[]
[1 [1
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./3.aux) ) {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./3.aux) )
Here is how much of TeX's memory you used: Here is how much of TeX's memory you used:
233 strings out of 494945 233 strings out of 494945
2763 string characters out of 6181032 2763 string characters out of 6181032
49564 words of memory out of 5000000
50564 words of memory out of 5000000
3602 multiletter control sequences out of 15000+600000 3602 multiletter control sequences out of 15000+600000
8362 words of font info for 30 fonts, out of 8000000 for 9000 8362 words of font info for 30 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191 14 hyphenation exceptions out of 8191
@ -69,7 +75,7 @@ live/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb>
exmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-di exmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/texmf-di
st/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/font st/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/font
s/type1/public/amsfonts/cm/cmtt10.pfb> s/type1/public/amsfonts/cm/cmtt10.pfb>
Output written on 3.pdf (1 page, 58381 bytes).
Output written on 3.pdf (1 page, 60713 bytes).
PDF statistics: PDF statistics:
24 PDF objects out of 1000 (max. 8388607) 24 PDF objects out of 1000 (max. 8388607)
16 compressed objects within 1 object stream 16 compressed objects within 1 object stream

BIN
Car_Stereo_Replacement/docs/3.pdf View File


+ 6
- 1
Car_Stereo_Replacement/docs/3.tex View File

@ -20,9 +20,14 @@ I'm on Linux here and found that the readily-available ImageMagick package will
convert some_image.png some.image.mono convert some_image.png some.image.mono
\end{verbatim} \end{verbatim}
That's efficient.
That's efficient. But it didn't really work out. Too much work, I don't need it that bad. Have to convert it to something the c compiler can read.
\subsection{Internal AVR Temperature Sensor}
For starters I setup the code to read from the internal temp sensor on the duino. However there is also this:
https://thecavepearlproject.org/2019/02/25/no-parts-temperature-measurement-with-arduino-pro-mini-to-0-005c-or-better/
This would be something to do for more resolution. The built in sensor is not very good, so this above link would be great. Hack a day also covers it.

+ 31
- 0
Car_Stereo_Replacement/docs/3.tex~ View File

@ -0,0 +1,31 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\title{\textbf{Car Stereo Replacement}}
\author{Steak Electronics}
\date{10/27/19}
\begin{document}
\maketitle
\section{Overview}
Replacing a car stereo.
\section{Work Log}
\subsection{I2C OLED display}
Just for fun, I bought an I2C oled display and are going to use it to display something. Notes on this:
Using the adafruit SSD1306 and GFX library (this procedure is well covered in other places), you can load an example sketch and get it running. First thing to change is to remove the Adafruit logo and replace it with my own. Let's do that.
From https://design.goeszen.com/convert-image-for-oled-display.html
\begin{verbatim}
I'm on Linux here and found that the readily-available ImageMagick package will do the trick for you without any scripting. And runs on the CLI! Simple as that:
convert some_image.png some.image.mono
\end{verbatim}
That's efficient.
\end{document}

+ 15
- 0
ZMHW_Modector/LICENSE
File diff suppressed because it is too large
View File


+ 16
- 0
ZMHW_Modector/README.md View File

@ -0,0 +1,16 @@
# ZMHW Modector
A ZMHW Motion Sensor Project Work Log
docs - Information on the modector, and implementation tips
pcb - kicad source, and gerber files for a shield
pics - pictures
resources - notes, and relevant data sheets
testsuite - arduino code to test that your hardware is correctly setup
Arduino code requires UIPEthernet Library.
In recent Arduino IDE:
Manage Libraries - UIPEthernet
Gerbers are labeled with CPU pin of each accessory

+ 533
- 0
ZMHW_Modector/ZMHW_Modector.ino View File

@ -0,0 +1,533 @@
/*
*
* ZoneMinder Hardware Project
*
*
*
* A sensor on an Arduino UNO communicating
* via ethernet to ZMTrigger daemon for ZoneMinder
* CCTV GNU/Linux software.
*
*
*/
/*
* What it does:
* Works with accompanying shield to act as motion sensor
* for Zoneminder via ZMTrigger. Shield is optional but recommended
* as it's easier to build.
*
* Components:
* ENC28J60
* Motion Sensor (Either PIR, or microwave HFS-DC06H)
* Microphone for Loud Noise alarms
* LM35 Temperature Sensor
* RGB Status LED
* Speaker
*
* Power from External 12V supply, not USB!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*
*/
/*
*
*
*
* Directions:
* Use Arduino Uno
* See https://git.steakelectronics.com/adminguy/ZMHW_Project_InfraredDiodeSensor
*
* Connect ENC28J60 using these instructions:
* https://github.com/ntruchsess/arduino_uip
* http://web.archive.org/save/https://create.arduino.cc/projecthub/Sourcery/how-to-connect-the-enc28j60-to-an-arduino-efd0dd
* CS for ENC and UIP library is 10 by default on UNO. Not 8, like that link says.
*
*
*
*
*
*/
#include <UIPEthernet.h>
//#include <EEPROM.h>
//Edit the below values
#define DEBUGMODE 0 // 1 == on. 0 == off.
#define MIC 0 // 1 == on. 0 == off.
#define SICK 0 // set to 1 if using sick sensor (on analog pin)
// sick sensor is a transistor activated photoelectric
// sensor. More details below.
#define NORMALMODECT 1 // For a digital High motion sensor.
/***************Ethernet ENC28J60***************/
//Mac must be unique for each sensor
byte mac[] = { 0xD3, 0x5D, 0xBE, 0xEF, 0xEE, 0x52 };
//Static IP of Arduino
byte ip[] = { 192, 168, 78, 52 };
//IP of ZM Server
byte server[] = { 192, 168, 78, 123 };
//ZM server IP to put in requests.
String host="192.168.78.123";
char* monnum = "14"; //monitor number
char* LOCATIONOFSENSOR = "Bay 1";
#define ZMTRIGGERPORT 6802
#define LISTENPORT 80 // (port 80 is default for HTTP)
/***************Pins***************/
//Digital
#define MODECTPIN 4
#define SPEAKERPIN 6
#define LEDPIN 9
//Analog
#define TEMPPIN A0
#define SICKPIN A1
#define MICROPHONEPIN A2
/***************Variables************/
uint8_t AlarmActive = 0;
char* ZMTriggerMessage = "1234567890123456789012345"; //Initialize this with dummy data
uint8_t TEMPERATUREVALUE = 0;
uint8_t TEMPERATUREVALUE2 = 0;
uint8_t SOUNDVALUE = 0;
uint16_t MODECTVALUE = 0;
/*
ZMTrigger Command to Send
B<id>|B<action>|B<score>|B<cause>|B<text>|B<showtext>
which in this code is:
monnum | onoff + timealarm | score | source
e.g.
2|on+5|100|ZoneAVR||
This will send a command to ZMTrigger.pl to turn monitor #2 ON (alarm state) for five seconds, with a score of 100
and the source of ZoneAVR. The text field, and show text are not setup here.
*/
char* onoff = "on"; //command to send to zmtrigger.
char* timealarm = "10"; //time to set monitor to alarm
char* score = "77"; //score to assign
char* source = "ZMHW"; //source. Add details as needed (e.g. Hallway sensor)
//Do not need to edit below
// Initialize the Ethernet server library
EthernetClient client;
EthernetServer server2 = EthernetServer(LISTENPORT);
/*
void chime(int freq){
tone(SPEAKERPIN, freq, 50);
delay(50);
}
void chimefast(int freq, int fast){
tone(SPEAKERPIN, freq, fast);
delay(fast);
}*/
//timer/interrupt
uint16_t timer1;
uint16_t timer1_counter;
uint8_t debouncetime;
uint8_t first_interrupt = 0;
//timer for debounce
ISR(TIMER1_OVF_vect){
timer1++;
if (first_interrupt == 1 ){
debouncetime++;
}
if (debouncetime > 2) {
first_interrupt = 0;
debouncetime = 0;
AlarmActive = 0;
}
}
void setup()
{
Serial.begin(9600);
Serial.println(F("ZMHW Project"));
Serial.println(F("Motion Sensor"));
//if sick
pinMode(SICKPIN, INPUT);
//if mic
pinMode(MICROPHONEPIN, INPUT);
//if speaker
pinMode(SPEAKERPIN, OUTPUT);
pinMode(MODECTPIN, INPUT);
pinMode(TEMPPIN, INPUT);
//Be careful. This sets Areg to 1.1v!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//Used for LM35.
analogReference(INTERNAL);
Ethernet.begin(mac, ip);
server2.begin();
Serial.print(F("server is at "));
Serial.println(Ethernet.localIP());
//timer 1, setup
//Crystal of Uno is == Mega (16MHz)
//this timer is all bodged up, but doesn't matter, as we only
//need two or three counts between alarms. Not going to fix atm.
//and it works.
//Clear existing registers
TCCR1A = 0;
TCCR1B = 0;
// Set timer1_counter to the correct value for our interrupt interval
//timer1_counter = 10000; // 62500 for one second if using 256 prescaler. can't be over 16 bit value (timer1 is 16bit limited)
//timer1_counter = 10;
//TCNT1 = timer1_counter; // TCNT1 is what we are overflowing on
TCCR1B |= (1 << CS12); // 256 prescaler (divide 16mhz/256 = 62500)
TCCR1B |= 00000101; // https://web.archive.org/web/20170707164930/http://www.avrbeginners.net:80/architecture/timers/timers.html
// search tccr1b
TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt (if goes over timer, interrupt flagged)
//end timer1
sei(); //timer needs interrupts, enable (set) interrupts
//tone(SPEAKERPIN, 1000, 200);
//delay(100);
//tone(SPEAKERPIN, 2000, 200);
//delay(100);
//tone(SPEAKERPIN, 2200, 200);
//delay(100);
}
void loop()
{
//delay(50);
/*****************ANALOG SECTION******************/
//The SICK infrared laser requires a transistor to output
//high or low, but we will cheat and instead, put it through
//a serial diode, and then use the ADC instead of a digital pin
//saves a few seconds to put a diode on the end instead of transistor
//when soldering by hand. Works equally as well. Requires ADC pin.
/*
if (SICK){
MotionSensorRead = analogRead(SICKPIN);
Serial.print("Motion Sensor Value: ");
Serial.println(String(MotionSensorRead));
//Serial.println(String(timer1));
delay(30);
}
*/
//todo: only serial.print temp every 10 or so reads
TEMPERATUREVALUE = analogRead(TEMPPIN);
Serial.print(F("Temperature Value: "));
// See resources. uses 1.1 aref, converts to celcius, then to Fareinheit.
TEMPERATUREVALUE2 = (TEMPERATUREVALUE / 9.31)* 2 + 30;
Serial.println(String(TEMPERATUREVALUE2));
delay(30);
/*
if (MIC){
SOUNDVALUE = analogRead(MICROPHONEPIN);
Serial.print("Sound Value: ");
Serial.println(String(SOUNDVALUE));
delay(30);
}
*/
if (NORMALMODECT){
delay(10);
MODECTVALUE = digitalRead(MODECTPIN);
delay(10);
Serial.print(F("Motion Detector Value (normal): "));
//Serial.println(String(MODECTVALUE));
Serial.println(MODECTVALUE);
delay(30);
}
if(DEBUGMODE){
delay(10);
}
/****************MOTION SENSING****************/
//SICK
//Motion sensing for Sick Photoelectric sensor only
//upon boot, values are around 400 sometimes, so only alert at higher
if(SICK){
if (MODECTVALUE > 500 && AlarmActive == 0){
Serial.println(F("Motion Detected on Sick"));
//firstpacketsend = 0;
cli();
//some of this may be redundant, need to check
AlarmActive = 1;
first_interrupt = 1;
debouncetime = 0;
sei();
//Want the chime to be only noticeable if you know what to listen
//for. Make it a high freq. sound that is easy to miss.
//Resistors to speaker should be high
//chime(13000);
Serial.println("Connecting...");
if (client.connect(server, ZMTRIGGERPORT)) {
//chime(13000);
//beware that the buffer in snprintf is big enough to hold everything
snprintf(ZMTriggerMessage, 56, "%s|%s+%s|%s|%s||", monnum, onoff, timealarm, score, source);
Serial.print(F("the TCP Packet being sent:"));
//Serial.println(String(ZMTriggerMessage));
client.println(String(ZMTriggerMessage)); //required
Serial.println(F("TCP packet sent to ZMTrigger"));
client.stop();
}
else {
//NOTE: If you are not connected to the network
//the device will currently freeze up, and not timeout.
//Need to implement a watchdog.
//If you ARE connected to the network, and server is not available
//then it will timeout.
Serial.println(F("Connection to ZM Server failed"));
/*chime(50);
delay(100);
chime(50);
delay(100);
chime(50);
delay(100);
*/
}
}
}//end sick
//Digital High Motion Sensor
if(NORMALMODECT){
if (MODECTVALUE==HIGH && AlarmActive == 0){
Serial.println(F("Motion Detected on Normal Sensor"));
//firstpacketsend = 0;
cli();
//some of this may be redundant, need to check
AlarmActive = 1;
first_interrupt = 1;
debouncetime = 0;
sei();
//Want the chime to be only noticeable if you know what to listen
//for. Make it a high freq. sound that is easy to miss.
//Resistors to speaker should be high
//chime(13000);
delay(10);
Serial.println(F("Connecting..."));
if (client.connect(server, ZMTRIGGERPORT)) {
//chime(13000);
//delay(10);
//beware that the buffer in snprintf is big enough to hold everything
snprintf(ZMTriggerMessage, 56, "%s|%s+%s|%s|%s||", monnum, onoff, timealarm, score, source);
Serial.print(F("the TCP Packet being sent:"));
Serial.println(String(ZMTriggerMessage));
client.println(String(ZMTriggerMessage)); //required
Serial.println(F("TCP packet sent to ZMTrigger"));
client.stop();
}
else {
//NOTE: If you are not connected to the network
//the device will currently freeze up, and not timeout.
//Need to implement a watchdog.
//If you ARE connected to the network, and server is not available
//then it will timeout.
Serial.println(F("Connection to ZM Server failed"));
/* chime(40);
delay(100);
chime(60);
delay(100);
chime(60);
delay(100);
*/
}
}
MODECTVALUE=LOW;
}//end normal Motion Sensor
//disconnect
if (!client.connected()) {
client.stop();
}
/********************SERVER STATUS PAGE*********************/
/*
* With this, you can logon to the Sensor from your LAN to find
* out just what device this IP address is, in case you happen to
* forget. We can also pull the temperature from this page, and
* populate it to the camera feed, via ZMTrigger, from a server
* side wget.
*/
//Serve Status Page
// listen for incoming clients
EthernetClient client = server2.available();
if (client) {
Serial.println(F("web visitor"));
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
//client.println("Connection: close"); // the connection will be closed after completion of the response
//client.println("Refresh: 5"); // refresh the page automatically every 5 sec
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html><pre>");
client.println("<b>Steak Electronics</b>");
client.println("\"Steak it easy... That is, don't overcook steak\"");
client.println("");
//client.println("<b>IP Address:</b>");
//client.println(Ethernet.localIP());
client.print("Sensor Location:");
client.println(LOCATIONOFSENSOR);
client.print("Type::");
client.println("HFS-DC06H");
client.print("Monitor: ");
client.println(monnum);
client.print("Temp:");
client.println(TEMPERATUREVALUE2);
client.println("</pre></html>");
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
} else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
Serial.println(F("client disconnected"));
}
//write to eeprom if connection failed, and try again upon reboot
//EEPROM.write(EEPROM_RETRY, switch_pressed);
} //end main loop

BIN
ZMHW_Modector/ZMHW_Modector.pdf View File


+ 1
- 0
ZMHW_Modector/docs/.~lock.ZMHW_LaserInfrared_Doc10.odt# View File

@ -0,0 +1 @@
,layoutdev,layoutmach,15.11.2018 01:26,file:///home/layoutdev/.config/libreoffice/4;

+ 1
- 0
ZMHW_Modector/docs/.~lock.ZMHW_LaserInfrared_Doc25.odt# View File

@ -0,0 +1 @@
,layoutdev,layoutmach,01.05.2019 10:47,file:///home/layoutdev/.config/libreoffice/4;

BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc1.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc10.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc10b.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc11.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc12.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc13.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc14.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc15.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc16.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc17.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc18.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc19.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc2.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc20.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc21.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc22.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc23.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc24.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc25.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc3.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc4.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc5.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc6.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc7.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc8.odt View File


BIN
ZMHW_Modector/docs/ZMHW_LaserInfrared_Doc9.odt View File


+ 20
- 0
ZMHW_Modector/pcb/README.md View File

@ -0,0 +1,20 @@
# KiCad Template for Arduino 101 Shield
This is a KiCad template to make it easy to include the Arduino 101 in a project.
It comes with all the design rules to meet the 2-layer OSH Park specs and stackup.
- <a href="http://docs.oshpark.com/services/two-layer/">OSH Park Two Layer Specs</a>
- <a href="http://docs.oshpark.com/design-tools/kicad">OSH Park KiCad Help</a>
- <a href="https://www.arduino.cc/en/Main/ArduinoBoard101">Arduino 101 Product Page</a>
### Instructions
1. Open KiCad.
1. Open Preferences > Configure Paths and note the value of 'KICAD_PTEMPLATES'.
1. <a href="https://github.com/wickerbox/wickerlib/blob/master/templates/arduino-101-shield-template.zip?raw=true">Download the template zip</a> and extract into the location of 'KICAD_PTEMPLATES'.
1. In KiCad, open File > New Project > New Project from Template.
1. Select the location of your new project. The name of the folder will be the name of your project.
1. The templates with folders in the 'KICAD_PTEMPLATES' are listed under 'Portable Templates" tab.
1. Select the template and click 'OK'.
1. Your project now exists, so you can open EESchema and PCBNew and design as usual.

+ 3
- 0
ZMHW_Modector/pcb/archive/201901/sym-lib-table View File

@ -0,0 +1,3 @@
(sym_lib_table
(lib (name uno-rescue)(type Legacy)(uri ${KIPRJMOD}/uno-rescue.lib)(options "")(descr ""))
)

+ 451
- 0
ZMHW_Modector/pcb/archive/201901/uno-cache.lib View File

@ -0,0 +1,451 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# Worldsemi:WS2812
#
DEF Worldsemi:WS2812 LED 0 40 Y Y 1 F N
F0 "LED" 0 -200 50 H V C CNN
F1 "Worldsemi:WS2812" 0 200 50 H V C CNN
F2 "LEDs:LED_WS2812-PLCC6" -100 -300 50 H V C CNN
F3 "" 0 0 50 H V C CNN
ALIAS WS2812
DRAW
S -300 150 300 -150 0 1 10 f
X DOUT 1 400 0 100 L 50 50 1 1 O
X DIN 2 -400 -100 100 R 50 50 1 1 I
X VCC 3 -400 100 100 R 50 50 1 1 W
X VDD 5 -400 0 100 R 50 50 1 1 W
X VSS 6 400 -100 100 L 50 50 1 1 W
ENDDRAW
ENDDEF
#
# conn:CONN_01X01
#
DEF conn:CONN_01X01 P 0 40 Y N 1 F N
F0 "P" 0 100 50 H V C CNN
F1 "conn:CONN_01X01" 100 0 50 V V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
Pin_Header_Straight_1X01
Pin_Header_Angled_1X01
Socket_Strip_Straight_1X01
Socket_Strip_Angled_1X01
$ENDFPLIST
DRAW
S -50 5 10 -5 0 1 0 N
S -50 50 50 -50 0 1 0 N
X P1 1 -200 0 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# conn:CONN_01X02
#
DEF conn:CONN_01X02 P 0 40 Y N 1 F N
F0 "P" 0 150 50 H V C CNN
F1 "conn:CONN_01X02" 100 0 50 V V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
Pin_Header_Straight_1X02
Pin_Header_Angled_1X02
Socket_Strip_Straight_1X02
Socket_Strip_Angled_1X02
$ENDFPLIST
DRAW
S -50 -45 10 -55 0 1 0 N
S -50 55 10 45 0 1 0 N
S -50 100 50 -100 0 1 0 N
X P1 1 -200 50 150 R 50 50 1 1 P
X P2 2 -200 -50 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# conn:CONN_01X03
#
DEF conn:CONN_01X03 P 0 40 Y N 1 F N
F0 "P" 0 200 50 H V C CNN
F1 "conn:CONN_01X03" 100 0 50 V V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
Pin_Header_Straight_1X03
Pin_Header_Angled_1X03
Socket_Strip_Straight_1X03
Socket_Strip_Angled_1X03
$ENDFPLIST
DRAW
S -50 -95 10 -105 0 1 0 N
S -50 5 10 -5 0 1 0 N
S -50 105 10 95 0 1 0 N
S -50 150 50 -150 0 1 0 N
X P1 1 -200 100 150 R 50 50 1 1 P
X P2 2 -200 0 150 R 50 50 1 1 P
X P3 3 -200 -100 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# conn:CONN_01X04
#
DEF conn:CONN_01X04 P 0 40 Y N 1 F N
F0 "P" 0 250 50 H V C CNN
F1 "conn:CONN_01X04" 100 0 50 V V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
Pin_Header_Straight_1X04
Pin_Header_Angled_1X04
Socket_Strip_Straight_1X04
Socket_Strip_Angled_1X04
$ENDFPLIST
DRAW
S -50 -145 10 -155 0 1 0 N
S -50 -45 10 -55 0 1 0 N
S -50 55 10 45 0 1 0 N
S -50 155 10 145 0 1 0 N
S -50 200 50 -200 0 1 0 N
X P1 1 -200 150 150 R 50 50 1 1 P
X P2 2 -200 50 150 R 50 50 1 1 P
X P3 3 -200 -50 150 R 50 50 1 1 P
X P4 4 -200 -150 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# conn:CONN_02X05
#
DEF conn:CONN_02X05 P 0 1 Y N 1 F N
F0 "P" 0 300 50 H V C CNN
F1 "conn:CONN_02X05" 0 -300 50 H V C CNN
F2 "" 0 -1200 50 H V C CNN
F3 "" 0 -1200 50 H V C CNN
$FPLIST
Pin_Header_Straight_2X05
Pin_Header_Angled_2X05
Socket_Strip_Straight_2X05
Socket_Strip_Angled_2X05
$ENDFPLIST
DRAW
S -100 -195 -50 -205 0 1 0 N
S -100 -95 -50 -105 0 1 0 N
S -100 5 -50 -5 0 1 0 N
S -100 105 -50 95 0 1 0 N
S -100 205 -50 195 0 1 0 N
S -100 250 100 -250 0 1 0 N
S 50 -195 100 -205 0 1 0 N
S 50 -95 100 -105 0 1 0 N
S 50 5 100 -5 0 1 0 N
S 50 105 100 95 0 1 0 N
S 50 205 100 195 0 1 0 N
X P1 1 -250 200 150 R 50 50 1 1 P
X P10 10 250 -200 150 L 50 50 1 1 P
X P2 2 250 200 150 L 50 50 1 1 P
X P3 3 -250 100 150 R 50 50 1 1 P
X P4 4 250 100 150 L 50 50 1 1 P
X P5 5 -250 0 150 R 50 50 1 1 P
X P6 6 250 0 150 L 50 50 1 1 P
X P7 7 -250 -100 150 R 50 50 1 1 P
X P8 8 250 -100 150 L 50 50 1 1 P
X P9 9 -250 -200 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# conn:CONN_02X06
#
DEF conn:CONN_02X06 P 0 1 Y N 1 F N
F0 "P" 0 350 50 H V C CNN
F1 "conn:CONN_02X06" 0 -350 50 H V C CNN
F2 "" 0 -1200 50 H V C CNN
F3 "" 0 -1200 50 H V C CNN
$FPLIST
Pin_Header_Straight_2X06
Pin_Header_Angled_2X06
Socket_Strip_Straight_2X06
Socket_Strip_Angled_2X06
$ENDFPLIST
DRAW
S -100 -245 -50 -255 0 1 0 N
S -100 -145 -50 -155 0 1 0 N
S -100 -45 -50 -55 0 1 0 N
S -100 55 -50 45 0 1 0 N
S -100 155 -50 145 0 1 0 N
S -100 255 -50 245 0 1 0 N
S -100 300 100 -300 0 1 0 N
S 50 -245 100 -255 0 1 0 N
S 50 -145 100 -155 0 1 0 N
S 50 -45 100 -55 0 1 0 N
S 50 55 100 45 0 1 0 N
S 50 155 100 145 0 1 0 N
S 50 255 100 245 0 1 0 N
X P1 1 -250 250 150 R 50 50 1 1 P
X P10 10 250 -150 150 L 50 50 1 1 P
X P11 11 -250 -250 150 R 50 50 1 1 P
X P12 12 250 -250 150 L 50 50 1 1 P
X P2 2 250 250 150 L 50 50 1 1 P
X P3 3 -250 150 150 R 50 50 1 1 P
X P4 4 250 150 150 L 50 50 1 1 P
X P5 5 -250 50 150 R 50 50 1 1 P
X P6 6 250 50 150 L 50 50 1 1 P
X P7 7 -250 -50 150 R 50 50 1 1 P
X P8 8 250 -50 150 L 50 50 1 1 P
X P9 9 -250 -150 150 R 50 50 1 1 P
ENDDRAW
ENDDEF
#
# device:C
#
DEF device:C C 0 10 N Y 1 F N
F0 "C" 25 100 50 H V L CNN
F1 "device:C" 25 -100 50 H V L CNN
F2 "" 38 -150 50 H V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
C?
C_????_*
C_????
SMD*_c
Capacitor*
$ENDFPLIST
DRAW
P 2 0 1 20 -80 -30 80 -30 N
P 2 0 1 20 -80 30 80 30 N
X ~ 1 0 150 110 D 50 50 1 1 P
X ~ 2 0 -150 110 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# device:R
#
DEF device:R R 0 0 N Y 1 F N
F0 "R" 80 0 50 V V C CNN
F1 "device:R" 0 0 50 V V C CNN
F2 "" -70 0 50 V V C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
R_*
Resistor_*
$ENDFPLIST
DRAW
S -40 -100 40 100 0 1 10 N
X ~ 1 0 150 50 D 50 50 1 1 P
X ~ 2 0 -150 50 U 50 50 1 1 P
ENDDRAW
ENDDEF
#
# power:+3.3V
#
DEF power:+3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "power:+3.3V" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
ALIAS +3.3V
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power:+5V
#
DEF power:+5V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "power:+5V" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# power:GND
#
DEF power:GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "power:GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# sensors:LM35-D
#
DEF sensors:LM35-D U 0 40 Y Y 1 F N
F0 "U" -250 250 50 H V C CNN
F1 "sensors:LM35-D" 50 250 50 H V L CNN
F2 "Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm" 0 -400 50 H I C CNN
F3 "" 0 0 50 H V C CNN
$FPLIST
SOIC*
$ENDFPLIST
DRAW
A -175 125 25 1 1799 0 1 10 N -150 125 -200 125
C -175 -100 50 0 1 10 F
S -300 200 300 -200 0 1 10 f
S -150 -75 -200 0 0 1 10 F
P 2 0 1 10 -200 25 -175 25 N
P 2 0 1 10 -200 50 -175 50 N
P 2 0 1 10 -200 75 -175 75 N
P 2 0 1 10 -200 100 -175 100 N
P 2 0 1 10 -200 125 -200 0 N
P 2 0 1 10 -200 125 -175 125 N
P 2 0 1 10 -150 125 -150 0 N
X Vout 1 400 0 100 L 50 50 1 1 O
X NC 2 -100 -300 100 U 50 50 1 1 N N
X NC 3 -100 300 100 D 50 50 1 1 N N
X GND 4 0 -300 100 U 50 50 1 1 W
X NC 5 100 -300 100 U 50 50 1 1 N N
X NC 6 200 -300 100 U 50 50 1 1 N N
X NC 7 400 100 100 L 50 50 1 1 N N
X +VS 8 0 300 100 D 50 50 1 1 W
ENDDRAW
ENDDEF
#
# uno-rescue:+3.3V
#
DEF uno-rescue:+3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "uno-rescue:+3.3V" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# uno-rescue:+5V
#
DEF uno-rescue:+5V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "uno-rescue:+5V" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# uno-rescue:ARDUINO-101-SHIELD
#
DEF ~uno-rescue:ARDUINO-101-SHIELD U 0 40 Y N 5 L N
F0 "U" -150 -500 50 H V L CNN
F1 "uno-rescue:ARDUINO-101-SHIELD" -200 -450 50 V I L CNN
F2 "ARDU-101SHIELD" 0 -350 50 H I C CIN
F3 "https://www.adafruit.com/products/3033" 0 0 5 H I C CNN
F4 "ARDU-101SHIELD" 0 -350 50 H I C CIN "Package"
F5 "Arduino" 0 -350 50 H I C CIN "MF_Name"
F6 "UNO R3" 0 -350 50 H I C CIN "MF_PN"
F7 "Adafruit" 0 -350 50 H I C CIN "S1_Name"
F8 "50" 0 -350 50 H I C CIN "S1_PN"
F9 "ARDUINO 101 SHIELD" 0 -350 50 H I C CIN "Description"
F10 "Not Verified" 0 -350 50 H I C CIN "Verified"
DRAW
C 30 150 20 5 0 0 N
T 900 -200 -290 60 0 1 1 POWER Normal 0 C C
T 900 -200 -270 60 0 2 1 ANALOG Normal 0 C C
T 900 -200 -280 60 0 3 1 DIGITAL Normal 0 C C
T 900 -200 -280 60 0 4 1 DIGITAL Normal 0 C C
S -50 450 -150 -450 1 1 0 N
S -50 150 -150 -450 2 1 0 N
S -150 -450 -50 350 3 1 0 N
S -50 550 -150 -450 4 1 0 N
S 150 300 -150 -400 6 1 0 N
X 3.3V 3V3 150 50 200 L 50 50 1 1 w
X 5V 5V 150 -50 200 L 50 50 1 1 W
X GND GND1 150 -150 200 L 50 50 1 1 W
X GND GND2 150 -250 200 L 50 50 1 1 W
X IOREF IO 150 250 200 L 50 50 1 1 W
X NC NC 150 350 200 L 50 50 1 1 N
X RESET RST 150 150 200 L 50 50 1 1 B
X VIN VIN 150 -350 200 L 50 50 1 1 W
X A0 A0 150 100 200 L 50 50 2 1 B
X A1 A1 150 0 200 L 50 50 2 1 B
X A2 A2 150 -100 200 L 50 50 2 1 B
X A3 A3 150 -200 200 L 50 50 2 1 B
X A4 A4 150 -300 200 L 50 50 2 1 B
X A5 A5 150 -400 200 L 50 50 2 1 B
X D0 D0 150 300 200 L 50 50 3 1 B
X D1 D1 150 200 200 L 50 50 3 1 B
X D2 D2 150 100 200 L 50 50 3 1 B
X D3 D3 150 0 200 L 50 50 3 1 B
X D4 D4 150 -100 200 L 50 50 3 1 B
X D5 D5 150 -200 200 L 50 50 3 1 B
X D6 D6 150 -300 200 L 50 50 3 1 B
X D7 D7 150 -400 200 L 50 50 3 1 B
X AREF AREF 150 -200 200 L 50 50 4 1 W
X D10 D10 150 300 200 L 50 50 4 1 B
X D11 D11 150 200 200 L 50 50 4 1 B
X D12 D12 150 100 200 L 50 50 4 1 B
X D13 D13 150 0 200 L 50 50 4 1 B
X D8 D8 150 500 200 L 50 50 4 1 B
X D9 D9 150 400 200 L 50 50 4 1 B
X GND GND3 150 -100 200 L 50 50 4 1 W
X SCL SCL 150 -400 200 L 50 50 4 1 B
X SDA SDA 150 -300 200 L 50 50 4 1 B
X ~ 1 30 0 130 U 50 50 5 1 N
X MISO 1 350 0 200 L 50 50 6 1 W
X VCC 2 350 200 200 L 50 50 6 1 W
X SCK 3 350 100 200 L 50 50 6 1 W
X MOSI 4 350 -100 200 L 50 50 6 1 W
X RESET 5 350 -200 200 L 50 50 6 1 W
X GND 6 350 -300 200 L 50 50 6 1 W
ENDDRAW
ENDDEF
#
# uno-rescue:GND
#
DEF uno-rescue:GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "uno-rescue:GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# uno-rescue:IOREF
#
DEF uno-rescue:IOREF #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "uno-rescue:IOREF" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X IOREF 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# uno-rescue:VIN
#
DEF uno-rescue:VIN #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "uno-rescue:VIN" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X VIN 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
#End Library

+ 144
- 0
ZMHW_Modector/pcb/archive/201901/uno-rescue.lib View File

@ -0,0 +1,144 @@
EESchema-LIBRARY Version 2.4
#encoding utf-8
#
# +3.3V
#
DEF +3.3V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "+3.3V" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +3V3 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# +5V
#
DEF +5V #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "+5V" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X +5V 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# ARDUINO-101-SHIELD
#
DEF ~ARDUINO-101-SHIELD U 0 40 Y N 5 L N
F0 "U" -150 -500 50 H V L CNN
F1 "ARDUINO-101-SHIELD" -200 -450 50 V I L CNN
F2 "ARDU-101SHIELD" 0 -350 50 H I C CIN
F3 "https://www.adafruit.com/products/3033" 0 0 5 H I C CNN
F4 "ARDU-101SHIELD" 0 -350 50 H I C CIN "Package"
F5 "Arduino" 0 -350 50 H I C CIN "MF_Name"
F6 "UNO R3" 0 -350 50 H I C CIN "MF_PN"
F7 "Adafruit" 0 -350 50 H I C CIN "S1_Name"
F8 "50" 0 -350 50 H I C CIN "S1_PN"
F9 "ARDUINO 101 SHIELD" 0 -350 50 H I C CIN "Description"
F10 "Not Verified" 0 -350 50 H I C CIN "Verified"
DRAW
C 30 150 20 5 0 0 N
T 900 -200 -290 60 0 1 1 POWER Normal 0 C C
T 900 -200 -270 60 0 2 1 ANALOG Normal 0 C C
T 900 -200 -280 60 0 3 1 DIGITAL Normal 0 C C
T 900 -200 -280 60 0 4 1 DIGITAL Normal 0 C C
S -50 450 -150 -450 1 1 0 N
S -50 150 -150 -450 2 1 0 N
S -150 -450 -50 350 3 1 0 N
S -50 550 -150 -450 4 1 0 N
S 150 300 -150 -400 6 1 0 N
X 3.3V 3V3 150 50 200 L 50 50 1 1 w
X 5V 5V 150 -50 200 L 50 50 1 1 W
X GND GND1 150 -150 200 L 50 50 1 1 W
X GND GND2 150 -250 200 L 50 50 1 1 W
X IOREF IO 150 250 200 L 50 50 1 1 W
X NC NC 150 350 200 L 50 50 1 1 N
X RESET RST 150 150 200 L 50 50 1 1 B
X VIN VIN 150 -350 200 L 50 50 1 1 W
X A0 A0 150 100 200 L 50 50 2 1 B
X A1 A1 150 0 200 L 50 50 2 1 B
X A2 A2 150 -100 200 L 50 50 2 1 B
X A3 A3 150 -200 200 L 50 50 2 1 B
X A4 A4 150 -300 200 L 50 50 2 1 B
X A5 A5 150 -400 200 L 50 50 2 1 B
X D0 D0 150 300 200 L 50 50 3 1 B
X D1 D1 150 200 200 L 50 50 3 1 B
X D2 D2 150 100 200 L 50 50 3 1 B
X D3 D3 150 0 200 L 50 50 3 1 B
X D4 D4 150 -100 200 L 50 50 3 1 B
X D5 D5 150 -200 200 L 50 50 3 1 B
X D6 D6 150 -300 200 L 50 50 3 1 B
X D7 D7 150 -400 200 L 50 50 3 1 B
X AREF AREF 150 -200 200 L 50 50 4 1 W
X D10 D10 150 300 200 L 50 50 4 1 B
X D11 D11 150 200 200 L 50 50 4 1 B
X D12 D12 150 100 200 L 50 50 4 1 B
X D13 D13 150 0 200 L 50 50 4 1 B
X D8 D8 150 500 200 L 50 50 4 1 B
X D9 D9 150 400 200 L 50 50 4 1 B
X GND GND3 150 -100 200 L 50 50 4 1 W
X SCL SCL 150 -400 200 L 50 50 4 1 B
X SDA SDA 150 -300 200 L 50 50 4 1 B
X ~ 1 30 0 130 U 50 50 5 1 N
X MISO 1 350 0 200 L 50 50 6 1 W
X VCC 2 350 200 200 L 50 50 6 1 W
X SCK 3 350 100 200 L 50 50 6 1 W
X MOSI 4 350 -100 200 L 50 50 6 1 W
X RESET 5 350 -200 200 L 50 50 6 1 W
X GND 6 350 -300 200 L 50 50 6 1 W
ENDDRAW
ENDDEF
#
# GND
#
DEF GND #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -250 50 H I C CNN
F1 "GND" 0 -150 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
X GND 1 0 0 0 D 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# IOREF
#
DEF IOREF #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "IOREF" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X IOREF 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
# VIN
#
DEF VIN #PWR 0 0 Y Y 1 F P
F0 "#PWR" 0 -150 50 H I C CNN
F1 "VIN" 0 140 50 H V C CNN
F2 "" 0 0 50 H V C CNN
F3 "" 0 0 50 H V C CNN
DRAW
P 2 0 1 0 -30 50 0 100 N
P 2 0 1 0 0 0 0 100 N
P 2 0 1 0 0 100 30 50 N
X VIN 1 0 0 0 U 50 50 1 1 W N
ENDDRAW
ENDDEF
#
#End Library

+ 1122
- 0
ZMHW_Modector/pcb/archive/201901/uno.bak
File diff suppressed because it is too large
View File


+ 2359
- 0
ZMHW_Modector/pcb/archive/201901/uno.kicad_pcb
File diff suppressed because it is too large
View File


+ 2359
- 0
ZMHW_Modector/pcb/archive/201901/uno.kicad_pcb-bak
File diff suppressed because it is too large
View File


+ 592
- 0
ZMHW_Modector/pcb/archive/201901/uno.net View File

@ -0,0 +1,592 @@
(export (version D)
(design
(source /home/layoutdev/Desktop/code/documentation_general/zmhw_arduino_shields/uno/uno.sch)
(date "Sun 02 Dec 2018 01:47:52 PM EST")
(tool "Eeschema 5.0.0-rc2")
(sheet (number 1) (name /) (tstamps /)
(title_block
(title "Project Title")
(company "Released under the CERN Open Hardware License v1.2")
(rev 1.0)
(date 2016-05-02)
(source uno.sch)
(comment (number 1) (value "Project based on template adapted by jenner@wickerbox.net"))
(comment (number 2) (value "Original template by Jonathan (poulc13)"))
(comment (number 3) (value ""))
(comment (number 4) (value "")))))
(components
(comp (ref U1)
(value HOLE)
(footprint ARDUINO-MOUNTING-HOLE)
(datasheet https://www.adafruit.com/products/50)
(fields
(field (name Description) "ARDUINO 101")
(field (name MF_Name) Arduino)
(field (name MF_PN) 101)
(field (name S1_Name) Adafruit)
(field (name S1_PN) 50))
(libsource (lib uno-rescue) (part ARDUINO-101-SHIELD))
(sheetpath (names /) (tstamps /))
(tstamp 57282130))
(comp (ref U2)
(value HOLE)
(footprint ARDUINO-MOUNTING-HOLE)
(datasheet https://www.adafruit.com/products/50)
(fields
(field (name Description) "ARDUINO 101")
(field (name MF_Name) Arduino)
(field (name MF_PN) 101)
(field (name Package) ARDU-101SHIELD)
(field (name S1_Name) Adafruit)
(field (name S1_PN) 50)
(field (name Verified) "Not Verified"))
(libsource (lib uno-rescue) (part ARDUINO-101-SHIELD))
(sheetpath (names /) (tstamps /))
(tstamp 57290D61))
(comp (ref U3)
(value HOLE)
(footprint ARDUINO-MOUNTING-HOLE)
(datasheet https://www.adafruit.com/products/50)
(fields
(field (name Description) "ARDUINO 101")
(field (name MF_Name) Arduino)
(field (name MF_PN) 101)
(field (name Package) ARDU-101SHIELD)
(field (name S1_Name) Adafruit)
(field (name S1_PN) 50)
(field (name Verified) "Not Verified"))
(libsource (lib uno-rescue) (part ARDUINO-101-SHIELD))
(sheetpath (names /) (tstamps /))
(tstamp 57290D9E))
(comp (ref U4)
(value HOLE)
(footprint ARDUINO-MOUNTING-HOLE)
(datasheet https://www.adafruit.com/products/50)
(fields
(field (name Description) "ARDUINO 101")
(field (name MF_Name) Arduino)
(field (name MF_PN) 101)
(field (name Package) ARDU-101SHIELD)
(field (name S1_Name) Adafruit)
(field (name S1_PN) 50)
(field (name Verified) "Not Verified"))
(libsource (lib uno-rescue) (part ARDUINO-101-SHIELD))
(sheetpath (names /) (tstamps /))
(tstamp 57290DDB))
(comp (ref U5)
(value ARDUINO-101-SHIELD)
(footprint Wickerlib:ARDUINO-UNO-SHIELD)
(datasheet https://www.adafruit.com/products/3033)
(fields
(field (name Description) "ARDUINO 101 SHIELD")
(field (name MF_Name) Arduino)
(field (name MF_PN) "UNO R3")
(field (name S1_Name) Adafruit)
(field (name S1_PN) 50))
(libsource (lib uno-rescue) (part ARDUINO-101-SHIELD))
(sheetpath (names /) (tstamps /))
(tstamp 572986CB))
(comp (ref P2)
(value CONN_02X05)
(footprint Pin_Headers:Pin_Header_Straight_2x05)
(libsource (lib conn) (part CONN_02X05))
(sheetpath (names /) (tstamps /))
(tstamp 5BEA525E))
(comp (ref P3)
(value CONN_01X02)
(footprint Wire_Pads:SolderWirePad_2x_1-2mmDrill)
(libsource (lib conn) (part CONN_01X02))
(sheetpath (names /) (tstamps /))
(tstamp 5BEA5574))
(comp (ref P4)
(value CONN_01X02)
(footprint Wire_Pads:SolderWirePad_2x_1-2mmDrill)
(libsource (lib conn) (part CONN_01X02))
(sheetpath (names /) (tstamps /))
(tstamp 5BEA5648))
(comp (ref U6)
(value LM35-D)
(footprint Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm)
(datasheet http://www.ti.com/lit/ds/symlink/lm35.pdf)
(libsource (lib sensors) (part LM35-D))
(sheetpath (names /) (tstamps /))
(tstamp 5BEA60EB))
(comp (ref LED1)
(value WS2812)
(footprint LEDs:LED_WS2812-PLCC6)
(datasheet http://www.world-semi.com/uploads/soft/140305/1-140305113P8.pdf)
(libsource (lib Worldsemi) (part WS2812))
(sheetpath (names /) (tstamps /))
(tstamp 5BEA6DDE))
(comp (ref P6)
(value CONN_01X01)
(footprint Pin_Headers:Pin_Header_Straight_1x01)
(libsource (lib conn) (part CONN_01X01))
(sheetpath (names /) (tstamps /))
(tstamp 5BEA8687))
(comp (ref P8)
(value CONN_01X03)
(footprint Pin_Headers:Pin_Header_Straight_1x03)
(libsource (lib conn) (part CONN_01X03))
(sheetpath (names /) (tstamps /))
(tstamp 5BEA8889))
(comp (ref P1)
(value CONN_01X04)
(footprint Pin_Headers:Pin_Header_Straight_1x04)
(libsource (lib conn) (part CONN_01X04))
(sheetpath (names /) (tstamps /))
(tstamp 5BEAFC8B))
(comp (ref P5)
(value CONN_01X04)
(footprint Pin_Headers:Pin_Header_Straight_1x04)
(libsource (lib conn) (part CONN_01X04))
(sheetpath (names /) (tstamps /))
(tstamp 5BEAFD07))
(comp (ref P10)
(value CONN_01X03)
(footprint TO_SOT_Packages_THT:TO-92_Inline_Wide)
(libsource (lib conn) (part CONN_01X03))
(sheetpath (names /) (tstamps /))
(tstamp 5BEB9C02))
(comp (ref P7)
(value CONN_02X06)
(footprint Pin_Headers:Pin_Header_Straight_2x06)
(libsource (lib conn) (part CONN_02X06))
(sheetpath (names /) (tstamps /))
(tstamp 5BEBE683))
(comp (ref P9)
(value CONN_01X03)
(footprint Pin_Headers:Pin_Header_Straight_1x03)
(libsource (lib conn) (part CONN_01X03))
(sheetpath (names /) (tstamps /))
(tstamp 5BEC29FA))
(comp (ref C1)
(value 1uf)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part C))
(sheetpath (names /) (tstamps /))
(tstamp 5BED1B4D))
(comp (ref R1)
(value 470)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5BED53C3))
(comp (ref P11)
(value CONN_01X02)
(footprint Pin_Headers:Pin_Header_Straight_1x02)
(libsource (lib conn) (part CONN_01X02))
(sheetpath (names /) (tstamps /))
(tstamp 5BFFACC3))
(comp (ref P12)
(value CONN_01X02)
(footprint Pin_Headers:Pin_Header_Straight_1x02)
(libsource (lib conn) (part CONN_01X02))
(sheetpath (names /) (tstamps /))
(tstamp 5BFFDEBB))
(comp (ref P13)
(value CONN_01X04)
(footprint Pin_Headers:Pin_Header_Straight_1x04)
(libsource (lib conn) (part CONN_01X04))
(sheetpath (names /) (tstamps /))
(tstamp 5C05D227))
(comp (ref P14)
(value CONN_01X04)
(footprint Pin_Headers:Pin_Header_Straight_1x04)
(libsource (lib conn) (part CONN_01X04))
(sheetpath (names /) (tstamps /))
(tstamp 5C044137))
(comp (ref R2)
(value 10K)
(footprint Resistors_SMD:R_0805_HandSoldering)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 5C04A1C6))
(comp (ref P15)
(value CONN_01X04)
(footprint Pin_Headers:Pin_Header_Straight_1x04)
(libsource (lib conn) (part CONN_01X04))
(sheetpath (names /) (tstamps /))
(tstamp 5C0548DA)))
(libparts
(libpart (lib Worldsemi) (part WS2812S)
(aliases
(alias WS2812))
(description "RGB LED with integrated controller")
(docs http://www.world-semi.com/uploads/soft/140305/1-140305113P8.pdf)
(fields
(field (name Reference) LED)
(field (name Value) WS2812S)
(field (name Footprint) LEDs:LED_WS2812-PLCC6))
(pins
(pin (num 1) (name DOUT) (type output))
(pin (num 2) (name DIN) (type input))
(pin (num 3) (name VCC) (type power_in))
(pin (num 5) (name VDD) (type power_in))
(pin (num 6) (name VSS) (type power_in))))
(libpart (lib conn) (part CONN_01X01)
(description "Connector, single row, 01x01")
(footprints
(fp Pin_Header_Straight_1X01)
(fp Pin_Header_Angled_1X01)
(fp Socket_Strip_Straight_1X01)
(fp Socket_Strip_Angled_1X01))
(fields
(field (name Reference) P)
(field (name Value) CONN_01X01))
(pins
(pin (num 1) (name P1) (type passive))))
(libpart (lib conn) (part CONN_01X02)
(description "Connector, single row, 01x02")
(footprints
(fp Pin_Header_Straight_1X02)
(fp Pin_Header_Angled_1X02)
(fp Socket_Strip_Straight_1X02)
(fp Socket_Strip_Angled_1X02))
(fields
(field (name Reference) P)
(field (name Value) CONN_01X02))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name P2) (type passive))))
(libpart (lib conn) (part CONN_01X03)
(description "Connector, single row, 01x03")
(footprints
(fp Pin_Header_Straight_1X03)
(fp Pin_Header_Angled_1X03)
(fp Socket_Strip_Straight_1X03)
(fp Socket_Strip_Angled_1X03))
(fields
(field (name Reference) P)
(field (name Value) CONN_01X03))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name P2) (type passive))
(pin (num 3) (name P3) (type passive))))
(libpart (lib conn) (part CONN_01X04)
(description "Connector, single row, 01x04")
(footprints
(fp Pin_Header_Straight_1X04)
(fp Pin_Header_Angled_1X04)
(fp Socket_Strip_Straight_1X04)
(fp Socket_Strip_Angled_1X04))
(fields
(field (name Reference) P)
(field (name Value) CONN_01X04))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name P2) (type passive))
(pin (num 3) (name P3) (type passive))
(pin (num 4) (name P4) (type passive))))
(libpart (lib conn) (part CONN_02X05)
(description "Connector, double row, 02x05")
(footprints
(fp Pin_Header_Straight_2X05)
(fp Pin_Header_Angled_2X05)
(fp Socket_Strip_Straight_2X05)
(fp Socket_Strip_Angled_2X05))
(fields
(field (name Reference) P)
(field (name Value) CONN_02X05))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name P2) (type passive))
(pin (num 3) (name P3) (type passive))
(pin (num 4) (name P4) (type passive))
(pin (num 5) (name P5) (type passive))
(pin (num 6) (name P6) (type passive))
(pin (num 7) (name P7) (type passive))
(pin (num 8) (name P8) (type passive))
(pin (num 9) (name P9) (type passive))
(pin (num 10) (name P10) (type passive))))
(libpart (lib conn) (part CONN_02X06)
(description "Connector, double row, 02x06")
(footprints
(fp Pin_Header_Straight_2X06)
(fp Pin_Header_Angled_2X06)
(fp Socket_Strip_Straight_2X06)
(fp Socket_Strip_Angled_2X06))
(fields
(field (name Reference) P)
(field (name Value) CONN_02X06))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name P2) (type passive))
(pin (num 3) (name P3) (type passive))
(pin (num 4) (name P4) (type passive))
(pin (num 5) (name P5) (type passive))
(pin (num 6) (name P6) (type passive))
(pin (num 7) (name P7) (type passive))
(pin (num 8) (name P8) (type passive))
(pin (num 9) (name P9) (type passive))
(pin (num 10) (name P10) (type passive))
(pin (num 11) (name P11) (type passive))
(pin (num 12) (name P12) (type passive))))
(libpart (lib device) (part C)
(description "Unpolarized capacitor")
(footprints
(fp C?)
(fp C_????_*)
(fp C_????)
(fp SMD*_c)
(fp Capacitor*))
(fields
(field (name Reference) C)
(field (name Value) C))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib device) (part R)
(description Resistor)
(footprints
(fp R_*)
(fp Resistor_*))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib sensors) (part LM35-D)
(description "Precision centigrade temperature sensor, SOIC-8 package")
(docs http://www.ti.com/lit/ds/symlink/lm35.pdf)
(footprints
(fp SOIC*))
(fields
(field (name Reference) U)
(field (name Value) LM35-D)
(field (name Footprint) Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm))
(pins
(pin (num 1) (name Vout) (type output))
(pin (num 2) (name NC) (type NotConnected))
(pin (num 3) (name NC) (type NotConnected))
(pin (num 4) (name GND) (type power_in))
(pin (num 5) (name NC) (type NotConnected))
(pin (num 6) (name NC) (type NotConnected))
(pin (num 7) (name NC) (type NotConnected))
(pin (num 8) (name +VS) (type power_in))))
(libpart (lib uno-rescue) (part ARDUINO-101-SHIELD)
(fields
(field (name Reference) U)
(field (name Value) ARDUINO-101-SHIELD)
(field (name Footprint) ARDU-101SHIELD)
(field (name Datasheet) https://www.adafruit.com/products/3033)
(field (name Package) ARDU-101SHIELD)
(field (name MF_Name) Arduino)
(field (name MF_PN) "UNO R3")
(field (name S1_Name) Adafruit)
(field (name S1_PN) 50)
(field (name Description) "ARDUINO 101 SHIELD")
(field (name Verified) "Not Verified"))
(pins
(pin (num 1) (name MISO) (type power_in))
(pin (num 2) (name VCC) (type power_in))
(pin (num 3) (name SCK) (type power_in))
(pin (num 4) (name MOSI) (type power_in))
(pin (num 5) (name RESET) (type power_in))
(pin (num 5V) (name 5V) (type power_in))
(pin (num 6) (name GND) (type power_in))
(pin (num 3V3) (name 3.3V) (type power_out))
(pin (num A0) (name A0) (type BiDi))
(pin (num A1) (name A1) (type BiDi))
(pin (num A2) (name A2) (type BiDi))
(pin (num A3) (name A3) (type BiDi))
(pin (num A4) (name A4) (type BiDi))
(pin (num A5) (name A5) (type BiDi))
(pin (num AREF) (name AREF) (type power_in))
(pin (num D0) (name D0) (type BiDi))
(pin (num D1) (name D1) (type BiDi))
(pin (num D2) (name D2) (type BiDi))
(pin (num D3) (name D3) (type BiDi))
(pin (num D4) (name D4) (type BiDi))
(pin (num D5) (name D5) (type BiDi))
(pin (num D6) (name D6) (type BiDi))
(pin (num D7) (name D7) (type BiDi))
(pin (num D8) (name D8) (type BiDi))
(pin (num D9) (name D9) (type BiDi))
(pin (num D10) (name D10) (type BiDi))
(pin (num D11) (name D11) (type BiDi))
(pin (num D12) (name D12) (type BiDi))
(pin (num D13) (name D13) (type BiDi))
(pin (num GND1) (name GND) (type power_in))
(pin (num GND2) (name GND) (type power_in))
(pin (num GND3) (name GND) (type power_in))
(pin (num IO) (name IOREF) (type power_in))
(pin (num NC) (name NC) (type NotConnected))
(pin (num RST) (name RESET) (type BiDi))
(pin (num SCL) (name SCL) (type BiDi))
(pin (num SDA) (name SDA) (type BiDi))
(pin (num VIN) (name VIN) (type power_in)))))
(libraries
(library (logical Worldsemi)
(uri /usr/share/kicad/library/Worldsemi.lib))
(library (logical conn)
(uri /usr/share/kicad/library/conn.lib))
(library (logical device)
(uri /usr/share/kicad/library/device.lib))
(library (logical sensors)
(uri /usr/share/kicad/library/sensors.lib))
(library (logical uno-rescue)
(uri /home/layoutdev/Desktop/code/documentation_general/zmhw_arduino_shields/uno/uno-rescue.lib)))
(nets
(net (code 1) (name /VCC_Branch)
(node (ref P7) (pin 12))
(node (ref P2) (pin 9))
(node (ref P4) (pin 2))
(node (ref P3) (pin 2)))
(net (code 2) (name GND)
(node (ref P14) (pin 4))
(node (ref U6) (pin 4))
(node (ref P10) (pin 3))
(node (ref P7) (pin 1))
(node (ref P5) (pin 1))
(node (ref P5) (pin 2))
(node (ref P5) (pin 4))
(node (ref P12) (pin 2))
(node (ref C1) (pin 2))
(node (ref P11) (pin 2))
(node (ref P13) (pin 3))
(node (ref U5) (pin GND2))
(node (ref U5) (pin GND1))
(node (ref U5) (pin GND3))
(node (ref P7) (pin 11))
(node (ref P8) (pin 3))
(node (ref P5) (pin 3))
(node (ref P9) (pin 3))
(node (ref LED1) (pin 6))
(node (ref P2) (pin 10)))
(net (code 3) (name /D2)
(node (ref U5) (pin D2))
(node (ref P9) (pin 2)))
(net (code 4) (name +5V)
(node (ref U5) (pin 5V))
(node (ref R2) (pin 1))
(node (ref LED1) (pin 5))
(node (ref C1) (pin 1))
(node (ref LED1) (pin 3))
(node (ref P4) (pin 1))
(node (ref P13) (pin 4))
(node (ref P1) (pin 4))
(node (ref P1) (pin 3))
(node (ref P1) (pin 2))
(node (ref P1) (pin 1))
(node (ref U6) (pin 8))
(node (ref P9) (pin 1))
(node (ref P14) (pin 1))
(node (ref P8) (pin 1))
(node (ref P10) (pin 1)))
(net (code 5) (name /RST)
(node (ref P2) (pin 8))
(node (ref P7) (pin 4)))
(net (code 6) (name /Q3)
(node (ref P7) (pin 2)))
(net (code 7) (name /A0)
(node (ref U6) (pin 1))
(node (ref U5) (pin A0))
(node (ref P10) (pin 2)))
(net (code 8) (name /D7)
(node (ref P14) (pin 2))
(node (ref R2) (pin 2))
(node (ref U5) (pin D7)))
(net (code 9) (name "Net-(P14-Pad3)")
(node (ref P14) (pin 3)))
(net (code 10) (name +3V3)
(node (ref U5) (pin 3V3))
(node (ref P15) (pin 1))
(node (ref P15) (pin 4))
(node (ref P15) (pin 3))
(node (ref P3) (pin 1))
(node (ref P15) (pin 2)))
(net (code 11) (name /D11)
(node (ref U5) (pin D11))
(node (ref P7) (pin 5))
(node (ref P2) (pin 5)))
(net (code 12) (name /D13)
(node (ref P7) (pin 6))
(node (ref U5) (pin D13))
(node (ref P2) (pin 6)))
(net (code 13) (name /D12)
(node (ref U5) (pin D12))
(node (ref P7) (pin 8))
(node (ref P2) (pin 4)))
(net (code 14) (name /CS)
(node (ref P2) (pin 7))
(node (ref P7) (pin 3))
(node (ref U5) (pin D10)))
(net (code 15) (name /A5)
(node (ref U5) (pin SCL))
(node (ref U5) (pin A5))
(node (ref P13) (pin 2)))
(net (code 16) (name /A4)
(node (ref P13) (pin 1))
(node (ref U5) (pin A4))
(node (ref U5) (pin SDA)))
(net (code 17) (name /D3)
(node (ref P12) (pin 1))
(node (ref U5) (pin D3)))
(net (code 18) (name /A1)
(node (ref P11) (pin 1))
(node (ref U5) (pin A1)))
(net (code 19) (name "Net-(LED1-Pad2)")
(node (ref LED1) (pin 2))
(node (ref R1) (pin 2)))
(net (code 20) (name /D0)
(node (ref U5) (pin D0)))
(net (code 21) (name /D1)
(node (ref U5) (pin D1)))
(net (code 22) (name "Net-(U5-PadNC)")
(node (ref U5) (pin NC)))
(net (code 23) (name /D9)
(node (ref U5) (pin D9)))
(net (code 24) (name /D8)
(node (ref U5) (pin D8)))
(net (code 25) (name /D6)
(node (ref U5) (pin D6)))
(net (code 26) (name /D5)
(node (ref R1) (pin 1))
(node (ref U5) (pin D5)))
(net (code 27) (name /D4)
(node (ref U5) (pin D4))
(node (ref P8) (pin 2)))
(net (code 28) (name VIN)
(node (ref U5) (pin VIN)))
(net (code 29) (name RESET)
(node (ref U5) (pin RST)))
(net (code 30) (name IOREF)
(node (ref U5) (pin IO)))
(net (code 31) (name "Net-(U4-Pad1)")
(node (ref U4) (pin 1)))
(net (code 32) (name "Net-(U3-Pad1)")
(node (ref U3) (pin 1)))
(net (code 33) (name "Net-(U2-Pad1)")
(node (ref U2) (pin 1)))
(net (code 34) (name /A3)
(node (ref U5) (pin A3)))
(net (code 35) (name /A2)
(node (ref U5) (pin A2)))
(net (code 36) (name "Net-(U6-Pad7)")
(node (ref U6) (pin 7)))
(net (code 37) (name "Net-(U6-Pad6)")
(node (ref U6) (pin 6)))
(net (code 38) (name "Net-(U6-Pad5)")
(node (ref U6) (pin 5)))
(net (code 39) (name "Net-(U6-Pad3)")
(node (ref U6) (pin 3)))
(net (code 40) (name "Net-(U6-Pad2)")
(node (ref U6) (pin 2)))
(net (code 41) (name /UNUSED)
(node (ref P6) (pin 1))
(node (ref LED1) (pin 1)))
(net (code 42) (name "Net-(U1-Pad1)")
(node (ref U1) (pin 1)))
(net (code 43) (name /WOL)
(node (ref P7) (pin 7))
(node (ref P2) (pin 3)))
(net (code 44) (name /INT)
(node (ref P7) (pin 10))
(node (ref P2) (pin 2)))
(net (code 45) (name /CLKOUT)
(node (ref P7) (pin 9))
(node (ref P2) (pin 1)))
(net (code 46) (name /AREF)
(node (ref U5) (pin AREF)))))

+ 40
- 0
ZMHW_Modector/pcb/archive/201901/uno.pro View File

@ -0,0 +1,40 @@
update=Mon 12 Nov 2018 10:50:35 PM EST
version=1
last_client=kicad
[cvpcb]
version=1
NetIExt=net
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.016000000000
PcbTextSizeH=1.016000000000
PcbTextThickness=0.152400000000
ModuleTextSizeV=1.016000000000
ModuleTextSizeH=1.016000000000
ModuleTextSizeThickness=0.152400000000
SolderMaskClearance=0.003000000000
SolderMaskMinWidth=0.004000000000
DrawSegmentWidth=0.152400000000
BoardOutlineThickness=0.152400000000
ModuleOutlineThickness=0.152400000000
[schematic_editor]
version=1
PageLayoutDescrFile=
PlotDirectoryName=
SubpartIdSeparator=0
SubpartFirstId=65
NetFmtName=
SpiceForceRefPrefix=0
SpiceUseNetNumbers=0
LabSize=50
[general]
version=1
[eeschema]
version=1
LibDir=

+ 1122
- 0
ZMHW_Modector/pcb/archive/201901/uno.sch
File diff suppressed because it is too large
View File


+ 6
- 0
ZMHW_Modector/pcb/bom/bom1.csv View File

@ -0,0 +1,6 @@
Quantity,Manufacturer Part #,Digikey Part #,Notes
1,COM-11821 ,1568-1800-ND,RGB LED optional
1,LM35DM ,LM35DM-ND,LM35 can be transistor package or soic
1,ERJ-6GEYJ471V,P470ACT-ND ,Resistor 470
1,GCJ21BL81E105KA01L,490-16472-1-ND ,"cap, 1uf or higher"
,,,"you will also need some 0.1” connectors for the board (see ebay) to connect it to arduino, as well as solder, iron, etc."

BIN
ZMHW_Modector/pcb/bom/bom1.ods View File


BIN
ZMHW_Modector/pcb/documentation/ZMHW_Uno_Doc.pdf View File


+ 14
- 0
ZMHW_Modector/pcb/documentation/docs/start1.tex View File

@ -0,0 +1,14 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\title{\textbf{ZMHW Uno Modector}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\section{Goal}
ZoneMinder is a GNU/Linux FOSS CCTV program, and it has the ability to interface with external hardware sensors. I wanted to build a simple, but functional, and practical board to use as a hardware motion detector. Onboard software motion detecting is faulty, and spotty. Transitions from IR to Non-IR, leaves blowing in the wind, bright lights - all these things can cause false alarms. Hardware motion sensors have the potential to mitigate hopefully 100 percent of false alarms, and give the user a reliable alarm and camera monitoring system.
\section{Revision One}
\end{document}

+ 14
- 0
ZMHW_Modector/pcb/documentation/docs/start2.tex View File

@ -0,0 +1,14 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\title{\textbf{ZMHW Uno Modector}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\section{Goal}
ZoneMinder is a GNU/Linux FOSS CCTV program, and it has the ability to interface with external hardware sensors. I wanted to build a simple, but functional, and practical board to use as a hardware motion detector. Onboard software motion detecting is faulty, and spotty. Transitions from IR to Non-IR, leaves blowing in the wind, bright lights - all these things can cause false alarms. Hardware motion sensors have the potential to mitigate hopefully 100 percent of false alarms, and give the user a reliable alarm and camera monitoring system.
\section{Revision One}
It was decided to create the hardware motion detector or modector in a frugal manner, for the average hobbyist, or homeowner to be able to build it. ENC28J60 was used for internet (thus a wired connection), UIPEthernet will be the Arduino Ethernet library (available from library manager), and a microware motion detector was used \footnote {the HFS-DC06H, which is similar in function to the HB100 board, but includes the circuitry needed to give a digital logic high, when motion is detected. Other options are PIR (prone to faulty alarms in sunlight, but works well in dark areas. Additional software programming needed, or a light sensor), Ultrasonic (possibly damaging to animals...), and laser or actually infrared diode sensors such as the Sick sensor (these work well, but can be stepped over).}
\end{document}

+ 29
- 0
ZMHW_Modector/pcb/documentation/docs/start3.tex View File

@ -0,0 +1,29 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\title{\textbf{ZMHW Uno Modector}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\section{Goal}
ZoneMinder is a GNU/Linux FOSS CCTV program, and it has the ability to interface with external hardware sensors. I wanted to build a simple, but functional, and practical board to use as a hardware motion detector. Onboard software motion detecting is faulty, and spotty. Transitions from IR to Non-IR, leaves blowing in the wind, bright lights - all these things can cause false alarms. Hardware motion sensors have the potential to mitigate hopefully 100 percent of false alarms, and give the user a reliable alarm and camera monitoring system.
\section{Revision One}
It was decided to create the hardware motion detector or modector in a frugal manner, for the average hobbyist, or homeowner to be able to build it. ENC28J60 was used for internet (thus a wired connection), UIPEthernet will be the Arduino Ethernet library (available from library manager), and a 5GHz microware motion detector was used. \footnote {the HFS-DC06H, which is similar in function to the HB100 board, but includes the circuitry needed to give a digital logic high, when motion is detected. Other options are PIR (prone to faulty alarms in sunlight, but works well in dark areas. Additional software programming needed, or a light sensor), Ultrasonic (possibly damaging to animals...), and laser or actually infrared diode sensors such as the Sick sensor (these work well, but can be stepped over), among others.}
\includegraphics[scale=0.5]{../pics/schem.jpg}
\captionof{figure}{Revision 1 schematic}
\vspace{0.3in}%line break
The first revision of this board came upon some problems, which were obvious upon soldering the first board. Originally, the board, which is an Arduino shield, was designed to make the assembly process easier. Early prototypes used protoboard, and required about 2 hours for building at least. The shield could be developed in the same amount of time, and then all future builds can be done within 30 minutes. However, the first shield had the first following problems:
\begin{itemize}
\item The ENC modules are designed with headers soldered on, and that makes removal of them quite difficult.
\item Users might want other sensors, and while feature creep is an issue that is to be wary of, I see no reason to throw a few other sensors on the board in a strictly optional sense (use them or not, no matter).
\item In the same idea, a microphone and speaker may be useful.
\end{itemize}
\includegraphics[scale=0.5]{../pics/DSCN0938.JPG}
\captionof{figure}{Proto Rev 1}
\vspace{0.3in}%line break
\end{document}

+ 29
- 0
ZMHW_Modector/pcb/documentation/docs/start4.tex View File

@ -0,0 +1,29 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\title{\textbf{ZMHW Uno Modector}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\section{Goal}
ZoneMinder is a GNU/Linux FOSS CCTV program, and it has the ability to interface with external hardware sensors\footnote {https://wiki.zoneminder.com/ZMTrigger, also read the zmtrigger.pl found on ZoneMinder installations, as well as the official Documentation}. I wanted to build a simple, but functional, and practical board to use as a hardware motion detector. Onboard software motion detecting is faulty, and spotty. Transitions from IR to Non-IR, leaves blowing in the wind, bright lights - all these things can cause false alarms. Hardware motion sensors have the potential to mitigate hopefully 100 percent of false alarms, and give the user a reliable alarm and camera monitoring system.
\section{Revision One}
It was decided to create the hardware motion detector or modector in a frugal manner, for the average hobbyist, or homeowner to be able to build it. ENC28J60 was used for internet (thus a wired connection), UIPEthernet will be the Arduino Ethernet library (available from library manager), and a 5GHz microware motion detector was used. \footnote {the HFS-DC06H, which is similar in function to the HB100 board, but includes the circuitry needed to give a digital logic high, when motion is detected. Other options are PIR (prone to faulty alarms in sunlight, but works well in dark areas. Additional software programming needed, or a light sensor), Ultrasonic (possibly damaging to animals...), and laser or actually infrared diode sensors such as the Sick sensor (these work well, but can be stepped over), among others.}
\includegraphics[scale=0.5]{../pics/schem.jpg}
\captionof{figure}{Revision 1 schematic}
\vspace{0.3in}%line break
The first revision of this board came upon some problems, which were obvious upon soldering the first board. Originally, the board, which is an Arduino shield, was designed to make the assembly process easier. Early prototypes used protoboard, and required about 2 hours for building at least. The shield could be developed in the same amount of time, and then all future builds can be done within 30 minutes. However, the first shield had the first following problems:
\begin{itemize}
\item The ENC modules are designed with headers soldered on, and that makes removal of them quite difficult.
\item Users might want other sensors, and while feature creep is an issue that is to be wary of, I see no reason to throw a few other sensors on the board in a strictly optional sense (use them or not, no matter).
\item In the same idea, a microphone and speaker may be useful.
\end{itemize}
\includegraphics[scale=0.5]{../pics/DSCN0938.JPG}
\captionof{figure}{Proto Rev 1}
\vspace{0.3in}%line break
Being aware of feature creep, I built the new PCBs, and after a few revisions came up with the following shield. \footnote {I also plan to use this for other purposes (anywhere a barometer, temperature, humidity or sound sensor with internet connection is necessary (in my case, connecting to something like thingspeak, or some other self-hosted data server). That is for another project.}
\end{document}

+ 33
- 0
ZMHW_Modector/pcb/documentation/docs/start5.tex View File

@ -0,0 +1,33 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\title{\textbf{ZMHW Uno Modector}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\section{Goal}
ZoneMinder is a GNU/Linux FOSS CCTV program, and it has the ability to interface with external hardware sensors\footnote {https://wiki.zoneminder.com/ZMTrigger, also read the zmtrigger.pl found on ZoneMinder installations, as well as the official Documentation}. I wanted to build a simple, but functional, and practical board to use as a hardware motion detector. Onboard software motion detecting is faulty, and spotty. Transitions from IR to Non-IR, leaves blowing in the wind, bright lights - all these things can cause false alarms. Hardware motion sensors have the potential to mitigate hopefully 100 percent of false alarms, and give the user a reliable alarm and camera monitoring system.
\section{Revision One}
It was decided to create the hardware motion detector or modector in a frugal manner, for the average hobbyist, or homeowner to be able to build it. ENC28J60 was used for internet (thus a wired connection), UIPEthernet will be the Arduino Ethernet library (available from library manager), and a 5GHz microware motion detector was used. \footnote {the HFS-DC06H, which is similar in function to the HB100 board, but includes the circuitry needed to give a digital logic high, when motion is detected. Other options are PIR (prone to faulty alarms in sunlight, but works well in dark areas. Additional software programming needed, or a light sensor), Ultrasonic (possibly damaging to animals...), and laser or actually infrared diode sensors such as the Sick sensor (these work well, but can be stepped over), among others.}
\includegraphics[scale=0.5]{../pics/schem.jpg}
\captionof{figure}{Revision 1 schematic}
\vspace{0.3in}%line break
The first revision of this board came upon some problems, which were obvious upon soldering the first board. Originally, the board, which is an Arduino shield, was designed to make the assembly process easier. Early prototypes used protoboard, and required about 2 hours for building at least. The shield could be developed in the same amount of time, and then all future builds can be done within 30 minutes. However, the first shield had the first following problems:
\begin{itemize}
\item The ENC modules are designed with headers soldered on, and that makes removal of them quite difficult.
\item Users might want other sensors, and while feature creep is an issue that is to be wary of, I see no reason to throw a few other sensors on the board in a strictly optional sense (use them or not, no matter).
\item In the same idea, a microphone and speaker may be useful.
\end{itemize}
\includegraphics[scale=0.5]{../pics/DSCN0938.JPG}
\captionof{figure}{Proto Rev 1}
\vspace{0.3in}%line break
Being aware of feature creep, I built the new PCBs, and after a few revisions came up with the following shield. \footnote {I also plan to use this for other purposes (anywhere a barometer, temperature, humidity or sound sensor with internet connection is necessary (in my case, connecting to something like thingspeak, or some other self-hosted data server). That is for another project.}
\includegraphics[scale=0.3]{../pics/3dview2.jpg}
\captionof{figure}{Proto Rev 1}
\vspace{0.3in}%line break
It remains similar to the original shield, but flipping the ENC28J60 upside down, so that it can be simply put into the 0.1" headers, and soldered, without worrying about desoldering the pins (desoldering the pins is difficult without a hot air gun).
\end{document}

+ 35
- 0
ZMHW_Modector/pcb/documentation/docs/start6.tex View File

@ -0,0 +1,35 @@
\documentclass[11pt]{article}
%Gummi|065|=)
\usepackage{graphicx}
\usepackage{caption}
\title{\textbf{ZMHW Uno Modector}}
\author{Steak Electronics}
\date{}
\begin{document}
\maketitle
\section{Goal}
ZoneMinder is a GNU/Linux FOSS CCTV program, and it has the ability to interface with external hardware sensors\footnote {https://wiki.zoneminder.com/ZMTrigger, also read the zmtrigger.pl found on ZoneMinder installations, as well as the official Documentation}. I wanted to build a simple, but functional, and practical board to use as a hardware motion detector. Onboard software motion detecting is faulty, and spotty. Transitions from IR to Non-IR, leaves blowing in the wind, bright lights - all these things can cause false alarms. Hardware motion sensors have the potential to mitigate hopefully 100 percent of false alarms, and give the user a reliable alarm and camera monitoring system.
\section{Revision One}
It was decided to create the hardware motion detector or modector in a frugal manner, for the average hobbyist, or homeowner to be able to build it. ENC28J60 was used for internet (thus a wired connection), UIPEthernet will be the Arduino Ethernet library (available from library manager), and a 5GHz microware motion detector was used. \footnote {the HFS-DC06H, which is similar in function to the HB100 board, but includes the circuitry needed to give a digital logic high, when motion is detected. Other options are PIR (prone to faulty alarms in sunlight, but works well in dark areas. Additional software programming needed, or a light sensor), Ultrasonic (possibly damaging to animals...), and laser or actually infrared diode sensors such as the Sick sensor (these work well, but can be stepped over), among others.}
\includegraphics[scale=0.5]{../pics/schem.jpg}
\captionof{figure}{Revision 1 schematic}
\vspace{0.3in}%line break
The first revision of this board came upon some problems, which were obvious upon soldering the first board. Originally, the board, which is an Arduino shield, was designed to make the assembly process easier. Early prototypes used protoboard, and required about 2 hours for building at least. The shield could be developed in the same amount of time, and then all future builds can be done within 30 minutes. However, the first shield had the first following problems:
\begin{itemize}
\item The ENC modules are designed with headers soldered on, and that makes removal of them quite difficult.
\item Users might want other sensors, and while feature creep is an issue that is to be wary of, I see no reason to throw a few other sensors on the board in a strictly optional sense (use them or not, no matter).
\item In the same idea, a microphone and speaker may be useful.
\end{itemize}
\includegraphics[scale=0.5]{../pics/DSCN0938.JPG}
\captionof{figure}{Proto Rev 1}
\vspace{0.3in}%line break
Being aware of feature creep, I built the new PCBs, and after a few revisions came up with the following shield. \footnote {I also plan to use this for other purposes (anywhere a barometer, temperature, humidity or sound sensor with internet connection is necessary (in my case, connecting to something like thingspeak, or some other self-hosted data server). That is for another project.}
\includegraphics[scale=0.3]{../pics/3dview2.jpg}
\captionof{figure}{Proto Rev 1}
\vspace{0.3in}%line break
It remains similar to the original shield, but flipping the ENC28J60 upside down, so that it can be simply put into the 0.1" headers, and soldered, without worrying about desoldering the pins (desoldering the pins is difficult without a hot air gun).
\section{Revision Two PCB}
\end{document}

BIN
ZMHW_Modector/pcb/documentation/movies/DSCN0935.webm View File


BIN
ZMHW_Modector/pcb/documentation/pics/3dview.jpg View File

Before After
Width: 518  |  Height: 529  |  Size: 63 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/3dview2.jpg View File

Before After
Width: 492  |  Height: 608  |  Size: 96 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0930.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 153 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0931.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 135 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0932.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 146 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0936.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 131 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0937.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 136 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0938.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 148 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0939.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 155 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN0999.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 143 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1002.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 163 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1003.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 145 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1004.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 189 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1005.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 158 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1006.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 153 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1007.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 146 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1008.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 148 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1009.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 156 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1010.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 146 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1011.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 135 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1012.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 136 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1013.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 136 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1014.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 141 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/DSCN1015.JPG View File

Before After
Width: 800  |  Height: 600  |  Size: 142 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/normal_upright_enc28j60.png View File

Before After
Width: 909  |  Height: 376  |  Size: 9.4 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/schem.jpg View File

Before After
Width: 1005  |  Height: 690  |  Size: 368 KiB

BIN
ZMHW_Modector/pcb/documentation/pics/upside_down_enc.jpg View File

Before After
Width: 1440  |  Height: 869  |  Size: 367 KiB

+ 176
- 0
ZMHW_Modector/pcb/footprints/ARDUINO-101-SHIELD.kicad_mod View File

@ -0,0 +1,176 @@
(module Wickerlib:ARDUINO-101-SHIELD locked (layer F.Cu) (tedit 57283FB2)
(descr "Through hole socket strip")
(tags "socket strip")
(fp_text reference U5 (at 13.97 2.794) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value ARDUINO-101-SHIELD (at 13.97 4.318) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user SCL (at -3.9878 -45.041457 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user AREF (at 1.0414 -44.714885 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user SDA (at -1.4986 -45.023314 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user GND (at 3.5814 -44.9326 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start -5.7912 -46.5074) (end 20.5914 -46.51) (layer F.CrtYd) (width 0.05))
(fp_line (start -5.7912 -49.9872) (end -5.7912 -46.5074) (layer F.CrtYd) (width 0.05))
(fp_line (start 20.5914 -50.01) (end 20.5914 -46.51) (layer F.CrtYd) (width 0.05))
(fp_line (start -5.7912 -49.9872) (end 20.5914 -49.9872) (layer F.CrtYd) (width 0.05))
(fp_text user D13 (at 6.1722 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start -5.4102 -46.99) (end -5.4102 -49.53) (layer F.SilkS) (width 0.15))
(fp_text user D11 (at 11.2014 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 20.0914 -46.99) (end 20.0914 -49.53) (layer F.SilkS) (width 0.15))
(fp_text user D8 (at 18.8214 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D9 (at 16.2814 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start -5.3848 -46.99) (end 20.0914 -46.99) (layer F.SilkS) (width 0.15))
(fp_text user D12 (at 8.6614 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D10 (at 13.7414 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 20.0914 -49.53) (end -5.3848 -49.53) (layer F.SilkS) (width 0.15))
(fp_line (start 21.1354 -46.51) (end 42.4354 -46.51) (layer F.CrtYd) (width 0.05))
(fp_line (start 21.1354 -50.01) (end 42.4354 -50.01) (layer F.CrtYd) (width 0.05))
(fp_line (start 42.4354 -50.01) (end 42.4354 -46.51) (layer F.CrtYd) (width 0.05))
(fp_line (start 21.1354 -50.01) (end 21.1354 -46.51) (layer F.CrtYd) (width 0.05))
(fp_text user D3 (at 33.0454 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 21.5138 -46.99) (end 41.9354 -46.99) (layer F.SilkS) (width 0.15))
(fp_text user D7 (at 22.9362 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D6 (at 25.4254 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 21.5138 -46.99) (end 21.5138 -49.53) (layer F.SilkS) (width 0.15))
(fp_text user D5 (at 27.9654 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D4 (at 30.5054 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 41.9354 -49.53) (end 21.5138 -49.53) (layer F.SilkS) (width 0.15))
(fp_text user D1 (at 38.1254 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D0 (at 40.6654 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 41.9354 -46.99) (end 41.9354 -49.53) (layer F.SilkS) (width 0.15))
(fp_text user D2 (at 35.5854 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 26.2154 1.7754) (end 42.4354 1.7754) (layer F.CrtYd) (width 0.05))
(fp_line (start 42.4354 -1.7246) (end 42.4354 1.7754) (layer F.CrtYd) (width 0.05))
(fp_line (start 26.2154 -1.7246) (end 26.2154 1.7754) (layer F.CrtYd) (width 0.05))
(fp_line (start 26.2154 -1.7246) (end 42.4354 -1.7246) (layer F.CrtYd) (width 0.05))
(fp_text user A2 (at 33.0454 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 26.5938 1.2954) (end 26.5938 -1.2446) (layer F.SilkS) (width 0.15))
(fp_line (start 26.5938 1.2954) (end 41.9354 1.2954) (layer F.SilkS) (width 0.15))
(fp_text user A1 (at 30.5054 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user A0 (at 27.9654 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user A5 (at 40.6654 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user A3 (at 35.5854 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user A4 (at 38.1254 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 41.9354 1.2954) (end 41.9354 -1.2446) (layer F.SilkS) (width 0.15))
(fp_line (start 41.9354 -1.2446) (end 26.5938 -1.2446) (layer F.SilkS) (width 0.15))
(fp_text user VIN (at 22.86 -2.906486 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user GND (at 20.32 -3.160486 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user GND (at 17.78 -3.160486 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user 5V (at 15.24 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user 3.3V (at 12.7 -3.233057 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user RST (at 10.16 -3.033485 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user IOREF (at 7.62 -3.6322 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 3.7084 1.27) (end 3.7084 -1.27) (layer F.SilkS) (width 0.15))
(fp_line (start 24.13 -1.27) (end 3.7084 -1.27) (layer F.SilkS) (width 0.15))
(fp_line (start 24.13 1.27) (end 24.13 -1.27) (layer F.SilkS) (width 0.15))
(fp_line (start 3.7084 1.27) (end 24.13 1.27) (layer F.SilkS) (width 0.15))
(fp_line (start 3.33 1.75) (end 24.63 1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.33 -1.75) (end 24.63 -1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 24.63 -1.75) (end 24.63 1.75) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.33 -1.75) (end 3.33 1.75) (layer F.CrtYd) (width 0.05))
(fp_text user NC (at 5.1308 -2.779486 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(pad H1 thru_hole circle (at -7.62 -48.2092) (size 1.7272 1.7272) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad SDA thru_hole oval (at -1.4986 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad SCL thru_hole oval (at -4.0386 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad GND3 thru_hole oval (at 3.5814 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad AREF thru_hole oval (at 1.0414 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D10 thru_hole oval (at 13.7414 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D9 thru_hole oval (at 16.2814 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D8 thru_hole oval (at 18.8214 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D11 thru_hole oval (at 11.2014 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D12 thru_hole oval (at 8.6614 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D13 thru_hole oval (at 6.1214 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D2 thru_hole oval (at 35.5854 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D3 thru_hole oval (at 33.0454 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D7 thru_hole oval (at 22.8854 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D6 thru_hole oval (at 25.4254 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D4 thru_hole oval (at 30.5054 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D5 thru_hole oval (at 27.9654 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D0 thru_hole oval (at 40.6654 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D1 thru_hole oval (at 38.1254 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A3 thru_hole oval (at 35.5854 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A4 thru_hole oval (at 38.1254 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A5 thru_hole oval (at 40.6654 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A2 thru_hole oval (at 33.0454 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A1 thru_hole oval (at 30.5054 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A0 thru_hole oval (at 27.9654 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad VIN thru_hole oval (at 22.86 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad GND2 thru_hole oval (at 20.32 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad GND1 thru_hole oval (at 17.78 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 5V thru_hole oval (at 15.24 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 3V3 thru_hole oval (at 12.7 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad RST thru_hole oval (at 10.16 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad IO thru_hole oval (at 7.62 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad NC thru_hole oval (at 5.08 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(model ${KIPRJMOD}/Socket_Arduino_Uno.3dshapes/Socket_header_Arduino_1x08.wrl
(offset (xyz 8.889999866485596 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 180))
)
)

+ 83
- 0
ZMHW_Modector/pcb/footprints/ARDUINO-101-SHIELD_EASYTOSOLDER_VERS.kicad_mod View File

@ -0,0 +1,83 @@
(module Wickerlib:ARDUINO-101-SHIELD locked (layer F.Cu) (tedit 5DC50B3F)
(descr "Through hole socket strip")
(tags "socket strip")
(fp_text reference U5 (at 14.5 -8.5) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value "Easy To Solder Arduino Uno" (at 22.5 -11) (layer F.SilkS) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 20.5914 -50.01) (end 20.5914 -46.51) (layer F.CrtYd) (width 0.05))
(fp_text user D13 (at 6.1722 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D11 (at 11.2014 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 20.0914 -46.99) (end 20.0914 -49.53) (layer F.SilkS) (width 0.15))
(fp_text user D8 (at 18.8214 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D9 (at 16.2814 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D12 (at 8.6614 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user D10 (at 13.7414 -44.987029 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 21.1354 -50.01) (end 21.1354 -46.51) (layer F.CrtYd) (width 0.05))
(fp_text user D7 (at 22.9362 -45.349886 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 21.5138 -46.99) (end 21.5138 -49.53) (layer F.SilkS) (width 0.15))
(fp_line (start 26.2154 -1.7246) (end 26.2154 1.7754) (layer F.CrtYd) (width 0.05))
(fp_text user A2 (at 33.0454 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 26.5938 1.2954) (end 26.5938 -1.2446) (layer F.SilkS) (width 0.15))
(fp_text user A1 (at 30.5054 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user A0 (at 27.9654 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user VIN (at 22.86 -2.906486 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user GND (at 20.32 -3.160486 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user GND (at 17.78 -3.160486 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user 5V (at 15.24 -2.688771 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_text user 3.3V (at 12.7 -3.233057 90) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.1524)))
)
(fp_line (start 24.13 1.27) (end 24.13 -1.27) (layer F.SilkS) (width 0.15))
(fp_line (start 24.63 -1.75) (end 24.63 1.75) (layer F.CrtYd) (width 0.05))
(pad D10 thru_hole oval (at 13.7414 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D9 thru_hole oval (at 16.2814 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D8 thru_hole oval (at 18.8214 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D11 thru_hole oval (at 11.2014 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D12 thru_hole oval (at 8.6614 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D13 thru_hole oval (at 6.1214 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad D7 thru_hole oval (at 22.8854 -48.26) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A2 thru_hole oval (at 33.0454 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A1 thru_hole oval (at 30.5054 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad A0 thru_hole oval (at 27.9654 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad VIN thru_hole oval (at 22.86 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad GND2 thru_hole oval (at 20.32 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad GND1 thru_hole oval (at 17.78 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 5V thru_hole oval (at 15.24 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(pad 3V3 thru_hole oval (at 12.7 0) (size 1.7272 2.032) (drill 1.016) (layers *.Cu *.Mask F.SilkS))
(model ${KIPRJMOD}/Socket_Arduino_Uno.3dshapes/Socket_header_Arduino_1x08.wrl
(offset (xyz 8.889999866485596 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 180))
)
)

+ 3
- 0
ZMHW_Modector/pcb/fp-lib-table View File

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name footprints)(type KiCad)(uri ${KIPRJMOD}/footprints)(options "")(descr ""))
)

BIN
ZMHW_Modector/pcb/fritzingdiagram/zmhwuno.fzz View File


BIN
ZMHW_Modector/pcb/fritzingdiagram/zmhwuno_bb.jpg View File

Before After
Width: 3063  |  Height: 1881  |  Size: 1.1 MiB

+ 3035
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Cu.gbl
File diff suppressed because it is too large
View File


+ 14
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Fab.gbr View File

@ -0,0 +1,14 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.0-rc2*
G04 #@! TF.CreationDate,2018-11-29T01:26:55-05:00*
G04 #@! TF.ProjectId,uno,756E6F2E6B696361645F706362000000,v1.0*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Other,Fab,Bot*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.0-rc2) date Thu Nov 29 01:26:55 2018*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

+ 4421
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Mask.gbs
File diff suppressed because it is too large
View File


+ 15
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.Paste.gbp View File

@ -0,0 +1,15 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.0-rc2*
G04 #@! TF.CreationDate,2018-11-29T01:26:55-05:00*
G04 #@! TF.ProjectId,uno,756E6F2E6B696361645F706362000000,v1.0*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.0-rc2) date Thu Nov 29 01:26:55 2018*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

+ 15
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-B.SilkS.gbo View File

@ -0,0 +1,15 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.0-rc2*
G04 #@! TF.CreationDate,2018-11-29T01:26:55-05:00*
G04 #@! TF.ProjectId,uno,756E6F2E6B696361645F706362000000,v1.0*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.0-rc2) date Thu Nov 29 01:26:55 2018*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

+ 50
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-Edge.Cuts.gm1 View File

@ -0,0 +1,50 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.0-rc2*
G04 #@! TF.CreationDate,2018-11-29T01:26:55-05:00*
G04 #@! TF.ProjectId,uno,756E6F2E6B696361645F706362000000,v1.0*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Profile,NP*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.0-rc2) date Thu Nov 29 01:26:55 2018*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.152400*%
%ADD11C,0.150000*%
G04 APERTURE END LIST*
D10*
X45262800Y-111252000D02*
X44754800Y-111252000D01*
X44754800Y-103022400D02*
X44754800Y-111252000D01*
X45237400Y-111252000D02*
X85344000Y-111252000D01*
X29413200Y-87274400D02*
X44754800Y-103022400D01*
X29413200Y-34544000D02*
X29413200Y-87274400D01*
X87884000Y-33528000D02*
X30429200Y-33528000D01*
X86360000Y-110236000D02*
X86360000Y-108585000D01*
X88900000Y-34544000D02*
X88900000Y-73660000D01*
X86360000Y-110236000D02*
G75*
G02X85344000Y-111252000I-1016000J0D01*
G01*
X87884000Y-33528000D02*
G75*
G02X88900000Y-34544000I0J-1016000D01*
G01*
X29413200Y-34544000D02*
G75*
G02X30429200Y-33528000I1016000J0D01*
G01*
D11*
X88900000Y-106045000D02*
X88900000Y-73279000D01*
X86360000Y-108585000D02*
X88900000Y-106045000D01*
M02*

+ 3253
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Cu.gtl
File diff suppressed because it is too large
View File


+ 1657
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Fab.gbr
File diff suppressed because it is too large
View File


+ 4565
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Mask.gts
File diff suppressed because it is too large
View File


+ 47
- 0
ZMHW_Modector/pcb/gerbers_rev1.1/uno-F.Paste.gtp View File

@ -0,0 +1,47 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.0.0-rc2*
G04 #@! TF.CreationDate,2018-11-29T01:26:55-05:00*
G04 #@! TF.ProjectId,uno,756E6F2E6B696361645F706362000000,v1.0*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.0.0-rc2) date Thu Nov 29 01:26:55 2018*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10R,1.600000X1.000000*%
%ADD11R,0.600000X1.550000*%
%ADD12R,1.300000X1.500000*%
G04 APERTURE END LIST*
D10*
G04 #@! TO.C,LED1*
X76160000Y-73990000D03*
X76160000Y-72390000D03*
X76160000Y-70790000D03*
X71160000Y-73990000D03*
X71160000Y-72390000D03*
X71160000Y-70790000D03*
G04 #@! TD*
D11*
G04 #@! TO.C,U6*
X71755000Y-89060000D03*
X73025000Y-89060000D03*
X74295000Y-89060000D03*
X75565000Y-89060000D03*
X75565000Y-83660000D03*
X74295000Y-83660000D03*
X73025000Y-83660000D03*
X71755000Y-83660000D03*
G04 #@! TD*
D12*
G04 #@! TO.C,C1*
X78740000Y-69850000D03*
X78740000Y-72550000D03*
G04 #@! TD*
G04 #@! TO.C,R1*
X73660000Y-64690000D03*
X73660000Y-67390000D03*
G04 #@! TD*
M02*

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save