"Complete" Platine

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 „Gefällt mir“

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 „Gefällt mir“

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 - Exhibition - Arduino Forum

Ja darum geht’s doch :slight_smile:

1 „Gefällt mir“

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.

Ich hab noch nen Punkt für die Wunschliste: 3,3V Ausgänge, die am Mosfet hängen. Hab mir Taster mit LED gekauft, die ich gern mit Spannung versorgen würde, wenn der ESPuino läuft. Eigene 3Pin Anschlüsse wären natürlich noch besser, aber da ist die Kompatibilität dann wieder schwierig.

Was wäre mit einem I2C Port-Expander zb. PCF8574 für die Buttons?

Dann ein RFID Reader mit I2C und wir haben genug gpios frei :wink:

Das ende des I2C bus wird dann auf kontakte aus geführt, dann kann auch noch ne display erweiterung kommen.

1 „Gefällt mir“

:laughing: meine rede

Ich habe hier einen MCP23017 I2C-Port-Expander.
Seit gestern spiele ich mit der Verdrahtung herum, um mit dem Lolin D32 Pro, SD-MMC, etc alles anschließen zu können.
Ich werde die Woche noch den MCP23017 ausprobieren.

Es spricht eigentlich nichts dagegen, für jeden unterstützen RFID-Reader einen Pinheader bereitzustellen, oder ist der Platz knapp? Die können ja alle SPI.
Damit wäre man flexibel, obwohl ich auf den PN5180 setze.

Ahoi!

Liebe Grüße aus dem Nachbarforum! :slight_smile:

Die Thorsten´s hatten sich ja bereits im November zu einer Custom HW ausgetauscht daher melde ich mich jetzt hier bei euch.

Ich hatte vor einigen Monaten das ESP32 Board bereits angefangen aber Corona bedingt und der aktuell schwierigen Beschaffungssituation vieler Bauteile andere Aufgaben.

Das Board geht nach dem CNY in die Produktion.

Die Platine ist momentan wie folgt aufgebaut:

ESP32-A1S
FEPO/LIPO incl. Powerpath
USB to UART Converter
Class-D Mono AMP
I2C Expander PCA8574APW
USB-Typ C
Akku Verpolungsschutz
Kopfhörerbuchse mit Abschaltung der AMP
Die Schaltung verbraucht circa 35uA im Standby (Abschaltung des ESP)
Buttons via I2C Expander. (weitere I2C devices möglich )
Automatische HW Abschaltung des Akkus.

Liebe Grüße

6 „Gefällt mir“

Sieht nicht schlecht aus. Die Bezeichnungen sind noch verbesserungswürdig.

Neopixel Header, I2C Header?

USB-C finde ich super. die brechen weniger ab.

@HiSEBA

Das sieht sehr gut aus. Bei den Bezeichnungen gehe ich mit, die sollten etwas erweitert werden.

Du schriebst die T(h)orsten? Thorsten Voss und @biologist ?

Da habe ich eine Frage: Unterm Strich ist mir egal was auf dem Board steht. Haben die Tonuino-Jungs da irgendwelche Aktien dran oder Ansprüche? Nicht, dass der nächste Knatsch schon wieder vorprogrammiert ist.

Enthält die Platine auch eine Ladeelektronik für den Akku? Wenn ja, auf welchen Akkutyp hast du gesetzt?

Ich habe mal versucht die gewünschten Eigenschaften zu sammeln (Es wäre vielleicht gut, diese auch in den Kopf des Themas zu übernehmen, damit das nicht im Text untergeht):

  • freie IOs für Taster und LEDs → sollte durch den PCA8574APW gegeben sein
  • WROVER (da gibt es inzwischen auch neuere Revisionen als B, aber weiß nicht, ob da mein Herz dranhängt) → welche Version das ist weiß ich nicht aber der ESP32-A1S ist das Ai-Thinker’s Äquivalent zu Espressif’s ESP32-WROVER
  • Abschaltung: Grundsätzlich ist das mit den Mosfets ok. Worauf @compactflash jedoch schon eine Weile erfolgreich setzt: LTC2954 4. 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. → ist umgesetzt
  • SD_MMC (Slot onboard) → ist umgesetzt
  • 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. → ist enthalten
  • Ist Kopfhörer eingesteckt, so geht der Lautsprecher aus und umgekehrt → ist enthalten
  • Lange Akkulaufzeit (also wenig Verbrauch im sleepmode) → ist enthalten
  • Reset-Taster → ist enthalten

Folgende Wünsche sind offen bzw. habe ich in deiner Erläuterung nicht gefunden:

  • Optionale Kopfhörerplatine, die extern angebunden wird. Technisch nicht notwendig, aber macht es halt einfacher, die Platine im Gehäuse zu platzieren.
  • Breakouts für Neopixel, Taster, Drehencoder, Serial, Batterie (ggf. auch Reset)
  • Batteriespannungs-Messung
  • 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)
  • Breakouts als JST-Stecker (ich benutze PH, aber gibt ja auch andere)
  • LDO, welcher aus 5V => 3.3V macht. Ich persönlich möchte das auch weiterhin per USB anschließen.
  • Reset-Taster auch gern einen 2-PIN-Header (da spart man sich das Aufschrauben des Gehäuses, wenn was klemmt bzw. ist man freier in der Gehäusegestaltung)
  • PN5180 als RFID (braucht mehr GPIOs aber die Sensitivität schlägt den RC522 um Längen)
  • Integrierte Ladeelektronik für LiPo
  • 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.

Ich weiß, dass das Design und routen einer Platine eine mega Arbeit ist. Keine Ahnung, ob du die weiteren wünsche noch einpflegen möchtest bzw. kann man die Sinnhaftigkeit ja auch zur Diskussion stellen.

Ich würde mich freuen, wenn wir uns auf eine gemeinsame Platine verständigen können. Das ist dann so ein bisschen wie Apple (man hat eine festgelegte Hardware und läuft da läuft diese mit der Software Hand in Hand) – vielleicht eher ein C64 da die Hardware ja erweiterbar sein soll :slight_smile:

Ihr dürft mich gern korrigieren, wenn ein Fehler in der Zusammenstellung ist