"Complete" Platine

Ich möchte gerne ne AiO Platine entwerfen.

Leider kenn ich mich wenig mit den einzelnen Mircochips aus. Welche gut und nutzbar sind.

Meine Vorgaben sind:

  • PSRAM (Also WSROVER oder A1S)
  • Möglichkeit für Stereo Sound und Kopfhörer
  • SD_MMC
  • LiPo Battery Modus (inkl. Laderegler)
  • Laden und Flashen über selben USB Anschluss
  • Ein / Aus schaltbar (ähnlich Polulu Switch)
  • Lange Akkulaufzeit (also wenig Verbrauch im sleepmode)

Hat jemand schon entsprechende Schaltpläne und Chip Vorschläge.
Die Chips sollten soweit möglich standards sein, damit man diese beim bestellen gleich bestücken lassen kann.

1 Like

Der A1S ist aus meiner Sicht nicht so zielführend, weil man für den integrierten AC101 wieder zwei GPIOs braucht (i2c). WROVER ist aber gut und tatsächlich von @compactflash schon in der Mache. Bisschen Input dazu gibt’s hier: Fertig gelötete Platinen / Bauteil-Kits · Discussion #68 · biologist79/ESPuino · GitHub
Generell wird er schauen, dass Bauteile verwendet werden, die einerseits nicht so teuer sind und andererseits nicht brutal schwer zu löten. Also an SMD wird’s (alleine schon wegen WROVER) nicht vorbeigehen. Wobei man den, wie ich demletzt gesehen habe, auch bei JLCPCB direkt bestücken lassen kann.

Ich denke um ein Bestücken beim Hersteller kommt man nicht herum.
Die Meisten trauen sich nicht an das Löten von SMD heran. Da ist THT das Maximum der Gefühle.
SMD bekommt man auch nicht mit dem Baumarktlötkolben verlötet und in meinem Freundeskreis traue ich es gerade mal einer weiteren Person zu, eine SMD Platine zum Laufen zu bekommen. Zumal SMD löten echt kein Vergnügen ist. Ich denke viele wollen sich den Frust und die Zeit sparen.
Man hat es ja auch im Tonuinoforum gesehen wie grob zusammengekleckert manche Platinen aussahen und die Besitzer werden da nicht lange Freude dran haben.

Mit einer AIO-Platine wird man auf jeden Fall die Einstiegshürden senken.

Fraglich ist jedoch, wie man eine Gruppenbestellung oder ähnliches regeln möchte und ob man genug Besteller zusammenbekommt. Die Tonuinojungs haben sicherlich min 200 Stück bestellt (bei über 2000 Mitglieder) - hier im Forum gibt es momentan 42Mitglieder

Naja das Forum ist ja erst neu .
Zudem man diesen Fork dann besser „vermarkten“ kann.

Noch besser wäre wenn für das Layout der Platine noch ein entsprechendes Gehäuse existiert.

So das man ein komplettes Referenz-System anbieten kann.
So das für Neulinge keine Lötarbeiten anfallen würden.

Irgendwer hatte sich demletzt für ein 3d-Gehäuse angeboten. Weiß leider nicht mehr genau wo/wer das war. Aber das wird auch erst dann wichtig.

Ich würde die AiO übrigens hier gerne „complete“ nennen, um jegliche Namensverwechselungen direkt vorweg zu unterbinden :slight_smile:

2 Like

Ich würde es sehr begrüßen, wenn es eine complete Platine geben würde. Ja @QDaniel du hast recht, dann wird die Akzeptanz des Forums enorm gestärkt.
Es gibt mittlerweile mehrere verschiedene Themen über complete-platinen. Ich würde halt versuchen diw Platine so erweiterbar/universal wie möglich zu machen (deswegen hatte ich damals compactflash auch vorgeschlagen einen Anschluss für eine Tastermatrix a la Hörbert anzubieten)
Es gab ja auch Vorschläge den Reader und den LED-Ring auf eine eigene Platine zu packen.

Aber beim Thema Antennendesign läuft es mir kalt den Rücken runter

Bin ich bei dir.

Cool, wäre ein modulares welches man dann evtl. in verschiedenen Ausstattungen anbieten kann.

Ich würde erst die Platine und dann das Gehäuse entwickeln.

  • es basteln ja schon einige an verschiedenen Platinen. Hier müsste man die Leute zusammenführen. Nicht, dass es dann mehrere Complete Platinen gibt
  • an sich bräuchte man vorher noch ein Lastenheft, was die Platine erfüllen soll, damit man ein klares Ziel hat

Hallo zusammen,

