Wie ihr vielleicht schon gesehen habt, bastel ich öfters mal an mechanischen Tastaturen. Inzwischen mach ich auch ab und an PCBs für Projekte anderer als Auftragsarbeiten. Normalerweise sind das multiplexed Tastenmatrizen, und ein oller Mega32u4, oder n kleiner STM32, je nach dem was man gerade in der Chipkrise zu weniger abartigen Preisen finden kann. Ab und an sind aber durchaus lustigere Designs dabei, und ich glaube ich werde diesen Thread nutzen um diese vorzustellen - heute fange ich mit einem an, wo die Prototypen gestern angekommen sind.
Ein Bluetooth PCB - mit Pfusch.
Leider kann ich den Namen noch nicht nennen, und keine Fotos des gesamten PCBs (mit Logos etc) posten, da das Projekt nicht offiziell vorgestellt wurde, aber ich denke mal, die Ecke hier kann ich zeigen. Es handelt sich um ein nRF52840 basiertes Projekt, wobei der nRF in Form eines holyiot 18010 RF Moduls verwendet wird. Das Ding ist einfach zu beschaffen und löten, aber hat einen grundlegenden Nachteil - der nRF ist fix auf low voltage mode verdrahtet.
Kurzer Exkurs zu nRF52840: Diese haben getrennte IO und Core Spannungen, üblicherweise 3.3 V und 1.8 V, wobei beide über recht weite ranges sinnvoll variierbar sind, je nach dem was man braucht. Die Chips haben dafür zwei LDO oder DC-DC Stufen integriert, die, je nach externer Beschaltung (DC-DC braucht je eine Drossel + paar Caps pro Stufe), aus bis zu 5.6 V [1] Eingangsspannung alle Chipspannungen erzeugen können. Wenn die Chinesen wie bei dem Modul zu faul dafür sind und den Chip im low voltage mode verschalten, muss man externe ~3 bis 3.6 V [1] zuführen, braucht also einen externen LDO und damit mehr Schaltungsaufwand und meist auch geringere Effizienz.
[1] Nicht sicher, weil ich gerade zu faul bin im Datenblatt nachzuschlagen
Anyway, zurück zum Projekt. USB-C Eingang (CC Lines stumpf mit 5.1k auf GND terminiert), LC Filter mit SMD Ferritperle und KerKo am Eingang, 500 mA Sicherung, ESD-Dioden/TVS Array für Datenleitungen und VBUS. Nix besonderes. Kleiner 3.3 V LDO, und ein TI BQ24075 Chip fürs Akku-Management. Der An/Aus Schalter nutzt das "SYSOFF" Feature des BQ aus, welches mit einem FET im Chip den Akku komplett vom Rest der Schaltung entkoppeln kann. Damit geht ein Problem einher - wenn ich den Schalter auf "Aus" hab, und das Board an USB stecke, lädt es nicht. Dafür ist ein weiterer FET da, welcher SYSOFF auf GND zieht, wenn VBUS vorhanden ist - damit beginnt das Board an USB immer auch zu laden, egal ob der Schalter auf aus oder an steht. Ein zweiter FET kappt den Spannungsteiler für die Akku-Messung ebenfalls, wenn SYSOFF aktiv ist, um current bleed zu verhindern, und um keine Spannung an einen ADC zu geben während VCC des MCUs auf 0V ist (Vio, max = VDD + 0.3 V [1]). DIe Transistoren wurden eigentlich stumpf danach ausgesucht, was jlcpcb an halbwegs brauchbarem als "basic part" hatte um Aufpreis zu verhindern - mir ist bewusst, dass der AO3401A maximal überdimensioniert ist für ein paar Mikroampere. Er macht aber seinen job und hat paar Euro Aufpreis gespart



Fangen wir mit dem PCB an wie es von JLC angekommen ist. Das Modul hat alle relevanten IOs (Versorgung, USB, SWD...) auf den äußeren castellated pads, und ich hatte ausreichend GPIOs außen, damit musste ich die inneren gar nicht löten. USB-C Stecker ist ein HRO TYPE-C-31-M-14 - super praktisch da low profile und einfach von Hand lötbar. In den Schlitz soll dann mal der Akku kommen, daher war das Akku-management platzmäßig etwas eingeengt. Unterseite des USB Steckers (Ich hab vergessen die mounting pins zu löten...), wo man gut sieht wie er so flach sein kann - er wird ins PCB eingelassen. Ebenso sichtbar der TC2030 SWD Flash-Header, sowie die "Reset" pads, mit denen man den Chip in den UF2 Bootloader bringen kann, wenn man es schafft, eine Firmware ohne "reboot to bootloader" shortcut zu flashen. Hier nun einmal das ganze, mit RF Modul, Test-Akku und einem Kailh Choc Tastenschalter auf der Enter-Taste.