Compare commits

...

15 Commits

Author SHA1 Message Date
1467aeac7f Almost finalized block diagram
Some checks failed
CI / generate_outputs (push) Failing after 10m13s
CI / release (push) Has been cancelled
2026-02-21 21:24:42 -05:00
9ae682fd98 Merge branch 'dev' of https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock into dev 2026-02-20 12:13:09 -05:00
aidanbrzezinski
2b2579be85 Update Outputs 2026-02-20 04:38:19 +00:00
1f4516e2d5 another action text
All checks were successful
CI / generate_outputs (push) Successful in 5m30s
CI / release (push) Has been skipped
2026-02-19 23:32:17 -05:00
f9790f32e1 Merge branch 'dev' of https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock into dev 2026-02-19 19:46:05 -05:00
aidanbrzezinski
c5dd38c520 Update Outputs 2026-02-20 00:24:27 +00:00
8434b08371 block digram almost complete
All checks were successful
CI / generate_outputs (push) Successful in 4m20s
CI / release (push) Has been skipped
2026-02-19 17:19:39 -05:00
aidanbrzezinski
788aab049f Update Outputs 2026-02-19 03:54:12 +00:00
16a3bc22dd No real changes more intrested to see how actions runs again
Some checks failed
CI / generate_outputs (push) Successful in 5m38s
CI / release (push) Has been cancelled
2026-02-18 22:33:59 -05:00
aidanbrzezinski
33896b663e Update Outputs 2026-02-18 01:39:04 +00:00
81f2fadc16 changed upload-artifact from @v4 to @v3
Some checks failed
CI / generate_outputs (push) Successful in 4m44s
CI / release (push) Has been cancelled
2026-02-17 20:30:55 -05:00
161a23adf8 fixed artifact@v4 to @v3 2026-02-17 19:06:27 -05:00
aidanbrzezinski
74bdf390d2 Update Outputs 2026-02-17 23:33:19 +00:00
a489a6622b Started block digram, this is mainly to see if actions is working
Some checks failed
CI / generate_outputs (push) Failing after 28m24s
CI / release (push) Has been cancelled
2026-02-17 17:12:28 -05:00
b199e4966e Test
Some checks failed
CI / generate_outputs (push) Failing after 1m26s
CI / release (push) Has been skipped
2026-02-17 09:09:02 -05:00
23 changed files with 14698 additions and 4268 deletions

7
.gitattributes vendored Normal file
View File

@@ -0,0 +1,7 @@
*.csv filter=bom_csv
*.html filter=bom_html
*.gbr filter=gerber
*.gbrjob filter=gbrjob
*.xml filter=xml
*.kicad_pcb filter=kicad_pcb_f
*.net filter=net_filter

20
.gitconfig Normal file
View File

@@ -0,0 +1,20 @@
[filter "bom_csv"]
clean = sed -E 's/^BoM Date:.*$/BoM Date:Date/'
smudge = sed -E \"s/BoM Date:Date/BoM Date:,`date +\\\"%a %d %b %Y %X %:::z\\\"`/\"
[filter "bom_html"]
clean = sed -E 's/^<tr><td>BoM Date<\\/td><td>.*$/<tr><td>BoM Date<\\/td><td>Date<\\/td><\\/tr>/'
smudge = sed -E \"s/<tr><td>BoM Date<\\/td><td>Date<\\/td><\\/tr>/<tr><td>BoM Date<\\/td><td>`date +\\\"%a %d %b %Y %X %:::z\\\"`<\\/td><\\/tr>/\"
[filter "gerber"]
clean = sed -E -e 's/^%TF.CreationDate,.*$/%TF.CreationDate,Date%/' -e 's/^G04 Created by KiCad.*$/G04 Created by KiCad*/'
smudge = sed -E \"s/%TF.CreationDate,Date%/%TF.CreationDate,`date +%Y-%m-%dT%H:%M:%S%:z`/\"
[filter "gbrjob"]
clean = sed -E 's/\"CreationDate\":.*/\"CreationDate\": \"Date\"/'
smudge = sed -E \"s/\\\"CreationDate\\\": \\\"Date\\\"/\\\"CreationDate\\\": \\\"`date +%Y-%m-%dT%H:%M:%S%:z`\\\"/\"
[filter "xml"]
clean = sed -E -e 's/^ <date>.*<\\/date>/ <date>Date2<\\/date>/' -e 's/^ <date>.*<\\/date>/ <date>Date1<\\/date>/'
smudge = sed -E -e \"s/<date>Date1<\\/date>/<date>`date +\\\"%a %d %b %Y %X %:::z\\\"`<\\/date>/\" -e \"s/<date>Date2<\\/date>/<date>`date +\\\"%Y-%m-%d\\\"`<\\/date>/\"
[filter "kicad_pcb_f"]
clean = sed -E 's/\\(host pcbnew ([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+).*/\\(host pcbnew \\1\\)/'
[filter "net_filter"]
clean = sed -E -e 's/\\(date \\\".*\\\"\\)/\\(date \\\"Date\\\"\\)/'
smudge = sed -E -e \"s/\\(date \\\"Date\\\"\\)/\\(date \\\"`date +\\\"%a %d %b %Y %X %:::z\\\"`\\\"\\)/\"

View File

