Forum: Projekte & Code STM32F4 Entwicklungsboard mit Raspberry Pi Form-Faktor


von Mikhail K. (mikhail_k)


Angehängte Dateien:

Lesenswert?

Für meine Hobby-Projekte benutze ich gern den STM32F4 Mikrocontroller. 
Er ist billig, performant und verfügt über zahlreiche Interfaces. Er ist 
auch Linux-freundlich, weil alle ST Entwicklungstools (wie HAL, SW2STM, 
CubeMX) plattformunabhängig sind.

Es gibt viele unterschiedliche Entwicklungsboards für diesen 
Mikrocontroller, z.B. Discovery oder Nucleo Serien. Diese Boards sind 
aber schwierig in ein endgültiges Device einzusetzen, weil sie eine 
nicht standardisierte Größe haben. Andererseits gibt es ein berühmtes 
Raspberry Pi Board. Für Raspberry Pi kann man viele beliebige Gehäuse 
kaufen, sowohl billige Boxen als auch teure Designgehäuse.

Ich versuche die Vorteile von beiden Technologien zu kombinieren: ich 
nehme den Form-Faktor von Raspberry Pi B+ und entwickle eine STM32F4 
Platine mit der selben Größe.

R-Pi B+ verfügt über microSD-Kartenleser, RJ-45 Netzwerk Port, 
USB-2.0-Anschlüsse, 3,5 mm. Audio Jack und GPIO-Pins. Viele davon kann 
man wieder benutzen:
- microSD-Kartenleser und microUSB könnten direkt benutzt werden, wenn 
wir ein Mikrocontroller wie STM32F405RG nehmen, der diese Controller und 
Interfaces an Bord hat.
- Für mich ist das kabelgebundene Netzwerk (RJ-45) nicht so praktikabel 
für Hobby-Anwendungen. Ich glaube WLAN hat mehr Potential. Deswegen habe 
ich entschieden, RJ-45 durch ein WiFi Modul ESP-11 zu ersetzen, weil die 
beiden fast die selbe Größe haben.
- Für die erste Version habe ich entschieden, das Board so einfach wie 
möglich zu haben. Deswegen sind Audio DAC und Verstärker noch nicht 
vorhanden. Das ist noch Zukunftsmusik. Anstelle von Audio Jack ist hier 
+5V DC Jack platziert, um USB-unabhängige Stromversorgung zu 
ermöglichen.
- microUSB kann für Datentransfer eingesetzt werden. Deswegen sind 
andere USB-2.0-Anschlüsse überflüssig. Ich habe sie weggeworfen und 
stattdessen zwei 6-Pin Anschlüsse platziert: ein SWD um Mikrocontroller 
zu programmieren und ein UART um ESP-11 zu bedienen und auch zu 
programmieren.
- ich habe auch zwei Quarzen, RGB LED, Reset-Taste und GPIO-Headers 
hinzugefügt. Im Vergleich zum originalen R-Pi B+ sind GPIO-Headers so 
platziert, daß meine Platine mit einem Steckboard kompatibel ist.

Das Ergebnis: Ich habe ein hoch-performantes Entwicklungsboard mit einer 
großen Auswahl von Fertiggehäusen.

Ich würde mich über Kritik und Ideen für weitere Entwicklung sehr 
freuen. Ich lade auch alle ein, das Projekt zu erweitern und mit zu 
entwickeln.

Github: https://github.com/mkulesh/stm32DevelopmentBoards

von chris (Gast)


Lesenswert?

>Ich versuche die Vorteile von beiden Technologien zu kombinieren: ich
>nehme den Form-Faktor von Raspberry Pi B+ und entwickle eine STM32F4
>Platine mit der selben Größe.

Ist das Board oben Deines?
Falls ja, wäre es dann nicht sinnvoll, die selbe Pinheaderbelegung und 
Position wie beim Raspberry zu verwenden?

von Karl (Gast)


Lesenswert?

@ Mikhail Kulesh

Wirst du von deinem Board eine Serie auflegen (Platine bestückt & 
unbestück)?

von Horst (Gast)


Lesenswert?

Interessanter Ansatz: Der selbe Form-Faktor wie der Pi, nur ganz anders.
Und wenn man die mal verwechselt leuchtet der Pi weil er auf dem 
Audioanschluß Spannung bekommt.

Die Idee, den Pi durch etwas kleineres ersetzen zu können finde ich gut, 
aber warum wirfst Du dann alle Vorteile dieser Idee weg, indem Du das 
bei allen Anschlüssen inkompatibel machst?
Da bleibt nur, daß man die gleichen Gehäuse benutzen könnte, etwas, was 
ich immer sehr einschränkend fand.

von A. K. (Gast)


Lesenswert?

chris schrieb:
>>Ich versuche die Vorteile von beiden Technologien zu kombinieren: ich
>>nehme den Form-Faktor von Raspberry Pi B+ und entwickle eine STM32F4
>>Platine mit der selben Größe.
>
> Ist das Board oben Deines?
> Falls ja, wäre es dann nicht sinnvoll, die selbe Pinheaderbelegung und
> Position wie beim Raspberry zu verwenden?

Nein,er will ja nicht pinkompatibel sein,sondern  vorhandene Gehäuse 
benutzen.

