
Ultra-kompaktes ESP32-C3-Entwicklungsboard, entwickelt für eingebettete Sicherheitsforschung, mit einem Captive-Portal-Beispiel inklusive WiFi-Scanning und LED-Steuerung. Enthält eine detaillierte Hardware-Bauanleitung und Firmware-Flash-Anweisungen.
Das f32 ist ein ultrakompaktes ESP32-Entwicklungsboard, das dafür entwickelt wurde, direkt hinter einer USB-C-Buchse montiert zu werden. Die Leiterplatte misst nur 9,85 mm x 8,45 mm. Es wird vom Mikrocontroller ESP32-C3FH4 angetrieben und wurde hauptsächlich für Forschung und als eine Art Belastungstest für den ESP32 entwickelt, da es bewusst viele Standard-Designrichtlinien ignoriert. Es gibt nur einen freiliegenden GPIO, und dieser ist mit einer integrierten LED verbunden, daher wäre die meiste Entwicklung hier eher auf WLAN/Web ausgerichtet.
Um das f32 zu testen, wurde eine Beispielanwendung erstellt, mit der Benutzer interagieren können. Die Anwendung verwandelt das f32 in ein Captive Portal, sodass es nach dem Einschalten als offener Zugangspunkt erscheint, den der Benutzer aus den verfügbaren WLAN-Netzwerken auswählen kann. Der Benutzer wird dann automatisch zur Steuerseite des f32 weitergeleitet, wo er mit einigen grundlegenden Funktionen interagieren kann, wie z. B. dem Einschalten einer LED oder dem Scannen nach umliegenden WLAN-Netzwerken. Es gibt auch eine Seite „Über“, die einen kleinen Überblick über das Gerät bietet. Unten sind einige Screenshots und ein GIF der Interaktion mit dem Gerät.
Hauptseite des Captive Portals. |
WLAN-Suche und LED eingeschaltet. |
Über-Seite. |
Anfangs schien das f32 nicht funktionieren zu wollen. Ich konnte es weder mit Netzwerken verbinden noch ein eigenes Netzwerk ausstrahlen. Ich bin mir zu 100 % sicher, dass dies an der schlechten Antennenschaltung oder deren Fehlen liegt, aber es gelang mir, es funktionsfähig zu machen, nachdem ich eine zusätzliche winzige Antenne an der Chipantenne angebracht hatte, wie auf dem Bild unten zu sehen. Dies war nur ein Stück gebogener Draht, der an den äußeren Anschluss gelötet wurde und über dem ersten Anschluss schwebte.
Da ich keine ausgefallene Signaltestausrüstung habe, verließ ich mich auf einige manuelle Tests, z. B. ob ich mich noch mit dem Gerät verbinden und die LED steuern kann. Bei einem Test mit freier Sichtlinie, bei dem das f32 etwa 3 ft über dem Boden platziert war, konnte ich mich in etwa 120 ft Entfernung verbinden und Scans durchführen/die LED steuern! Dies ist in meiner äußerst notwendigen Darstellung unten zu sehen.
Die Leiterplatte wurde mit DipTrace entworfen und von PCBWay mit einer Plattenstärke von 0,6 mm, einer Mindestlochgröße von 0,2 mm und einem Mindestleiterbahnbreite/-abstand von 4/4 mil hergestellt. Zum Zeitpunkt der Erstellung kostete es nur 10,75 $ für 5 Platten inklusive Versand! Das haut mich immer noch um. PCBWay bietet auch Bestückungsdienste an, aber ich habe mich entschieden, das zu Hause zu montieren und ein wenig zu leiden. Das erforderte bei so kleinen Teilen etwas Trial and Error, aber ich entschied, dass der beste Weg für mich darin besteht, die Schablone wegzulassen und Flussmittel zu meinem besten Freund zu machen.
Verwendete Werkzeuge & Teile:
Schritte zum Bauen:
f32_gerber.zip im Ordner hardware an PCBWay mit den oben genannten Spezifikationen.f32_bom.pdf aufgeführten Komponenten. Diese Teile sind sowohl bei DigiKey als auch bei Mouser erhältlich, mit Ausnahme der Antenne. Ich erinnere mich nicht mehr, wo ich sie ursprünglich bestellt hatte, aber ich glaube, es handelt sich um CrossAir CA-C03.
f32_reference.pdf ein.
Nach der Montage können Sie die ESP-IDF-VSCode-Erweiterung oder Arduino verwenden und alles, was Sie möchten, auf das Board hochladen, oder Sie können meine Beispielanwendung mit den folgenden Schritten hochladen.
esptool.py haben.esptool-Version mindestens v4+ ist.<PORT> durch den Port, mit dem das Gerät verbunden ist, z. B. unter Windows normalerweise etwa COM5 oder unter Linux /dev/ttyACM0esptool.py -p <PORT> -b 460800 --before default_reset --after hard_reset --chip esp32c3 write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x0 firmware/bootloader.bin 0x10000 firmware/f32_internal.bin 0x8000 firmware/partition-table.bin
Nun, das liegt ganz bei Ihnen. Ich habe dieses Projekt für persönliche Forschung und auch als unterhaltsame Lernerfahrung gestartet. Ich hatte schon immer ein Projekt gewollt, das 01005-Bauteile verwendet, seit ich vor einigen Jahren versehentlich welche bestellt hatte. Was auch immer Sie damit machen möchten, bitte beachten Sie, dass dieses Design bewusst mehrere grundlegende Komponenten vernachlässigt, wie z. B. ordnungsgemäße Entkopplungskondensatoren, eine Antennenanpassungsschaltung, USB-Abschlusswiderstände und wahrscheinlich noch mehr. Es funktioniert, ist aber bewusst nackt.
Zum Schluss noch ein lustiger Zufall: Der ESP32-Chip, die Antenne und der LDO sind alle „C3“-Modelle!