ich bin auch schon gedanklich bei der Complete Platine. Ich bin allerdings von der A1S weg - hin zur Espressif Lyrat als „Vorlage“ geschwenkt. Die Platine ist deutlich besser beschrieben und es steht eine Schematic zur Verfügung.

Folgende Probleme beschäftigen mich zur Zeit noch:

  • Der verwendete Audio-Chip ES8388 benötigt - wenn ich das richtig sehe - eine eigene Library/Treiber…
  • Dem WROVER „fehlen“ ja die GPIOs 16 & 17, es wird also knapp. Sehr wahrscheinlich müsste ich die GPIOs für die Buttons einsparen :slight_smile:
  • Die Touchpads und I2C würden der GPIO Knappheit ebenfalls zum Opfer fallen

Sofern eine einheitliche Entwicklung einer solchen Platine von der Community hier gewünscht wird, sollten wir auch überlegen die Zeichnung bei easyeda oder ähnlichen Anbieter zu realisieren. Das hätte den Vorteile, das wir die „Schwarmintelligenz“ nutzen und mit mehreren Leuten über Zeichnung und PCB schauen könnten.

Eure Einschätzung zum „Customized“ Lyrat würde mich aber durchaus interessieren… :slight_smile:

Viele Grüße
Stefan

Ich habe auch einen ersten „Prototypen“ und teste damit gerade. Da sind noch einige Fehler drin.

Vielleicht starten wir wirklich mal mit einem „Pflichtenheft“ bzw. Komponenten-Liste.

Bei mir:

  • Wrover B 16 MB
  • WM8978 als DAC
  • ADXL345
  • SD_MMC
  • Mosfet für das Abschalten einiger Komponenten: RFID, LED

Ausgelassen:

  • Serial
  • Ladeelektronik (Platine erwartet 3,3 Volt)

Vielleicht machen wir ein Topic pro Komponente?

Bei mir sähe das so aus:

  • WROVER (da gibt es inzwischen auch neuere Revisionen als B, aber weiß nicht, ob da mein Herz dran hängt)
  • DAC/Amp: Da habe ich keinen Überblick. Auf jeden Fall etwas, wo man mit den drei I2S-Pins hinkommt und wo man nicht noch i2c als Controller braucht. Weil das wird pintechnisch nicht gehen.
  • Integrierte Ladeelektronik für LiPo
  • Abschaltung: Grundsätzlich ist das mit den Mosfets ok. Worauf @compactflash jedoch schon eine Weile erfolgreich setzt: LTC2954. Da schaltet man den gesamten ESP32 gleich mit aus. Vorteil an dieser Sache ist: Sollte die Software mal hängen, kriegt man den ESP32 so auf jeden Fall, auch im Batteriebetrieb, neu gestartet. Bei den Mosfets braucht’s da entweder einen mehr oder weniger versteckten Reset-Button oder man muss halt das Gehäuse öffnen.
  • SD_MMC (Slot onboard)
  • PN5180 als RFID (braucht mehr GPIOs aber die Sensitivität schlägt den RC522 um Längen)
  • USB/UART-Converter fänd ich auch fein, weil man das Teil damit auch geflasht kriegt, wenn es eingebaut ist. Ob man das wirklich braucht, hängt ein Stück weit aber auch damit zusammen, ob man künftig OTA zum Flashen nutzt.
  • LDO, welcher aus 5V => 3.3V macht. Ich persönlich möchte das auch weiterhin per USB anschließen.
  • Breakouts als JST-Stecker (ich benutze PH, aber gibt ja auch andere)
  • Breakouts für Neopixel, Taster, Drehencoder, Serial, Batterie (ggf auch Reset)
  • Optionale Kopfhörerplatine, die extern angebunden wird. Technisch nicht notwendig, aber macht es halt einfacher, die Platine im Gehäuse zu platzieren.
  • Ist Kopfhörer eingesteckt, so geht der Lautsprecher aus und umgekehrt
  • Batteriespannungs-Messung

Insgesamt ist es auf jeden Fall wichtig, dass sich die Stromaufnahme im Batteriebetrieb und Deepsleep in Grenzen hält. Ich meine die Lolins liegen so zwischen 100 und 200 uA. Da kann ich sehr gut mit leben.

Bis auf den WROVER auf jeden Fall Dinge, die ich schon jetzt mit Carrier-PCBs + Kopfhörerplatine hinkriege.

Optional:

  • Analoges Auslesen der Buttons. Spart GPIOs.
  • Ich frage mich immer wieder, wieviel Zugewinn eine Antenne brächte. Bluetooth geht z.B. ein paar Meter, aber wennst aus dem Raum rausgehst, ist Feierabend.

