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
Created by
Simha Saraswati
1 view
0 followers
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 "CapacitorSMD: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 "CapacitorSMD: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 "CapacitorSMD: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 "ResistorSMD: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 "ResistorSMD: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 "ResistorSMD: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 "ResistorSMD: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 "PackageQFP: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 "MCUMicrochipATmega") (part "AT90USB1286-A") (description "8-bit Microcontroller, 128KB Flash, USB")))
(comp (ref "U2")
(value "USBLC6-2SC6")
(footprint "PackageTOSOTSMD: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 "PowerProtection") (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:CrystalSMD3225-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")))))

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 "CapacitorSMD: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 "CapacitorSMD: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 "CapacitorSMD: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 "ResistorSMD: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 "ResistorSMD: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 "ResistorSMD: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 "ResistorSMD: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 "PackageQFP: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 "MCUMicrochipATmega") (part "AT90USB1286-A") (description "8-bit Microcontroller, 128KB Flash, USB")))
(comp (ref "U2")
(value "USBLC6-2SC6")
(footprint "PackageTOSOTSMD: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 "PowerProtection") (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:CrystalSMD3225-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")))))
