Blueprint

Leobog Hi75 replacment PCB

basically a keyboard pcb to replace the one in by default so i can use qmk via and not the shitty chinese malware it comes with

1 view

0 followers

Simha Saraswati Simha Saraswati added to the journal ago

Created the MCU part of the schematic

This included lots of testing and research, i ended up settling on the AT90USB1286. Whicch is basically the more powerful version of the Atmega 32u-4 that a lot of people use. This is most of it (works) but i will add a reset and HBM button under the spacebar. Im planning on using a unified daughterboard so thats why I dont have a USB C thingy on the pcb.

I also will recreate the leobog in KLE so i can use the auto placement tool (if allowed) to save loads of time, but have not yet

For anyone curious, the netlist is:
(export (version "E")
(design
(source "leobogpcbreplacment1.kicadsch")
(date "2024-05-20T14:48:38-0500")
(tool "Eeschema 8.0.2")
(sheet (number "1") (name "/") (tstamps "/")))
(components
(comp (ref "C1")
(value "100nF")
(footprint "Capacitor
SMD:C06031608Metric")
(fields
(field (name "Footprint") "CapacitorSMD:C06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "C") (description "Unpolarized capacitor")))
(comp (ref "C2")
(value "100nF")
(footprint "Capacitor
SMD:C06031608Metric")
(fields
(field (name "Footprint") "CapacitorSMD:C06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "C") (description "Unpolarized capacitor")))
(comp (ref "C3")
(value "100nF")
(footprint "Capacitor
SMD:C06031608Metric")
(fields
(field (name "Footprint") "CapacitorSMD:C06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "C") (description "Unpolarized capacitor")))
(comp (ref "R1")
(value "10k")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "R2")
(value "22")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "R3")
(value "22")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "R4")
(value "10k")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "U1")
(value "AT90USB1286-AU")
(footprint "Package
QFP:TQFP-6410x10mmP0.5mm")
(datasheet "http://ww1.microchip.com/downloads/en/DeviceDoc/doc7593.pdf")
(fields
(field (name "Footprint") "PackageQFP:TQFP-6410x10mmP0.5mm")
(field (name "Datasheet") "http://ww1.microchip.com/downloads/en/DeviceDoc/doc7593.pdf")
(field (name "Description")))
(libsource (lib "MCU
MicrochipATmega") (part "AT90USB1286-A") (description "8-bit Microcontroller, 128KB Flash, USB")))
(comp (ref "U2")
(value "USBLC6-2SC6")
(footprint "Package
TOSOTSMD:SOT-23-6")
(datasheet "https://www.st.com/resource/en/datasheet/usblc6-2.pdf")
(fields
(field (name "Footprint") "PackageTOSOTSMD:SOT-23-6")
(field (name "Datasheet") "https://www.st.com/resource/en/datasheet/usblc6-2.pdf")
(field (name "Description")))
(libsource (lib "Power
Protection") (part "USBLC6-2SC6") (description "Very low capacitance ESD protection diode, SOT-23-6")))
(comp (ref "Y1")
(value "Crystal")
(footprint "Crystal:CrystalSMD3225-4Pin3.2x2.5mm")
(fields
(field (name "Footprint") "Crystal:Crystal
SMD3225-4Pin3.2x2.5mm")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "Crystal") (description "Two pin crystal"))))
(nets
(net (code "1") (name "/HWB")
(node (ref "R4") (pin "2"))
(node (ref "U1") (pin "43")))
(net (code "2") (name "/RESET")
(node (ref "R1") (pin "2"))
(node (ref "U1") (pin "33")))
(net (code "3") (name "GND")
(node (ref "C1") (pin "2"))
(node (ref "C2") (pin "2"))
(node (ref "C3") (pin "2"))
(node (ref "R4") (pin "1"))
(node (ref "U1") (pin "22"))
(node (ref "U1") (pin "53"))
(node (ref "U1") (pin "6"))
(node (ref "U1") (pin "63"))
(node (ref "U2") (pin "2")))
(net (code "4") (name "Net-(R2-Pad1)")
(node (ref "R2") (pin "1"))
(node (ref "U1") (pin "4")))
(net (code "5") (name "Net-(R3-Pad1)")
(node (ref "R3") (pin "1"))
(node (ref "U1") (pin "5")))
(net (code "6") (name "VCC")
(node (ref "C1") (pin "1"))
(node (ref "C2") (pin "1"))
(node (ref "C3") (pin "1"))
(node (ref "R1") (pin "1"))
(node (ref "U1") (pin "21"))
(node (ref "U1") (pin "3"))
(node (ref "U1") (pin "52"))
(node (ref "U1") (pin "64"))
(node (ref "U1") (pin "8"))
(node (ref "U2") (pin "5")))
(net (code "7") (name "unconnected-(U1-AD0-Pad62)")
(node (ref "U1") (pin "62")))
(net (code "8") (name "unconnected-(U1-AD1-Pad61)")
(node (ref "U1") (pin "61")))
(net (code "9") (name "unconnected-(U1-AD2-Pad60)")
(node (ref "U1") (pin "60")))
(net (code "10") (name "unconnected-(U1-AD3-Pad59)")
(node (ref "U1") (pin "59")))
(net (code "11") (name "unconnected-(U1-AD4-Pad58)")
(node (ref "U1") (pin "58")))
(net (code "12") (name "unconnected-(U1-AD5-Pad57)")
(node (ref "U1") (pin "57")))
(net (code "13") (name "unconnected-(U1-AD6-Pad56)")
(node (ref "U1") (pin "56")))
(net (code "14") (name "unconnected-(U1-AD7-Pad55)")
(node (ref "U1") (pin "55")))
(net (code "15") (name "unconnected-(U1-ALE-Pad54)")
(node (ref "U1") (pin "54")))
(net (code "16") (name "unconnected-(U1-AVCC-Pad64)")
(node (ref "U1") (pin "64")))
(net (code "17") (name "unconnected-(U1-PA0-Pad44)")
(node (ref "U1") (pin "44")))
(net (code "18") (name "unconnected-(U1-PA1-Pad45)")
(node (ref "U1") (pin "45")))
(net (code "19") (name "unconnected-(U1-PA2-Pad46)")
(node (ref "U1") (pin "46")))
(net (code "20") (name "unconnected-(U1-PA3-Pad47)")
(node (ref "U1") (pin "47")))
(net (code "21") (name "unconnected-(U1-PA4-Pad48)")
(node (ref "U1") (pin "48")))
(net (code "22") (name "unconnected-(U1-PA5-Pad49)")
(node (ref "U1") (pin "49")))
(net (code "23") (name "unconnected-(U1-PA6-Pad50)")
(node (ref "U1") (pin "50")))
(net (code "24") (name "unconnected-(U1-PA7-Pad51)")
(node (ref "U1") (pin "51")))
(net (code "25") (name "unconnected-(U1-PB0-Pad10)")
(node (ref "U1") (pin "10")))
(net (code "26") (name "unconnected-(U1-PB1-Pad11)")
(node (ref "U1") (pin "11")))
(net (code "27") (name "unconnected-(U1-PB2-Pad12)")
(node (ref "U1") (pin "12")))
(net (code "28") (name "unconnected-(U1-PB3-Pad13)")
(node (ref "U1") (pin "13")))
(net (code "29") (name "unconnected-(U1-PB4-Pad14)")
(node (ref "U1") (pin "14")))
(net (code "30") (name "unconnected-(U1-PB5-Pad15)")
(node (ref "U1") (pin "15")))
(net (code "31") (name "unconnected-(U1-PB6-Pad16)")
(node (ref "U1") (pin "16")))
(net (code "32") (name "unconnected-(U1-PB7-Pad17)")
(node (ref "U1") (pin "17")))
(net (code "33") (name "unconnected-(U1-PC0-Pad35)")
(node (ref "U1") (pin "35")))
(net (code "34") (name "unconnected-(U1-PC1-Pad36)")
(node (ref "U1") (pin "36")))
(net (code "35") (name "unconnected-(U1-PC2-Pad37)")
(node (ref "U1") (pin "37")))
(net (code "36") (name "unconnected-(U1-PC3-Pad38)")
(node (ref "U1") (pin "38")))
(net (code "37") (name "unconnected-(U1-PC4-Pad39)")
(node (ref "U1") (pin "39")))
(net (code "38") (name "unconnected-(U1-PC5-Pad40)")
(node (ref "U1") (pin "40")))
(net (code "39") (name "unconnected-(U1-PC6-Pad41)")
(node (ref "U1") (pin "41")))
(net (code "40") (name "unconnected-(U1-PC7-Pad42)")
(node (ref "U1") (pin "42")))
(net (code "41") (name "unconnected-(U1-PD0-Pad25)")
(node (ref "U1") (pin "25")))
(net (code "42") (name "unconnected-(U1-PD1-Pad26)")
(node (ref "U1") (pin "26")))
(net (code "43") (name "unconnected-(U1-PD2-Pad27)")
(node (ref "U1") (pin "27")))
(net (code "44") (name "unconnected-(U1-PD3-Pad28)")
(node (ref "U1") (pin "28")))
(net (code "45") (name "unconnected-(U1-PD4-Pad29)")
(node (ref "U1") (pin "29")))
(net (code "46") (name "unconnected-(U1-PD5-Pad30)")
(node (ref "U1") (pin "30")))
(net (code "47") (name "unconnected-(U1-PD6-Pad31)")
(node (ref "U1") (pin "31")))
(net (code "48") (name "unconnected-(U1-PD7-Pad32)")
(node (ref "U1") (pin "32")))
(net (code "49") (name "unconnected-(U1-PE0-Pad33)")
(node (ref "U1") (pin "33")))
(net (code "50") (name "unconnected-(U1-PE1-Pad34)")
(node (ref "U1") (pin "34")))
(net (code "51") (name "unconnected-(U1-PE6-Pad1)")
(node (ref "U1") (pin "1")))
(net (code "52") (name "unconnected-(U1-PE7-Pad2)")
(node (ref "U1") (pin "2")))
(net (code "53") (name "unconnected-(U1-XTAL1-Pad24)")
(node (ref "U1") (pin "24")))
(net (code "54") (name "unconnected-(U1-XTAL2-Pad23)")
(node (ref "U1") (pin "23")))
(net (code "55") (name "unconnected-(U2-Pad1)")
(node (ref "U2") (pin "1")))
(net (code "56") (name "unconnected-(U2-Pad3)")
(node (ref "U2") (pin "3")))
(net (code "57") (name "unconnected-(U2-Pad4)")
(node (ref "U2") (pin "4")))
(net (code "58") (name "unconnected-(U2-Pad6)")
(node (ref "U2") (pin "6")))))

image

Simha Saraswati Simha Saraswati started Leobog Hi75 replacment PCB ago

2/3/2026 - Created the MCU part of the schematic

This included lots of testing and research, i ended up settling on the AT90USB1286. Whicch is basically the more powerful version of the Atmega 32u-4 that a lot of people use. This is most of it (works) but i will add a reset and HBM button under the spacebar. Im planning on using a unified daughterboard so thats why I dont have a USB C thingy on the pcb.

I also will recreate the leobog in KLE so i can use the auto placement tool (if allowed) to save loads of time, but have not yet

For anyone curious, the netlist is:
(export (version "E")
(design
(source "leobogpcbreplacment1.kicadsch")
(date "2024-05-20T14:48:38-0500")
(tool "Eeschema 8.0.2")
(sheet (number "1") (name "/") (tstamps "/")))
(components
(comp (ref "C1")
(value "100nF")
(footprint "Capacitor
SMD:C06031608Metric")
(fields
(field (name "Footprint") "CapacitorSMD:C06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "C") (description "Unpolarized capacitor")))
(comp (ref "C2")
(value "100nF")
(footprint "Capacitor
SMD:C06031608Metric")
(fields
(field (name "Footprint") "CapacitorSMD:C06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "C") (description "Unpolarized capacitor")))
(comp (ref "C3")
(value "100nF")
(footprint "Capacitor
SMD:C06031608Metric")
(fields
(field (name "Footprint") "CapacitorSMD:C06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "C") (description "Unpolarized capacitor")))
(comp (ref "R1")
(value "10k")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "R2")
(value "22")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "R3")
(value "22")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "R4")
(value "10k")
(footprint "Resistor
SMD:R06031608Metric")
(fields
(field (name "Footprint") "ResistorSMD:R06031608Metric")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "R") (description "Resistor")))
(comp (ref "U1")
(value "AT90USB1286-AU")
(footprint "Package
QFP:TQFP-6410x10mmP0.5mm")
(datasheet "http://ww1.microchip.com/downloads/en/DeviceDoc/doc7593.pdf")
(fields
(field (name "Footprint") "PackageQFP:TQFP-6410x10mmP0.5mm")
(field (name "Datasheet") "http://ww1.microchip.com/downloads/en/DeviceDoc/doc7593.pdf")
(field (name "Description")))
(libsource (lib "MCU
MicrochipATmega") (part "AT90USB1286-A") (description "8-bit Microcontroller, 128KB Flash, USB")))
(comp (ref "U2")
(value "USBLC6-2SC6")
(footprint "Package
TOSOTSMD:SOT-23-6")
(datasheet "https://www.st.com/resource/en/datasheet/usblc6-2.pdf")
(fields
(field (name "Footprint") "PackageTOSOTSMD:SOT-23-6")
(field (name "Datasheet") "https://www.st.com/resource/en/datasheet/usblc6-2.pdf")
(field (name "Description")))
(libsource (lib "Power
Protection") (part "USBLC6-2SC6") (description "Very low capacitance ESD protection diode, SOT-23-6")))
(comp (ref "Y1")
(value "Crystal")
(footprint "Crystal:CrystalSMD3225-4Pin3.2x2.5mm")
(fields
(field (name "Footprint") "Crystal:Crystal
SMD3225-4Pin3.2x2.5mm")
(field (name "Datasheet"))
(field (name "Description")))
(libsource (lib "Device") (part "Crystal") (description "Two pin crystal"))))
(nets
(net (code "1") (name "/HWB")
(node (ref "R4") (pin "2"))
(node (ref "U1") (pin "43")))
(net (code "2") (name "/RESET")
(node (ref "R1") (pin "2"))
(node (ref "U1") (pin "33")))
(net (code "3") (name "GND")
(node (ref "C1") (pin "2"))
(node (ref "C2") (pin "2"))
(node (ref "C3") (pin "2"))
(node (ref "R4") (pin "1"))
(node (ref "U1") (pin "22"))
(node (ref "U1") (pin "53"))
(node (ref "U1") (pin "6"))
(node (ref "U1") (pin "63"))
(node (ref "U2") (pin "2")))
(net (code "4") (name "Net-(R2-Pad1)")
(node (ref "R2") (pin "1"))
(node (ref "U1") (pin "4")))
(net (code "5") (name "Net-(R3-Pad1)")
(node (ref "R3") (pin "1"))
(node (ref "U1") (pin "5")))
(net (code "6") (name "VCC")
(node (ref "C1") (pin "1"))
(node (ref "C2") (pin "1"))
(node (ref "C3") (pin "1"))
(node (ref "R1") (pin "1"))
(node (ref "U1") (pin "21"))
(node (ref "U1") (pin "3"))
(node (ref "U1") (pin "52"))
(node (ref "U1") (pin "64"))
(node (ref "U1") (pin "8"))
(node (ref "U2") (pin "5")))
(net (code "7") (name "unconnected-(U1-AD0-Pad62)")
(node (ref "U1") (pin "62")))
(net (code "8") (name "unconnected-(U1-AD1-Pad61)")
(node (ref "U1") (pin "61")))
(net (code "9") (name "unconnected-(U1-AD2-Pad60)")
(node (ref "U1") (pin "60")))
(net (code "10") (name "unconnected-(U1-AD3-Pad59)")
(node (ref "U1") (pin "59")))
(net (code "11") (name "unconnected-(U1-AD4-Pad58)")
(node (ref "U1") (pin "58")))
(net (code "12") (name "unconnected-(U1-AD5-Pad57)")
(node (ref "U1") (pin "57")))
(net (code "13") (name "unconnected-(U1-AD6-Pad56)")
(node (ref "U1") (pin "56")))
(net (code "14") (name "unconnected-(U1-AD7-Pad55)")
(node (ref "U1") (pin "55")))
(net (code "15") (name "unconnected-(U1-ALE-Pad54)")
(node (ref "U1") (pin "54")))
(net (code "16") (name "unconnected-(U1-AVCC-Pad64)")
(node (ref "U1") (pin "64")))
(net (code "17") (name "unconnected-(U1-PA0-Pad44)")
(node (ref "U1") (pin "44")))
(net (code "18") (name "unconnected-(U1-PA1-Pad45)")
(node (ref "U1") (pin "45")))
(net (code "19") (name "unconnected-(U1-PA2-Pad46)")
(node (ref "U1") (pin "46")))
(net (code "20") (name "unconnected-(U1-PA3-Pad47)")
(node (ref "U1") (pin "47")))
(net (code "21") (name "unconnected-(U1-PA4-Pad48)")
(node (ref "U1") (pin "48")))
(net (code "22") (name "unconnected-(U1-PA5-Pad49)")
(node (ref "U1") (pin "49")))
(net (code "23") (name "unconnected-(U1-PA6-Pad50)")
(node (ref "U1") (pin "50")))
(net (code "24") (name "unconnected-(U1-PA7-Pad51)")
(node (ref "U1") (pin "51")))
(net (code "25") (name "unconnected-(U1-PB0-Pad10)")
(node (ref "U1") (pin "10")))
(net (code "26") (name "unconnected-(U1-PB1-Pad11)")
(node (ref "U1") (pin "11")))
(net (code "27") (name "unconnected-(U1-PB2-Pad12)")
(node (ref "U1") (pin "12")))
(net (code "28") (name "unconnected-(U1-PB3-Pad13)")
(node (ref "U1") (pin "13")))
(net (code "29") (name "unconnected-(U1-PB4-Pad14)")
(node (ref "U1") (pin "14")))
(net (code "30") (name "unconnected-(U1-PB5-Pad15)")
(node (ref "U1") (pin "15")))
(net (code "31") (name "unconnected-(U1-PB6-Pad16)")
(node (ref "U1") (pin "16")))
(net (code "32") (name "unconnected-(U1-PB7-Pad17)")
(node (ref "U1") (pin "17")))
(net (code "33") (name "unconnected-(U1-PC0-Pad35)")
(node (ref "U1") (pin "35")))
(net (code "34") (name "unconnected-(U1-PC1-Pad36)")
(node (ref "U1") (pin "36")))
(net (code "35") (name "unconnected-(U1-PC2-Pad37)")
(node (ref "U1") (pin "37")))
(net (code "36") (name "unconnected-(U1-PC3-Pad38)")
(node (ref "U1") (pin "38")))
(net (code "37") (name "unconnected-(U1-PC4-Pad39)")
(node (ref "U1") (pin "39")))
(net (code "38") (name "unconnected-(U1-PC5-Pad40)")
(node (ref "U1") (pin "40")))
(net (code "39") (name "unconnected-(U1-PC6-Pad41)")
(node (ref "U1") (pin "41")))
(net (code "40") (name "unconnected-(U1-PC7-Pad42)")
(node (ref "U1") (pin "42")))
(net (code "41") (name "unconnected-(U1-PD0-Pad25)")
(node (ref "U1") (pin "25")))
(net (code "42") (name "unconnected-(U1-PD1-Pad26)")
(node (ref "U1") (pin "26")))
(net (code "43") (name "unconnected-(U1-PD2-Pad27)")
(node (ref "U1") (pin "27")))
(net (code "44") (name "unconnected-(U1-PD3-Pad28)")
(node (ref "U1") (pin "28")))
(net (code "45") (name "unconnected-(U1-PD4-Pad29)")
(node (ref "U1") (pin "29")))
(net (code "46") (name "unconnected-(U1-PD5-Pad30)")
(node (ref "U1") (pin "30")))
(net (code "47") (name "unconnected-(U1-PD6-Pad31)")
(node (ref "U1") (pin "31")))
(net (code "48") (name "unconnected-(U1-PD7-Pad32)")
(node (ref "U1") (pin "32")))
(net (code "49") (name "unconnected-(U1-PE0-Pad33)")
(node (ref "U1") (pin "33")))
(net (code "50") (name "unconnected-(U1-PE1-Pad34)")
(node (ref "U1") (pin "34")))
(net (code "51") (name "unconnected-(U1-PE6-Pad1)")
(node (ref "U1") (pin "1")))
(net (code "52") (name "unconnected-(U1-PE7-Pad2)")
(node (ref "U1") (pin "2")))
(net (code "53") (name "unconnected-(U1-XTAL1-Pad24)")
(node (ref "U1") (pin "24")))
(net (code "54") (name "unconnected-(U1-XTAL2-Pad23)")
(node (ref "U1") (pin "23")))
(net (code "55") (name "unconnected-(U2-Pad1)")
(node (ref "U2") (pin "1")))
(net (code "56") (name "unconnected-(U2-Pad3)")
(node (ref "U2") (pin "3")))
(net (code "57") (name "unconnected-(U2-Pad4)")
(node (ref "U2") (pin "4")))
(net (code "58") (name "unconnected-(U2-Pad6)")
(node (ref "U2") (pin "6")))))

image