Sehr schöne Platine,mir würde es aber gefallen wennst du den ESP nach 
innen verlegst und eine LAN-Buchse ins Design einbindest.
LG

von Mikhail K. (mikhail_k)


Lesenswert?

chris schrieb:

> Ist das Board oben Deines?
> Falls ja, wäre es dann nicht sinnvoll, die selbe Pinheaderbelegung und
> Position wie beim Raspberry zu verwenden?

Hallo chris, ja, das Board ist meins. Meine Motivation war ein solches 
Board zu entwickeln, um dafür die ganze Palette von R-Pi Gehäuse 
benutzen zu können. Die Pinheaderbelegung ist dabei eine 
Implementierungsdetail und kann bei Bedarf sehr einfach geändert werden. 
Diese Version ist einfach  Steckboard-kompatibel gemacht.

von Mikhail K. (mikhail_k)


Lesenswert?

Karl schrieb:
> @ Mikhail Kulesh
>
> Wirst du von deinem Board eine Serie auflegen (Platine bestückt &
> unbestück)?

Hallo Karl, über eine Serie habe ich noch nicht nachgedacht. Ich benutze 
momentan das Board nur für meine eigene Hobby-Projekten. Wenn Sie das 
Board ausprobieren möchten, können Sie dann es auf DirtyPCBs.com 
bestellen und selbst bestücken:
http://dev.dirtypcbs.com/store/designer/details/9348/5825/stm32-pi-board-v-1-1

von Karl (Gast)


Lesenswert?

Mikhail K. schrieb:
> Karl schrieb:
>> @ Mikhail Kulesh
>>
>> Wirst du von deinem Board eine Serie auflegen (Platine bestückt &
>> unbestück)?
>
> Hallo Karl, über eine Serie habe ich noch nicht nachgedacht. Ich benutze
> momentan das Board nur für meine eigene Hobby-Projekten. Wenn Sie das
> Board ausprobieren möchten, können Sie dann es auf DirtyPCBs.com
> bestellen und selbst bestücken:
> http://dev.dirtypcbs.com/store/designer/details/9348/5825/stm32-pi-board-v-1-1

Vielen Dank :)

von Lothar (Gast)


Lesenswert?

Mikhail K. schrieb:
> Ich versuche die Vorteile von beiden Technologien zu kombinieren: ich
> nehme den Form-Faktor von Raspberry Pi B+ und entwickle eine STM32F4

Grade hier sehe ich den Vorteil nicht. Das Pi B+ hat doch einen 
stromsparenden ARM11 der zudem noch runtergetaktet werden kann. Zudem 
kann der ARM11 auch ohne Betriebsssystem wie ein Mikrocontroller 
programmiert werden, sogar einfacher als ein STM32 z.B. mit:

https://ultibo.org/

https://www.raspberrypi.org/forums/viewtopic.php?f=55&t=120673

von Mikhail K. (mikhail_k)


Lesenswert?

Arno A. schrieb:

> Sehr schöne Platine,mir würde es aber gefallen wennst du den ESP nach
> innen verlegst und eine LAN-Buchse ins Design einbindest.
> LG

Hallo Arno. Leider, habe ich zur Zeit keine Erfahrung mit Kabelgebundene 
Netzwerk-Interfaces. ESP-11 hat rieseges Vorteil: ganze TCP/IP-Stack 
dort bereits implementiert ist. Um eine LAN-Buchse sinnvoll zu benutzen, 
braucht man entweder eine gute TCP/IP-Bibliothek für STM32F4, oder eine 
Adapter IC mit volle TCP/IP Unterstützung. Wenn Sie solche Lösungen 
kennen und mir dabei helfen möchten, können wir dann ein Bord-Version 
mit RJ-45 zusammen entwickeln.

von chris (Gast)


Lesenswert?

Autor: Lothar (Gast)
>Grade hier sehe ich den Vorteil nicht. Das Pi B+ hat doch einen
>stromsparenden ARM11 der zudem noch runtergetaktet werden kann. Zudem
>kann der ARM11 auch ohne Betriebsssystem wie ein Mikrocontroller
>programmiert werden, sogar einfacher als ein STM32 z.B. mit:

Das Projekt hier ist Bare-Metal:
https://github.com/rsta2/circle

von chris (Gast)


Lesenswert?

Mikhail Kulesh (mikhail_k)
>Hallo chris, ja, das Board ist meins. Meine Motivation war ein solches
>Board zu entwickeln, um dafür die ganze Palette von R-Pi Gehäuse
>benutzen zu können. Die Pinheaderbelegung ist dabei eine
>Implementierungsdetail und kann bei Bedarf sehr einfach geändert werden.
>Diese Version ist einfach  Steckboard-kompatibel gemacht.

Dein Board sieht auf jeden Fall sehr gut aus.

Eine Möglichkeit wäre eventuell ein Nucleo zu nehmen und zu versuchen, 
ein Gehäuse zu drucken:
Beitrag "Re: FreeCAD Grundlagen Gehäuse erstellen"

von GEKU (Gast)


Lesenswert?

Arno K. schrieb:
> wennst du den ESP nach innen verlegst und eine LAN-Buchse ins Design
> einbindest.

Sollte die Antenne des ESP nicht aus der Kontur der Grundleiterplatte 
heraussehen, da sonst die Reichweite darunter leidet?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.