Übrigens:
Wenn man nicht per PN5180 aufwecken will, kommt man mit obigen Zielen, auch ohne analoges Einlesen der GPIOs, exakt hin. Übrig ist dann halt keiner mehr.

2 Like

Die einzelne Kopfhörerplatine hat auch den Vorteil, dass man diese beweglich lagern kann. Damit die Buchse beim grob Hantieren nicht aus der Platine bricht.

Wenn man den Bus nach außen legt, dann sollten zusätzliche I/Os über Expander kein Problem sein. Z.B. sind dann auch weitere Sensoren oder wie heute gewünscht ein Mikro theoretisch kein Ding (das habe ich noch nie ausprobiert)

falls man eine Ladeelektronik integeriert, dann sollte man vielleicht mal schauen ob man vom Lipo weggeht und z.B. wie die Kollegen im Nachbarforum einen LiFePo4 verwendet. In der Toniebox wird ein Ni-MH verwendet

2 Like

Sehe ich auch so … bzw. reicht es ja, wenn die „Buchse“ nicht aufgelötet ist.

Aus diesem Grund habe ich auch die Ladeelektronik ausgelassen. So kann die Power-Platine irgendwo im Gehäuse platziert werden und man ist flexibel was den Akku angeht.

Hätte ich auch gerne, ist bei LiFePo4 nicht so trivial.

Mal unabhängig vom DAC, wäre i2c ja schon fein… Lasst uns doch mal GPIOs sammeln.

Was meinst du damit? Also welche einsparen kannst durch analoges Einlesen. Ansonsten werden gebraucht:

SD_MMC (1 Bit): SCK, MISO, MOSI => 3
PN5180: SCK, MISO, MOSI, CS, BUSY, RST (und bei Aufwecken auch IRQ) => 6 (7)
Drehencoder: CLK, DT, Button (3)
Tasten (3)
Neopixel (1)
I2S: BCLK, LRC, DOUT (3)
Kopfhörer-Detect (1) (Kann man auch weglassen, wenn man zwischen Lautsprecher und Kopfhörer keine getrennten Maximallautstärken braucht.)
Batteriespannung (1)

Bei einem WROVER muss man halt auf PN5180-IRQ oder z.B. Kopfhörer-Detect verzichten. Alles zusammen geht nicht. Außer man liest die Buttons halt analog ein. Oder wählt ein anderes Bedienkonzept. Oder nimmt keinen PN5180. Man muss halt die GPIOs geschickt verteilen, weil man nicht alle GPIOs uneingeschränkt für alles verwenden kann.

Also Möglichkeiten gibts

da bekommt man aber auch bloß 2 I/Os wenn das reicht isses okay. Nachtrag: eigentlich kommt doch noch der Button vom Drehgeber und der Kopfhörer detect dazu, oder?

Auf den Kopfhörer detect würde ich nicht (zum Schutz der Kids) verzichten.

Kleine Erfahrung von mir. Ich habe ein Sonoro AU1300 und da ist die Tastenfront auch durch Widerstände kodiert. Im Laufe der Zeit waren die Taster leicht korodiert, dadurch machte fast jeder Taster jetzt was anderes. Das analoge Einlesen kann also auch eine Fehlerquelle werden

Ja die kann man auch analog einlesen.

Ich bräucht’s auch nicht. Aber wenn wer noch i2c braucht, wird er/sie/es drin drum herum kommen, hehe. Gut, oder halt nen RC522 nehmen.

Man kann die Buttons auch über eine Widerstandsmatrix mit einem Analogpin auslesen.
Falls die GPIOs zu knapp sind.

Z.b. Multiple Buttons on 1 analog pin

Ja darum geht’s doch :slight_smile:

1 Like

Die Entladekurve ist ja eine Katastrophe

Im Netz hab ich sowas gefunden, obwohl das nicht zur angehängten Kurve passt.
100% = 13,4
75% = 13,25
50% = 13,12 - 13,0
25% = 12,8 - 13,0
0% = 10,4 - 12,0
Da kann man sicherlich auch mit eremit telefonieren - er hat da sicherlich einen Tipp

Eigentlich es ja genau das, was man gerne hätte. Aber zur Ableitung der Restenergiemenge ist es natürlich doof, hehe. Zumal die ADCs des ESP32 jetzt auch keine Koryphäen auf ihrem Gebiet sind. Schon alleine im Spannungsbereich von >=3V. In dieses Problem bin ich schön eingelaufen, als ich einen Spannungsteiler mit 75% / 25% gemacht habe.

Bei LiPo ist es allerdings ok für mich. Oder anders gesagt: Eine Füllstandsanzeige nur auf Basis der Spannung ist für mich hinreichend genau. Das muss ja kein Präzisionsinstrument sein.