@@ -244,21 +244,21 @@ jobs:
- name: Store log - name: Store log
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: log_file name: log_file
path: ${{ env.kibot_log }} path: ${{ env.kibot_log }}
- name: Store notes log - name: Store notes log
if: ${{ always() && env.kibot_variant != 'DRAFT' }} if: ${{ always() && env.kibot_variant != 'DRAFT' }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: log_file_notes name: log_file_notes
path: kibot_run_notes.log path: kibot_run_notes.log
- name: Store README log - name: Store README log
if: ${{ always() && env.kibot_variant == 'DRAFT' }} if: ${{ always() && env.kibot_variant == 'DRAFT' }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: log_file_readme name: log_file_readme
path: kibot_run_readme.log path: kibot_run_readme.log

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 KiB

View File

@@ -0,0 +1 @@
Row,Quantity Per PCB,References,Value,Datasheet,Footprint,Description,Manufacturer,Manufacturer Part Number,Supplier Part Number
1 Row Quantity Per PCB References Value Datasheet Footprint Description Manufacturer Manufacturer Part Number Supplier Part Number

View File

@@ -0,0 +1,241 @@
<html>
<head>
<meta charset="UTF-8">
<title>Bill of Materials</title>
<style>
.cell-title { vertical-align: bottom; }
.cell-info { vertical-align: top; padding: 1em;}
.cell-extra-info { vertical-align: top; padding: 1em;}
.cell-stats { vertical-align: top; padding: 1em;}
.title { font-size:2.5em; font-weight: bold; }
.subtitle { font-size:1.5em; font-weight: bold; }
.h2 { font-size:1.5em; font-weight: bold; }
.td-empty0 { text-align: center; background-color: #F57676;}
.td-gen0 { text-align: center; background-color: #DCF5E4;}
.td-kicad0 { text-align: center; background-color: #F5DCA9;}
.td-user0 { text-align: center; background-color: #DCEFF5;}
.td-empty1 { text-align: center; background-color: #FF8080;}
.td-gen1 { text-align: center; background-color: #E6FFEE;}
.td-kicad1 { text-align: center; background-color: #FFE6B3;}
.td-user1 { text-align: center; background-color: #E6F9FF;}
.td-nocolor { text-align: center; }
.color-ref { margin: 25px 0; }
.color-ref th { text-align: left }
.color-ref td { padding: 5px 20px; }
.head-table { margin-bottom: 2em; }
.centered-checkmark { font-size: 30vw; text-align: center; color: green; }
.tg-sort-header::-moz-selection{background:0 0}
.tg-sort-header::selection{background:0 0}.tg-sort-header{cursor:pointer}
.tg-sort-header:after{content:'';float:right;border-width:0 5px 5px;border-style:solid;
border-color:#ffffff transparent;visibility:hidden;opacity:.6}
.tg-sort-header:hover:after{visibility:visible}
.tg-sort-asc:after,.tg-sort-asc:hover:after,.tg-sort-desc:after{visibility:visible;opacity:1}
.tg-sort-desc:after{border-bottom:none;border-width:5px 5px 0}
.content-table {
border-collapse:
collapse;
margin-top: 5px;
margin-bottom: 4em;
font-size: 0.9em;
font-family: sans-serif;
min-width: 400px;
border-radius: 5px 5px 0 0;
overflow: hidden;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}
.content-table thead tr { background-color: #0e4e8e; color: #ffffff; text-align: left; }
.content-table th, .content-table td { padding: 12px 15px; }
.content-table tbody tr { border-bottom: 1px solid #dddddd; }
.content-table tbody tr:nth-of-type(even) { background-color: #f3f3f3; }
.content-table tbody tr:last-of-type { border-bottom: 2px solid #0e4e8e; }
.content-table * tr:hover > td { background-color: @bgl@ !important }
.content-table {
border-collapse:
collapse;
margin-top: 5px;
margin-bottom: 4em;
font-size: 0.9em;
font-family: sans-serif;
min-width: 400px;
border-radius: 5px 5px 0 0;
overflow: hidden;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}
.content-table thead tr { background-color: @bg@; color: #ffffff; text-align: left; }
.content-table th, .content-table td { padding: 12px 15px; }
.content-table tbody tr { border-bottom: 1px solid #dddddd; }
.content-table tbody tr:nth-of-type(even) { background-color: #f3f3f3; }
.content-table tbody tr:last-of-type { border-bottom: 2px solid @bg@; }
.content-table * tr:hover > td { background-color: #3e7ebe !important }
</style>
</head>
<body>
<table class="head-table">
<tr>
<td rowspan="2">
</td>
<td colspan="2" class="cell-title">
<div class="title">Bill of Materials</div>
</td>
</tr>
<tr>
<td class="cell-info">
<b>Schematic</b>: Nixie_Tube_Clock<br>
<b>Variant</b>: DRAFT<br>
<b>Revision</b>: + (Unreleased)<br>
<b>Date</b>: 2025-01-12<br>
<b>KiCad Version</b>: 9.0.7+1<br>
</td>
<td class="cell-stats">
<b>Component Groups</b>: 0<br>
<b>Component Count</b>: 0 (per PCB)<br>
<b>Fitted Components</b>: 0 (per PCB)<br>
<b>Number of PCBs</b>: 1<br>
<b>Total Components</b>: 0 (for 1 PCBs)<br>
</td>
</tr>
</table>
<h2>Component Groups</h2>
<table class="content-table">
<thead>
<tr>
<th class="th-gen">Row</th>
<th class="th-gen">Quantity Per PCB</th>
<th class="th-kicad">References</th>
<th class="th-kicad">Value</th>
<th class="th-kicad">Datasheet</th>
<th class="th-kicad">Footprint</th>
<th class="th-user">Description</th>
<th class="th-user">Manufacturer</th>
<th class="th-user">Manufacturer Part Number</th>
<th class="th-user">Supplier Part Number</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<table class="color-ref">
<tr><th>Color reference for columns:</th></tr>
<tr><td class="td-kicad0">KiCad Fields (default)</td></tr>
<tr><td class="td-gen0">Generated Fields</td></tr>
<tr><td class="td-user0">User Fields</td></tr>
<tr><td class="td-empty0">Empty Fields</td></tr>
</table>
<script charset="utf-8">
var TGSort = window.TGSort || function(n) {
"use strict";
function r(n) { return n ? n.length : 0 }
function t(n, t, e, o = 0) { for (e = r(n); o < e; ++o) t(n[o], o) }
function e(n) { return n.split("").reverse().join("") }
function o(n) {
var e = n[0];
return t(n, function(n) {
for (; !n.startsWith(e);) e = e.substring(0, r(e) - 1)
}), r(e)
}
function u(n, r, e = []) {
return t(n, function(n) {
r(n) && e.push(n)
}), e
}
var a = parseFloat;
function i(n, r) {
return function(t) {
var e = "";
return t.replace(n, function(n, t, o) {
return e = t.replace(r, "") + "." + (o || "").substring(1)
}), a(e)
}
}
var s = i(/^(?:\s*)([+-]?(?:\d+)(?:,\d{3})*)(\.\d*)?$/g, /,/g),
c = i(/^(?:\s*)([+-]?(?:\d+)(?:\.\d{3})*)(,\d*)?$/g, /\./g);
function f(n) {
var t = a(n);
return !isNaN(t) && r("" + t) + 1 >= r(n) ? t : NaN
}
function d(n) {
var e = [],
o = n;
return t([f, s, c], function(u) {
var a = [],
i = [];
t(n, function(n, r) {
r = u(n), a.push(r), r || i.push(n)
}), r(i) < r(o) && (o = i, e = a)
}), r(u(o, function(n) {
return n == o[0]
})) == r(o) ? e : []
}
function v(n) {
if ("TABLE" == n.nodeName) {
for (var a = function(r) {
var e, o, u = [],
a = [];
return function n(r, e) {
e(r), t(r.childNodes, function(r) {
n(r, e)
})
}(n, function(n) {
"TR" == (o = n.nodeName) ? (e = [], u.push(e), a.push(n)) : "TD" != o && "TH" != o || e.push(n)
}), [u, a]
}(), i = a[0], s = a[1], c = r(i), f = c > 1 && r(i[0]) < r(i[1]) ? 1 : 0, v = f + 1, p = i[f], h = r(p), l = [], g = [], N = [], m = v; m < c; ++m) {
for (var T = 0; T < h; ++T) {
r(g) < h && g.push([]);
var C = i[m][T],
L = C.textContent || C.innerText || "";
g[T].push(L.trim())
}
N.push(m - v)
}
t(p, function(n, t) {
l[t] = 0;
var a = n.classList;
a.add("tg-sort-header"), n.addEventListener("click", function() {
var n = l[t];
! function() {
for (var n = 0; n < h; ++n) {
var r = p[n].classList;
r.remove("tg-sort-asc"), r.remove("tg-sort-desc"), l[n] = 0
}
}(), (n = 1 == n ? -1 : +!n) && a.add(n > 0 ? "tg-sort-asc" : "tg-sort-desc"), l[t] = n;
var i, f = g[t],
m = function(r, t) {
return n * f[r].localeCompare(f[t]) || n * (r - t)
},
T = function(n) {
var t = d(n);
if (!r(t)) {
var u = o(n),
a = o(n.map(e));
t = d(n.map(function(n) {
return n.substring(u, r(n) - a)
}))
}
return t
}(f);
(r(T) || r(T = r(u(i = f.map(Date.parse), isNaN)) ? [] : i)) && (m = function(r, t) {
var e = T[r],
o = T[t],
u = isNaN(e),
a = isNaN(o);
return u && a ? 0 : u ? -n : a ? n : e > o ? n : e < o ? -n : n * (r - t)
});
var C, L = N.slice();
L.sort(m);
for (var E = v; E < c; ++E)(C = s[E].parentNode).removeChild(s[E]);
for (E = v; E < c; ++E) C.appendChild(s[v + L[E - v]])
})
})
}
}
n.addEventListener("DOMContentLoaded", function() {
for (var t = n.getElementsByClassName("content-table"), e = 0; e < r(t); ++e) try {
v(t[e])
} catch (n) {}
})
}(document)
</script>
</body></html>

View File

@@ -0,0 +1,184 @@
(export (version "E")
(design
(source "/workspace/aidanbrzezinski/Nixie_Tube_Clock/Nixie_Tube_Clock.kicad_sch")
(date "Date")
(tool "Eeschema 9.0.7+1")
(textvar (name "ASSEMBLY_NOTES"))
(textvar (name "BOARD_NAME") "Nixie Clock Main Board")
(textvar (name "COMPANY") "Company Name")
(textvar (name "DESIGNER") "Aidan Brzezinski")
(textvar (name "FABRICATION_NOTES"))
(textvar (name "GIT_HASH_PCB") "1d094e6")
(textvar (name "GIT_HASH_SCH") "b199e49")
(textvar (name "GIT_URL") "https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock.git")
(textvar (name "PROJECT_NAME") "Nixie Tube Clock")
(textvar (name "RELEASE_BODY_1.0.0"))
(textvar (name "RELEASE_BODY_1.0.1"))
(textvar (name "RELEASE_BODY_1.0.2"))
(textvar (name "RELEASE_BODY_1.1.0"))
(textvar (name "RELEASE_BODY_UNRELEASED") "Version Unreleased not found.")
(textvar (name "RELEASE_DATE") "19-Feb-2026")
(textvar (name "RELEASE_DATE_NUM") "2026-02-19")
(textvar (name "RELEASE_TITLE_1.0.0"))
(textvar (name "RELEASE_TITLE_1.0.1"))
(textvar (name "RELEASE_TITLE_1.0.2"))
(textvar (name "RELEASE_TITLE_1.1.0"))
(textvar (name "RELEASE_TITLE_UNRELEASED") "Version Unreleased not found.")
(textvar (name "REVISION") "+ (Unreleased)")
(textvar (name "SHEET_NAME_1") "Cover Page")
(textvar (name "SHEET_NAME_10") "......................................")
(textvar (name "SHEET_NAME_11") "......................................")
(textvar (name "SHEET_NAME_12") "......................................")
(textvar (name "SHEET_NAME_13") "......................................")
(textvar (name "SHEET_NAME_14") "......................................")
(textvar (name "SHEET_NAME_15") "......................................")
(textvar (name "SHEET_NAME_16") "......................................")
(textvar (name "SHEET_NAME_17") "......................................")
(textvar (name "SHEET_NAME_18") "......................................")
(textvar (name "SHEET_NAME_19") "......................................")
(textvar (name "SHEET_NAME_2") "Block Diagram")
(textvar (name "SHEET_NAME_20") "......................................")
(textvar (name "SHEET_NAME_21") "......................................")
(textvar (name "SHEET_NAME_22") "......................................")
(textvar (name "SHEET_NAME_23") "......................................")
(textvar (name "SHEET_NAME_24") "......................................")
(textvar (name "SHEET_NAME_25") "......................................")
(textvar (name "SHEET_NAME_26") "......................................")
(textvar (name "SHEET_NAME_27") "......................................")
(textvar (name "SHEET_NAME_28") "......................................")
(textvar (name "SHEET_NAME_29") "......................................")
(textvar (name "SHEET_NAME_3") "Project Architecture")
(textvar (name "SHEET_NAME_30") "......................................")
(textvar (name "SHEET_NAME_31") "......................................")
(textvar (name "SHEET_NAME_32") "......................................")
(textvar (name "SHEET_NAME_33") "......................................")
(textvar (name "SHEET_NAME_34") "......................................")
(textvar (name "SHEET_NAME_35") "......................................")
(textvar (name "SHEET_NAME_36") "......................................")
(textvar (name "SHEET_NAME_37") "......................................")
(textvar (name "SHEET_NAME_38") "......................................")
(textvar (name "SHEET_NAME_39") "......................................")
(textvar (name "SHEET_NAME_4") "Power")
(textvar (name "SHEET_NAME_40") "......................................")
(textvar (name "SHEET_NAME_5") "Section B - Title B")
(textvar (name "SHEET_NAME_6") "Power - Sequencing")
(textvar (name "SHEET_NAME_7") "Revision History")
(textvar (name "SHEET_NAME_8") "......................................")
(textvar (name "SHEET_NAME_9") "......................................")
(textvar (name "VARIANT") "DRAFT")
(sheet (number "1") (name "/") (tstamps "/")
(title_block
(title)
(company "Company Name")
(rev "+ (Unreleased)")
(date "Date")
(source "Nixie_Tube_Clock.kicad_sch")
(comment (number "1") (value ""))
(comment (number "2") (value ""))
(comment (number "3") (value ""))
(comment (number "4") (value ""))
(comment (number "5") (value ""))
(comment (number "6") (value ""))
(comment (number "7") (value ""))
(comment (number "8") (value ""))
(comment (number "9") (value ""))))
(sheet (number "2") (name "/Block Diagram/") (tstamps "/82da9dbf-ba38-4d08-ba35-a220fa2963b1/")
(title_block
(title "Block Diagram")
(company "Company Name")
(rev "+ (Unreleased)")
(date "Date")
(source "Block Diagram.kicad_sch")
(comment (number "1") (value ""))
(comment (number "2") (value ""))
(comment (number "3") (value ""))
(comment (number "4") (value ""))
(comment (number "5") (value ""))
(comment (number "6") (value ""))
(comment (number "7") (value ""))
(comment (number "8") (value ""))
(comment (number "9") (value ""))))
(sheet (number "3") (name "/Project Architecture/") (tstamps "/c5103ceb-5325-4a84-a025-9638a412984e/")
(title_block
(title "Project Architecture")
(company "Company Name")
(rev "+ (Unreleased)")
(date "Date")
(source "Project Architecture.kicad_sch")
(comment (number "1") (value ""))
(comment (number "2") (value ""))
(comment (number "3") (value ""))
(comment (number "4") (value ""))
(comment (number "5") (value ""))
(comment (number "6") (value ""))
(comment (number "7") (value ""))
(comment (number "8") (value ""))
(comment (number "9") (value ""))))
(sheet (number "4") (name "/Project Architecture/Power/") (tstamps "/c5103ceb-5325-4a84-a025-9638a412984e/f06537ee-772d-44d3-8c50-e0ba41038c9c/")
(title_block
(title "Sheet Title A")
(company "Company Name")
(rev "+ (Unreleased)")
(date "Date")
(source "Section A - Title A.kicad_sch")
(comment (number "1") (value ""))
(comment (number "2") (value ""))
(comment (number "3") (value ""))
(comment (number "4") (value ""))
(comment (number "5") (value ""))
(comment (number "6") (value ""))
(comment (number "7") (value ""))
(comment (number "8") (value ""))
(comment (number "9") (value ""))))
(sheet (number "5") (name "/Project Architecture/Section B - Title B/") (tstamps "/c5103ceb-5325-4a84-a025-9638a412984e/e744f3ce-03a6-44a6-8792-1447ef232b9a/")
(title_block
(title "Sheet Title B")
(company "Company Name")
(rev "+ (Unreleased)")
(date "Date")
(source "Section B - TItle B.kicad_sch")
(comment (number "1") (value ""))
(comment (number "2") (value ""))
(comment (number "3") (value ""))
(comment (number "4") (value ""))
(comment (number "5") (value ""))
(comment (number "6") (value ""))
(comment (number "7") (value ""))
(comment (number "8") (value ""))
(comment (number "9") (value ""))))
(sheet (number "6") (name "/Power - Sequencing/") (tstamps "/5fb05893-0da3-4f58-a52b-cb6d6f4cb80b/")
(title_block
(title "Power - Sequencing")
(company "Company Name")
(rev "+ (Unreleased)")
(date "Date")
(source "Power - Sequencing.kicad_sch")
(comment (number "1") (value ""))
(comment (number "2") (value ""))
(comment (number "3") (value ""))
(comment (number "4") (value ""))
(comment (number "5") (value ""))
(comment (number "6") (value ""))
(comment (number "7") (value ""))
(comment (number "8") (value ""))
(comment (number "9") (value ""))))
(sheet (number "7") (name "/Revision History/") (tstamps "/6e125bd6-2f99-4e5d-b3ea-4899f4540739/")
(title_block
(title "Revision History")
(company "Company Name")
(rev "+ (Unreleased)")
(date "Date")
(source "Revision History.kicad_sch")
(comment (number "1") (value ""))
(comment (number "2") (value ""))
(comment (number "3") (value ""))
(comment (number "4") (value ""))
(comment (number "5") (value ""))
(comment (number "6") (value ""))
(comment (number "7") (value ""))
(comment (number "8") (value ""))
(comment (number "9") (value "")))))
(components)
(libparts)
(libraries)
(nets))

143
Nixie_Tube_Clock.kicad_prl Normal file
View File

@@ -0,0 +1,143 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
"vias",
"footprint_text",
"footprint_anchors",
"ratsnest",
"grid",
"footprints_front",
"footprints_back",
"footprint_values",
"footprint_references",
"tracks",
"drc_errors",
"drawing_sheet",
"bitmaps",
"pads",
"zones",
"drc_warnings",
"drc_exclusions",
"locked_item_shadows",
"conflict_shadows",
"shapes"
],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "Nixie_Tube_Clock.kicad_prl",
"version": 5
},
"net_inspector_panel": {
"col_hidden": [
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false,
false
],
"col_order": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13
],
"col_widths": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": 0
},
"open_jobsets": [],
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

View File

@@ -69,16 +69,19 @@
"copper_edge_clearance": "error", "copper_edge_clearance": "error",
"copper_sliver": "warning", "copper_sliver": "warning",
"courtyards_overlap": "error", "courtyards_overlap": "error",
"creepage": "error",
"diff_pair_gap_out_of_range": "error", "diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error", "diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error", "drill_out_of_range": "error",
"duplicate_footprints": "warning", "duplicate_footprints": "warning",
"extra_footprint": "warning", "extra_footprint": "warning",
"footprint": "error", "footprint": "error",
"footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning", "footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore", "footprint_type_mismatch": "ignore",
"hole_clearance": "error", "hole_clearance": "error",
"hole_near_hole": "error", "hole_near_hole": "error",
"hole_to_hole": "error",
"holes_co_located": "warning", "holes_co_located": "warning",
"invalid_outline": "error", "invalid_outline": "error",
"isolated_copper": "warning", "isolated_copper": "warning",
@@ -89,9 +92,11 @@
"lib_footprint_mismatch": "warning", "lib_footprint_mismatch": "warning",
"malformed_courtyard": "error", "malformed_courtyard": "error",
"microvia_drill_out_of_range": "error", "microvia_drill_out_of_range": "error",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore", "missing_courtyard": "ignore",
"missing_footprint": "warning", "missing_footprint": "warning",
"net_conflict": "warning", "net_conflict": "warning",
"nonmirrored_text_on_back_layer": "warning",
"npth_inside_courtyard": "ignore", "npth_inside_courtyard": "ignore",
"padstack": "warning", "padstack": "warning",
"pth_inside_courtyard": "ignore", "pth_inside_courtyard": "ignore",
@@ -103,10 +108,13 @@
"solder_mask_bridge": "warning", "solder_mask_bridge": "warning",
"starved_thermal": "error", "starved_thermal": "error",
"text_height": "ignore", "text_height": "ignore",
"text_on_edge_cuts": "error",
"text_thickness": "ignore", "text_thickness": "ignore",
"through_hole_pad_without_hole": "error", "through_hole_pad_without_hole": "error",
"too_many_vias": "error", "too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning", "track_dangling": "warning",
"track_segment_length": "error",
"track_width": "error", "track_width": "error",
"tracks_crossing": "error", "tracks_crossing": "error",
"unconnected_items": "error", "unconnected_items": "error",
@@ -119,6 +127,7 @@
"min_clearance": 0.2, "min_clearance": 0.2,
"min_connection": 0.0, "min_connection": 0.0,
"min_copper_edge_clearance": 0.25, "min_copper_edge_clearance": 0.25,
"min_groove_width": 0.0,
"min_hole_clearance": 0.254, "min_hole_clearance": 0.254,
"min_hole_to_hole": 0.254, "min_hole_to_hole": 0.254,
"min_microvia_diameter": 0.2, "min_microvia_diameter": 0.2,
@@ -138,16 +147,17 @@
}, },
"teardrop_options": [ "teardrop_options": [
{ {
"td_onpadsmd": true, "td_onpthpad": true,
"td_onroundshapesonly": false, "td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false, "td_ontrackend": false,
"td_onviapad": true "td_onvia": true
} }
], ],
"teardrop_parameters": [ "teardrop_parameters": [
{ {
"td_allow_use_two_tracks": true, "td_allow_use_two_tracks": true,
"td_curve_segcount": 5, "td_curve_segcount": 1,
"td_height_ratio": 1.0, "td_height_ratio": 1.0,
"td_length_ratio": 0.5, "td_length_ratio": 0.5,
"td_maxheight": 2.0, "td_maxheight": 2.0,
@@ -158,7 +168,7 @@
}, },
{ {
"td_allow_use_two_tracks": true, "td_allow_use_two_tracks": true,
"td_curve_segcount": 5, "td_curve_segcount": 1,
"td_height_ratio": 1.0, "td_height_ratio": 1.0,
"td_length_ratio": 0.5, "td_length_ratio": 0.5,
"td_maxheight": 2.0, "td_maxheight": 2.0,
@@ -169,7 +179,7 @@
}, },
{ {
"td_allow_use_two_tracks": true, "td_allow_use_two_tracks": true,
"td_curve_segcount": 5, "td_curve_segcount": 1,
"td_height_ratio": 1.0, "td_height_ratio": 1.0,
"td_length_ratio": 0.5, "td_length_ratio": 0.5,
"td_maxheight": 2.0, "td_maxheight": 2.0,
@@ -246,6 +256,7 @@
"mfg": "", "mfg": "",
"mpn": "" "mpn": ""
}, },
"layer_pairs": [],
"layer_presets": [], "layer_presets": [],
"viewports": [] "viewports": []
}, },
@@ -440,10 +451,15 @@
"duplicate_sheet_names": "error", "duplicate_sheet_names": "error",
"endpoint_off_grid": "warning", "endpoint_off_grid": "warning",
"extra_units": "error", "extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning", "global_label_dangling": "warning",
"hier_label_mismatch": "error", "hier_label_mismatch": "error",
"label_dangling": "error", "label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning", "lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning", "missing_bidi_pin": "warning",
"missing_input_pin": "warning", "missing_input_pin": "warning",
"missing_power_pin": "error", "missing_power_pin": "error",
@@ -456,9 +472,15 @@
"pin_not_driven": "error", "pin_not_driven": "error",
"pin_to_pin": "error", "pin_to_pin": "error",
"power_pin_not_driven": "error", "power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning", "similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore", "simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error", "unannotated": "error",
"unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error", "unit_value_mismatch": "error",
"unresolved_variable": "error", "unresolved_variable": "error",
"wire_dangling": "error" "wire_dangling": "error"
@@ -469,8 +491,8 @@
"pinned_symbol_libs": [] "pinned_symbol_libs": []
}, },
"meta": { "meta": {
"filename": "KDT_Hierarchical_KiBot.kicad_pro", "filename": "Nixie_Tube_Clock.kicad_pro",
"version": 1 "version": 3
}, },
"net_settings": { "net_settings": {
"classes": [ "classes": [
@@ -485,6 +507,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Default", "name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2147483647,
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -502,6 +525,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "CAN Bus", "name": "CAN Bus",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 0,
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -519,6 +543,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Chassis", "name": "Chassis",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 1,
"schematic_color": "rgb(139, 103, 213)", "schematic_color": "rgb(139, 103, 213)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -536,6 +561,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "GND", "name": "GND",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 2,
"schematic_color": "rgb(0, 0, 0)", "schematic_color": "rgb(0, 0, 0)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -553,6 +579,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "High Power", "name": "High Power",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 3,
"schematic_color": "rgb(177, 11, 198)", "schematic_color": "rgb(177, 11, 198)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.7, "via_diameter": 0.7,
@@ -570,6 +597,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Kelvin Diff Pair", "name": "Kelvin Diff Pair",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 4,
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -587,6 +615,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Power 12V", "name": "Power 12V",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 5,
"schematic_color": "rgb(255, 0, 171)", "schematic_color": "rgb(255, 0, 171)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -604,6 +633,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Power 3V3", "name": "Power 3V3",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 6,
"schematic_color": "rgb(220, 142, 0)", "schematic_color": "rgb(220, 142, 0)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -621,6 +651,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Power 5V", "name": "Power 5V",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 7,
"schematic_color": "rgb(212, 0, 32)", "schematic_color": "rgb(212, 0, 32)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -638,6 +669,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "Power A3V3", "name": "Power A3V3",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 8,
"schematic_color": "rgb(162, 155, 0)", "schematic_color": "rgb(162, 155, 0)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.55, "via_diameter": 0.55,
@@ -655,6 +687,7 @@
"microvia_drill": 0.1, "microvia_drill": 0.1,
"name": "RS422 Diff Pair", "name": "RS422 Diff Pair",
"pcb_color": "rgba(0, 0, 0, 0.000)", "pcb_color": "rgba(0, 0, 0, 0.000)",
"priority": 9,
"schematic_color": "rgba(0, 0, 0, 0.000)", "schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2, "track_width": 0.2,
"via_diameter": 0.6, "via_diameter": 0.6,
@@ -663,7 +696,7 @@
} }
], ],
"meta": { "meta": {
"version": 3 "version": 4
}, },
"net_colors": null, "net_colors": null,
"netclass_assignments": null, "netclass_assignments": null,
@@ -926,6 +959,7 @@
], ],
"filter_string": "", "filter_string": "",
"group_symbols": true, "group_symbols": true,
"include_excluded_from_bom": false,
"name": "", "name": "",
"sort_asc": true, "sort_asc": true,
"sort_field": "Footprint" "sort_field": "Footprint"
@@ -960,6 +994,7 @@
"net_format_name": "KiCad", "net_format_name": "KiCad",
"page_layout_descr_file": "Templates/KDT_Template_GIT.kicad_wks", "page_layout_descr_file": "Templates/KDT_Template_GIT.kicad_wks",
"plot_directory": "Schematic/", "plot_directory": "Schematic/",
"space_save_all_events": true,
"spice_current_sheet_as_root": false, "spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"", "spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true, "spice_model_current_sheet_as_root": true,
@@ -984,11 +1019,11 @@
], ],
[ [
"f06537ee-772d-44d3-8c50-e0ba41038c9c", "f06537ee-772d-44d3-8c50-e0ba41038c9c",
"Section A - Title A" "123"
], ],
[ [
"e744f3ce-03a6-44a6-8792-1447ef232b9a", "e744f3ce-03a6-44a6-8792-1447ef232b9a",
"Section B - Title B" "123"
], ],
[ [
"5fb05893-0da3-4f58-a52b-cb6d6f4cb80b", "5fb05893-0da3-4f58-a52b-cb6d6f4cb80b",
@@ -997,31 +1032,35 @@
[ [
"6e125bd6-2f99-4e5d-b3ea-4899f4540739", "6e125bd6-2f99-4e5d-b3ea-4899f4540739",
"Revision History" "Revision History"
],
[
"184becda-bae1-4969-9665-2bd768d92783",
"124"
] ]
], ],
"text_variables": { "text_variables": {
"ASSEMBLY_NOTES": "ASSEMBLY NOTES", "ASSEMBLY_NOTES": "",
"BOARD_NAME": "Board Name", "BOARD_NAME": "Nixie Clock Main Board",
"COMPANY": "Company", "COMPANY": "Company Name",
"DESIGNER": "Author", "DESIGNER": "Aidan Brzezinski",
"FABRICATION_NOTES": "FABRICATION NOTES", "FABRICATION_NOTES": "",
"GIT_HASH_PCB": "", "GIT_HASH_PCB": "1d094e6",
"GIT_HASH_SCH": "", "GIT_HASH_SCH": "b199e49",
"GIT_URL": "", "GIT_URL": "https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock.git",
"PROJECT_NAME": "Project Name", "PROJECT_NAME": "Nixie Tube Clock",
"RELEASE_BODY_1.0.0": "", "RELEASE_BODY_1.0.0": "",
"RELEASE_BODY_1.0.1": "", "RELEASE_BODY_1.0.1": "",
"RELEASE_BODY_1.0.2": "", "RELEASE_BODY_1.0.2": "",
"RELEASE_BODY_1.1.0": "", "RELEASE_BODY_1.1.0": "",
"RELEASE_BODY_UNRELEASED": "", "RELEASE_BODY_UNRELEASED": "Version Unreleased not found.",
"RELEASE_DATE": "DD-MMM-YYYY", "RELEASE_DATE": "19-Feb-2026",
"RELEASE_DATE_NUM": "YYYY-MM-DD", "RELEASE_DATE_NUM": "2026-02-19",
"RELEASE_TITLE_1.0.0": "", "RELEASE_TITLE_1.0.0": "",
"RELEASE_TITLE_1.0.1": "", "RELEASE_TITLE_1.0.1": "",
"RELEASE_TITLE_1.0.2": "", "RELEASE_TITLE_1.0.2": "",
"RELEASE_TITLE_1.1.0": "", "RELEASE_TITLE_1.1.0": "",
"RELEASE_TITLE_UNRELEASED": "", "RELEASE_TITLE_UNRELEASED": "Version Unreleased not found.",
"REVISION": "", "REVISION": "+ (Unreleased)",
"SHEET_NAME_1": "Cover Page", "SHEET_NAME_1": "Cover Page",
"SHEET_NAME_10": "......................................", "SHEET_NAME_10": "......................................",
"SHEET_NAME_11": "......................................", "SHEET_NAME_11": "......................................",
@@ -1055,13 +1094,13 @@
"SHEET_NAME_37": "......................................", "SHEET_NAME_37": "......................................",
"SHEET_NAME_38": "......................................", "SHEET_NAME_38": "......................................",
"SHEET_NAME_39": "......................................", "SHEET_NAME_39": "......................................",
"SHEET_NAME_4": "Section A - Title A", "SHEET_NAME_4": "Power",
"SHEET_NAME_40": "......................................", "SHEET_NAME_40": "......................................",
"SHEET_NAME_5": "Section B -Title B", "SHEET_NAME_5": "Section B - Title B",
"SHEET_NAME_6": "Power - Sequencing", "SHEET_NAME_6": "Power - Sequencing",
"SHEET_NAME_7": "Revision History", "SHEET_NAME_7": "Revision History",
"SHEET_NAME_8": "......................................", "SHEET_NAME_8": "......................................",
"SHEET_NAME_9": "......................................", "SHEET_NAME_9": "......................................",
"VARIANT": "" "VARIANT": "DRAFT"
} }
} }

View File

@@ -1,7 +1,7 @@
(kicad_sch (kicad_sch
(version 20231120) (version 20250114)
(generator "eeschema") (generator "eeschema")
(generator_version "8.0") (generator_version "9.0")
(uuid "f9e05184-c88b-4a88-ae9c-ab2bdb32be7c") (uuid "f9e05184-c88b-4a88-ae9c-ab2bdb32be7c")
(paper "A3") (paper "A3")
(title_block (title_block
@@ -10,268 +10,6 @@
(company "${COMPANY}") (company "${COMPANY}")
) )
(lib_symbols) (lib_symbols)
(polyline
(pts
(xy 45.72 73.66) (xy 106.68 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "0b94fcf5-1891-4585-9535-4e190090991a")
)
(polyline
(pts
(xy 243.84 73.66) (xy 304.8 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "0cbe4bf1-21dd-46d5-8d33-b4a3f92e1064")
)
(polyline
(pts
(xy 294.64 181.61) (xy 297.18 187.96)
)
(stroke
(width 1)
(type default)
(color 255 0 0 1)
)
(uuid "3799b615-bea5-4cb3-b9a2-2785865702a8")
)
(polyline
(pts
(xy 144.78 73.66) (xy 205.74 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "47e4f34a-6663-4f9a-acb3-7cf4eb159994")
)
(polyline
(pts
(xy 215.9 73.66) (xy 233.68 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "65b7519a-f480-42a3-926a-07bd8b620575")
)
(polyline
(pts
(xy 116.84 73.66) (xy 134.62 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "722439e6-abb9-4522-8594-b3181b0d9f4e")
)
(polyline
(pts
(xy 314.96 73.66) (xy 332.74 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "936e6872-8058-45c0-a0bd-58f432e24b1a")
)
(polyline
(pts
(xy 17.78 73.66) (xy 35.56 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "a3703ec8-87d6-4c32-a8ca-249d86e6160c")
)
(polyline
(pts
(xy 297.18 181.61) (xy 294.64 187.96)
)
(stroke
(width 1)
(type default)
(color 255 0 0 1)
)
(uuid "d1a06d73-e78a-446f-b9d8-0d5c726588d3")
)
(polyline
(pts
(xy 342.9 73.66) (xy 403.86 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "dee96870-b977-4804-a805-318fe8afe5f2")
)
(text_box "DESIGN NOTE:\nExample text for cautionary design notes."
(exclude_from_sim no)
(at 96.52 258.445 0)
(size 30.48 20.32)
(stroke
(width 1)
(type solid)
(color 250 236 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "14407e09-ee6c-4b22-86d1-36d73a33e664")
)
(text_box "DESIGN NOTE:\nExample text for debug notes."
(exclude_from_sim no)
(at 61.595 258.445 0)
(size 30.48 20.32)
(stroke
(width 1)
(type solid)
(color 255 165 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "1499d9a9-9f29-4929-8df7-74d84823ddfb")
)
(text_box "DESIGN NOTE:\nExample text for critical design notes."
(exclude_from_sim no)
(at 131.445 258.445 0)
(size 30.48 20.32)
(stroke
(width 1.5)
(type solid)
(color 255 0 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(thickness 0.4)
(bold yes)
(color 255 0 0 1)
)
(justify left top)
)
(uuid "1c311692-d683-4cdf-ac31-77bcdd4c4b39")
)
(text_box "LAYOUT NOTE:\nExample text for critical layout guidelines."
(exclude_from_sim no)
(at 166.37 258.445 0)
(size 30.48 20.32)
(stroke
(width 1.5)
(type solid)
(color 0 0 255 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(thickness 0.4)
(bold yes)
(color 0 0 255 1)
)
(justify left top)
)
(uuid "2efa106d-749e-4c2c-a05c-8429f99997c2")
)
(text_box "kibot_image_png_3d_viewer_angled_bottom"
(exclude_from_sim no)
(at 123.19 166.37 0)
(size 69.85 78.74)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
(effects
(font
(size 2.54 2.54)
)
(justify left top)
)
(uuid "33c3f6da-ba9e-4d58-9257-d85394a72b7b")
)
(text_box "DESIGN NOTE:\nExample text for informational design notes."
(exclude_from_sim no)
(at 26.67 258.445 0)
(size 30.48 20.32)
(stroke
(width 1)
(type solid)
(color 200 200 200 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "5018a9e1-9f76-429f-8094-85eee2236cda")
)
(text_box "kibot_image_png_3d_viewer_angled_top"
(exclude_from_sim no)
(at 22.86 166.37 0)
(size 69.85 78.74)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
(effects
(font
(size 2.54 2.54)
)
(justify left top)
)
(uuid "62b01781-ae4a-4e68-9a17-1436f3c897e5")
)
(text "Variant: ${VARIANT}" (text "Variant: ${VARIANT}"
(exclude_from_sim no) (exclude_from_sim no)
(at 25.4 58.42 0) (at 25.4 58.42 0)
@@ -1721,9 +1459,282 @@
) )
(uuid "faea8a5f-3a8f-49cb-9832-569be941b06b") (uuid "faea8a5f-3a8f-49cb-9832-569be941b06b")
) )
(text_box "DESIGN NOTE:\nExample text for cautionary design notes."
(exclude_from_sim no)
(at 96.52 258.445 0)
(size 30.48 20.32)
(margins 2 2 2 2)
(stroke
(width 1)
(type solid)
(color 250 236 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "14407e09-ee6c-4b22-86d1-36d73a33e664")
)
(text_box "DESIGN NOTE:\nExample text for debug notes."
(exclude_from_sim no)
(at 61.595 258.445 0)
(size 30.48 20.32)
(margins 2 2 2 2)
(stroke
(width 1)
(type solid)
(color 255 165 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "1499d9a9-9f29-4929-8df7-74d84823ddfb")
)
(text_box "DESIGN NOTE:\nExample text for critical design notes."
(exclude_from_sim no)
(at 131.445 258.445 0)
(size 30.48 20.32)
(margins 2.25 2.25 2.25 2.25)
(stroke
(width 1.5)
(type solid)
(color 255 0 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(thickness 0.4)
(bold yes)
(color 255 0 0 1)
)
(justify left top)
)
(uuid "1c311692-d683-4cdf-ac31-77bcdd4c4b39")
)
(text_box "LAYOUT NOTE:\nExample text for critical layout guidelines."
(exclude_from_sim no)
(at 166.37 258.445 0)
(size 30.48 20.32)
(margins 2.25 2.25 2.25 2.25)
(stroke
(width 1.5)
(type solid)
(color 0 0 255 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(thickness 0.4)
(bold yes)
(color 0 0 255 1)
)
(justify left top)
)
(uuid "2efa106d-749e-4c2c-a05c-8429f99997c2")
)
(text_box "kibot_image_png_3d_viewer_angled_bottom"
(exclude_from_sim no)
(at 123.19 166.37 0)
(size 69.85 78.74)
(margins 1.905 1.905 1.905 1.905)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
(effects
(font
(size 2.54 2.54)
)
(justify left top)
)
(uuid "33c3f6da-ba9e-4d58-9257-d85394a72b7b")
)
(text_box "DESIGN NOTE:\nExample text for informational design notes."
(exclude_from_sim no)
(at 26.67 258.445 0)
(size 30.48 20.32)
(margins 2 2 2 2)
(stroke
(width 1)
(type solid)
(color 200 200 200 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 2 2)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "5018a9e1-9f76-429f-8094-85eee2236cda")
)
(text_box "kibot_image_png_3d_viewer_angled_top"
(exclude_from_sim no)
(at 22.86 166.37 0)
(size 69.85 78.74)
(margins 1.905 1.905 1.905 1.905)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
(effects
(font
(size 2.54 2.54)
)
(justify left top)
)
(uuid "62b01781-ae4a-4e68-9a17-1436f3c897e5")
)
(polyline
(pts
(xy 45.72 73.66) (xy 106.68 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "0b94fcf5-1891-4585-9535-4e190090991a")
)
(polyline
(pts
(xy 243.84 73.66) (xy 304.8 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "0cbe4bf1-21dd-46d5-8d33-b4a3f92e1064")
)
(polyline
(pts
(xy 294.64 181.61) (xy 297.18 187.96)
)
(stroke
(width 1)
(type default)
(color 255 0 0 1)
)
(uuid "3799b615-bea5-4cb3-b9a2-2785865702a8")
)
(polyline
(pts
(xy 144.78 73.66) (xy 205.74 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "47e4f34a-6663-4f9a-acb3-7cf4eb159994")
)
(polyline
(pts
(xy 215.9 73.66) (xy 233.68 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "65b7519a-f480-42a3-926a-07bd8b620575")
)
(polyline
(pts
(xy 116.84 73.66) (xy 134.62 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "722439e6-abb9-4522-8594-b3181b0d9f4e")
)
(polyline
(pts
(xy 314.96 73.66) (xy 332.74 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "936e6872-8058-45c0-a0bd-58f432e24b1a")
)
(polyline
(pts
(xy 17.78 73.66) (xy 35.56 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "a3703ec8-87d6-4c32-a8ca-249d86e6160c")
)
(polyline
(pts
(xy 297.18 181.61) (xy 294.64 187.96)
)
(stroke
(width 1)
(type default)
(color 255 0 0 1)
)
(uuid "d1a06d73-e78a-446f-b9d8-0d5c726588d3")
)
(polyline
(pts
(xy 342.9 73.66) (xy 403.86 73.66)
)
(stroke
(width 1)
(type dot)
(color 0 0 0 1)
)
(uuid "dee96870-b977-4804-a805-318fe8afe5f2")
)
(sheet (sheet
(at 340.36 313.69) (at 340.36 313.69)
(size 35.56 5.08) (size 35.56 5.08)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(stroke (stroke
(width 0.1524) (width 0.1524)
(type solid) (type solid)
@@ -1755,7 +1766,7 @@
) )
) )
(instances (instances
(project "KDT_Hierarchical_KiBot" (project "Nixie_Tube_Clock"
(path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c" (path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c"
(page "6") (page "6")
) )
@@ -1765,6 +1776,10 @@
(sheet (sheet
(at 340.36 302.26) (at 340.36 302.26)
(size 35.56 5.08) (size 35.56 5.08)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(stroke (stroke
(width 0) (width 0)
(type solid) (type solid)
@@ -1796,7 +1811,7 @@
) )
) )
(instances (instances
(project "KDT_Hierarchical_KiBot" (project "Nixie_Tube_Clock"
(path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c" (path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c"
(page "7") (page "7")
) )
@@ -1806,6 +1821,10 @@
(sheet (sheet
(at 299.72 302.26) (at 299.72 302.26)
(size 35.56 5.08) (size 35.56 5.08)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(stroke (stroke
(width 0.1524) (width 0.1524)
(type solid) (type solid)
@@ -1837,7 +1856,7 @@
) )
) )
(instances (instances
(project "KDT_Hierarchical_KiBot" (project "Nixie_Tube_Clock"
(path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c" (path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c"
(page "2") (page "2")
) )
@@ -1847,6 +1866,10 @@
(sheet (sheet
(at 299.72 313.69) (at 299.72 313.69)
(size 35.56 5.08) (size 35.56 5.08)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(stroke (stroke
(width 0.1524) (width 0.1524)
(type solid) (type solid)
@@ -1878,7 +1901,7 @@
) )
) )
(instances (instances
(project "KDT_Hierarchical_KiBot" (project "Nixie_Tube_Clock"
(path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c" (path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c"
(page "3") (page "3")
) )
@@ -1890,4 +1913,5 @@
(page "1") (page "1")
) )
) )
(embedded_fonts no)
) )

201
Nixie_Tube_Clock.xml Normal file
View File

@@ -0,0 +1,201 @@
<?xml version="1.0" encoding="UTF-8"?>
<export version="E">
<design>
<source>/workspace/aidanbrzezinski/Nixie_Tube_Clock/Nixie_Tube_Clock.kicad_sch</source>
<date>Date1</date>
<tool>Eeschema 9.0.7+1</tool>
<textvar name="ASSEMBLY_NOTES"/>
<textvar name="BOARD_NAME">Nixie Clock Main Board</textvar>
<textvar name="COMPANY">Company Name</textvar>
<textvar name="DESIGNER">Aidan Brzezinski</textvar>
<textvar name="FABRICATION_NOTES"/>
<textvar name="GIT_HASH_PCB">1d094e6</textvar>
<textvar name="GIT_HASH_SCH">b199e49</textvar>
<textvar name="GIT_URL">https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock.git</textvar>
<textvar name="PROJECT_NAME">Nixie Tube Clock</textvar>
<textvar name="RELEASE_BODY_1.0.0"/>
<textvar name="RELEASE_BODY_1.0.1"/>
<textvar name="RELEASE_BODY_1.0.2"/>
<textvar name="RELEASE_BODY_1.1.0"/>
<textvar name="RELEASE_BODY_UNRELEASED">Version Unreleased not found.</textvar>
<textvar name="RELEASE_DATE">19-Feb-2026</textvar>
<textvar name="RELEASE_DATE_NUM">2026-02-19</textvar>
<textvar name="RELEASE_TITLE_1.0.0"/>
<textvar name="RELEASE_TITLE_1.0.1"/>
<textvar name="RELEASE_TITLE_1.0.2"/>
<textvar name="RELEASE_TITLE_1.1.0"/>
<textvar name="RELEASE_TITLE_UNRELEASED">Version Unreleased not found.</textvar>
<textvar name="REVISION">+ (Unreleased)</textvar>
<textvar name="SHEET_NAME_1">Cover Page</textvar>
<textvar name="SHEET_NAME_10">......................................</textvar>
<textvar name="SHEET_NAME_11">......................................</textvar>
<textvar name="SHEET_NAME_12">......................................</textvar>
<textvar name="SHEET_NAME_13">......................................</textvar>
<textvar name="SHEET_NAME_14">......................................</textvar>
<textvar name="SHEET_NAME_15">......................................</textvar>
<textvar name="SHEET_NAME_16">......................................</textvar>
<textvar name="SHEET_NAME_17">......................................</textvar>
<textvar name="SHEET_NAME_18">......................................</textvar>
<textvar name="SHEET_NAME_19">......................................</textvar>
<textvar name="SHEET_NAME_2">Block Diagram</textvar>
<textvar name="SHEET_NAME_20">......................................</textvar>
<textvar name="SHEET_NAME_21">......................................</textvar>
<textvar name="SHEET_NAME_22">......................................</textvar>
<textvar name="SHEET_NAME_23">......................................</textvar>
<textvar name="SHEET_NAME_24">......................................</textvar>
<textvar name="SHEET_NAME_25">......................................</textvar>
<textvar name="SHEET_NAME_26">......................................</textvar>
<textvar name="SHEET_NAME_27">......................................</textvar>
<textvar name="SHEET_NAME_28">......................................</textvar>
<textvar name="SHEET_NAME_29">......................................</textvar>
<textvar name="SHEET_NAME_3">Project Architecture</textvar>
<textvar name="SHEET_NAME_30">......................................</textvar>
<textvar name="SHEET_NAME_31">......................................</textvar>
<textvar name="SHEET_NAME_32">......................................</textvar>
<textvar name="SHEET_NAME_33">......................................</textvar>
<textvar name="SHEET_NAME_34">......................................</textvar>
<textvar name="SHEET_NAME_35">......................................</textvar>
<textvar name="SHEET_NAME_36">......................................</textvar>
<textvar name="SHEET_NAME_37">......................................</textvar>
<textvar name="SHEET_NAME_38">......................................</textvar>
<textvar name="SHEET_NAME_39">......................................</textvar>
<textvar name="SHEET_NAME_4">Power</textvar>
<textvar name="SHEET_NAME_40">......................................</textvar>
<textvar name="SHEET_NAME_5">Section B - Title B</textvar>
<textvar name="SHEET_NAME_6">Power - Sequencing</textvar>
<textvar name="SHEET_NAME_7">Revision History</textvar>
<textvar name="SHEET_NAME_8">......................................</textvar>
<textvar name="SHEET_NAME_9">......................................</textvar>
<textvar name="VARIANT">DRAFT</textvar>
<sheet number="1" name="/" tstamps="/">
<title_block>
<title/>
<company>Company Name</company>
<rev>+ (Unreleased)</rev>
<date>Date2</date>
<source>Nixie_Tube_Clock.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
<sheet number="2" name="/Block Diagram/" tstamps="/82da9dbf-ba38-4d08-ba35-a220fa2963b1/">
<title_block>
<title>Block Diagram</title>
<company>Company Name</company>
<rev>+ (Unreleased)</rev>
<date>Date2</date>
<source>Block Diagram.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
<sheet number="3" name="/Project Architecture/" tstamps="/c5103ceb-5325-4a84-a025-9638a412984e/">
<title_block>
<title>Project Architecture</title>
<company>Company Name</company>
<rev>+ (Unreleased)</rev>
<date>Date2</date>
<source>Project Architecture.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
<sheet number="4" name="/Project Architecture/Power/" tstamps="/c5103ceb-5325-4a84-a025-9638a412984e/f06537ee-772d-44d3-8c50-e0ba41038c9c/">
<title_block>
<title>Sheet Title A</title>
<company>Company Name</company>
<rev>+ (Unreleased)</rev>
<date>Date2</date>
<source>Section A - Title A.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
<sheet number="5" name="/Project Architecture/Section B - Title B/" tstamps="/c5103ceb-5325-4a84-a025-9638a412984e/e744f3ce-03a6-44a6-8792-1447ef232b9a/">
<title_block>
<title>Sheet Title B</title>
<company>Company Name</company>
<rev>+ (Unreleased)</rev>
<date>Date2</date>
<source>Section B - TItle B.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
<sheet number="6" name="/Power - Sequencing/" tstamps="/5fb05893-0da3-4f58-a52b-cb6d6f4cb80b/">
<title_block>
<title>Power - Sequencing</title>
<company>Company Name</company>
<rev>+ (Unreleased)</rev>
<date>Date2</date>
<source>Power - Sequencing.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
<sheet number="7" name="/Revision History/" tstamps="/6e125bd6-2f99-4e5d-b3ea-4899f4540739/">
<title_block>
<title>Revision History</title>
<company>Company Name</company>
<rev>+ (Unreleased)</rev>
<date>Date2</date>
<source>Revision History.kicad_sch</source>
<comment number="1" value=""/>
<comment number="2" value=""/>
<comment number="3" value=""/>
<comment number="4" value=""/>
<comment number="5" value=""/>
<comment number="6" value=""/>
<comment number="7" value=""/>
<comment number="8" value=""/>
<comment number="9" value=""/>
</title_block>
</sheet>
</design>
<components/>
<libparts/>
<libraries/>
<nets/>
</export>

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
(kicad_sch (kicad_sch
(version 20231120) (version 20250114)
(generator "eeschema") (generator "eeschema")
(generator_version "8.0") (generator_version "9.0")
(uuid "07236397-3ba4-47af-9809-3faac3a2aa49") (uuid "07236397-3ba4-47af-9809-3faac3a2aa49")
(paper "A3") (paper "A3")
(title_block (title_block
@@ -11,50 +11,10 @@
(company "${COMPANY}") (company "${COMPANY}")
) )
(lib_symbols) (lib_symbols)
(polyline
(pts
(xy 185.42 87.63) (xy 185.42 99.06)
)
(stroke
(width 0)
(type default)
)
(uuid "8b678fb1-fee7-4461-95f7-7f383f478fdc")
)
(polyline
(pts
(xy 233.68 125.73) (xy 233.68 134.62)
)
(stroke
(width 0)
(type default)
)
(uuid "8c7de816-3d34-497f-b0c8-22f80559d2d8")
)
(polyline
(pts
(xy 185.42 85.09) (xy 185.42 73.66)
)
(stroke
(width 0)
(type default)
)
(uuid "903e49b2-1b5d-4317-a33b-adfda1594a88")
)
(polyline
(pts
(xy 233.68 114.3) (xy 233.68 123.19)
)
(stroke
(width 0)
(type default)
)
(uuid "9543d363-0f36-4c41-97bc-b97723f48818")
)
(arc (arc
(start 185.42 85.09) (start 60.96 69.85)
(mid 185.0451 85.9851) (mid 60.5851 70.7451)
(end 184.15 86.36) (end 59.69 71.12)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -65,9 +25,9 @@
(uuid 13e3bc56-4a98-40ef-8c39-3b21620a792f) (uuid 13e3bc56-4a98-40ef-8c39-3b21620a792f)
) )
(arc (arc
(start 234.97 124.44) (start 110.51 109.2)
(mid 234.0749 124.0651) (mid 109.6149 108.8251)
(end 233.7 123.17) (end 109.24 107.93)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -78,9 +38,9 @@
(uuid 19c30b2f-1391-4be0-8a5f-17a3226c0876) (uuid 19c30b2f-1391-4be0-8a5f-17a3226c0876)
) )
(arc (arc
(start 233.7 125.71) (start 109.24 110.47)
(mid 234.0749 124.8149) (mid 109.6149 109.5749)
(end 234.97 124.44) (end 110.51 109.2)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -91,9 +51,9 @@
(uuid 5b059745-d833-4f9d-9745-ec7a90904541) (uuid 5b059745-d833-4f9d-9745-ec7a90904541)
) )
(arc (arc
(start 233.7 134.6) (start 109.24 119.36)
(mid 232.9561 136.3961) (mid 108.4961 121.1561)
(end 231.16 137.14) (end 106.7 121.9)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -104,9 +64,9 @@
(uuid 62bb3cd5-23b6-4c8e-a8f2-a293aca5d83b) (uuid 62bb3cd5-23b6-4c8e-a8f2-a293aca5d83b)
) )
(arc (arc
(start 184.15 86.36) (start 59.69 71.12)
(mid 185.0451 86.7349) (mid 60.5851 71.4949)
(end 185.42 87.63) (end 60.96 72.39)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -117,9 +77,9 @@
(uuid 787eda22-1bf9-4d1b-96b2-11995bb2af0f) (uuid 787eda22-1bf9-4d1b-96b2-11995bb2af0f)
) )
(arc (arc
(start 187.96 101.6) (start 63.5 86.36)
(mid 186.1698 100.8502) (mid 61.7098 85.6102)
(end 185.42 99.06) (end 60.96 83.82)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -130,9 +90,9 @@
(uuid 7c454724-851d-42c5-8823-df570c1fc5eb) (uuid 7c454724-851d-42c5-8823-df570c1fc5eb)
) )
(arc (arc
(start 231.16 111.74) (start 106.7 96.5)
(mid 232.9502 112.4898) (mid 108.4902 97.2498)
(end 233.7 114.28) (end 109.24 99.04)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -143,9 +103,9 @@
(uuid 94ad6bc3-4505-4c4a-89fc-83d0c51dd562) (uuid 94ad6bc3-4505-4c4a-89fc-83d0c51dd562)
) )
(arc (arc
(start 185.42 73.66) (start 60.96 58.42)
(mid 186.1639 71.8639) (mid 61.7039 56.6239)
(end 187.96 71.12) (end 63.5 55.88)
(stroke (stroke
(width 0) (width 0)
(type default) (type default)
@@ -155,10 +115,39 @@
) )
(uuid fda911f3-adb3-4abb-981f-a877a93c831b) (uuid fda911f3-adb3-4abb-981f-a877a93c831b)
) )
(text "Page 5"
(exclude_from_sim no)
(at 101.6 118.11 0)
(effects
(font
(size 2.54 2.54)
(bold yes)
(color 100 70 50 1)
)
(justify right bottom)
(href "#5")
)
(uuid "b60ecde0-2a85-4071-a728-47148cd80779")
)
(text "Page 4"
(exclude_from_sim no)
(at 101.6 80.01 0)
(effects
(font
(size 2.54 2.54)
(bold yes)
(color 20 60 40 1)
)
(justify right bottom)
(href "#4")
)
(uuid "f04f874a-d252-4474-87f2-c34bbb094a4c")
)
(text_box "Description" (text_box "Description"
(exclude_from_sim no) (exclude_from_sim no)
(at 166.37 83.82 0) (at 41.91 68.58 0)
(size 17.145 5.08) (size 17.145 5.08)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke (stroke
(width -0.0001) (width -0.0001)
(type default) (type default)
@@ -179,8 +168,9 @@
) )
(text_box "Description" (text_box "Description"
(exclude_from_sim no) (exclude_from_sim no)
(at 234.95 121.92 0) (at 110.49 106.68 0)
(size 26.015 5.1) (size 26.015 5.1)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke (stroke
(width -0.0001) (width -0.0001)
(type default) (type default)
@@ -203,6 +193,7 @@
(exclude_from_sim no) (exclude_from_sim no)
(at 144.78 21.59 0) (at 144.78 21.59 0)
(size 130.81 12.7) (size 130.81 12.7)
(margins 5.9999 5.9999 5.9999 5.9999)
(stroke (stroke
(width -0.0001) (width -0.0001)
(type default) (type default)
@@ -221,37 +212,53 @@
) )
(uuid "f4789478-c68e-4cee-9edd-5d11b744f94d") (uuid "f4789478-c68e-4cee-9edd-5d11b744f94d")
) )
(text "Page 5" (polyline
(exclude_from_sim no) (pts
(at 226.06 133.35 0) (xy 60.96 72.39) (xy 60.96 83.82)
(effects
(font
(size 2.54 2.54)
(bold yes)
(color 100 70 50 1)
) )
(justify right bottom) (stroke
(href "#5") (width 0)
(type default)
) )
(uuid "b60ecde0-2a85-4071-a728-47148cd80779") (uuid "8b678fb1-fee7-4461-95f7-7f383f478fdc")
) )
(text "Page 4" (polyline
(exclude_from_sim no) (pts
(at 226.06 95.25 0) (xy 109.22 110.49) (xy 109.22 119.38)
(effects
(font
(size 2.54 2.54)
(bold yes)
(color 20 60 40 1)
) )
(justify right bottom) (stroke
(href "#4") (width 0)
(type default)
) )
(uuid "f04f874a-d252-4474-87f2-c34bbb094a4c") (uuid "8c7de816-3d34-497f-b0c8-22f80559d2d8")
)
(polyline
(pts
(xy 60.96 69.85) (xy 60.96 58.42)
)
(stroke
(width 0)
(type default)
)
(uuid "903e49b2-1b5d-4317-a33b-adfda1594a88")
)
(polyline
(pts
(xy 109.22 99.06) (xy 109.22 107.95)
)
(stroke
(width 0)
(type default)
)
(uuid "9543d363-0f36-4c41-97bc-b97723f48818")
) )
(sheet (sheet
(at 190.5 114.3) (at 72.39 170.18)
(size 36.83 20.32) (size 36.83 20.32)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes) (fields_autoplaced yes)
(stroke (stroke
(width 0.1524) (width 0.1524)
@@ -260,9 +267,9 @@
(fill (fill
(color 255 200 0 0.5020) (color 255 200 0 0.5020)
) )
(uuid "e744f3ce-03a6-44a6-8792-1447ef232b9a") (uuid "184becda-bae1-4969-9665-2bd768d92783")
(property "Sheetname" "Section B - Title B" (property "Sheetname" "124"
(at 190.5 113.2709 0) (at 72.39 169.1509 0)
(effects (effects
(font (font
(size 1.905 1.905) (size 1.905 1.905)
@@ -272,7 +279,7 @@
) )
) )
(property "Sheetfile" "Section B - TItle B.kicad_sch" (property "Sheetfile" "Section B - TItle B.kicad_sch"
(at 190.5 135.2046 0) (at 72.39 191.0846 0)
(effects (effects
(font (font
(face "Arial") (face "Arial")
@@ -282,7 +289,51 @@
) )
) )
(instances (instances
(project "KDT_Hierarchical_KiBot" (project "Nixie_Tube_Clock"
(path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c/c5103ceb-5325-4a84-a025-9638a412984e"
(page "8")
)
)
)
)
(sheet
(at 66.04 99.06)
(size 36.83 20.32)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes)
(stroke
(width 0.1524)
(type solid)
)
(fill
(color 255 200 0 0.5020)
)
(uuid "e744f3ce-03a6-44a6-8792-1447ef232b9a")
(property "Sheetname" "123"
(at 66.04 98.0309 0)
(effects
(font
(size 1.905 1.905)
(bold yes)
)
(justify left bottom)
)
)
(property "Sheetfile" "Section B - TItle B.kicad_sch"
(at 66.04 119.9646 0)
(effects
(font
(face "Arial")
(size 1.27 1.27)
)
(justify left top)
)
)
(instances
(project "Nixie_Tube_Clock"
(path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c/c5103ceb-5325-4a84-a025-9638a412984e" (path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c/c5103ceb-5325-4a84-a025-9638a412984e"
(page "5") (page "5")
) )
@@ -290,8 +341,12 @@
) )
) )
(sheet (sheet
(at 190.5 76.2) (at 66.04 60.96)
(size 36.83 20.32) (size 36.83 20.32)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(dnp no)
(fields_autoplaced yes) (fields_autoplaced yes)
(stroke (stroke
(width 0.1524) (width 0.1524)
@@ -301,8 +356,8 @@
(color 128 255 128 0.5000) (color 128 255 128 0.5000)
) )
(uuid "f06537ee-772d-44d3-8c50-e0ba41038c9c") (uuid "f06537ee-772d-44d3-8c50-e0ba41038c9c")
(property "Sheetname" "Section A - Title A" (property "Sheetname" "123"
(at 190.5 75.1709 0) (at 66.04 59.9309 0)
(effects (effects
(font (font
(size 1.905 1.905) (size 1.905 1.905)
@@ -312,7 +367,7 @@
) )
) )
(property "Sheetfile" "Section A - Title A.kicad_sch" (property "Sheetfile" "Section A - Title A.kicad_sch"
(at 190.5 97.1046 0) (at 66.04 81.8646 0)
(effects (effects
(font (font
(face "Arial") (face "Arial")
@@ -322,7 +377,7 @@
) )
) )
(instances (instances
(project "KDT_Hierarchical_KiBot" (project "Nixie_Tube_Clock"
(path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c/c5103ceb-5325-4a84-a025-9638a412984e" (path "/f9e05184-c88b-4a88-ae9c-ab2bdb32be7c/c5103ceb-5325-4a84-a025-9638a412984e"
(page "4") (page "4")
) )

724
README.md
View File

@@ -1,693 +1,71 @@
<h1 align="center">KiCad 8/9 Template for CI/CD with KiBot</h1> <p align="center" width="100%">
<img alt="Logo" width="33%" src="Logos/dummy_logo.svg">
</p>
<p align="center"> <h1 align="center">Nixie Clock Main Board</h1>
<a href=https://www.kicad.org/>
<img alt="Light" src="https://gitlab.com/uploads/-/system/group/avatar/6593371/kicadlogo.png" height=200> <p align="center" width="100%">
</a> <a href="https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock.git/actions/workflows/ci.yaml">
&nbsp; &nbsp; &nbsp; &nbsp; <img alt="CI Badge" src="https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock.git/actions/workflows/ci.yaml/badge.svg?branch=">
<a href=https://kibot.readthedocs.io/en/latest/>
<img alt="Dark" src="https://raw.githubusercontent.com/INTI-CMNB/KiBot/dev/docs/images/kibot_740x400_logo.png" height=200>
</a> </a>
</p> </p>
A **KiCad 8/9** template for **automated**, professional documentation generation with **Continuous Integration and Continuous Development** (CI/CD) using [KiBot](https://github.com/INTI-CMNB/KiBot/tree/master). <p align="center" width="100%">
<img src="Images/dummy_image.png">
A video tutorial for setting up this template is available [here](https://www.youtube.com/watch?v=63R6Wnx44uY).
An example project using this template can be found [here](https://github.com/nguyen-v/amulet_controller_kibot/tree/master).
> [!NOTE]
> This file will be overridden by a KiBot run.
## TABLE OF CONTENTS
- [TABLE OF CONTENTS](#table-of-contents)
- [FEATURES](#features)
- [GETTING STARTED](#getting-started)
- [USAGE](#usage)
- [CI/CD Workflow and Semantic Versioning](#cicd-workflow-and-semantic-versioning)
- [Running Locally](#running-locally)
- [Calculating Board Costs (KiCost)](#calculating-board-costs-kicost)
- [Visualizing Outputs in a Webpage](#visualizing-outputs-in-a-webpage)
- [PROJECT CONVERSION GUIDE](#project-conversion-guide)
- [Folders](#folders)
- [Schematic](#schematic)
- [PCB](#pcb)
- [Summary in table format](#summary-in-table-format)
- [DIRECTORY STRUCTURE](#directory-structure)
- [CREDITS](#credits)
- [RESOURCES](#resources)
- [CONTRIBUTING](#contributing)
## FEATURES
- **Automated fabrication document**: [Example](https://github.com/nguyen-v/amulet_controller_kibot/blob/master/Manufacturing/Fabrication/amulet_controller-fabrication.pdf). The stackup table, fabrication notes, drill drawings/tables, testpoint tables/highlighting are all automated.
- **Automated assembly document**: [Example](https://github.com/nguyen-v/amulet_controller_kibot/blob/master/Manufacturing/Assembly/amulet_controller-assembly.pdf). The images, tables, DNP crosses, texts are all automated.
- **Automated table of contents** in schematic
- **Automated 3D images** of the PCB in various documents
- **Synchronised `CHANGELOG.md`** with Revision History page of the schematic
- **Automated README.md**: images and other board information
- **Various outputs** such as gerbers, 3D renders, ERC/DRC reports, BoM, Diff visualizer
- **Modern webpage** for visualizing the generated files and documents
- **Robust workflow** with two branches and semantic versioning
- **Releases with changelog** and assets
- **Can be run locally** with Docker
## GETTING STARTED
1. Go to your KiCad templates folder
**Windows**:
```
cd "C:\Program Files\KiCad\8.0\share\kicad\template"
```
**Linux**:
```
cd ~/.local/share/kicad/8.0/template
```
2. Clone the repository
```
git clone https://github.com/nguyen-v/KDT_Hierarchical_KiBot.git
```
3. Install the fonts inside of [`kibot_resources/fonts`](kibot_resources/fonts) if not already installed on the system.
**Linux**:
```
cp -i KDT_Hierarchical_KiBot/kibot_resources/fonts/*.ttf ~/.fonts/
fc-cache
```
5. A custom color theme ([`Altium_Theme.json`](kibot_resources/colors/Altium_Theme.json)) is also provided in [`kibot_resources/colors`](kibot_resources/colors).
You should move this file to your KiCad Themes folder.
**Windows**:
`xcopy "KDT_Hierarchical_KiBot\kibot_resources\colors\Altium_Theme.json" "C:\Users\%USERNAME%\AppData\Roaming\kicad\8.0\colors\" /-Y`
**Linux**:
`cp -i KDT_Hierarchical_KiBot/kibot_resources/colors/Altium_Theme.json ~/.config/kicad/8.0/colors/`
> [!NOTE]
> In the steps above, replace ```8.0``` with ```9.0``` for KiCad 9
5. Create a new project with:
**File → New Project From Template** and select `KDT_Hierarchical_KiBot`
> [!CAUTION]
> Under Linux, the ```.github``` folder from the template needs to be copied at the root of the project directory, as it is not copied when creating a project from a template in KiCad.
6. Create a new `dev` branch. This will be the working branch.
```
git checkout -b dev
```
7. Modify the following fields in [`kibot_main.yaml`](kibot_yaml/kibot_main.yaml#L556) according to your project:
```
# Metadata ===================================================================
PROJECT_NAME: Project Name
BOARD_NAME: Board Name
COMPANY: Company Name
DESIGNER: Author
LOGO: 'Logos/dummy_logo.png'
GIT_URL: 'https://github.com/nguyen-v/KDT_Hierarchical_KiBot'
# Preflight ==================================================================
CHECK_ZONE_FILLS: false
STACKUP_TABLE_NOTE: external layer thicknesses are specified after plating
# BoM ========================================================================
MPN_FIELD: 'Manufacturer Part Number'
MAN_FIELD: 'Manufacturer'
# Drill table and drill map parameters =======================================
GROUP_ROUND_SLOTS: true # whether or not to group round holes and slots
GROUP_PTH_NPTH: 'no' # for drill tables (CSV, PCB Print)
GROUP_PTH_NPTH_DRL: false # for .drl files
# Gerber parameters ==========================================================
PLOT_REFS: true # reference designators
# Schematic parameters =======================================================
COLOR_THEME: Altium_Theme
SHEET_WKS: ${KIPRJMOD}/Templates/KDT_Template_PCB_GIT_A4.kicad_wks
FAB_SCALING: 1
ASSEMBLY_SCALING: 1
# References to exclude from testpoint highlighting ==========================
EXCLUDE_REFS: '[MB*]' # for components on the PCB but not on the schematic
# 3D Viewer rotations (in steps) =============================================
3D_VIEWER_ROT_X: 2
3D_VIEWER_ROT_Y: -1
3D_VIEWER_ROT_Z: 1
3D_VIEWER_ZOOM: -1
KEY_COLOR: '#00FF00' # background color to remove
```
8. The files inside of [`kibot_resources/templates`](kibot_resources/templates) should also be modified according to your project. These include Assembly and Fabrication notes, Impedance table and README file templates.
9. Edit the [`*.kicad_dru`](KDT_Hierarchical_KiBot.kicad_dru) if necessary according to your design rules. Right now, it has been set for PCBWay 6-layer PCBs with 2oz outer 1oz inner, focusing on lowest cost.
10. Edit the [`kibot_out_csv_bom.yaml`](kibot_yaml/kibot_out_csv_bom.yaml), [`kibot_out_html_bom.yaml`](kibot_yaml/kibot_out_html_bom.yaml) and [`kibot_out_xlsx_bom.yaml`](kibot_yaml/kibot_out_xlsx_bom.yaml) files according to the component fields that you use. You can refer to the [KiCost Documentation](https://hildogjr.github.io/KiCost/docs/_build/singlehtml/index.html) for the field names.
## USAGE
### CI/CD Workflow and Semantic Versioning
This template is meant to be used in a CI/CD environment on GitHub. The workflow is as follows:
- Any custom font used in the project must be added to the [`kibot_resources/fonts`](kibot_resources/fonts) folder.
> [!NOTE]
> KiCad 9 allows for fonts to be embedded in the schematic. However, it is still good practice to add the fonts in the folder mentioned.
- There are two branches, a `main` and a `dev` branch. The `dev` branch is the working branch. The `main` should only be used for pull requests and releases.
- Changes should be recorded in the [`CHANGELOG.md`](CHANGELOG.md) file, and should respect [semantic versioning guidelines](https://semver.org/) for [hardware](https://www.maskset.net/blog/2023/02/26/semantic-versioning-for-hardware/). The changes of the current version should be added under the `[Unreleased]` section.
- The `variant` variable in [.github/workflows/ci.yaml](.github/workflows/ci.yaml#L21) should be selected according to the project progress.
```
# Used variant. We assume:
# DRAFT: only schematic in progress, will only generate schematic PDF, netlist and BoM
# PRELIMINARY: will generate both schematic and PCB documents, but no ERC/DRC
# CHECKED: will generate both schematic and PCB documents, with ERC/DRC
# RELEASED: similar to CHECKED, automatically selected when pushing a tag to master
kibot_variant: CHECKED
```
- The `kicad_version` variable in [.github/workflows/ci.yaml](.github/workflows/ci.yaml#L24) should be selected according to the desired KiCad version. Supported versions are 8 and 9.
- You should work locally on the `dev` branch. When a change is made, the changes should be pushed to GitHub which will trigger the KiBot workflow. The generated files will be committed and pushed back to the repository.
- After a successful KiBot run on the remote repository, you should pull back the changes into your local repository.
- To avoid conflicts, you should avoid modifying the `.kicad_pro` file locally before pulling from the remote (after the completion of a KiBot run). Otherwise, you will need to solve merge conflicts when pulling the file.
- To synchronise the Revision History of the schematic with the `CHANGELOG.md` file, you should create new text variables in [kibot_pre_set_text_variables.yaml](kibot_yaml/kibot_pre_set_text_variables.yaml#L39). The text variables should then be added in the text boxes of the Revision History sheet.
```
- variable: '@RELEASE_TITLE_VAR@x.x.x'
command: '@GET_TITLE_CMD@ x.x.x'
- variable: '@RELEASE_BODY_VAR@x.x.x'
command: '@GET_BODY_CMD@ x.x.x'
```
- When ready for a release, you should open a pull request and merge the changes into main. Currently the workflow is set **not to trigger on pull requests**, as we assume the changes coming from `dev` are up-to-date.
- To create a release, push a tag on the `main` branch with the version number (for example `x.x.x = 1.1.1`):
```
git checkout main
git pull
git tag x.x.x
git push origin x.x.x
```
This will start a KiBot run with the variant set as `RELEASED`. When the run completes, it also creates a release with assets and updates the `CHANGELOG.md` file (renames the `[Unreleased]` section with the pushed tag and creates a new `[Unreleased]` section).
- After a release, you will need to update your `main` branch to be up-to-date with the remote:
```
git pull
```
And you will also need to rebase your `dev` branch to the `main` branch:
```
git checkout dev
git rebase main
```
> [!NOTE]
> You are free to modify the [.github/workflows/ci.yaml](.github/workflows/ci.yaml) file to suit your workflow needs.
***
### Running Locally
KiBot can be installed if you want to run some of the scripts locally. If you only plan to use it in a CI/CD workflow, this step can be skipped.
Installation steps can be found on the [official documentation](https://kibot.readthedocs.io/en/master/installation.html).
The easiest way to install KiBot if custom development is not required is with dockers.
1. Install **and run** [Docker Desktop](https://docs.docker.com/desktop/)
2. Run the script `docker_kibot_windows.bat` or `docker_kibot_linux.sh` depending on your platform in [`kibot_resources/scripts`](kibot_resources/scripts). Currently tested on Windows and WSL2. This should pull and start a docker running the `dev` branch of KiBot. You should have access to your local files.
***
**KiCad 8**
Windows:
```
.\docker_kibot_windows.bat
```
Linux:
```
./docker_kibot_linux.sh
```
***
**KiCad 9**
Windows:
```
.\docker_kibot_windows.bat -v 9
```
Linux:
```
./docker_kibot_linux.sh -v 9
```
***
Once in the docker, you can use the [`kibot_launch.sh`](kibot_launch.sh) script to generate and visualize outputs.
```
./kibot_launch.sh
```
You can get more information about the usage with
```
./kibot_launch.sh --help
```
When running the script with no arguments, it will default to the `CHECKED` variant and generate all outputs. A variant can be set with the `-v` flag. If a custom variant is used (i.e. other than the default variants `DRAFT`, `PRELIMINARY`, `CHECKED`, `RELEASED`), the outputs will be generated in the `Variants` folder.
Each default variant will have different KiBot flags, which is useful for different phases of the project:
1. **DRAFT**
Only schematic in progress, will only generate schematic PDF, netlist and BoM
2. **PRELIMINARY**
Will generate both schematic and PCB documents, but no ERC/DRC
3. **CHECKED**
Will generate both schematic and PCB documents, with ERC/DRC
4. **RELEASED**
Similar to CHECKED, automatically selected when pushing a tag to main (CI/CD)
> [!WARNING]
> When generating outputs locally, it could conflict with the outputs generated by the remote CI/CD workflow. In this case, you should decide how to resolve the conflicts.
***
### Calculating Board Costs (KiCost)
[KiCost](https://github.com/hildogjr/KiCost) is used to estimate costs and get a nice XLSX spreadsheet with part specs. In this project, we run KiCost locally to avoid too many API calls. Also, DigiKey's API [doesn't seem to work](https://github.com/set-soft/kicost_ci_test) in a CI/CD environment.
To run KiCost, you will need to create a file `kicost_config_local.yaml` in [`kicost_yaml`](kicost_yaml). You can use the [`kicost_config_local_template.yaml`](kicost_yaml/kicost_config_local.yaml) file as a base. Once you have filled in the API keys for the desired manufacturers, KiCost can be run with:
```
./kibot_launch.sh --costs
```
This will create a spreadsheet in [`Manufacturing/Assembly`](Manufacturing/Assembly/) folder.
You can also specify a variant if desired:
```
./kibot_launch.sh -v <VARIANT> --costs
```
For more information, please have a look at the official [documentation](https://hildogjr.github.io/KiCost/docs/_build/singlehtml/index.html)
> [!CAUTION]
> KiCost expects the **MPN (Manufacturer Part Number)** and **Manufacturer** fields to be named in a certain way. To cater for different naming conventions, we rename user-defined fields to KiCost-compatible fields in the KiBot run. You can set your user-defined field for **MPN** and **Manufacturer** in the [`kibot_yaml/kibot_main.yaml`](kibot_yaml/kibot_main.yaml#L576) by editing the `MPN_FIELD` and `MAN_FIELD` definitions.
<p align="center">
<img alt="XLSX BoM" src="https://github.com/user-attachments/assets/e7683ae3-efcc-4f64-b4b7-c4c39c3c9d48">
</p>
<p align="center">
<img alt="XLSX Costs" src="https://github.com/user-attachments/assets/1136a095-fc2d-4f59-bcbf-24f6e1a69410">
</p>
<p align="center">
<img alt="XLSX Specs" src="https://github.com/user-attachments/assets/77677761-7ab1-4580-b60c-6a0563c59d67">
</p> </p>
*** ***
### Visualizing Outputs in a Webpage
The outputs of KiBot can be visualized in a webpage (excepted for the `DRAFT` variant). This can be done by running:
```
./kibot_launch.sh --server
```
And opening `http://localhost:8000` in your favorite browser. The server can be shut down with:
```
./kibot_launch.sh --stop-server
```
> [!TIP]
> You can also give the port as an argument if you want to use another port.
<p align="center"> <p align="center">
<img alt="Web Page" src="https://github.com/user-attachments/assets/9abee686-5245-4850-b00f-b67be02284ee"> <img alt="3D Top Angled" src="Images/Nixie_Tube_Clock-angled_top.png" width="45%">
</p>
## PROJECT CONVERSION GUIDE
This section will describe the necessary steps to convert an existing project to work with this template. This will also give more insights into how the template works in general. For more information, you should refer to the template.
***
### Folders
You should keep the folder structure as defined in [DIRECTORY STRUCTURE](#directory-structure). The folders marked as optional are not mandatory for the project to work, as long as the relevant file paths are correct (e.g. logos). You should then go through the same steps as in [GETTING STARTED](#getting-started) and [USAGE](#usage).
### Schematic
You should select [`Templates/KDT_Template_GIT.kicad_wks`](Templates/KDT_Template_GIT.kicad_wks) as your Drawing Sheet in:
**File → Page Settings → Drawing Sheet**
On the same page, The `Revision` and `Company` fields should be set to `${REVISION}` and `${COMPANY}` and exported to all sheets.
<p align="center">
<img alt="Drawing Sheet" src="https://github.com/user-attachments/assets/311f4e13-cdb9-45cb-9fcf-1a88f8432416">
</p>
For an automated table of contents, you should copy the root page of the template into your project, or use the `${SHEET_NAME_X}` text variables. These variables will be replaced by the sheet name (page `X`) when running KiBot. Currently the maximum number of pages is set to 40. You are free to add new text variables in [`kibot_yaml/kibot_pre_set_text_variables`](kibot_yaml/kibot_pre_set_text_variables.yaml#L160).
The `${VARIANT}` text variable is replaced by the current variant name (e.g. DRAFT or RELEASED).
The `${RELEASE_DATE}` and `${RELEASE_DATE_NUM}` will be replaced by the tag release date and are just the same date in different formats (for example, `${RELEASE_DATE} = 17-Dec-2024` and `${RELEASE_DATE_NUM} = 2024-12-17`).
To get 3D pictures of the PCB in the schematic, you can create text boxes with the desired size, with the following names: `kibot_image_png_3d_viewer_angled_top` and `kibot_image_png_3d_viewer_angled_bottom`.
<p align="center">
<img alt="kibot_image_png_3d_viewer_angled_top, kibot_image_png_3d_viewer_angled_bottom" src="https://github.com/user-attachments/assets/2f7f23fa-e233-4a54-b656-860f69a33d36">
</p>
> You can add any image generated by a KiBot output using by changing the name to `kibot_image_<output_name>`.
To synchronise the Revision History of the schematic with the `CHANGELOG.md` file, you should create new text variables in [kibot_pre_set_text_variables.yaml](kibot_yaml/kibot_pre_set_text_variables.yaml#L39). The text variables (`${RELEASE_TITLE_VAR<VERSION>}` and `${RELEASE_BODY_VAR<VERSION>`) should then be added in the text boxes of the Revision History sheet.
```
- variable: '@RELEASE_TITLE_VAR@x.x.x'
command: '@GET_TITLE_CMD@ x.x.x'
- variable: '@RELEASE_BODY_VAR@x.x.x'
command: '@GET_BODY_CMD@ x.x.x'
```
***
### PCB
The layer names of the PCB should follow the ones defined in [kibot_main.yaml](kibot_yaml/kibot_main.yaml#L631).
```
LAYER_TITLE_PAGE: TitlePage
LAYER_DNP_TOP: F.DNP
LAYER_DNP_BOTTOM: B.DNP
LAYER_DRILL_MAP: DrillMap
LAYER_TP_LIST_TOP: F.TestPointList
LAYER_TP_LIST_BOTTOM: B.TestPointList
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
LAYER_DNP_CROSS_TOP: F.DNP
LAYER_DNP_CROSS_BOTTOM: B.DNP
```
<p align="center">
<img alt="PCB Layer Names" src="https://github.com/user-attachments/assets/9089a324-e170-4cd5-ae4f-396ef3fdd1c9">
</p>
The layer names can be set in
**File → Board Setup → Board Stackup → Board Editor Layers**
Each layer has a specific function, and must be setup in a particular way.
In the following explanation, when a group must be created, this can be done using KiCad's **Draw Rectangle** tool, and then a group can be created with:
**Right-Click → Grouping → Group Items**
Pressing **E** then allows you to rename the group. The size and position of the group usually determines the size and location of the element to be drawn. To change the font inside a group, you can create a textbox with the desired font in the group. You can set the border width to 0.
<p align="center">
<img alt="Textbox Group" src="https://github.com/user-attachments/assets/b7956436-d8df-47e1-a082-ca6bbaeae168">
</p>
***
**TitlePage**
This is used for the first page of the assembly document. Here, you should add **Top View** and **Bottom View** texts and under these text, you can create two named groups with the location and size that you desire. The groups should be named `kibot_image_png_3d_viewer_angled_top` and `kibot_image_png_3d_viewer_angled_bottom`.
> [!TIP]
> You can add any image generated by a KiBot output using by changing the name to `kibot_image_<output_name>`.
<p align="center">
<img alt="TitlePage" src="https://github.com/user-attachments/assets/38470acb-2645-42eb-b38f-222b4a6475b2">
</p>
<p align="center">
<img alt="kibot_image_png_3d_viewer_angled_top" src="https://github.com/user-attachments/assets/8b8d1beb-7f2a-4339-a4be-258da6ff926a" width="45%">
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
<img alt="kibot_image_png_3d_viewer_angled_bottom" src="https://github.com/user-attachments/assets/1419a4bd-6247-4eb8-a410-cb4665220ba2" width="45%"> <img alt="3D Bottom Angled" src="Images/Nixie_Tube_Clock-angled_bottom.png" width="45%">
</p> </p>
*** ***
**User.Comments** ## SPECIFICATIONS
Currently not used, you can use it for your project. | Parameter | Value |
| --- | --- |
| Dimensions | N/A × N/A mm |
*** ***
**F.DNP** and **B.DNP**
These are used to hold the red crosses for components marked as *Do Not Populate*. The layers for those should be kept empty.
***
**DrillMap**
This layer is used to draw drill map drawings and drill tables in the fabrication document. You should create a named group called `kibot_table_csv_drill_table` and place it where the drill tables should be drawn for each drill layer pair. The drill drawing is by default aligned with the PCB.
<p align="center">
<img alt="DrillMap" src="https://github.com/user-attachments/assets/018821a7-890a-45a8-b4b7-07eb7e3e8bcf">
<img alt="kibot_table_csv_drill_table" src="https://github.com/user-attachments/assets/e35f71d1-dbdf-42ec-8f02-b95118e12bdb">
</p>
***
**F.TestPoint** and **B.TestPoint**
These layers are used to highlight testpoint locations in the fabrication document. They should be left as empty.
***
**F.AssemblyText**
This layer is used to hold information about the number of components, assembly notes, assembly drawing and 3D render of the top of the PCB. For the number of components, you should create a group named `kibot_table_csv_comp_count`. Assembly notes should be added using the text variable `${ASSEMBLY_NOTES}`. The 3D render can be added by creating a group named `kibot_image_png_3d_viewer_top`.
<p align="center">
<img alt="F.AssemblyText" src="https://github.com/user-attachments/assets/3ecbb012-ad26-4e94-9fb2-f2743e7ff44e">
<img alt="kibot_image_png_3d_viewer_top" src="https://github.com/user-attachments/assets/823c4d2a-d84a-4096-b277-c7938554fb98">
</p>
<p align="center">
<img alt="kibot_table_csv_comp_count" src="https://github.com/user-attachments/assets/e05bb55f-971e-4b34-9af6-0b44668ae599" width="45%">
&nbsp; &nbsp; &nbsp; &nbsp;
<img alt="${ASSEMBLY_NOTES}" src="https://github.com/user-attachments/assets/954b444f-8db9-4e08-85c1-5c62ee96d5fa" width="45%">
</p>
**B.AssemblyText**
This layer hold the assembly drawing and 3D render for the backside of the PCB. For the 3D render, you should add a group named `kibot_image_png_3d_viewer_bottom`.
***
**F.Dimensions**
This layer holds information about the PCB stackup and dimensions, impedance table and fabrication notes. The PCB stackup can be added by creating a group named `kibot_fancy_stackup`. The impedance table with a group named `kibot_table_csv_impedance_table` and the fabrication notes are included with the text variable `${FABRICATION_NOTES}`.
> [!NOTE]
> The text variable ${FABRICATION_NOTE} is dependent on the [`kibot_resources/templates/fabrication_notes.txt`](kibot_resources/templates/fabrication_notes.txt) file. Modify it to your needs.
<p align="center">
<img alt="F.Dimensions" src="https://github.com/user-attachments/assets/6f47fa22-8bc8-4a65-97d7-891e124f82a2">
<img alt="kibot_fancy_stackup" src="https://github.com/user-attachments/assets/bb45fed2-820a-48a4-b8c7-9473efa5007a">
</p>
<p align="center">
<img alt="kibot_table_csv_impedance_table" src="https://github.com/user-attachments/assets/add357a8-4aee-4d9d-873f-08883d448c07">
<img alt="${FABRICATION_NOTES}" src="https://github.com/user-attachments/assets/82083591-50fe-4381-b643-ba91a7d45452">
</p>
**B.Dimensions**
This layer contains information about the dimensions of the PCB, seen from the backside. Similarly to the front side, you can use KiCad's **Dimensions** tool to add some dimensions.
<p align="center">
<img alt="B.Dimensions" src="https://github.com/user-attachments/assets/cd62501d-b696-49f7-a9a5-9cf350b76d70">
</p>
***
**F.TestPointList**
This layer is used to hold information about the testpoints locations and nets. You can add testpoint tables by creating a group named `kibot_table_csv_testpoints_top`. It is also possible to use python slicing to separate the table into multiple tables, by using slice operators in the name. For example: `kibot_table_csv_testpoints_top[:32]` and `kibot_table_csv_testpoints_top[32:]` in two different groups would create two tables with the first one including the first 32 testpoints and the second one every testpoint after that.
Test point locations are computed from the drill origin, which can be set with:
**Place → Drill/Place File Origin**.
> [!TIP]
> It is usually good practice to set the origin at the bottom left of the board.
<p align="center">
<img alt="F.TestPointList" src="https://github.com/user-attachments/assets/ec1e538e-05f0-4e3b-a5b7-642a60116f10">
</p>
<p align="center">
<img alt="kibot_table_csv_testpoints_top[:32]" src="https://github.com/user-attachments/assets/4c69e9e0-461f-4de7-9528-34ebe5d93b9c" width="45%">
&nbsp; &nbsp; &nbsp; &nbsp;
<img alt="kibot_table_csv_testpoints_top[32:]" src="https://github.com/user-attachments/assets/d77a5d2c-f599-49e7-801b-01bb4950e769" width="45%">
</p>
**B.TestPointList**
Similar to the front testpoint layer. The group should be named `kibot_table_csv_testpoints_bottom`. Note that because PCB is inverted for this layer during print, if the group is placed on the left side it will be printed on the right side.
<p align="center">
<img alt="B.TestPointList" src="https://github.com/user-attachments/assets/e1f6cd3a-5322-4699-9ae8-d9e4d9d16b93">
</p>
<p align="center">
<img alt="kibot_table_csv_testpoints_bottom" src="https://github.com/user-attachments/assets/42e035fa-a4c3-4251-81da-6ff4a5da102e">
</p>
***
### Summary in table format
| **Layer** | **Description** | **Changes/Included Items** |
|-------------------------------|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
| **TitlePage** | First page of the assembly document. | Add groups: `kibot_image_png_3d_viewer_angled_top` and `kibot_image_png_3d_viewer_angled_bottom`. |
| **User.Comments** | Reserved for project-specific comments. | Not used by default; customize as needed. |
| **F.DNP / B.DNP** | Holds red crosses for components marked as *Do Not Populate*. | Keep these layers empty. |
| **DrillMap** | Draws drill map drawings and tables in the fabrication document, aligned by default with the PCB. | Add group: `kibot_table_csv_drill_table`. |
| **F.TestPoint / B.TestPoint** | Highlights testpoint locations in the fabrication document. | Keep these layers empty. |
| **F.AssemblyText** | Contains component count, assembly notes, drawings, and 3D renders for the top side of the PCB. | Add group: `kibot_table_csv_comp_count` (table) and `kibot_image_png_3d_viewer_top` (image). Include `${ASSEMBLY_NOTES}` text.|
| **B.AssemblyText** | Holds assembly drawings and 3D render for the bottom side of the PCB. | Add group: `kibot_image_png_3d_viewer_bottom` for the 3D render. |
| **F.Dimensions** | Holds PCB stackup, dimensions, impedance table, and fabrication notes. | Add groups: `kibot_fancy_stackup` (stackup), `kibot_table_csv_impedance_table` (impedance table), and `${FABRICATION_NOTES}`. |
| **B.Dimensions** | Holds dimensions of the PCB, seen from the backside. | Use KiCad **Dimensions** tool to add details. |
| **F.TestPointList** | Lists testpoint locations and nets for the top layer. | Add group: `kibot_table_csv_testpoints_top`. Use slicing (e.g., `[:32]`) for multiple tables. |
| **B.TestPointList** | Lists testpoint locations and nets for the bottom layer. | Add group: `kibot_table_csv_testpoints_bottom`. Adjust left-side placements for inverted print alignment. |
## DIRECTORY STRUCTURE ## DIRECTORY STRUCTURE
The following directory structure is used in the template. Folders marked as 'optional' are not crucial for KiBot to work. Other folders will be generated automatically during a KiBot run.
``` .
├─ Computations # Misc calculations (optional) ├─ Computations # Misc calculations
├─ HTML # HTML files for generated webpage ├─ HTML # HTML files for generated webpage
├─ Images # Pictures and renders ├─ Images # Pictures and renders
├─ kibot_resources ├─ kibot_resources # External resources for KiBot
│ ├─ colors # Color theme for KiCad │ ├─ colors # Color theme for KiCad
│ ├─ fonts # Fonts used in the project │ ├─ fonts # Fonts used in the project
│ ├─ scripts # External scripts used with KiBot │ ├─ scripts # External scripts used with KiBot
│ └─ templates # Templates for KiBot generated reports │ └─ templates # Templates for KiBot generated reports
├─ kibot_yaml # KiBot YAML config files ├─ kibot_yaml # KiBot YAML config files
├─ KiRI # KiRI (PCB diff viewer) files ├─ KiRI # KiRI (PCB diff viewer) files
├─ lib # Footprint and symbol libraries (optional) ├─ lib # KiCad footprint and symbol libraries
│ ├─ 3d_models # Component 3D models │ ├─ 3d_models # Component 3D models
│ ├─ lib_fp # Footprint libraries │ ├─ lib_fp # Footprint libraries
│ └─ lib_sym # Symbol libraries │ └─ lib_sym # Symbol libraries
├─ Logos # Logos (optional) ├─ Logos # Logos
├─ Manufacturing ├─ Manufacturing # Assembly and fabrication documents
│ ├─ Assembly # Assembly documents (BoM, pos, notes) │ ├─ Assembly # Assembly documents (BoM, pos, notes)
│ │ │ │
│ └─ Fabrication # Fabrication documents (ZIP, notes) │ └─ Fabrication # Fabrication documents (ZIP, notes)
│ ├─ Drill Tables # CSV drill tables │ ├─ Drill Tables # CSV drill tables
│ └─ Gerbers # Gerbers │ └─ Gerbers # Gerbers
├─ Report # Reports for ERC/DRC ├─ Report # Reports for ERC/DRC
├─ Schematic # PDF of schematic ├─ Schematic # PDF of schematic
├─ Templates # Title block templates ├─ Templates # Title block templates
├─ Testing ├─ Testing
│ └─ Testpoints # Testpoints tables │ └─ Testpoints # Testpoints tables
└─ Variants # Outputs for assembly variants (optional) └─ Variants # Outputs for assembly variants
```
## CREDITS
[@set-soft](https://github.com/set-soft) for his amazing work on [KiBot](https://github.com/INTI-CMNB/KiBot/tree/master). Check out the [documentation](https://kibot.readthedocs.io/en/latest/) for more!
## RESOURCES
- [Video Tutorial for this template](https://www.youtube.com/watch?v=63R6Wnx44uY)
- [Example project (from the video tutorial)](https://github.com/nguyen-v/KiBot_Project_Test)
- [Example project (Amulet)](https://github.com/nguyen-v/amulet_controller_kibot/tree/master)
- [(Outdated) Best practices and tips for good schematics](https://www.youtube.com/watch?v=_ZjyeltLMAg)
- [GitHub Actions Documentation](https://docs.github.com/en/actions)
- [KiBot Documentation](https://kibot.readthedocs.io/en/latest/)
- [KiBot Repository](https://github.com/INTI-CMNB/KiBot)
- [KiCost Documentation](https://hildogjr.github.io/KiCost/docs/_build/singlehtml/index.html)
- [KiCost Repository](https://github.com/hildogjr/KiCost)
- [KiRI Repository](https://github.com/leoheck/kiri)
## CONTRIBUTING
Feel free to open a pull request if you have any cool features to add!

View File

@@ -1,7 +1,7 @@
(kicad_sch (kicad_sch
(version 20231120) (version 20250114)
(generator "eeschema") (generator "eeschema")
(generator_version "8.0") (generator_version "9.0")
(uuid "ea8c4f5e-7a49-4faf-a994-dbc85ed86b0a") (uuid "ea8c4f5e-7a49-4faf-a994-dbc85ed86b0a")
(paper "A4") (paper "A4")
(title_block (title_block
@@ -11,6 +11,209 @@
(company "${COMPANY}") (company "${COMPANY}")
) )
(lib_symbols) (lib_symbols)
(text_box "${RELEASE_BODY_1.1.0}"
(exclude_from_sim no)
(at 220.98 35.56 0)
(size 58.42 111.76)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "0c062e2b-2be1-4307-b752-045c211787f4")
)
(text_box "[${#}] ${TITLE}"
(exclude_from_sim no)
(at 80.01 16.51 0)
(size 137.16 12.7)
(margins 4.4999 4.4999 4.4999 4.4999)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 6 6)
(thickness 1.2)
(bold yes)
(color 162 22 34 1)
)
)
(uuid "20a0a094-ac98-46df-bdac-21d5721f7697")
)
(text_box "${RELEASE_BODY_1.0.0}"
(exclude_from_sim no)
(at 22.86 35.56 0)
(size 58.42 146.05)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "212b625e-4169-46f2-a2fc-afc6cbef07cd")
)
(text_box "${RELEASE_TITLE_1.0.2}"
(exclude_from_sim no)
(at 152.4 31.75 0)
(size 57.15 7.62)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "61447e65-3862-4ca7-a61e-5d8506cb38bb")
)
(text_box "${RELEASE_BODY_1.0.2}"
(exclude_from_sim no)
(at 154.94 35.56 0)
(size 58.42 111.76)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "8ad0acb7-8a2e-40a2-87c7-888a93359ccd")
)
(text_box "${RELEASE_BODY_1.0.1}"
(exclude_from_sim no)
(at 88.9 35.56 0)
(size 57.15 105.41)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "9af8400a-3034-4071-a364-608020db49d5")
)
(text_box "${RELEASE_TITLE_1.0.0}"
(exclude_from_sim no)
(at 20.32 31.75 0)
(size 57.15 7.62)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "d183a6b7-e8a2-46ec-8c3c-ec3041423bc1")
)
(text_box "${RELEASE_TITLE_1.0.1}"
(exclude_from_sim no)
(at 86.36 31.75 0)
(size 57.15 7.62)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "ed7f1ff6-56f6-4427-ab7f-2ffe27717c3d")
)
(text_box "${RELEASE_TITLE_1.1.0}"
(exclude_from_sim no)
(at 218.44 31.75 0)
(size 57.15 7.62)
(margins 1.4287 1.4287 1.4287 1.4287)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "f47af890-f55a-44bf-b54f-b7df3adde008")
)
(polyline (polyline
(pts (pts
(xy 85.09 31.75) (xy 85.09 149.86) (xy 85.09 31.75) (xy 85.09 149.86)
@@ -55,198 +258,4 @@
) )
(uuid "fe21cbb6-f53c-41a1-bc1c-520e82f71f78") (uuid "fe21cbb6-f53c-41a1-bc1c-520e82f71f78")
) )
(text_box "${RELEASE_BODY_1.1.0}"
(exclude_from_sim no)
(at 220.98 35.56 0)
(size 58.42 111.76)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "0c062e2b-2be1-4307-b752-045c211787f4")
)
(text_box "[${#}] ${TITLE}"
(exclude_from_sim no)
(at 80.01 16.51 0)
(size 137.16 12.7)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 6 6)
(thickness 1.2)
(bold yes)
(color 162 22 34 1)
)
)
(uuid "20a0a094-ac98-46df-bdac-21d5721f7697")
)
(text_box "${RELEASE_BODY_1.0.0}"
(exclude_from_sim no)
(at 22.86 35.56 0)
(size 58.42 146.05)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "212b625e-4169-46f2-a2fc-afc6cbef07cd")
)
(text_box "${RELEASE_TITLE_1.0.2}"
(exclude_from_sim no)
(at 152.4 31.75 0)
(size 57.15 7.62)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "61447e65-3862-4ca7-a61e-5d8506cb38bb")
)
(text_box "${RELEASE_BODY_1.0.2}"
(exclude_from_sim no)
(at 154.94 35.56 0)
(size 58.42 111.76)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "8ad0acb7-8a2e-40a2-87c7-888a93359ccd")
)
(text_box "${RELEASE_BODY_1.0.1}"
(exclude_from_sim no)
(at 88.9 35.56 0)
(size 57.15 105.41)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "9af8400a-3034-4071-a364-608020db49d5")
)
(text_box "${RELEASE_TITLE_1.0.0}"
(exclude_from_sim no)
(at 20.32 31.75 0)
(size 57.15 7.62)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "d183a6b7-e8a2-46ec-8c3c-ec3041423bc1")
)
(text_box "${RELEASE_TITLE_1.0.1}"
(exclude_from_sim no)
(at 86.36 31.75 0)
(size 57.15 7.62)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "ed7f1ff6-56f6-4427-ab7f-2ffe27717c3d")
)
(text_box "${RELEASE_TITLE_1.1.0}"
(exclude_from_sim no)
(at 218.44 31.75 0)
(size 57.15 7.62)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.905 1.905)
(thickness 0.254)
(bold yes)
)
(justify left top)
)
(uuid "f47af890-f55a-44bf-b54f-b7df3adde008")
)
) )

Binary file not shown.

View File

@@ -1,7 +1,7 @@
(kicad_sch (kicad_sch
(version 20231120) (version 20250114)
(generator "eeschema") (generator "eeschema")
(generator_version "8.0") (generator_version "9.0")
(uuid "ea8c4f5e-7a49-4faf-a994-dbc85ed86b0a") (uuid "ea8c4f5e-7a49-4faf-a994-dbc85ed86b0a")
(paper "A4") (paper "A4")
(title_block (title_block
@@ -11,17 +11,6 @@
(company "${COMPANY}") (company "${COMPANY}")
) )
(lib_symbols) (lib_symbols)
(polyline
(pts
(xy 129.54 120.65) (xy 116.84 124.46)
)
(stroke
(width 0)
(type dot)
(color 255 0 0 1)
)
(uuid "dbc0dbb3-ec35-483a-84d2-c330277e1998")
)
(rectangle (rectangle
(start 129.54 110.49) (start 129.54 110.49)
(end 137.16 125.73) (end 137.16 125.73)
@@ -48,97 +37,6 @@
) )
(uuid bb86d4de-8a6c-49fd-bb3c-0c8f9cc72e55) (uuid bb86d4de-8a6c-49fd-bb3c-0c8f9cc72e55)
) )
(text_box "LAYOUT NOTE:\nblablabla"
(exclude_from_sim no)
(at 66.04 97.79 0)
(size 26.67 11.43)
(stroke
(width 1)
(type solid)
(color 0 0 255 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(thickness 0.4)
(bold yes)
(color 0 0 255 1)
)
(justify left top)
)
(uuid "59800026-abce-490f-af73-e553b627145c")
)
(text_box "[${#}] ${TITLE}"
(exclude_from_sim no)
(at 115.57 15.24 0)
(size 72.39 12.7)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 6 6)
(thickness 1.2)
(bold yes)
(color 162 22 34 1)
)
)
(uuid "b2c13488-4f2f-433b-bdc6-d210d1646aca")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 57.15 139.7 0)
(size 190.5 7.62)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "b610ad11-6470-4e17-bb6a-df05c5ad2515")
)
(text_box "DESIGN NOTE:\nblablabla"
(exclude_from_sim no)
(at 95.25 124.46 0)
(size 21.59 11.43)
(stroke
(width 0.8)
(type solid)
(color 250 236 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "e0003229-9448-4893-9fb1-bea9e839bb75")
)
(text "J. Pieper ADC investigation" (text "J. Pieper ADC investigation"
(exclude_from_sim no) (exclude_from_sim no)
(at 142.24 170.18 0) (at 142.24 170.18 0)
@@ -181,4 +79,110 @@
) )
(uuid "f25578fd-4ab6-4599-95bc-eaa8a509f479") (uuid "f25578fd-4ab6-4599-95bc-eaa8a509f479")
) )
(text_box "LAYOUT NOTE:\nblablabla"
(exclude_from_sim no)
(at 66.04 97.79 0)
(size 26.67 11.43)
(margins 1.4525 1.4525 1.4525 1.4525)
(stroke
(width 1)
(type solid)
(color 0 0 255 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(thickness 0.4)
(bold yes)
(color 0 0 255 1)
)
(justify left top)
)
(uuid "59800026-abce-490f-af73-e553b627145c")
)
(text_box "[${#}] ${TITLE}"
(exclude_from_sim no)
(at 115.57 15.24 0)
(size 72.39 12.7)
(margins 4.4999 4.4999 4.4999 4.4999)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 6 6)
(thickness 1.2)
(bold yes)
(color 162 22 34 1)
)
)
(uuid "b2c13488-4f2f-433b-bdc6-d210d1646aca")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 57.15 139.7 0)
(size 190.5 7.62)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "b610ad11-6470-4e17-bb6a-df05c5ad2515")
)
(text_box "DESIGN NOTE:\nblablabla"
(exclude_from_sim no)
(at 95.25 124.46 0)
(size 21.59 11.43)
(margins 1.3525 1.3525 1.3525 1.3525)
(stroke
(width 0.8)
(type solid)
(color 250 236 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "e0003229-9448-4893-9fb1-bea9e839bb75")
)
(polyline
(pts
(xy 129.54 120.65) (xy 116.84 124.46)
)
(stroke
(width 0)
(type dot)
(color 255 0 0 1)
)
(uuid "dbc0dbb3-ec35-483a-84d2-c330277e1998")
)
) )

View File

@@ -1,7 +1,7 @@
(kicad_sch (kicad_sch
(version 20231120) (version 20250114)
(generator "eeschema") (generator "eeschema")
(generator_version "8.0") (generator_version "9.0")
(uuid "ea8c4f5e-7a49-4faf-a994-dbc85ed86b0a") (uuid "ea8c4f5e-7a49-4faf-a994-dbc85ed86b0a")
(paper "A3") (paper "A3")
(title_block (title_block
@@ -141,326 +141,6 @@
) )
(uuid f026768c-915f-4378-b3f2-b0a2f2a348b8) (uuid f026768c-915f-4378-b3f2-b0a2f2a348b8)
) )
(text_box "Block Description"
(exclude_from_sim no)
(at 46.99 194.31 0)
(size 86.36 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "22f68459-86b0-4160-81dc-9d64d58e4265")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 140.97 228.6 0)
(size 82.55 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "5050590c-bc0b-438f-ac65-a11e5219903d")
)
(text_box "[${#}] ${TITLE}"
(exclude_from_sim no)
(at 161.29 20.32 0)
(size 96.52 12.7)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 8 8)
(thickness 1.2)
(bold yes)
(color 162 22 34 1)
)
)
(uuid "524c500e-48b2-4d74-9c30-5c34bf6c2558")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 46.99 228.6 0)
(size 86.36 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "67a85d80-fe45-4492-a23f-f4ed25b939a9")
)
(text_box "DESIGN NOTE:\nblabla"
(exclude_from_sim no)
(at 77.47 143.51 0)
(size 21.59 15.24)
(stroke
(width 0.8)
(type solid)
(color 255 165 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "7118d66d-27ed-4a42-9d0f-29873dd1133d")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 231.14 228.6 0)
(size 80.01 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "7283beb6-c696-4e44-ac80-edfae78c644b")
)
(text_box "LAYOUT NOTE:\nblabla"
(exclude_from_sim no)
(at 101.6 143.51 0)
(size 26.67 15.24)
(stroke
(width 1)
(type solid)
(color 0 0 255 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(thickness 0.4)
(bold yes)
(color 0 0 255 1)
)
(justify left top)
)
(uuid "789bb8df-08ec-4683-a441-f4ff02e08c1e")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 46.99 156.21 0)
(size 86.36 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "904a8349-50c0-42c2-9fb8-b365e5e4dae5")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 142.24 109.22 0)
(size 167.64 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "96ca24d3-fb87-492b-b46b-2ff8e6f8597a")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 231.775 170.815 0)
(size 78.74 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "9cf3d12e-f9c3-4c34-8081-b16b6bc5d5dd")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 231.14 194.31 0)
(size 80.01 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "a0355043-f06f-4f70-9556-f7b249e99a87")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 318.77 228.6 0)
(size 53.34 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "ac59a6b3-731c-4363-a803-7459ac300c4a")
)
(text_box "DESIGN NOTE:\nblabla"
(exclude_from_sim no)
(at 53.34 143.51 0)
(size 21.59 15.24)
(stroke
(width 0.8)
(type solid)
(color 200 200 200 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "b30fc753-248d-41ea-b0ab-815ff2704544")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 140.97 194.31 0)
(size 82.55 9.525)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "d975f102-c262-465d-91fc-7f6c552cfb8d")
)
(text "Flexible I/O worked examples" (text "Flexible I/O worked examples"
(exclude_from_sim no) (exclude_from_sim no)
(at 265.43 254 0) (at 265.43 254 0)
@@ -504,4 +184,338 @@
) )
(uuid "ff128f57-01dd-404e-9bb2-8208299d438c") (uuid "ff128f57-01dd-404e-9bb2-8208299d438c")
) )
(text_box "Block Description"
(exclude_from_sim no)
(at 46.99 194.31 0)
(size 86.36 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "22f68459-86b0-4160-81dc-9d64d58e4265")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 140.97 228.6 0)
(size 82.55 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "5050590c-bc0b-438f-ac65-a11e5219903d")
)
(text_box "[${#}] ${TITLE}"
(exclude_from_sim no)
(at 161.29 20.32 0)
(size 96.52 12.7)
(margins 5.9999 5.9999 5.9999 5.9999)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 8 8)
(thickness 1.2)
(bold yes)
(color 162 22 34 1)
)
)
(uuid "524c500e-48b2-4d74-9c30-5c34bf6c2558")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 46.99 228.6 0)
(size 86.36 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "67a85d80-fe45-4492-a23f-f4ed25b939a9")
)
(text_box "DESIGN NOTE:\nblabla"
(exclude_from_sim no)
(at 77.47 143.51 0)
(size 21.59 15.24)
(margins 1.3525 1.3525 1.3525 1.3525)
(stroke
(width 0.8)
(type solid)
(color 255 165 0 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "7118d66d-27ed-4a42-9d0f-29873dd1133d")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 231.14 228.6 0)
(size 80.01 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "7283beb6-c696-4e44-ac80-edfae78c644b")
)
(text_box "LAYOUT NOTE:\nblabla"
(exclude_from_sim no)
(at 101.6 143.51 0)
(size 26.67 15.24)
(margins 1.4525 1.4525 1.4525 1.4525)
(stroke
(width 1)
(type solid)
(color 0 0 255 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(thickness 0.4)
(bold yes)
(color 0 0 255 1)
)
(justify left top)
)
(uuid "789bb8df-08ec-4683-a441-f4ff02e08c1e")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 46.99 156.21 0)
(size 86.36 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "904a8349-50c0-42c2-9fb8-b365e5e4dae5")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 142.24 109.22 0)
(size 167.64 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "96ca24d3-fb87-492b-b46b-2ff8e6f8597a")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 231.775 170.815 0)
(size 78.74 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "9cf3d12e-f9c3-4c34-8081-b16b6bc5d5dd")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 231.14 194.31 0)
(size 80.01 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "a0355043-f06f-4f70-9556-f7b249e99a87")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 318.77 228.6 0)
(size 53.34 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "ac59a6b3-731c-4363-a803-7459ac300c4a")
)
(text_box "DESIGN NOTE:\nblabla"
(exclude_from_sim no)
(at 53.34 143.51 0)
(size 21.59 15.24)
(margins 1.3525 1.3525 1.3525 1.3525)
(stroke
(width 0.8)
(type solid)
(color 200 200 200 1)
)
(fill
(type none)
)
(effects
(font
(face "Arial")
(size 1.27 1.27)
(color 0 0 0 1)
)
(justify left top)
)
(uuid "b30fc753-248d-41ea-b0ab-815ff2704544")
)
(text_box "Block Description"
(exclude_from_sim no)
(at 140.97 194.31 0)
(size 82.55 9.525)
(margins 1.9049 1.9049 1.9049 1.9049)
(stroke
(width -0.0001)
(type default)
)
(fill
(type none)
)
(effects
(font
(face "Times New Roman")
(size 2.54 2.54)
(thickness 0.508)
(bold yes)
(color 162 22 34 1)
)
(justify bottom)
)
(uuid "d975f102-c262-465d-91fc-7f6c552cfb8d")
)
) )

4167
kibot_run.log Normal file

File diff suppressed because one or more lines are too long

3874
kibot_run_readme.log Normal file

File diff suppressed because one or more lines are too long

View File

@@ -564,7 +564,7 @@ definitions:
DESIGNER: Aidan Brzezinski DESIGNER: Aidan Brzezinski
LOGO: 'Logos/dummy_logo.png' LOGO: 'Logos/dummy_logo.png'
GIT_URL: 'https://github.com/nguyen-v/KDT_Hierarchical_KiBot' GIT_URL: 'https://git.lokislair.com/aidanbrzezinski/Nixie_Tube_Clock.git'
# Preflight ================================================================== # Preflight ==================================================================