Merge branch 'bake_v2'

PCB v2, new optimized Payload Format, better Beacon Mode
This commit is contained in:
seiichiro 2020-01-26 17:17:10 +01:00
commit 10611e377f
29 changed files with 59390 additions and 47046 deletions

View file

@ -12,7 +12,7 @@ translate([5,43.5,50])rotate(a=[270,0,270]) union() {
translate([9.5,y,-5]) rotate(a=[-45,0,0]) cube(size=[9,0.9,10]);
translate([20,y,-5]) rotate(a=[-45,0,0]) cube(size=[9,0.9,10]);
}
translate([0.55,-1.5,14.5]) cube(size=[37.1,50.5,1]);
translate([0.55,-1.5,14.5]) cube(size=[37.1,51.6,1]);
translate([1,-1.5,15.4]) cube(size=[36,51,1.2]);
translate([-4,-4,16.5]) cube(size=[60,60,2]);
}

File diff suppressed because it is too large Load diff

View file

@ -11,14 +11,21 @@ Project was created using PlatformIO Atmel-AVR Framework
```
function Decoder(bytes, port) {
var decoded = {};
decoded.t = (bytes[0]) | (bytes[1] << 8 ) | (bytes[2] << 16 ) | (bytes[3] << 24)
decoded.t = decoded.t / 100
decoded.p = (bytes[4]) | (bytes[5] << 8 ) | (bytes[6] << 16 ) | (bytes[7] << 24)
decoded.p = decoded.p / 100
decoded.h = (bytes[8]) | (bytes[9] << 8 ) | (bytes[10] << 16 ) | (bytes[11] << 24)
decoded.h = decoded.h / 100
decoded.v = (bytes[12]) | (bytes[13] << 8 ) | (bytes[14] << 16 ) | (bytes[15] << 24)
decoded.v = decoded.v / 1000
// We always have Battery Voltage
decoded.v = (bytes[0] * 20) / 1000.0;
// Temperature (int32_t)
if (bytes.length >= 5)
decoded.t = (bytes[1]) | (bytes[2] << 8 ) | (bytes[3] << 16 ) | (bytes[4] << 24) / 100.0;
// Humidity (int32_t)
if (bytes.length >= 9)
decoded.t = (bytes[5]) | (bytes[6] << 8 ) | (bytes[7] << 16 ) | (bytes[8] << 24) / 100.0;
// Atmospheric Pressure (int32t)
if (bytes.length >= 13)
decoded.t = (bytes[9]) | (bytes[10] << 8 ) | (bytes[11] << 16 ) | (bytes[12] << 24) / 100.0;
return decoded;
}

View file

@ -35,7 +35,7 @@ void LoRaWAN::setKeys(unsigned char NwkSkey[], unsigned char AppSkey[], unsigned
*
*****************************************************************************************
*/
void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx)
void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx, lora_dr_t datarate,unsigned char Frame_Port)
{
//Define variables
unsigned char i;
@ -66,7 +66,6 @@ void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned
111 (0xE0) Proprietary
*/
// Unconfirmed data up
unsigned char Mac_Header = 0x40;
@ -74,12 +73,11 @@ void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned
// unsigned char Mac_Header = 0x80;
unsigned char Frame_Control = 0x00;
unsigned char Frame_Port = 0x01;
//unsigned char Frame_Port = 0x01;
//Encrypt the data
Encrypt_Payload(Data, Data_Length, Frame_Counter_Tx, Direction);
//Build the Radio Package
RFM_Data[0] = Mac_Header;
@ -119,13 +117,12 @@ void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned
//Add MIC length to RFM package length
RFM_Package_Length = RFM_Package_Length + 4;
//Set Lora Datarate
_rfm95->RFM_Set_Datarate(datarate);
//Send Package
_rfm95->RFM_Send_Package(RFM_Data, RFM_Package_Length);
}
/*
Encryption stuff after this line
*/

View file

@ -40,7 +40,7 @@ class LoRaWAN
public:
LoRaWAN(RFM95 &rfm95);
void setKeys(unsigned char NwkSkey[], unsigned char AppSkey[], unsigned char DevAddr[]);
void Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx);
void Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx, lora_dr_t datarate,unsigned char Frame_Port);
private:
RFM95 *_rfm95;

View file

@ -33,6 +33,11 @@ void RFM95::init()
pinMode(_NSS, OUTPUT);
pinMode(_DIO0, INPUT);
// Set default Datarate Config SF7BW125
_sf = 0x74;
_bw = 0x72;
_mc = 0x04;
// NSS for starting and stopping communication with the RFM95 module
digitalWrite(_NSS, HIGH);
@ -147,6 +152,54 @@ unsigned char RFM95::RFM_Read(unsigned char RFM_Address)
return RFM_Data;
}
/*
*****************************************************************************************
* Description : Set Datarate and Spreading Factor
*
* Arguments : datarate Lora Datarate Enum (see RFM95.h)
*****************************************************************************************
*/
void RFM95::RFM_Set_Datarate(lora_dr_t datarate) {
switch(datarate) {
case SF7BW125:
_sf = 0x74;
_bw = 0x72;
_mc = 0x04;
break;
case SF8BW125:
_sf = 0x84;
_bw = 0x72;
_mc = 0x04;
break;
case SF9BW125:
_sf = 0x94;
_bw = 0x72;
_mc = 0x04;
break;
case SF10BW125:
_sf = 0xA4;
_bw = 0x72;
_mc = 0x04;
break;
case SF11BW125:
_sf = 0xB4;
_bw = 0x72;
_mc = 0x0C;
break;
case SF12BW125:
_sf = 0xC4;
_bw = 0x72;
_mc = 0x0C;
break;
default:
_sf = 0x74;
_bw = 0x72;
_mc = 0x04;
break;
}
}
/*
*****************************************************************************************
* Description : Function for sending a package with the RFM
@ -236,9 +289,9 @@ void RFM95::RFM_Send_Package(unsigned char *RFM_Tx_Package, unsigned char Packag
//SF7 BW 125 kHz
RFM_Write(0x1E,0x74); //SF7 CRC On
RFM_Write(0x1D,0x72); //125 kHz 4/5 coding rate explicit header mode
RFM_Write(0x26,0x04); //Low datarate optimization off AGC auto on
RFM_Write(0x1E,_sf); //SF7 CRC On
RFM_Write(0x1D,_bw); //125 kHz 4/5 coding rate explicit header mode
RFM_Write(0x26,_mc); //Low datarate optimization off AGC auto on
//Set IQ to normal values
RFM_Write(0x33,0x27);

View file

@ -12,6 +12,16 @@
#include "Arduino.h"
typedef enum lora_dr
{
SF7BW125,
SF8BW125,
SF9BW125,
SF10BW125,
SF11BW125,
SF12BW125,
} lora_dr_t;
class RFM95
{
public:
@ -20,9 +30,11 @@ class RFM95
void RFM_Write(unsigned char RFM_Address, unsigned char RFM_Data);
unsigned char RFM_Read(unsigned char RFM_Address);
void RFM_Send_Package(unsigned char *RFM_Tx_Package, unsigned char Package_Length);
void RFM_Set_Datarate(lora_dr_t datarate);
private:
int _DIO0;
int _NSS;
unsigned char _sf, _bw, _mc;
};

View file

@ -66,6 +66,7 @@
// Global Variable used for deep sleep
uint16_t sleep_interval;
#ifdef LED_PIN
void blink(uint8_t num) {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, 0);
@ -75,6 +76,7 @@ void blink(uint8_t num) {
}
digitalWrite(LED_PIN, 0);
}
#endif
// Setup Wakeup Interrupt Timer
void init_wdt()
@ -157,28 +159,41 @@ void setup()
void loop()
{
// Without Sensor (Beacon Mode) just send the Battery Voltage
// Create Data Structure for Sensor Data
#ifdef HAS_NO_SENSOR
int32_t data[1];
struct lora_data {
uint8_t bat;
} __attribute__ ((packed)) data;
#elif defined HAS_SHT21
struct lora_data {
uint8_t bat;
int32_t temperature;
int32_t humidity;
} __attribute__ ((packed)) data;
#elif defined HAS_BME280
struct lora_data {
uint8_t bat;
int32_t temperature;
int32_t humidity;
int32_t pressure;
} __attribute__ ((packed)) data;
#endif
// Get Sensor Data
#ifdef HAS_BME280
int32_t data[4] = {0, 0, 0, 0};
sensor.getData(&data[0], &data[1], &data[2]);
sensor.getData(&data.temperature, &data.pressure, &data.humidity);
#endif
#ifdef HAS_SHT21
int32_t data[4] = {0, 0, 0, 0};
data[0] = (int32_t)(sensor.getTemperature()*100);
data[2] = (int32_t)(sensor.getHumidity()*100);
data.temperature = (int32_t)(sensor.getTemperature()*100);
data.humidity = (int32_t)(sensor.getHumidity()*100);
#endif
#ifdef HAS_NO_SENSOR
data[0] = readVcc();
#else
data[3] = readVcc();
#endif
// Add Battery Voltage, 20mv steps, encoded into 1 Byte
uint32_t batv = readVcc();
data.bat = (uint8_t)(batv/20);
if (batv % 20 > 9)
data.bat += 1;
// LED On before Sending
#ifdef LED_PIN
@ -186,13 +201,25 @@ void loop()
#endif
#ifdef RF_LORA
#ifdef HAS_NO_SENSOR
// Send Packet in all 6 SFs for Beacon Mode
unsigned char Frame_Port =0x07;
for (int i = SF7BW125; i<=SF12BW125; i++) {
lora_data tdata = data;
lora.Send_Data((unsigned char *)&tdata, sizeof(tdata), Frame_Counter_Tx, static_cast<lora_dr>(i), Frame_Port);
Frame_Counter_Tx++;
Frame_Port++;
delay(25);
}
#else
// Send LoRa Packet, Increment Frame Counter
lora.Send_Data((unsigned char *)data, sizeof(data), Frame_Counter_Tx);
lora.Send_Data((unsigned char *)&data, sizeof(data), Frame_Counter_Tx, SF7BW125, 0x01);
Frame_Counter_Tx++;
#endif
#endif
#ifdef RF_RFM69
radio.send(RFM69_GATEWAY, data, sizeof(data));
radio.send(RFM69_GATEWAY, &data, sizeof(data));
radio.sleep();
#endif
@ -203,4 +230,4 @@ void loop()
// Sleep until next Measurement
sleep(SLEEP_TIME);
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,552 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.1.5*
G04 #@! TF.CreationDate,2020-01-26T11:39:47+01:00*
G04 #@! TF.ProjectId,LORA_ATTINY84,4c4f5241-5f41-4545-9449-4e5938342e6b,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Soldermask,Bot*
G04 #@! TF.FilePolarity,Negative*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 5.1.5) date 2020-01-26 11:39:47*
%MOMM*%
%LPD*%
G04 APERTURE LIST*
%ADD10C,0.100000*%
G04 APERTURE END LIST*
D10*
G36*
X91638200Y-79544800D02*
G01*
X90186200Y-79544800D01*
X90186200Y-75242800D01*
X91638200Y-75242800D01*
X91638200Y-79544800D01*
G37*
G36*
X85988200Y-79544800D02*
G01*
X84536200Y-79544800D01*
X84536200Y-75242800D01*
X85988200Y-75242800D01*
X85988200Y-79544800D01*
G37*
G36*
X88738200Y-79485400D02*
G01*
X87436200Y-79485400D01*
X87436200Y-77283400D01*
X88738200Y-77283400D01*
X88738200Y-79485400D01*
G37*
G36*
X78914600Y-78937400D02*
G01*
X75212600Y-78937400D01*
X75212600Y-71735400D01*
X78914600Y-71735400D01*
X78914600Y-78937400D01*
G37*
G36*
X90359800Y-73062400D02*
G01*
X88557800Y-73062400D01*
X88557800Y-71260400D01*
X90359800Y-71260400D01*
X90359800Y-73062400D01*
G37*
G36*
X89572312Y-68725327D02*
G01*
X89721612Y-68755024D01*
X89885584Y-68822944D01*
X90033154Y-68921547D01*
X90158653Y-69047046D01*
X90257256Y-69194616D01*
X90325176Y-69358588D01*
X90359800Y-69532659D01*
X90359800Y-69710141D01*
X90325176Y-69884212D01*
X90257256Y-70048184D01*
X90158653Y-70195754D01*
X90033154Y-70321253D01*
X89885584Y-70419856D01*
X89721612Y-70487776D01*
X89572312Y-70517473D01*
X89547542Y-70522400D01*
X89370058Y-70522400D01*
X89345288Y-70517473D01*
X89195988Y-70487776D01*
X89032016Y-70419856D01*
X88884446Y-70321253D01*
X88758947Y-70195754D01*
X88660344Y-70048184D01*
X88592424Y-69884212D01*
X88557800Y-69710141D01*
X88557800Y-69532659D01*
X88592424Y-69358588D01*
X88660344Y-69194616D01*
X88758947Y-69047046D01*
X88884446Y-68921547D01*
X89032016Y-68822944D01*
X89195988Y-68755024D01*
X89345288Y-68725327D01*
X89370058Y-68720400D01*
X89547542Y-68720400D01*
X89572312Y-68725327D01*
G37*
G36*
X89572312Y-66185327D02*
G01*
X89721612Y-66215024D01*
X89885584Y-66282944D01*
X90033154Y-66381547D01*
X90158653Y-66507046D01*
X90257256Y-66654616D01*
X90325176Y-66818588D01*
X90359800Y-66992659D01*
X90359800Y-67170141D01*
X90325176Y-67344212D01*
X90257256Y-67508184D01*
X90158653Y-67655754D01*
X90033154Y-67781253D01*
X89885584Y-67879856D01*
X89721612Y-67947776D01*
X89572312Y-67977473D01*
X89547542Y-67982400D01*
X89370058Y-67982400D01*
X89345288Y-67977473D01*
X89195988Y-67947776D01*
X89032016Y-67879856D01*
X88884446Y-67781253D01*
X88758947Y-67655754D01*
X88660344Y-67508184D01*
X88592424Y-67344212D01*
X88557800Y-67170141D01*
X88557800Y-66992659D01*
X88592424Y-66818588D01*
X88660344Y-66654616D01*
X88758947Y-66507046D01*
X88884446Y-66381547D01*
X89032016Y-66282944D01*
X89195988Y-66215024D01*
X89345288Y-66185327D01*
X89370058Y-66180400D01*
X89547542Y-66180400D01*
X89572312Y-66185327D01*
G37*
G36*
X89572312Y-63645327D02*
G01*
X89721612Y-63675024D01*
X89885584Y-63742944D01*
X90033154Y-63841547D01*
X90158653Y-63967046D01*
X90257256Y-64114616D01*
X90325176Y-64278588D01*
X90359800Y-64452659D01*
X90359800Y-64630141D01*
X90325176Y-64804212D01*
X90257256Y-64968184D01*
X90158653Y-65115754D01*
X90033154Y-65241253D01*
X89885584Y-65339856D01*
X89721612Y-65407776D01*
X89572312Y-65437473D01*
X89547542Y-65442400D01*
X89370058Y-65442400D01*
X89345288Y-65437473D01*
X89195988Y-65407776D01*
X89032016Y-65339856D01*
X88884446Y-65241253D01*
X88758947Y-65115754D01*
X88660344Y-64968184D01*
X88592424Y-64804212D01*
X88557800Y-64630141D01*
X88557800Y-64452659D01*
X88592424Y-64278588D01*
X88660344Y-64114616D01*
X88758947Y-63967046D01*
X88884446Y-63841547D01*
X89032016Y-63742944D01*
X89195988Y-63675024D01*
X89345288Y-63645327D01*
X89370058Y-63640400D01*
X89547542Y-63640400D01*
X89572312Y-63645327D01*
G37*
G36*
X89572312Y-61105327D02*
G01*
X89721612Y-61135024D01*
X89885584Y-61202944D01*
X90033154Y-61301547D01*
X90158653Y-61427046D01*
X90257256Y-61574616D01*
X90325176Y-61738588D01*
X90359800Y-61912659D01*
X90359800Y-62090141D01*
X90325176Y-62264212D01*
X90257256Y-62428184D01*
X90158653Y-62575754D01*
X90033154Y-62701253D01*
X89885584Y-62799856D01*
X89721612Y-62867776D01*
X89572312Y-62897473D01*
X89547542Y-62902400D01*
X89370058Y-62902400D01*
X89345288Y-62897473D01*
X89195988Y-62867776D01*
X89032016Y-62799856D01*
X88884446Y-62701253D01*
X88758947Y-62575754D01*
X88660344Y-62428184D01*
X88592424Y-62264212D01*
X88557800Y-62090141D01*
X88557800Y-61912659D01*
X88592424Y-61738588D01*
X88660344Y-61574616D01*
X88758947Y-61427046D01*
X88884446Y-61301547D01*
X89032016Y-61202944D01*
X89195988Y-61135024D01*
X89345288Y-61105327D01*
X89370058Y-61100400D01*
X89547542Y-61100400D01*
X89572312Y-61105327D01*
G37*
G36*
X89572312Y-58565327D02*
G01*
X89721612Y-58595024D01*
X89885584Y-58662944D01*
X90033154Y-58761547D01*
X90158653Y-58887046D01*
X90257256Y-59034616D01*
X90325176Y-59198588D01*
X90359800Y-59372659D01*
X90359800Y-59550141D01*
X90325176Y-59724212D01*
X90257256Y-59888184D01*
X90158653Y-60035754D01*
X90033154Y-60161253D01*
X89885584Y-60259856D01*
X89721612Y-60327776D01*
X89572312Y-60357473D01*
X89547542Y-60362400D01*
X89370058Y-60362400D01*
X89345288Y-60357473D01*
X89195988Y-60327776D01*
X89032016Y-60259856D01*
X88884446Y-60161253D01*
X88758947Y-60035754D01*
X88660344Y-59888184D01*
X88592424Y-59724212D01*
X88557800Y-59550141D01*
X88557800Y-59372659D01*
X88592424Y-59198588D01*
X88660344Y-59034616D01*
X88758947Y-58887046D01*
X88884446Y-58761547D01*
X89032016Y-58662944D01*
X89195988Y-58595024D01*
X89345288Y-58565327D01*
X89370058Y-58560400D01*
X89547542Y-58560400D01*
X89572312Y-58565327D01*
G37*
G36*
X89572312Y-56025327D02*
G01*
X89721612Y-56055024D01*
X89885584Y-56122944D01*
X90033154Y-56221547D01*
X90158653Y-56347046D01*
X90257256Y-56494616D01*
X90325176Y-56658588D01*
X90359800Y-56832659D01*
X90359800Y-57010141D01*
X90325176Y-57184212D01*
X90257256Y-57348184D01*
X90158653Y-57495754D01*
X90033154Y-57621253D01*
X89885584Y-57719856D01*
X89721612Y-57787776D01*
X89572312Y-57817473D01*
X89547542Y-57822400D01*
X89370058Y-57822400D01*
X89345288Y-57817473D01*
X89195988Y-57787776D01*
X89032016Y-57719856D01*
X88884446Y-57621253D01*
X88758947Y-57495754D01*
X88660344Y-57348184D01*
X88592424Y-57184212D01*
X88557800Y-57010141D01*
X88557800Y-56832659D01*
X88592424Y-56658588D01*
X88660344Y-56494616D01*
X88758947Y-56347046D01*
X88884446Y-56221547D01*
X89032016Y-56122944D01*
X89195988Y-56055024D01*
X89345288Y-56025327D01*
X89370058Y-56020400D01*
X89547542Y-56020400D01*
X89572312Y-56025327D01*
G37*
G36*
X89572312Y-53485327D02*
G01*
X89721612Y-53515024D01*
X89885584Y-53582944D01*
X90033154Y-53681547D01*
X90158653Y-53807046D01*
X90257256Y-53954616D01*
X90325176Y-54118588D01*
X90359800Y-54292659D01*
X90359800Y-54470141D01*
X90325176Y-54644212D01*
X90257256Y-54808184D01*
X90158653Y-54955754D01*
X90033154Y-55081253D01*
X89885584Y-55179856D01*
X89721612Y-55247776D01*
X89572312Y-55277473D01*
X89547542Y-55282400D01*
X89370058Y-55282400D01*
X89345288Y-55277473D01*
X89195988Y-55247776D01*
X89032016Y-55179856D01*
X88884446Y-55081253D01*
X88758947Y-54955754D01*
X88660344Y-54808184D01*
X88592424Y-54644212D01*
X88557800Y-54470141D01*
X88557800Y-54292659D01*
X88592424Y-54118588D01*
X88660344Y-53954616D01*
X88758947Y-53807046D01*
X88884446Y-53681547D01*
X89032016Y-53582944D01*
X89195988Y-53515024D01*
X89345288Y-53485327D01*
X89370058Y-53480400D01*
X89547542Y-53480400D01*
X89572312Y-53485327D01*
G37*
G36*
X78914600Y-54045400D02*
G01*
X75212600Y-54045400D01*
X75212600Y-46843400D01*
X78914600Y-46843400D01*
X78914600Y-54045400D01*
G37*
G36*
X89572312Y-49700727D02*
G01*
X89721612Y-49730424D01*
X89885584Y-49798344D01*
X90033154Y-49896947D01*
X90158653Y-50022446D01*
X90257256Y-50170016D01*
X90325176Y-50333988D01*
X90359800Y-50508059D01*
X90359800Y-50685541D01*
X90325176Y-50859612D01*
X90257256Y-51023584D01*
X90158653Y-51171154D01*
X90033154Y-51296653D01*
X89885584Y-51395256D01*
X89721612Y-51463176D01*
X89572312Y-51492873D01*
X89547542Y-51497800D01*
X89370058Y-51497800D01*
X89345288Y-51492873D01*
X89195988Y-51463176D01*
X89032016Y-51395256D01*
X88884446Y-51296653D01*
X88758947Y-51171154D01*
X88660344Y-51023584D01*
X88592424Y-50859612D01*
X88557800Y-50685541D01*
X88557800Y-50508059D01*
X88592424Y-50333988D01*
X88660344Y-50170016D01*
X88758947Y-50022446D01*
X88884446Y-49896947D01*
X89032016Y-49798344D01*
X89195988Y-49730424D01*
X89345288Y-49700727D01*
X89370058Y-49695800D01*
X89547542Y-49695800D01*
X89572312Y-49700727D01*
G37*
G36*
X87032312Y-49700727D02*
G01*
X87181612Y-49730424D01*
X87345584Y-49798344D01*
X87493154Y-49896947D01*
X87618653Y-50022446D01*
X87717256Y-50170016D01*
X87785176Y-50333988D01*
X87819800Y-50508059D01*
X87819800Y-50685541D01*
X87785176Y-50859612D01*
X87717256Y-51023584D01*
X87618653Y-51171154D01*
X87493154Y-51296653D01*
X87345584Y-51395256D01*
X87181612Y-51463176D01*
X87032312Y-51492873D01*
X87007542Y-51497800D01*
X86830058Y-51497800D01*
X86805288Y-51492873D01*
X86655988Y-51463176D01*
X86492016Y-51395256D01*
X86344446Y-51296653D01*
X86218947Y-51171154D01*
X86120344Y-51023584D01*
X86052424Y-50859612D01*
X86017800Y-50685541D01*
X86017800Y-50508059D01*
X86052424Y-50333988D01*
X86120344Y-50170016D01*
X86218947Y-50022446D01*
X86344446Y-49896947D01*
X86492016Y-49798344D01*
X86655988Y-49730424D01*
X86805288Y-49700727D01*
X86830058Y-49695800D01*
X87007542Y-49695800D01*
X87032312Y-49700727D01*
G37*
G36*
X84492312Y-49700727D02*
G01*
X84641612Y-49730424D01*
X84805584Y-49798344D01*
X84953154Y-49896947D01*
X85078653Y-50022446D01*
X85177256Y-50170016D01*
X85245176Y-50333988D01*
X85279800Y-50508059D01*
X85279800Y-50685541D01*
X85245176Y-50859612D01*
X85177256Y-51023584D01*
X85078653Y-51171154D01*
X84953154Y-51296653D01*
X84805584Y-51395256D01*
X84641612Y-51463176D01*
X84492312Y-51492873D01*
X84467542Y-51497800D01*
X84290058Y-51497800D01*
X84265288Y-51492873D01*
X84115988Y-51463176D01*
X83952016Y-51395256D01*
X83804446Y-51296653D01*
X83678947Y-51171154D01*
X83580344Y-51023584D01*
X83512424Y-50859612D01*
X83477800Y-50685541D01*
X83477800Y-50508059D01*
X83512424Y-50333988D01*
X83580344Y-50170016D01*
X83678947Y-50022446D01*
X83804446Y-49896947D01*
X83952016Y-49798344D01*
X84115988Y-49730424D01*
X84265288Y-49700727D01*
X84290058Y-49695800D01*
X84467542Y-49695800D01*
X84492312Y-49700727D01*
G37*
G36*
X87032312Y-47160727D02*
G01*
X87181612Y-47190424D01*
X87345584Y-47258344D01*
X87493154Y-47356947D01*
X87618653Y-47482446D01*
X87717256Y-47630016D01*
X87785176Y-47793988D01*
X87819800Y-47968059D01*
X87819800Y-48145541D01*
X87785176Y-48319612D01*
X87717256Y-48483584D01*
X87618653Y-48631154D01*
X87493154Y-48756653D01*
X87345584Y-48855256D01*
X87181612Y-48923176D01*
X87032312Y-48952873D01*
X87007542Y-48957800D01*
X86830058Y-48957800D01*
X86805288Y-48952873D01*
X86655988Y-48923176D01*
X86492016Y-48855256D01*
X86344446Y-48756653D01*
X86218947Y-48631154D01*
X86120344Y-48483584D01*
X86052424Y-48319612D01*
X86017800Y-48145541D01*
X86017800Y-47968059D01*
X86052424Y-47793988D01*
X86120344Y-47630016D01*
X86218947Y-47482446D01*
X86344446Y-47356947D01*
X86492016Y-47258344D01*
X86655988Y-47190424D01*
X86805288Y-47160727D01*
X86830058Y-47155800D01*
X87007542Y-47155800D01*
X87032312Y-47160727D01*
G37*
G36*
X90359800Y-48957800D02*
G01*
X88557800Y-48957800D01*
X88557800Y-47155800D01*
X90359800Y-47155800D01*
X90359800Y-48957800D01*
G37*
G36*
X84492312Y-47160727D02*
G01*
X84641612Y-47190424D01*
X84805584Y-47258344D01*
X84953154Y-47356947D01*
X85078653Y-47482446D01*
X85177256Y-47630016D01*
X85245176Y-47793988D01*
X85279800Y-47968059D01*
X85279800Y-48145541D01*
X85245176Y-48319612D01*
X85177256Y-48483584D01*
X85078653Y-48631154D01*
X84953154Y-48756653D01*
X84805584Y-48855256D01*
X84641612Y-48923176D01*
X84492312Y-48952873D01*
X84467542Y-48957800D01*
X84290058Y-48957800D01*
X84265288Y-48952873D01*
X84115988Y-48923176D01*
X83952016Y-48855256D01*
X83804446Y-48756653D01*
X83678947Y-48631154D01*
X83580344Y-48483584D01*
X83512424Y-48319612D01*
X83477800Y-48145541D01*
X83477800Y-47968059D01*
X83512424Y-47793988D01*
X83580344Y-47630016D01*
X83678947Y-47482446D01*
X83804446Y-47356947D01*
X83952016Y-47258344D01*
X84115988Y-47190424D01*
X84265288Y-47160727D01*
X84290058Y-47155800D01*
X84467542Y-47155800D01*
X84492312Y-47160727D01*
G37*
M02*

View file

@ -0,0 +1,22 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.1.5*
G04 #@! TF.CreationDate,2020-01-26T11:39:47+01:00*
G04 #@! TF.ProjectId,LORA_ATTINY84,4c4f5241-5f41-4545-9449-4e5938342e6b,rev?*
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.1.5) date 2020-01-26 11:39:47*
%MOMM*%
%LPD*%
G04 APERTURE LIST*
%ADD10R,3.600000X7.100000*%
%ADD11R,1.350000X4.200000*%
G04 APERTURE END LIST*
D10*
X77063600Y-50444400D03*
X77063600Y-75336400D03*
D11*
X90912200Y-77393800D03*
X85262200Y-77393800D03*
M02*

View file

@ -0,0 +1,87 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.1.5*
G04 #@! TF.CreationDate,2020-01-26T11:39:47+01:00*
G04 #@! TF.ProjectId,LORA_ATTINY84,4c4f5241-5f41-4545-9449-4e5938342e6b,rev?*
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.1.5) date 2020-01-26 11:39:47*
%MOMM*%
%LPD*%
G04 APERTURE LIST*
%ADD10C,0.120000*%
%ADD11C,0.100000*%
G04 APERTURE END LIST*
D10*
X82610960Y-50905160D02*
X82610960Y-48905160D01*
X81591400Y-49916080D02*
X83591400Y-49916080D01*
X68713600Y-74240400D02*
X73213600Y-74240400D01*
X68713600Y-51540400D02*
X73213600Y-51540400D01*
X68713600Y-51540400D02*
X68713600Y-74240400D01*
X73213600Y-77440400D02*
X74763600Y-77440400D01*
X73213600Y-74240400D02*
X73213600Y-77440400D01*
X73213600Y-48340400D02*
X74763600Y-48340400D01*
X73213600Y-51540400D02*
X73213600Y-48340400D01*
X80913600Y-48340400D02*
X79363600Y-48340400D01*
X80913600Y-51540400D02*
X80913600Y-48340400D01*
X85413600Y-53340400D02*
X83613600Y-51540400D01*
X83613600Y-51540400D02*
X80913600Y-51540400D01*
X85413600Y-74240400D02*
X85413600Y-53340400D01*
X85413600Y-74240400D02*
X80913600Y-74240400D01*
X80913600Y-77440400D02*
X79363600Y-77440400D01*
X80913600Y-74240400D02*
X80913600Y-77440400D01*
D11*
X71812028Y-49371257D02*
X71697742Y-49409352D01*
X71659647Y-49447447D01*
X71621552Y-49523638D01*
X71621552Y-49637923D01*
X71659647Y-49714114D01*
X71697742Y-49752209D01*
X71773933Y-49790304D01*
X72078695Y-49790304D01*
X72078695Y-48990304D01*
X71812028Y-48990304D01*
X71735838Y-49028400D01*
X71697742Y-49066495D01*
X71659647Y-49142685D01*
X71659647Y-49218876D01*
X71697742Y-49295066D01*
X71735838Y-49333161D01*
X71812028Y-49371257D01*
X72078695Y-49371257D01*
X71316790Y-49561733D02*
X70935838Y-49561733D01*
X71392980Y-49790304D02*
X71126314Y-48990304D01*
X70859647Y-49790304D01*
X70707266Y-48990304D02*
X70250123Y-48990304D01*
X70478695Y-49790304D02*
X70478695Y-48990304D01*
X69564409Y-49790304D02*
X70021552Y-49790304D01*
X69792980Y-49790304D02*
X69792980Y-48990304D01*
X69869171Y-49104590D01*
X69945361Y-49180780D01*
X70021552Y-49218876D01*
M02*

View file

@ -0,0 +1,31 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,5.1.5*
G04 #@! TF.CreationDate,2020-01-26T11:39:47+01:00*
G04 #@! TF.ProjectId,LORA_ATTINY84,4c4f5241-5f41-4545-9449-4e5938342e6b,rev?*
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.1.5) date 2020-01-26 11:39:47*
%MOMM*%
%LPD*%
G04 APERTURE LIST*
%ADD10C,0.050000*%
G04 APERTURE END LIST*
D10*
X92075000Y-79476600D02*
X66065400Y-79476600D01*
X66040000Y-45745400D02*
X66040000Y-45897800D01*
X92100400Y-45745400D02*
X66040000Y-45745400D01*
X92100400Y-45872400D02*
X92100400Y-45745400D01*
X66040000Y-45897800D02*
X66040000Y-46228000D01*
X92100400Y-46228000D02*
X92100400Y-45872400D01*
X92100400Y-46228000D02*
X92075000Y-79476600D01*
X66040000Y-46228000D02*
X66065400Y-79476600D01*
M02*

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,217 @@
%!PS-Adobe-3.0
%%Creator: PCBNEW
%%CreationDate: Thu Jan 23 21:18:14 2020
%%Title: /data/Git/IOT/tinylora/PCB_SMD/Gerber_V2/LORA_ATTINY84-NPTH-drl_map.ps
%%Pages: 1
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentMedia: A4 595 842 0 () ()
%%Orientation: Landscape
%%EndComments
%%BeginProlog
/line { newpath moveto lineto stroke } bind def
/cir0 { newpath 0 360 arc stroke } bind def
/cir1 { newpath 0 360 arc gsave fill grestore stroke } bind def
/cir2 { newpath 0 360 arc gsave fill grestore stroke } bind def
/arc0 { newpath arc stroke } bind def
/arc1 { newpath 4 index 4 index moveto arc closepath gsave fill
grestore stroke } bind def
/arc2 { newpath 4 index 4 index moveto arc closepath gsave fill
grestore stroke } bind def
/poly0 { stroke } bind def
/poly1 { closepath gsave fill grestore stroke } bind def
/poly2 { closepath gsave fill grestore stroke } bind def
/rect0 { rectstroke } bind def
/rect1 { rectfill } bind def
/rect2 { rectfill } bind def
/linemode0 { 0 setlinecap 0 setlinejoin 0 setlinewidth } bind def
/linemode1 { 1 setlinecap 1 setlinejoin } bind def
/dashedline { [200] 100 setdash } bind def
/solidline { [] 0 setdash } bind def
/phantomshow { moveto
/KicadFont findfont 0.000001 scalefont setfont
show } bind def
/textshow { gsave
findfont exch scalefont setfont concat 1 scale 0 0 moveto show
} bind def
/reencodefont {
findfont dup length dict begin
{ 1 index /FID ne
{ def }
{ pop pop } ifelse
} forall
/Encoding ISOLatin1Encoding def
currentdict
end } bind def
/KicadFont /Helvetica reencodefont definefont pop
/KicadFont-Bold /Helvetica-Bold reencodefont definefont pop
/KicadFont-Oblique /Helvetica-Oblique reencodefont definefont pop
/KicadFont-BoldOblique /Helvetica-BoldOblique reencodefont definefont pop
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
gsave
0.0072 0.0072 scale
linemode1
82680 0 translate 90 rotate
150 setlinewidth
%%EndPageSetup
0 0 0 setrgbcolor
59.0551 setlinewidth
newpath
73825 37956 moveto
43105 37956 lineto
stroke
0 0 0 setrgbcolor
newpath
43075 77796 moveto
43075 77616 lineto
stroke
0 0 0 setrgbcolor
newpath
73855 77796 moveto
43075 77796 lineto
stroke
0 0 0 setrgbcolor
newpath
73855 77646 moveto
73855 77796 lineto
stroke
0 0 0 setrgbcolor
newpath
43075 77616 moveto
43075 77226 lineto
stroke
0 0 0 setrgbcolor
newpath
73855 77226 moveto
73855 77646 lineto
stroke
0 0 0 setrgbcolor
newpath
73855 77226 moveto
73825 37956 lineto
stroke
0 0 0 setrgbcolor
newpath
43075 77226 moveto
43105 37956 lineto
stroke
78.7394 setlinewidth
118.11 setlinewidth
0 0 0 setrgbcolor
0 0 0 setrgbcolor
newpath
44173.1 36093 moveto
44173.1 37274.1 lineto
44454.4 37274.1 lineto
44623.1 37217.8 lineto
44735.6 37105.3 lineto
44791.8 36992.8 lineto
44848.1 36767.9 lineto
44848.1 36599.1 lineto
44791.8 36374.2 lineto
44735.6 36261.7 lineto
44623.1 36149.2 lineto
44454.4 36093 lineto
44173.1 36093 lineto
stroke
newpath
45354.2 36093 moveto
45354.2 36880.4 lineto
stroke
newpath
45354.2 36655.4 moveto
45410.5 36767.9 lineto
45466.7 36824.1 lineto
45579.2 36880.4 lineto
45691.7 36880.4 lineto
stroke
newpath
46085.4 36093 moveto
46085.4 36880.4 lineto
stroke
newpath
46085.4 37274.1 moveto
46029.2 37217.8 lineto
46085.4 37161.6 lineto
46141.6 37217.8 lineto
46085.4 37274.1 lineto
46085.4 37161.6 lineto
stroke
newpath
46816.6 36093 moveto
46704.1 36149.2 lineto
46647.8 36261.7 lineto
46647.8 37274.1 lineto
stroke
newpath
47435.2 36093 moveto
47322.7 36149.2 lineto
47266.5 36261.7 lineto
47266.5 37274.1 lineto
stroke
newpath
48785.1 36093 moveto
48785.1 37274.1 lineto
49178.8 36430.4 lineto
49572.5 37274.1 lineto
49572.5 36093 lineto
stroke
newpath
50641.1 36093 moveto
50641.1 36711.6 lineto
50584.8 36824.1 lineto
50472.4 36880.4 lineto
50247.4 36880.4 lineto
50134.9 36824.1 lineto
stroke
newpath
50641.1 36149.2 moveto
50528.6 36093 lineto
50247.4 36093 lineto
50134.9 36149.2 lineto
50078.7 36261.7 lineto
50078.7 36374.2 lineto
50134.9 36486.7 lineto
50247.4 36542.9 lineto
50528.6 36542.9 lineto
50641.1 36599.1 lineto
stroke
newpath
51203.5 36880.4 moveto
51203.5 35699.2 lineto
stroke
newpath
51203.5 36824.1 moveto
51316 36880.4 lineto
51541 36880.4 lineto
51653.5 36824.1 lineto
51709.7 36767.9 lineto
51765.9 36655.4 lineto
51765.9 36317.9 lineto
51709.7 36205.4 lineto
51653.5 36149.2 lineto
51541 36093 lineto
51316 36093 lineto
51203.5 36149.2 lineto
stroke
newpath
52272.1 36205.4 moveto
52328.4 36149.2 lineto
52272.1 36093 lineto
52215.9 36149.2 lineto
52272.1 36205.4 lineto
52272.1 36093 lineto
stroke
newpath
52272.1 36824.1 moveto
52328.4 36767.9 lineto
52272.1 36711.6 lineto
52215.9 36767.9 lineto
52272.1 36824.1 lineto
52272.1 36711.6 lineto
stroke
showpage
grestore
%%EOF

View file

@ -0,0 +1,13 @@
M48
; DRILL file {KiCad 5.1.5} date So 26 Jan 2020 11:39:52 CET
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2020-01-26T11:39:52+01:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,5.1.5
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
INCH
%
G90
G05
T0
M30

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,46 @@
M48
; DRILL file {KiCad 5.1.5} date So 26 Jan 2020 11:39:52 CET
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2020-01-26T11:39:52+01:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,5.1.5
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
INCH
T1C0.0157
T2C0.0394
%
G90
G05
T1
X2.631Y-2.49
X2.6964Y-2.0185
X2.8156Y-2.146
X2.834Y-2.314
X2.926Y-2.26
X3.1324Y-2.059
X3.169Y-2.196
X3.1938Y-2.0459
X3.231Y-2.241
X3.35Y-2.985
X3.392Y-2.179
X3.392Y-2.452
X3.424Y-2.0662
X3.586Y-2.983
T2
X3.522Y-2.141
X3.522Y-2.241
X3.522Y-2.341
X3.522Y-2.441
X3.522Y-2.541
X3.522Y-2.641
X3.522Y-2.741
X3.522Y-2.841
X3.468Y-3.086
X3.322Y-1.892
X3.322Y-1.992
X3.422Y-1.892
X3.422Y-1.992
X3.522Y-1.892
X3.522Y-1.992
T0
M30

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -69,7 +69,7 @@ U 1 1 5D699DFD
P 1500 1000
F 0 "ANT1" H 1580 989 50 0000 L CNN
F 1 "Antenna" H 1580 898 50 0000 L CNN
F 2 "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" H 1500 1000 50 0001 C CNN
F 2 "SMA_Multi:SMA_Edge_UFL_Combo" H 1500 1000 50 0001 C CNN
F 3 "~" H 1500 1000 50 0001 C CNN
1 1500 1000
1 0 0 -1

View file

@ -1,5 +1,4 @@
EESchema Schematic File Version 4
LIBS:LORA_ATTINY84-cache
EELAYER 30 0
EELAYER END
$Descr A4 8268 11693 portrait
@ -26,7 +25,7 @@ F 3 "" H 1900 4800 50 0001 C CNN
1 0 0 -1
$EndComp
$Comp
L MCU_Microchip_ATtiny:ATtiny84A-SSU ATTiny84
L LORA_ATTINY84-rescue:ATtiny84A-SSU-MCU_Microchip_ATtiny ATTiny84
U 1 1 5D66342E
P 1900 3900
F 0 "ATTiny84" H 2050 4050 50 0000 R CNN
@ -70,7 +69,7 @@ U 1 1 5D699DFD
P 1500 1000
F 0 "ANT1" H 1580 989 50 0000 L CNN
F 1 "Antenna" H 1580 898 50 0000 L CNN
F 2 "Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical" H 1500 1000 50 0001 C CNN
F 2 "Connector_Coaxial:SMA_Samtec_SMA-J-P-X-ST-EM1_EdgeMount" H 1500 1000 50 0001 C CNN
F 3 "~" H 1500 1000 50 0001 C CNN
1 1500 1000
1 0 0 -1
@ -193,8 +192,6 @@ F 3 "" H 1100 1550 50 0001 C CNN
1 1100 1550
1 0 0 -1
$EndComp
Wire Wire Line
1100 1550 1100 1700
$Comp
L power:+3V3 #PWR0107
U 1 1 5D6F753F
@ -381,4 +378,30 @@ Wire Wire Line
3350 3000 3650 3000
Wire Wire Line
3650 3000 3650 2950
$Comp
L Device:R R2
U 1 1 5E0CABAF
P 950 1600
F 0 "R2" V 1157 1600 50 0000 C CNN
F 1 "47K" V 1066 1600 50 0000 C CNN
F 2 "Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder" V 880 1600 50 0001 C CNN
F 3 "~" H 950 1600 50 0001 C CNN
1 950 1600
0 -1 -1 0
$EndComp
Wire Wire Line
1100 1550 1100 1600
Connection ~ 1100 1600
Wire Wire Line
1100 1600 1100 1700
Wire Wire Line
800 1600 750 1600
Wire Wire Line
750 1600 750 2500
Wire Wire Line
750 2500 1900 2500
Wire Wire Line
1900 2500 1900 2200
Wire Wire Line
1900 2200 1800 2200
$EndSCHEMATC

View file

@ -1,4 +1,4 @@
16927602719124115
16929195767602958
Battery
BatteryHolder_Bulgin_BX0036_1xC
Bulgin Battery Holder, BX0036, Battery Type C (https://www.bulgin.com/products/pub/media/bulgin/data/Battery_holders.pdf)
@ -68669,6 +68669,13 @@ rotary encoder
0
5
4
SMA_Multi
SMA_Edge_UFL_Combo
Connector SMA, 0Hz to 20GHz, 50Ohm, Edge Mount (http://suddendocs.samtec.com/prints/sma-j-p-x-st-em1-mkt.pdf)
SMA Straight Samtec Edge Mount
0
5
2
Sensor
Aosong_DHT11_5.5x12.0_P2.54mm
Temperature and humidity module, http://akizukidenshi.com/download/ds/aosong/DHT11.pdf

View file

@ -1,4 +1,5 @@
(fp_lib_table
(lib (name RFM)(type KiCad)(uri ${KIPRJMOD}/kicad_libs/RFM95)(options "")(descr ""))
(lib (name battery_holder)(type KiCad)(uri ${KIPRJMOD}/kicad_libs/battery_holder.pretty)(options "")(descr ""))
(lib (name SMA_Multi)(type KiCad)(uri ${KIPRJMOD}/kicad_libs/SMA_Multi.pretty)(options "")(descr ""))
)

View file

@ -0,0 +1,73 @@
(module SMA_Edge_UFL_Combo (layer F.Cu) (tedit 5E2D63D1)
(descr "Connector SMA, 0Hz to 20GHz, 50Ohm, Edge Mount (http://suddendocs.samtec.com/prints/sma-j-p-x-st-em1-mkt.pdf)")
(tags "SMA Straight Samtec Edge Mount")
(attr smd)
(fp_text reference ANT1 (at -2.159 -3.3528 180) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Antenna (at 0 13) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -0.25 -2.76) (end 0 -2.26) (layer F.SilkS) (width 0.12))
(fp_line (start 0.25 -2.76) (end -0.25 -2.76) (layer F.SilkS) (width 0.12))
(fp_line (start 0 -2.26) (end 0.25 -2.76) (layer F.SilkS) (width 0.12))
(fp_line (start 0 3.1) (end -0.64 2.1) (layer F.Fab) (width 0.1))
(fp_line (start 0.64 2.1) (end 0 3.1) (layer F.Fab) (width 0.1))
(fp_text user %R (at 0 4.79 180) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 4 2.6) (end 4 -2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.68 12.12) (end -3.68 12.12) (layer F.CrtYd) (width 0.05))
(fp_line (start -4 2.6) (end -4 -2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start -4 -2.6) (end 4 -2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start 4 2.6) (end 4 -2.6) (layer B.CrtYd) (width 0.05))
(fp_line (start 3.68 12.12) (end -3.68 12.12) (layer B.CrtYd) (width 0.05))
(fp_line (start -4 2.6) (end -4 -2.6) (layer B.CrtYd) (width 0.05))
(fp_line (start -4 -2.6) (end 4 -2.6) (layer B.CrtYd) (width 0.05))
(fp_line (start 3.165 11.62) (end -3.165 11.62) (layer F.Fab) (width 0.1))
(fp_line (start 3.175 -1.71) (end 3.175 11.62) (layer F.Fab) (width 0.1))
(fp_line (start 3.175 -1.71) (end 2.365 -1.71) (layer F.Fab) (width 0.1))
(fp_line (start 2.365 -1.71) (end 2.365 2.1) (layer F.Fab) (width 0.1))
(fp_line (start 2.365 2.1) (end -2.365 2.1) (layer F.Fab) (width 0.1))
(fp_line (start -2.365 2.1) (end -2.365 -1.71) (layer F.Fab) (width 0.1))
(fp_line (start -2.365 -1.71) (end -3.175 -1.71) (layer F.Fab) (width 0.1))
(fp_line (start -3.175 -1.71) (end -3.175 11.62) (layer F.Fab) (width 0.1))
(fp_line (start 4.1 2.1) (end -4.1 2.1) (layer Dwgs.User) (width 0.1))
(fp_text user "PCB Edge" (at 0 2.6) (layer Dwgs.User)
(effects (font (size 0.5 0.5) (thickness 0.1)))
)
(fp_line (start -3.68 2.6) (end -4 2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start -3.68 12.12) (end -3.68 2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.68 2.6) (end 4 2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.68 2.6) (end 3.68 12.12) (layer F.CrtYd) (width 0.05))
(fp_line (start -3.68 2.6) (end -4 2.6) (layer B.CrtYd) (width 0.05))
(fp_line (start -3.68 12.12) (end -3.68 2.6) (layer B.CrtYd) (width 0.05))
(fp_line (start 4 2.6) (end 3.68 2.6) (layer B.CrtYd) (width 0.05))
(fp_line (start 3.68 2.6) (end 3.68 12.12) (layer B.CrtYd) (width 0.05))
(fp_line (start -1.95 2) (end -0.84 2) (layer F.SilkS) (width 0.12))
(fp_line (start 0.84 2) (end 1.95 2) (layer F.SilkS) (width 0.12))
(pad 2 smd custom (at -3.00228 -1.6002) (size 1 1) (layers F.Cu F.Paste F.Mask)
(zone_connect 0)
(options (clearance outline) (anchor rect))
(primitives
(gr_poly (pts
(xy -0.5 -0.5) (xy 1.95 -0.5) (xy 1.95 1.5) (xy 0.85 1.5) (xy 0.85 3.7)
(xy -0.5 3.7)) (width 0))
))
(pad 2 smd custom (at 1.5494 -1.6002) (size 1 1) (layers F.Cu F.Paste F.Mask)
(zone_connect 0)
(options (clearance outline) (anchor rect))
(primitives
(gr_poly (pts
(xy -0.5 -0.5) (xy 1.95 -0.5) (xy 1.95 3.7) (xy 0.6 3.7) (xy 0.6 1.5)
(xy -0.5 1.5)) (width 0))
))
(pad 2 smd rect (at -2.825 0) (size 1.35 4.2) (layers B.Cu B.Paste B.Mask))
(pad 2 smd rect (at 2.825 0) (size 1.35 4.2) (layers B.Cu B.Paste B.Mask))
(pad 1 thru_hole rect (at 0 0.9906) (size 1.2 2.1) (drill 1) (layers *.Cu *.Mask))
(model ${KISYS3DMOD}/Connector_Coaxial.3dshapes/SMA_Samtec_SMA-J-P-X-ST-EM1_EdgeMount.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View file

@ -1,73 +1,73 @@
(module BatteryHolder_Keystone_1060_1x2032_Long_Pad (layer F.Cu) (tedit 5D66CD14)
(module BatteryHolder_Keystone_1060_1x2032_Long_Pad (layer F.Cu) (tedit 5E2D666C)
(descr http://www.keyelco.com/product-pdf.cfm?p=726)
(tags "CR2032 BR2032 BatteryHolder Battery")
(attr smd)
(fp_text reference BAT (at -14.125 -5.3) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
(fp_text reference BAT1 (at -12.99972 -5.82676 90) (layer F.SilkS)
(effects (font (size 0.8 0.8) (thickness 0.1)))
)
(fp_text value Battery_Cell (at 0 -11.75) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -12 6) (end -14 6) (layer F.SilkS) (width 0.12))
(fp_line (start -13 5) (end -13 7) (layer F.SilkS) (width 0.12))
(fp_text user BAT (at 0 0) (layer F.Fab)
(fp_circle (center 0 0) (end -10.2 0) (layer Dwgs.User) (width 0.3))
(fp_line (start 11 8) (end -9.4 8) (layer F.Fab) (width 0.1))
(fp_line (start 11 -8) (end -11 -8) (layer F.Fab) (width 0.1))
(fp_line (start 11 8) (end 11 3.5) (layer F.Fab) (width 0.1))
(fp_line (start 11 -8) (end 11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -11 -8) (end -11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -11 6.4) (end -11 3.5) (layer F.Fab) (width 0.1))
(fp_line (start -11 3.5) (end -14.2 3.5) (layer F.Fab) (width 0.1))
(fp_line (start -14.2 3.5) (end -14.2 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -14.2 -3.5) (end -11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start 11 3.5) (end 14.2 3.5) (layer F.Fab) (width 0.1))
(fp_line (start 14.2 3.5) (end 14.2 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start 14.2 -3.5) (end 11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -9.4 8) (end -11 6.4) (layer F.Fab) (width 0.1))
(fp_line (start 11.35 3.85) (end 14.55 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start 14.55 3.85) (end 14.55 2.3) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 8.35) (end 11.35 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 8.35) (end -9.55 8.35) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 6.55) (end -11.35 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -9.55 8.35) (end -11.35 6.55) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 3.85) (end -14.55 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -14.55 3.85) (end -14.55 2.3) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 -3.85) (end -14.55 -3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -14.55 -3.85) (end -14.55 -2.3) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 -3.85) (end 14.55 -3.85) (layer F.SilkS) (width 0.12))
(fp_line (start 14.55 -3.85) (end 14.55 -2.3) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 -8.35) (end 11.35 -8.35) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 -8.35) (end -11.35 -3.85) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 -8.35) (end 11.35 -3.85) (layer F.SilkS) (width 0.12))
(fp_arc (start 0 0) (end -6.5 8.5) (angle -74.81070976) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 8.5) (end 6.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -6.5 8.5) (end -11.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -11.5 4) (end -11.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 4) (end -11.5 4) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 4) (end -14.7 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 2.3) (end -16.45 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -16.45 2.3) (end -16.45 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 -2.3) (end -16.45 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 -2.3) (end -14.7 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 -4) (end -11.5 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start -11.5 -4) (end -11.5 -8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -11.5 -8.5) (end -6.5 -8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 -8.5) (end 11.5 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 -4) (end 14.7 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 -4) (end 14.7 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 -2.3) (end 16.45 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 16.45 -2.3) (end 16.45 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 16.45 2.3) (end 14.7 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 2.3) (end 14.7 4) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 4) (end 11.5 4) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 4) (end 11.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_arc (start 0 0) (end 6.5 -8.5) (angle -74.81070976) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 -8.5) (end 6.5 -8.5) (layer F.CrtYd) (width 0.05))
(fp_text user BAT (at 0 0) (layer F.Fab) hide
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 11.5 -8.5) (end 6.5 -8.5) (layer F.CrtYd) (width 0.05))
(fp_arc (start 0 0) (end 6.5 -8.5) (angle -74.81070976) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 4) (end 11.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 4) (end 11.5 4) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 2.3) (end 14.7 4) (layer F.CrtYd) (width 0.05))
(fp_line (start 16.45 2.3) (end 14.7 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 16.45 -2.3) (end 16.45 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 -2.3) (end 16.45 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 14.7 -4) (end 14.7 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 -4) (end 14.7 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 -8.5) (end 11.5 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start -11.5 -8.5) (end -6.5 -8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -11.5 -4) (end -11.5 -8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 -4) (end -11.5 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 -2.3) (end -14.7 -4) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 -2.3) (end -16.45 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -16.45 2.3) (end -16.45 -2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 2.3) (end -16.45 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 4) (end -14.7 2.3) (layer F.CrtYd) (width 0.05))
(fp_line (start -14.7 4) (end -11.5 4) (layer F.CrtYd) (width 0.05))
(fp_line (start -11.5 4) (end -11.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start -6.5 8.5) (end -11.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.5 8.5) (end 6.5 8.5) (layer F.CrtYd) (width 0.05))
(fp_arc (start 0 0) (end -6.5 8.5) (angle -74.81070976) (layer F.CrtYd) (width 0.05))
(fp_line (start 11.35 -8.35) (end 11.35 -3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 -8.35) (end -11.35 -3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 -8.35) (end 11.35 -8.35) (layer F.SilkS) (width 0.12))
(fp_line (start 14.55 -3.85) (end 14.55 -2.3) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 -3.85) (end 14.55 -3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -14.55 -3.85) (end -14.55 -2.3) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 -3.85) (end -14.55 -3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -14.55 3.85) (end -14.55 2.3) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 3.85) (end -14.55 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -9.55 8.35) (end -11.35 6.55) (layer F.SilkS) (width 0.12))
(fp_line (start -11.35 6.55) (end -11.35 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 8.35) (end -9.55 8.35) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 8.35) (end 11.35 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start 14.55 3.85) (end 14.55 2.3) (layer F.SilkS) (width 0.12))
(fp_line (start 11.35 3.85) (end 14.55 3.85) (layer F.SilkS) (width 0.12))
(fp_line (start -9.4 8) (end -11 6.4) (layer F.Fab) (width 0.1))
(fp_line (start 14.2 -3.5) (end 11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start 14.2 3.5) (end 14.2 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start 11 3.5) (end 14.2 3.5) (layer F.Fab) (width 0.1))
(fp_line (start -14.2 -3.5) (end -11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -14.2 3.5) (end -14.2 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -11 3.5) (end -14.2 3.5) (layer F.Fab) (width 0.1))
(fp_line (start -11 6.4) (end -11 3.5) (layer F.Fab) (width 0.1))
(fp_line (start -11 -8) (end -11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start 11 -8) (end 11 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start 11 8) (end 11 3.5) (layer F.Fab) (width 0.1))
(fp_line (start 11 -8) (end -11 -8) (layer F.Fab) (width 0.1))
(fp_line (start 11 8) (end -9.4 8) (layer F.Fab) (width 0.1))
(fp_circle (center 0 0) (end -10.2 0) (layer Dwgs.User) (width 0.3))
(pad 1 smd rect (at -12.446 0 180) (size 7.1 3.6) (layers F.Cu F.Paste F.Mask))
(fp_line (start -12.97432 4.5278) (end -12.97432 6.5278) (layer F.SilkS) (width 0.12))
(fp_line (start -11.98524 5.54736) (end -13.98524 5.54736) (layer F.SilkS) (width 0.12))
(pad 2 smd rect (at 12.446 0 180) (size 7.1 3.6) (layers F.Cu F.Paste F.Mask))
(pad 1 smd rect (at -12.446 0 180) (size 7.1 3.6) (layers F.Cu F.Paste F.Mask))
(model ${KISYS3DMOD}/Battery.3dshapes/BatteryHolder_Keystone_1060_1x2032.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))