initial commit
This commit is contained in:
commit
7f11c5237a
27 changed files with 23263 additions and 0 deletions
1
esp32/.gitignore
vendored
Normal file
1
esp32/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.pio
|
39
esp32/include/README
Normal file
39
esp32/include/README
Normal file
|
@ -0,0 +1,39 @@
|
|||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the usual convention is to give header files names that end with `.h'.
|
||||
It is most portable to use only letters, digits, dashes, and underscores in
|
||||
header file names, and at most one dot.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
46
esp32/lib/README
Normal file
46
esp32/lib/README
Normal file
|
@ -0,0 +1,46 @@
|
|||
|
||||
This directory is intended for project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link into executable file.
|
||||
|
||||
The source code of each library should be placed in an own separate directory
|
||||
("lib/your_library_name/[here are source files]").
|
||||
|
||||
For example, see a structure of the following two libraries `Foo` and `Bar`:
|
||||
|
||||
|--lib
|
||||
| |
|
||||
| |--Bar
|
||||
| | |--docs
|
||||
| | |--examples
|
||||
| | |--src
|
||||
| | |- Bar.c
|
||||
| | |- Bar.h
|
||||
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|
||||
| |
|
||||
| |--Foo
|
||||
| | |- Foo.c
|
||||
| | |- Foo.h
|
||||
| |
|
||||
| |- README --> THIS FILE
|
||||
|
|
||||
|- platformio.ini
|
||||
|--src
|
||||
|- main.c
|
||||
|
||||
and a contents of `src/main.c`:
|
||||
```
|
||||
#include <Foo.h>
|
||||
#include <Bar.h>
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
PlatformIO Library Dependency Finder will find automatically dependent
|
||||
libraries scanning project source files.
|
||||
|
||||
More information about PlatformIO Library Dependency Finder
|
||||
- https://docs.platformio.org/page/librarymanager/ldf.html
|
19
esp32/platformio.ini
Normal file
19
esp32/platformio.ini
Normal file
|
@ -0,0 +1,19 @@
|
|||
; PlatformIO Project Configuration File
|
||||
;
|
||||
; Build options: build flags, source filter
|
||||
; Upload options: custom upload port, speed and extra flags
|
||||
; Library options: dependencies, extra library storages
|
||||
; Advanced options: extra scripting
|
||||
;
|
||||
; Please visit documentation for the other options and examples
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
[env:seeed_xiao_esp32c3]
|
||||
platform = espressif32
|
||||
board = seeed_xiao_esp32c3
|
||||
framework = arduino
|
||||
lib_deps =
|
||||
arduino-libraries/ArduinoHttpClient@^0.6.1
|
||||
tzapu/WiFiManager@^2.0.17
|
||||
bblanchon/ArduinoJson@^7.1.0
|
||||
khoih-prog/ESP32_C3_TimerInterrupt@^1.8.0
|
||||
build_flags = -Wall -Werror
|
296
esp32/src/main.cpp
Normal file
296
esp32/src/main.cpp
Normal file
|
@ -0,0 +1,296 @@
|
|||
#include <Arduino.h>
|
||||
#include <ArduinoHttpClient.h>
|
||||
#include <WiFiClient.h>
|
||||
#include <WiFiManager.h>
|
||||
#include <ArduinoJson.h>
|
||||
#include <ESP32_C3_TimerInterrupt.h>
|
||||
|
||||
#define DISP_CLK D7
|
||||
#define DISP_SER D8
|
||||
#define DISP_PWM D6
|
||||
|
||||
#define LED_OPEN D10
|
||||
#define LED_CLOSE D4
|
||||
|
||||
#define SW_OPEN D9
|
||||
#define SW_CLOSE D5
|
||||
#define SW_PLUS D0
|
||||
#define SW_MINUS D2
|
||||
|
||||
|
||||
#define I_E 10
|
||||
#define I_DASH 11
|
||||
#define E_RANGE 0
|
||||
|
||||
uint8_t dot01 = 0b00000010;
|
||||
uint8_t digits01[] = {
|
||||
//⁻┌┐-└_.┘
|
||||
0b11101101, // 0
|
||||
0b00100001, // 1
|
||||
0b10111100, // 2
|
||||
0b10110101, // 3
|
||||
0b01110001, // 4
|
||||
0b11010101, // 5
|
||||
0b11011101, // 6
|
||||
0b10100001, // 7
|
||||
0b11111101, // 8
|
||||
0b11110101, // 9
|
||||
0b11011100, // E
|
||||
0b00010000, // -
|
||||
};
|
||||
|
||||
uint8_t dot10 = 0b00010000;
|
||||
uint8_t digits10[] = {
|
||||
//_┘└.┐-⁻┌
|
||||
0b11101011, // 0
|
||||
0b01001000, // 1
|
||||
0b10101110, // 2
|
||||
0b11001110, // 3
|
||||
0b01001101, // 4
|
||||
0b11000111, // 5
|
||||
0b11100111, // 6
|
||||
0b01001010, // 7
|
||||
0b11101111, // 8
|
||||
0b11001111, // 9
|
||||
0b10100111, // E
|
||||
0b00000100, // -
|
||||
};
|
||||
|
||||
uint16_t spinner[] = {
|
||||
0b0000001100000000, // ┌
|
||||
0b0000001010000000, // ⁻
|
||||
0b0000000010100000, // ┐
|
||||
0b0000000000100001, // |
|
||||
0b0000000000000101, // ┘
|
||||
0b1000000000000100, // _
|
||||
0b1010000000000000, // └
|
||||
0b0010000100000000, // |
|
||||
};
|
||||
|
||||
|
||||
WiFiManager wifiManager;
|
||||
WiFiClient wifi;
|
||||
HttpClient client(wifi, "10.20.13.12", 8086);
|
||||
ESP32Timer ITimer0(0);
|
||||
|
||||
|
||||
char buf[1024];
|
||||
volatile int8_t counter = 0;
|
||||
volatile bool space_open = false;
|
||||
volatile bool edited = false, just_edited = false, request_update = false;
|
||||
volatile uint32_t last_edit = 0;
|
||||
|
||||
void isr_open() {
|
||||
static uint32_t last = 0;
|
||||
if (millis() - last < 100) {
|
||||
return;
|
||||
}
|
||||
last = millis();
|
||||
space_open = true;
|
||||
edited = true;
|
||||
just_edited = true;
|
||||
last_edit = millis();
|
||||
}
|
||||
|
||||
void isr_close() {
|
||||
static uint32_t last = 0;
|
||||
if (millis() - last < 100) {
|
||||
return;
|
||||
}
|
||||
if (digitalRead(SW_OPEN) == LOW) {
|
||||
ESP.restart();
|
||||
}
|
||||
last = millis();
|
||||
space_open = false;
|
||||
counter = 0;
|
||||
edited = true;
|
||||
just_edited = true;
|
||||
last_edit = millis();
|
||||
}
|
||||
|
||||
void isr_plus() {
|
||||
static uint32_t last = 0;
|
||||
if (millis() - last < 100) {
|
||||
return;
|
||||
}
|
||||
last = millis();
|
||||
if (counter < 99) {
|
||||
counter++;
|
||||
edited = true;
|
||||
just_edited = true;
|
||||
last_edit = millis();
|
||||
}
|
||||
}
|
||||
|
||||
void isr_minus() {
|
||||
static uint32_t last = 0;
|
||||
if (millis() - last < 100) {
|
||||
return;
|
||||
}
|
||||
last = millis();
|
||||
if (counter > 0) {
|
||||
counter--;
|
||||
edited = true;
|
||||
just_edited = true;
|
||||
last_edit = millis();
|
||||
}
|
||||
}
|
||||
|
||||
bool timer0_isr(void *data) {
|
||||
request_update = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
void setBrightness(uint8_t value) {
|
||||
analogWrite(DISP_PWM, 255-value);
|
||||
}
|
||||
|
||||
|
||||
void showNumber(int8_t number, uint8_t bright = 255, bool show_dot01 = false, bool show_dot10 = false) {
|
||||
setBrightness(0);
|
||||
if (number < -9 || number > 99) {
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, digits01[E_RANGE]);
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, digits10[I_E] | dot10);
|
||||
} else if (number < 0) {
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, digits01[-number] | dot01 * show_dot01);
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, digits10[I_DASH] | dot10 * show_dot10);
|
||||
} else if (number < 10) {
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, digits01[number] | dot01 * show_dot01);
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, 0 | dot10 * show_dot10);
|
||||
} else {
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, digits01[number%10] | dot01 * show_dot01);
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, digits10[number/10] | dot10 * show_dot10);
|
||||
}
|
||||
digitalWrite(DISP_CLK, HIGH);
|
||||
delay(2);
|
||||
digitalWrite(DISP_CLK, LOW);
|
||||
delay(2);
|
||||
setBrightness(bright);
|
||||
}
|
||||
|
||||
void showSpinner(uint8_t bright = 255) {
|
||||
setBrightness(0);
|
||||
uint8_t spinner_i = (millis() / 50) % 8;
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, (uint8_t) (spinner[spinner_i] & 0xff));
|
||||
shiftOut(DISP_SER, DISP_CLK, MSBFIRST, (uint8_t) (spinner[spinner_i] >> 8));
|
||||
digitalWrite(DISP_CLK, HIGH);
|
||||
digitalWrite(DISP_CLK, LOW);
|
||||
setBrightness(bright);
|
||||
}
|
||||
|
||||
void draw(uint8_t bright = 255, bool show_dot01 = false) {
|
||||
digitalWrite(LED_OPEN, space_open);
|
||||
digitalWrite(LED_CLOSE, !space_open);
|
||||
showNumber(counter, bright, show_dot01);
|
||||
}
|
||||
|
||||
void reconnect() {
|
||||
if (WiFi.status() != WL_CONNECTED) {
|
||||
Serial.print("Reconnecting to WiFi");
|
||||
WiFi.reconnect();
|
||||
for (uint16_t i = 0; i < 1000 && WiFi.status() != WL_CONNECTED; ++i) {
|
||||
showSpinner(64);
|
||||
delay(50);
|
||||
Serial.print(".");
|
||||
}
|
||||
Serial.println();
|
||||
if (WiFi.status() == WL_CONNECTED) {
|
||||
Serial.println("Reconnected!");
|
||||
} else {
|
||||
Serial.println("Reconnecting failed.");
|
||||
ESP.restart();
|
||||
while (true);
|
||||
}
|
||||
}
|
||||
if (!client.connect("10.20.13.12", 8086)) {
|
||||
Serial.println("Connect failed");
|
||||
ESP.restart();
|
||||
while (true);
|
||||
}
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
pinMode(SW_OPEN, INPUT_PULLUP);
|
||||
attachInterrupt(digitalPinToInterrupt(SW_OPEN), isr_open, FALLING);
|
||||
pinMode(SW_CLOSE, INPUT_PULLUP);
|
||||
attachInterrupt(digitalPinToInterrupt(SW_CLOSE), isr_close, FALLING);
|
||||
pinMode(SW_PLUS, INPUT_PULLUP);
|
||||
attachInterrupt(digitalPinToInterrupt(SW_PLUS), isr_plus, FALLING);
|
||||
pinMode(SW_MINUS, INPUT_PULLUP);
|
||||
attachInterrupt(digitalPinToInterrupt(SW_MINUS), isr_minus, FALLING);
|
||||
|
||||
pinMode(LED_OPEN, OUTPUT);
|
||||
pinMode(LED_CLOSE, OUTPUT);
|
||||
|
||||
pinMode(DISP_PWM, OUTPUT);
|
||||
pinMode(DISP_SER, OUTPUT);
|
||||
pinMode(DISP_CLK, OUTPUT);
|
||||
digitalWrite(DISP_PWM, HIGH);
|
||||
|
||||
showNumber(88, 255, true, true);
|
||||
digitalWrite(LED_OPEN, HIGH);
|
||||
digitalWrite(LED_CLOSE, HIGH);
|
||||
WiFi.setHostname("spaceapibox");
|
||||
if (!wifiManager.autoConnect("spaceapibox", "12345678")) {
|
||||
ESP.restart();
|
||||
while (true);
|
||||
}
|
||||
ITimer0.attachInterruptInterval(60 * 1000 * 1000, timer0_isr);
|
||||
edited = false;
|
||||
request_update = true;
|
||||
draw(16);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (just_edited) {
|
||||
just_edited = false;
|
||||
draw(128, true);
|
||||
}
|
||||
if (edited && millis() - last_edit > 1000) {
|
||||
edited = false;
|
||||
Serial.println("Edited!");
|
||||
//reconnect();
|
||||
snprintf(buf, 1024, "open value=%d\npeople_now_present value=%d\n", space_open ? 1 : 0, counter);
|
||||
Serial.print("Sending update: ");
|
||||
Serial.println(buf);
|
||||
|
||||
client.beginRequest();
|
||||
client.post("/write?db=space_state&precision=s&u=kiosk_update&p=Q5c57pxASewvSvwR", "text/plain", buf);
|
||||
client.endRequest();
|
||||
|
||||
request_update = true;
|
||||
}
|
||||
if (request_update) {
|
||||
draw(16, true);
|
||||
request_update = false;
|
||||
Serial.println("Requesting update!");
|
||||
reconnect();
|
||||
JsonDocument doc;
|
||||
|
||||
client.beginRequest();
|
||||
client.get("/query?db=space_state&u=grafana&p=ifCevE7DC5AdyA2Z&q=select%20last(value)%20from%20open,%20people_now_present");
|
||||
client.endRequest();
|
||||
|
||||
deserializeJson(doc, client.responseBody());
|
||||
serializeJson(doc, Serial);
|
||||
Serial.println();
|
||||
|
||||
if (doc.is<JsonObject>()) {
|
||||
for (uint8_t i = 0; i < doc["results"][0]["series"].size(); ++i) {
|
||||
if (doc["results"][0]["series"][i]["name"] == "open") {
|
||||
space_open = doc["results"][0]["series"][i]["values"][0][1].as<uint8_t>();
|
||||
} else if (doc["results"][0]["series"][i]["name"] == "people_now_present") {
|
||||
counter = doc["results"][0]["series"][i]["values"][0][1].as<uint8_t>();
|
||||
}
|
||||
}
|
||||
Serial.print("Read values from Influx DB: space_open=");
|
||||
Serial.print(space_open);
|
||||
Serial.print(", counter=");
|
||||
Serial.println(counter);
|
||||
}
|
||||
|
||||
// Update display
|
||||
draw(16);
|
||||
}
|
||||
}
|
11
esp32/test/README
Normal file
11
esp32/test/README
Normal file
|
@ -0,0 +1,11 @@
|
|||
|
||||
This directory is intended for PlatformIO Test Runner and project tests.
|
||||
|
||||
Unit Testing is a software testing method by which individual units of
|
||||
source code, sets of one or more MCU program modules together with associated
|
||||
control data, usage procedures, and operating procedures, are tested to
|
||||
determine whether they are fit for use. Unit testing finds problems early
|
||||
in the development cycle.
|
||||
|
||||
More information about PlatformIO Unit Testing:
|
||||
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html
|
29
led_socket/led_socket.scad
Normal file
29
led_socket/led_socket.scad
Normal file
|
@ -0,0 +1,29 @@
|
|||
|
||||
$fn = 60;
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
// body
|
||||
cylinder(h=6, d=5.8);
|
||||
//alignment pin
|
||||
translate([-1,0,0]) {
|
||||
cube([2,3,4]);
|
||||
}
|
||||
}
|
||||
// long leg hole
|
||||
translate([-1.3,0,-1]) {
|
||||
cylinder(h=8, d=1.2);
|
||||
}
|
||||
// short leg hole
|
||||
translate([1.3,0,-1]) {
|
||||
cylinder(h=8, d=1.2);
|
||||
}
|
||||
// short leg space
|
||||
translate([0,-4,4]) {
|
||||
cube([4,8,3]);
|
||||
}
|
||||
// short leg alignment
|
||||
translate([3,0,-1]) {
|
||||
cylinder(h=8, d=1.2);
|
||||
}
|
||||
}
|
BIN
led_socket/led_socket.stl
Normal file
BIN
led_socket/led_socket.stl
Normal file
Binary file not shown.
31
pcb/.gitignore
vendored
Normal file
31
pcb/.gitignore
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
# For PCBs designed using KiCad: https://www.kicad.org/
|
||||
# Format documentation: https://kicad.org/help/file-formats/
|
||||
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
*-backups
|
||||
*.kicad_prl
|
||||
*.sch-bak
|
||||
*~
|
||||
_autosave-*
|
||||
*.tmp
|
||||
*-save.pro
|
||||
*-save.kicad_pcb
|
||||
fp-info-cache
|
||||
~*.lck
|
||||
\#auto_saved_files#
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
# Autorouter files (exported from Pcbnew)
|
||||
*.dsn
|
||||
*.ses
|
||||
|
||||
# Exported BOM files
|
||||
*.xml
|
||||
*.csv
|
BIN
pcb/1591DBK.pdf
Normal file
BIN
pcb/1591DBK.pdf
Normal file
Binary file not shown.
BIN
pcb/AV02-2553EN_2024-07-08.pdf
Normal file
BIN
pcb/AV02-2553EN_2024-07-08.pdf
Normal file
Binary file not shown.
BIN
pcb/LTS-4940AHR.pdf
Normal file
BIN
pcb/LTS-4940AHR.pdf
Normal file
Binary file not shown.
739
pcb/pcb/Library.kicad_sym
Normal file
739
pcb/pcb/Library.kicad_sym
Normal file
|
@ -0,0 +1,739 @@
|
|||
(kicad_symbol_lib
|
||||
(version 20231120)
|
||||
(generator "kicad_symbol_editor")
|
||||
(generator_version "8.0")
|
||||
(symbol "HDSP-7401"
|
||||
(exclude_from_sim no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(property "Reference" "U"
|
||||
(at -3.81 13.97 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "LTS4940AHR"
|
||||
(at 6.35 13.97 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Display_7Segment:HDSP-7401"
|
||||
(at 0 -13.97 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" "https://docs.broadcom.com/docs/AV02-2553EN"
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Description" "One digit 7 segment yellow, common anode"
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "ki_keywords" "display LED 7-segment"
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "ki_fp_filters" "HDSP?7401*"
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(symbol "HDSP-7401_1_0"
|
||||
(text "A"
|
||||
(at 0.254 2.413 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
(text "B"
|
||||
(at 2.54 1.651 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
(text "C"
|
||||
(at 2.286 -1.397 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
(text "D"
|
||||
(at -0.254 -2.159 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
(text "DP"
|
||||
(at 3.556 -2.921 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
(text "E"
|
||||
(at -2.54 -1.397 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
(text "F"
|
||||
(at -2.286 1.651 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
(text "G"
|
||||
(at 0 0.889 0)
|
||||
(effects
|
||||
(font
|
||||
(size 0.508 0.508)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "HDSP-7401_1_1"
|
||||
(rectangle
|
||||
(start -5.08 12.7)
|
||||
(end 5.08 -12.7)
|
||||
(stroke
|
||||
(width 0.254)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type background)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.524 -0.381) (xy -1.778 -2.413)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 -2.921) (xy 0.762 -2.921)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 2.667) (xy -1.524 0.635)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.016 0.127) (xy 1.016 0.127)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.762 3.175) (xy 1.27 3.175)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.524 -0.381) (xy 1.27 -2.413)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.778 2.667) (xy 1.524 0.635)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 2.54 -2.921) (xy 2.54 -2.921)
|
||||
)
|
||||
(stroke
|
||||
(width 0.508)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type none)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 -5.08 0)
|
||||
(length 2.54)
|
||||
(name "F"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "1"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 7.62 0)
|
||||
(length 2.54)
|
||||
(name "A"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "10"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 -7.62 0)
|
||||
(length 2.54)
|
||||
(name "G"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "2"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at 7.62 -7.62 180)
|
||||
(length 2.54)
|
||||
(name "CA"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "3"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 -2.54 0)
|
||||
(length 2.54)
|
||||
(name "E"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "4"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 0 0)
|
||||
(length 2.54)
|
||||
(name "D"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "5"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 2.54 0)
|
||||
(length 2.54)
|
||||
(name "C"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "6"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 -10.16 0)
|
||||
(length 2.54)
|
||||
(name "DP"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "7"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at 7.62 -10.16 180)
|
||||
(length 2.54)
|
||||
(name "CA"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "8"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin input line
|
||||
(at -7.62 5.08 0)
|
||||
(length 2.54)
|
||||
(name "B"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "9"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "XIAO-ESP32C3"
|
||||
(exclude_from_sim no)
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(property "Reference" "U"
|
||||
(at 1.27 -1.524 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" ""
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Library:XIAO-ESP32C3"
|
||||
(at 20.066 11.684 90)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(hide yes)
|
||||
)
|
||||
)
|
||||
(symbol "XIAO-ESP32C3_1_1"
|
||||
(rectangle
|
||||
(start 0 38.1)
|
||||
(end 22.86 0)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(fill
|
||||
(type background)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 33.02 0)
|
||||
(length 5.08)
|
||||
(name "D0"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "1"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 7.62 0)
|
||||
(length 5.08)
|
||||
(name "D9"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "10"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 5.08 0)
|
||||
(length 5.08)
|
||||
(name "D10"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "11"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin power_out line
|
||||
(at 7.62 43.18 270)
|
||||
(length 5.08)
|
||||
(name "3V3"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "12"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin power_in line
|
||||
(at 11.43 -5.08 90)
|
||||
(length 5.08)
|
||||
(name "GND"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "13"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin power_in line
|
||||
(at 15.24 43.18 270)
|
||||
(length 5.08)
|
||||
(name "VUSB"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "14"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 30.48 0)
|
||||
(length 5.08)
|
||||
(name "D1"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "2"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 27.94 0)
|
||||
(length 5.08)
|
||||
(name "D2"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "3"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 25.4 0)
|
||||
(length 5.08)
|
||||
(name "D3"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "4"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 22.86 0)
|
||||
(length 5.08)
|
||||
(name "D4"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "5"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 20.32 0)
|
||||
(length 5.08)
|
||||
(name "D5"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "6"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 17.78 0)
|
||||
(length 5.08)
|
||||
(name "D6"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "7"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 12.7 0)
|
||||
(length 5.08)
|
||||
(name "D7"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "8"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pin tri_state line
|
||||
(at -5.08 10.16 0)
|
||||
(length 5.08)
|
||||
(name "D8"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
(number "9"
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
290
pcb/pcb/Library.pretty/LTS4940AHR.kicad_mod
Normal file
290
pcb/pcb/Library.pretty/LTS4940AHR.kicad_mod
Normal file
|
@ -0,0 +1,290 @@
|
|||
(footprint "LTS4940AHR"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(descr "7 segment digit in DIP14 7.62mm form factor")
|
||||
(tags "THT DIP DIL PDIP 2.54mm 7.62mm")
|
||||
(property "Reference" "REF**"
|
||||
(at 3.81 -2.33 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ab1aeba6-0260-4b2b-a55c-e0a5f11f3d49")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "LTS4940AHR"
|
||||
(at 3.81 17.57 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "60313c8a-6b76-42be-87cc-bb3c5a88b63f")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "c9239995-6f80-4a65-9e52-ccdfaa2cd385")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "446e0009-02ec-40f0-a306-f0eb6b953969")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "103d0b1e-e911-43e0-a41c-b0cd12328067")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr through_hole)
|
||||
(fp_line
|
||||
(start 1.27 12.7)
|
||||
(end 1.905 8.255)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "9f2803fa-8344-4858-8a73-5e86adfa38de")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.905 6.985)
|
||||
(end 2.54 3.175)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f050f676-99a8-442a-8f73-1103c6e5624f")
|
||||
)
|
||||
(fp_line
|
||||
(start 2.54 7.62)
|
||||
(end 5.08 7.62)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "7c8673b6-fcb0-412d-a495-619de4bf6edf")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.175 3.175)
|
||||
(end 5.715 3.175)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f1ca5efe-2fe3-4abf-b00d-2b401cbec45c")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.445 12.7)
|
||||
(end 1.905 12.7)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "8a2c54b9-03b6-4373-bff3-547d2f3cdf33")
|
||||
)
|
||||
(fp_line
|
||||
(start 5.715 8.255)
|
||||
(end 5.08 12.7)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b2cdb8df-ec03-4b92-a92d-da5e3813bbfe")
|
||||
)
|
||||
(fp_line
|
||||
(start 6.35 3.175)
|
||||
(end 5.715 6.985)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "1e402074-086d-47bc-ab37-e8acf5af61d4")
|
||||
)
|
||||
(fp_circle
|
||||
(center 6.35 12.7)
|
||||
(end 6.6675 12.7)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "3098b736-5aca-4e51-a384-4fb98ea3264b")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.1 -1.55)
|
||||
(end -1.1 16.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "b07aecb3-da0a-4ab9-9131-75388f71a592")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.1 16.8)
|
||||
(end 8.7 16.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "19ffd821-d4f2-4962-a550-8eece62b7b48")
|
||||
)
|
||||
(fp_line
|
||||
(start 8.7 -1.55)
|
||||
(end -1.1 -1.55)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "92ef5397-cd40-4db0-a774-e0cf99e74591")
|
||||
)
|
||||
(fp_line
|
||||
(start 8.7 16.8)
|
||||
(end 8.7 -1.55)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "12eb80e0-7e74-4f9d-ae5b-f10091b5a464")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 1.905 4.445 90)
|
||||
(layer "F.Fab")
|
||||
(uuid "9101c920-3f59-433a-b80f-8664fe155fea")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" thru_hole rect
|
||||
(at 0 0)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "c59ff4fb-10d1-49fb-80e5-f15385e71fb6")
|
||||
)
|
||||
(pad "2" thru_hole oval
|
||||
(at 0 2.54)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "2fbd18f5-2b15-4f1a-8612-5758443ef629")
|
||||
)
|
||||
(pad "3" thru_hole oval
|
||||
(at 0 7.62)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "564d4e9d-3d0b-400f-aa2d-0b35e7233234")
|
||||
)
|
||||
(pad "4" thru_hole oval
|
||||
(at 0 12.7)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "6f0c9286-356f-457f-b99b-4c43bcf6cd36")
|
||||
)
|
||||
(pad "5" thru_hole oval
|
||||
(at 0 15.24)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "c3833d2a-c9c5-4574-b104-60a29e8296a9")
|
||||
)
|
||||
(pad "6" thru_hole oval
|
||||
(at 7.62 15.24)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "2c9b7873-0c64-4d4d-9c9c-8cc0d94e071a")
|
||||
)
|
||||
(pad "7" thru_hole oval
|
||||
(at 7.62 12.7)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "3b4c9797-a24f-4236-be8d-2b6d982fd4f8")
|
||||
)
|
||||
(pad "8" thru_hole oval
|
||||
(at 7.62 5.08)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "21ae9355-1fe5-4add-9b95-c8c79d17a749")
|
||||
)
|
||||
(pad "9" thru_hole oval
|
||||
(at 7.62 2.54)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "93731e7c-c52d-418c-9c92-d642d4be7052")
|
||||
)
|
||||
(pad "10" thru_hole oval
|
||||
(at 7.62 0)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "71443be0-a666-44ca-a1f9-a30bdf7c219c")
|
||||
)
|
||||
(model "${KICAD6_3DMODEL_DIR}/Display_7Segment.3dshapes/MAN71A.wrl"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
106
pcb/pcb/Library.pretty/Rect_LED_Button.kicad_mod
Normal file
106
pcb/pcb/Library.pretty/Rect_LED_Button.kicad_mod
Normal file
|
@ -0,0 +1,106 @@
|
|||
(footprint "Rect_LED_Button"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -0.5 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d599bfd3-6d13-405d-bc99-de24bee1beb6")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "Rect_LED_Button"
|
||||
(at 0 1 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "40c5db43-51ea-48f9-9ec6-9c19cf2a5493")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "f9a3a92c-667c-45f9-a16d-cdf9ad3213b9")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "7ab4fa88-5fbd-48c0-b689-177ba09573a7")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "4fa4c8aa-f5e0-4bbd-92f6-77ce0e5c2803")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr through_hole)
|
||||
(fp_rect
|
||||
(start -12 -9)
|
||||
(end 12 9)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "B.CrtYd")
|
||||
(uuid "4ea313df-0210-4c71-897d-8e79a73af9a9")
|
||||
)
|
||||
(fp_rect
|
||||
(start -12 -9)
|
||||
(end 12 9)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "1fc31af8-2cb4-42f6-9c7f-1dbec3f91cc8")
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at 0 0)
|
||||
(size 16 16)
|
||||
(drill 16)
|
||||
(layers "F&B.Cu" "*.Mask")
|
||||
(uuid "7f3ad8dd-79e7-477d-8dff-f0f6c3a0bbee")
|
||||
)
|
||||
(pad "" np_thru_hole circle
|
||||
(at 10.4 0)
|
||||
(size 1.6 1.6)
|
||||
(drill 1.6)
|
||||
(layers "F&B.Cu" "*.Mask")
|
||||
(uuid "48da5878-30b6-4878-ad8c-8621df4bb8e9")
|
||||
)
|
||||
)
|
324
pcb/pcb/Library.pretty/XIAO-ESP32C3.kicad_mod
Normal file
324
pcb/pcb/Library.pretty/XIAO-ESP32C3.kicad_mod
Normal file
|
@ -0,0 +1,324 @@
|
|||
(footprint "XIAO-ESP32C3"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at 2.032 19.685 0)
|
||||
(unlocked yes)
|
||||
(layer "F.SilkS")
|
||||
(uuid "8bf3ede1-4d00-419e-a26e-276107eec85b")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "XIAO-ESP32C3"
|
||||
(at 10.795 19.685 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(uuid "6946adc6-bbc3-461e-9faf-ad4193669196")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "8ef426d8-9c82-409b-85b8-2efde4a48c97")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "ba400461-719c-4044-9a21-c82cafdedb51")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "b58329c7-59be-412e-a428-272afcd10c25")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr through_hole)
|
||||
(fp_line
|
||||
(start 0.635 -2.54)
|
||||
(end 14.605 -2.54)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e8dddd28-a851-47fe-bb55-04417c81b483")
|
||||
)
|
||||
(fp_line
|
||||
(start 0.635 17.78)
|
||||
(end 14.605 17.78)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "12f06d21-a7c9-4925-812b-156956488a52")
|
||||
)
|
||||
(fp_rect
|
||||
(start 3.175 -4.445)
|
||||
(end 12.065 2.54)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "da851433-b1ae-4300-9830-67624e3aa733")
|
||||
)
|
||||
(fp_arc
|
||||
(start -0.635 -1.27)
|
||||
(mid -0.263026 -2.168026)
|
||||
(end 0.635 -2.54)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e86c46c1-8052-43c8-b1a7-dada864414f9")
|
||||
)
|
||||
(fp_arc
|
||||
(start 0.635 17.78)
|
||||
(mid -0.263026 17.408026)
|
||||
(end -0.635 16.51)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "3c66204c-ceef-422f-a2a6-d6fa857e83c4")
|
||||
)
|
||||
(fp_arc
|
||||
(start 14.605 -2.54)
|
||||
(mid 15.503026 -2.168026)
|
||||
(end 15.875 -1.27)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2b5007b8-c08a-49cb-91c7-b7fc17224201")
|
||||
)
|
||||
(fp_arc
|
||||
(start 15.875 16.51)
|
||||
(mid 15.503026 17.408026)
|
||||
(end 14.605 17.78)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type default)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2d927d21-43fc-433b-98ce-c8ae89702bc0")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -1.778 0) (xy -2.54 0.635) (xy -2.54 -0.635)
|
||||
)
|
||||
(stroke
|
||||
(width 0.15)
|
||||
(type solid)
|
||||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ccbb1fe8-25d2-48e4-8ed8-f02b60a936a4")
|
||||
)
|
||||
(fp_rect
|
||||
(start -1.27 -3.175)
|
||||
(end 16.51 18.415)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "B.CrtYd")
|
||||
(uuid "3db42cc7-72f5-47f9-a4e2-952c054274d0")
|
||||
)
|
||||
(fp_rect
|
||||
(start -1.27 -3.175)
|
||||
(end 16.51 18.415)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "2979a423-c38d-4dc8-9f55-f075114fa43e")
|
||||
)
|
||||
(pad "1" thru_hole rect
|
||||
(at 0 0)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "33034c34-91a9-4d76-91bb-24a359afafe7")
|
||||
)
|
||||
(pad "2" thru_hole circle
|
||||
(at 0 2.54)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "d9335d51-2366-439c-b854-07fbac20a77c")
|
||||
)
|
||||
(pad "3" thru_hole circle
|
||||
(at 0 5.08)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "4c87a941-f16d-46ed-bfb0-cba9f2df65db")
|
||||
)
|
||||
(pad "4" thru_hole circle
|
||||
(at 0 7.62)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "f3662192-7f5b-49e9-ab60-660f5e640bd7")
|
||||
)
|
||||
(pad "5" thru_hole circle
|
||||
(at 0 10.16)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "3a8fb790-57fe-47fa-8d85-5583145d7b78")
|
||||
)
|
||||
(pad "6" thru_hole circle
|
||||
(at 0 12.7)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "3bb583df-6fa0-4b25-9abe-3dd1361d0250")
|
||||
)
|
||||
(pad "7" thru_hole circle
|
||||
(at 0 15.24)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "8dfd91d7-bf19-45c1-b96d-ddefcc956485")
|
||||
)
|
||||
(pad "8" thru_hole circle
|
||||
(at 15.24 15.24)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "b98977c1-4bab-4b4a-b452-5e401f15e282")
|
||||
)
|
||||
(pad "9" thru_hole circle
|
||||
(at 15.24 12.7)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "dc5d862b-e345-43c6-8ff0-f931d4d2de18")
|
||||
)
|
||||
(pad "10" thru_hole circle
|
||||
(at 15.24 10.16)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "905b8259-034a-4455-9eec-97364e0342c4")
|
||||
)
|
||||
(pad "11" thru_hole circle
|
||||
(at 15.24 7.62)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "557aa2bf-dda6-4abb-9637-dd54806afa5c")
|
||||
)
|
||||
(pad "12" thru_hole circle
|
||||
(at 15.24 5.08)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "4c3a21a8-d750-4d89-b161-07780d153adb")
|
||||
)
|
||||
(pad "13" thru_hole circle
|
||||
(at 15.24 2.54)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "2de18c37-3f55-48bf-9230-bd0785b74ba8")
|
||||
)
|
||||
(pad "14" thru_hole circle
|
||||
(at 15.24 0)
|
||||
(size 1.524 1.524)
|
||||
(drill 0.762)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "8b54e012-91e3-4485-8af4-4030e615fa8e")
|
||||
)
|
||||
(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x07_P2.54mm_Vertical.wrl"
|
||||
(offset
|
||||
(xyz 0 0 3)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 180 0)
|
||||
)
|
||||
)
|
||||
(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x07_P2.54mm_Vertical.wrl"
|
||||
(offset
|
||||
(xyz 15.24 0 3)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 180 0)
|
||||
)
|
||||
)
|
||||
(model "${KIPRJMOD}/Seeed Studio XIAO-ESP32-C3.step"
|
||||
(offset
|
||||
(xyz 13.75 -9.35 3)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz -90 0 -90)
|
||||
)
|
||||
)
|
||||
)
|
1468
pcb/pcb/cover.kicad_sch
Normal file
1468
pcb/pcb/cover.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
7476
pcb/pcb/esp.kicad_sch
Normal file
7476
pcb/pcb/esp.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
4
pcb/pcb/fp-lib-table
Normal file
4
pcb/pcb/fp-lib-table
Normal file
|
@ -0,0 +1,4 @@
|
|||
(fp_lib_table
|
||||
(version 7)
|
||||
(lib (name "Library")(type "KiCad")(uri "${KIPRJMOD}/Library.pretty")(options "")(descr ""))
|
||||
)
|
8
pcb/pcb/led7seg.kicad_sch
Normal file
8
pcb/pcb/led7seg.kicad_sch
Normal file
|
@ -0,0 +1,8 @@
|
|||
(kicad_sch
|
||||
(version 20231120)
|
||||
(generator "eeschema")
|
||||
(generator_version "8.0")
|
||||
(uuid "2fccfb2b-acbf-4905-99d0-b0f4428b7e5a")
|
||||
(paper "A4")
|
||||
(lib_symbols)
|
||||
)
|
1468
pcb/pcb/panel.kicad_sch
Normal file
1468
pcb/pcb/panel.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
10102
pcb/pcb/pcb.kicad_pcb
Normal file
10102
pcb/pcb/pcb.kicad_pcb
Normal file
File diff suppressed because it is too large
Load diff
616
pcb/pcb/pcb.kicad_pro
Normal file
616
pcb/pcb/pcb.kicad_pro
Normal file
|
@ -0,0 +1,616 @@
|
|||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"apply_defaults_to_fp_fields": false,
|
||||
"apply_defaults_to_fp_shapes": false,
|
||||
"apply_defaults_to_fp_text": false,
|
||||
"board_outline_line_width": 0.05,
|
||||
"copper_line_width": 0.2,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.05,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.1,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.1,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.0,
|
||||
"height": 0.6,
|
||||
"width": 1.95
|
||||
},
|
||||
"silk_line_width": 0.1,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.1,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"min_clearance": 0.0
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [
|
||||
{
|
||||
"gap": 0.0,
|
||||
"via_gap": 0.0,
|
||||
"width": 0.0
|
||||
}
|
||||
],
|
||||
"drc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"connection_width": "warning",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint": "error",
|
||||
"footprint_symbol_mismatch": "warning",
|
||||
"footprint_type_mismatch": "ignore",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"holes_co_located": "warning",
|
||||
"invalid_outline": "error",
|
||||
"isolated_copper": "warning",
|
||||
"item_on_disabled_layer": "error",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"lib_footprint_issues": "warning",
|
||||
"lib_footprint_mismatch": "warning",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "warning",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_edge_clearance": "warning",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
"starved_thermal": "error",
|
||||
"text_height": "warning",
|
||||
"text_thickness": "warning",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_connection": 0.0,
|
||||
"min_copper_edge_clearance": 0.0,
|
||||
"min_hole_clearance": 0.0,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.2,
|
||||
"min_microvia_drill": 0.1,
|
||||
"min_resolved_spokes": 2,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.8,
|
||||
"min_text_thickness": 0.08,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.0,
|
||||
"min_via_annular_width": 0.1,
|
||||
"min_via_diameter": 0.5,
|
||||
"solder_mask_to_copper_clearance": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"teardrop_options": [
|
||||
{
|
||||
"td_onpadsmd": true,
|
||||
"td_onroundshapesonly": false,
|
||||
"td_ontrackend": false,
|
||||
"td_onviapad": true
|
||||
}
|
||||
],
|
||||
"teardrop_parameters": [
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_round_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_rect_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_track_end",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
}
|
||||
],
|
||||
"track_widths": [
|
||||
0.0,
|
||||
0.25,
|
||||
0.3,
|
||||
0.4
|
||||
],
|
||||
"tuning_pattern_settings": {
|
||||
"diff_pair_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 1.0
|
||||
},
|
||||
"diff_pair_skew_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
},
|
||||
"single_track_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
}
|
||||
},
|
||||
"via_dimensions": [
|
||||
{
|
||||
"diameter": 0.0,
|
||||
"drill": 0.0
|
||||
},
|
||||
{
|
||||
"diameter": 1.4,
|
||||
"drill": 0.8
|
||||
}
|
||||
],
|
||||
"zones_allow_external_fillets": false
|
||||
},
|
||||
"ipc2581": {
|
||||
"dist": "",
|
||||
"distpn": "",
|
||||
"internal_id": "",
|
||||
"mfg": "",
|
||||
"mpn": ""
|
||||
},
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"erc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_entry_needed": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"conflicting_netclasses": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_reference": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"endpoint_off_grid": "warning",
|
||||
"extra_units": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "warning",
|
||||
"missing_bidi_pin": "warning",
|
||||
"missing_input_pin": "warning",
|
||||
"missing_power_pin": "error",
|
||||
"missing_unit": "warning",
|
||||
"multiple_net_names": "warning",
|
||||
"net_not_bus_member": "warning",
|
||||
"no_connect_connected": "warning",
|
||||
"no_connect_dangling": "warning",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "warning",
|
||||
"power_pin_not_driven": "error",
|
||||
"similar_labels": "warning",
|
||||
"simulation_model_issue": "ignore",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "pcb.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.2,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.2,
|
||||
"via_diameter": 0.6,
|
||||
"via_drill": 0.3,
|
||||
"wire_width": 6
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 3
|
||||
},
|
||||
"net_colors": null,
|
||||
"netclass_assignments": null,
|
||||
"netclass_patterns": []
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"plot": "/mnt/kuebel/TEMP/spaceapibox/",
|
||||
"pos_files": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"svg": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"bom_export_filename": "",
|
||||
"bom_fmt_presets": [],
|
||||
"bom_fmt_settings": {
|
||||
"field_delimiter": ",",
|
||||
"keep_line_breaks": false,
|
||||
"keep_tabs": false,
|
||||
"name": "CSV",
|
||||
"ref_delimiter": ",",
|
||||
"ref_range_delimiter": "",
|
||||
"string_delimiter": "\""
|
||||
},
|
||||
"bom_presets": [],
|
||||
"bom_settings": {
|
||||
"exclude_dnp": false,
|
||||
"fields_ordered": [
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Reference",
|
||||
"name": "Reference",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "Value",
|
||||
"name": "Value",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Datasheet",
|
||||
"name": "Datasheet",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Footprint",
|
||||
"name": "Footprint",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Qty",
|
||||
"name": "${QUANTITY}",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "DNP",
|
||||
"name": "${DNP}",
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"filter_string": "",
|
||||
"group_symbols": true,
|
||||
"name": "Grouped By Value",
|
||||
"sort_asc": true,
|
||||
"sort_field": "Reference"
|
||||
},
|
||||
"connection_grid_size": 50.0,
|
||||
"drawing": {
|
||||
"dashed_lines_dash_length_ratio": 12.0,
|
||||
"dashed_lines_gap_length_ratio": 3.0,
|
||||
"default_line_thickness": 6.0,
|
||||
"default_text_size": 50.0,
|
||||
"field_names": [],
|
||||
"intersheets_ref_own_page": false,
|
||||
"intersheets_ref_prefix": "",
|
||||
"intersheets_ref_short": false,
|
||||
"intersheets_ref_show": false,
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"label_size_ratio": 0.375,
|
||||
"operating_point_overlay_i_precision": 3,
|
||||
"operating_point_overlay_i_range": "~A",
|
||||
"operating_point_overlay_v_precision": 3,
|
||||
"operating_point_overlay_v_range": "~V",
|
||||
"overbar_offset_ratio": 1.23,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.15
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 1
|
||||
},
|
||||
"net_format_name": "",
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_current_sheet_as_root": false,
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"spice_model_current_sheet_as_root": true,
|
||||
"spice_save_all_currents": false,
|
||||
"spice_save_all_dissipations": false,
|
||||
"spice_save_all_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"f8c1fb25-25af-44db-b993-115b96db9374",
|
||||
"Root"
|
||||
],
|
||||
[
|
||||
"6de808a1-e841-48bc-9eb8-aa01e255a260",
|
||||
"panel"
|
||||
],
|
||||
[
|
||||
"7204a722-4117-47e2-a892-20e60790c5e5",
|
||||
"esp"
|
||||
],
|
||||
[
|
||||
"ac6384a0-edb9-4403-930f-8cc525113c97",
|
||||
"led7seg"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
147
pcb/pcb/pcb.kicad_sch
Normal file
147
pcb/pcb/pcb.kicad_sch
Normal file
|
@ -0,0 +1,147 @@
|
|||
(kicad_sch
|
||||
(version 20231120)
|
||||
(generator "eeschema")
|
||||
(generator_version "8.0")
|
||||
(uuid "f8c1fb25-25af-44db-b993-115b96db9374")
|
||||
(paper "A4")
|
||||
(lib_symbols)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 127 127) (xy 152.4 127)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "2ee28525-c79b-4e94-8dbe-567019fcb4b3")
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 127 63.5) (xy 152.4 63.5)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type default)
|
||||
)
|
||||
(uuid "4bbd0eb7-be89-45fb-aeea-0a98a6c13ce2")
|
||||
)
|
||||
(sheet
|
||||
(at 38.1 38.1)
|
||||
(size 88.9 50.8)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "6de808a1-e841-48bc-9eb8-aa01e255a260")
|
||||
(property "Sheetname" "panel"
|
||||
(at 38.1 37.3884 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "panel.kicad_sch"
|
||||
(at 38.1 89.4846 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "pcb"
|
||||
(path "/f8c1fb25-25af-44db-b993-115b96db9374"
|
||||
(page "2")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet
|
||||
(at 152.4 38.1)
|
||||
(size 114.3 114.3)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "7204a722-4117-47e2-a892-20e60790c5e5")
|
||||
(property "Sheetname" "esp"
|
||||
(at 152.4 37.3884 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "esp.kicad_sch"
|
||||
(at 152.4 152.9846 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "pcb"
|
||||
(path "/f8c1fb25-25af-44db-b993-115b96db9374"
|
||||
(page "3")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet
|
||||
(at 38.1 101.6)
|
||||
(size 88.9 50.8)
|
||||
(fields_autoplaced yes)
|
||||
(stroke
|
||||
(width 0.1524)
|
||||
(type solid)
|
||||
)
|
||||
(fill
|
||||
(color 0 0 0 0.0000)
|
||||
)
|
||||
(uuid "ac6384a0-edb9-4403-930f-8cc525113c97")
|
||||
(property "Sheetname" "led7seg"
|
||||
(at 38.1 100.8884 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left bottom)
|
||||
)
|
||||
)
|
||||
(property "Sheetfile" "led7seg.kicad_sch"
|
||||
(at 38.1 152.9846 0)
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
)
|
||||
(justify left top)
|
||||
)
|
||||
)
|
||||
(instances
|
||||
(project "pcb"
|
||||
(path "/f8c1fb25-25af-44db-b993-115b96db9374"
|
||||
(page "4")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sheet_instances
|
||||
(path "/"
|
||||
(page "1")
|
||||
)
|
||||
)
|
||||
)
|
39
pcb/pcb/spaceapi.svg
Normal file
39
pcb/pcb/spaceapi.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 7 KiB |
4
pcb/pcb/sym-lib-table
Normal file
4
pcb/pcb/sym-lib-table
Normal file
|
@ -0,0 +1,4 @@
|
|||
(sym_lib_table
|
||||
(version 7)
|
||||
(lib (name "Library")(type "KiCad")(uri "${KIPRJMOD}/Library.kicad_sym")(options "")(descr ""))
|
||||
)
|
BIN
pcb/sn74hc595-ep.pdf
Normal file
BIN
pcb/sn74hc595-ep.pdf
Normal file
Binary file not shown.
Loading…
Reference in a new issue