Forum: Mikrocontroller und Digitale Elektronik Nucleo STM32-F103RB nun wirklich "Arduino kompatibel"


von Matthias D. (Firma: ESRA) (madias)



Lesenswert?

Hallo,
da sich ST mit der Phrase "Arduino kompatibel" mit fremden Federn 
schmückt (sprich sie haben das merkwürdige Pinlayout der Header 
übernommen), hab ich mir die Frage gestellt, ob man diese Dinger nicht 
auch mit der Arduino IDE halbwegs kompatibel bekommt.
Lange Rede, kurzer Sinn, hab mich die letzten paar Wochen damit 
beschäftigt und bin auf die Neuauflage der Einbettung der leaflabs-maple 
Serie aufmerksam geworden, die ja auf STM32 MCU's aufbaut, das 
Nucleo-FB-103RB ist sogar 1:1 MCU kompatibel mit dem Standard Maple.

Unter dem Link
https://github.com/rogerclarkmelbourne/Arduino_STM32
finden sich alle notwendigen Infos/Files dazu.
Für den Port des Nucleo-FB-103RB bin ich zuständig, Fragen können  gerne 
per E-Mail an mich gestellt werden.
Bei der Kompatibilität mit Arduino IDE 1.6x bin ich ca bei 90-95% 
angelangt.
Funktioniert 100%:
Alle Pins, 3x UART, 2x SPI, ADC's, PWM's, Timer, usw..
Upload direkt über die IDE mit ST-Link-Uploader
noch nicht getestet: I2c (hard- u. softwareseitig)
Thread zu dem ganzen Projekt im Arduino Forum (kaum lesbar, da 
mittlerweile über 95 Seiten)
http://forum.arduino.cc/index.php?topic=265904.0
Zusammenfassung für die Installation:
https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki

Erfolgreich ausprobiert habe ich u.a. auch schon ein ili9341 SPI Display 
(UTFT und adafruit library), SD-Card, usw..

Wenn man bedenkt, dass das Board zwischen 10 u. 15 Euro kostet, 72MHZ, 
128KB Flash, 20KB Ram und haufenweise IO`s besitzt, dann ist dies nun 
wirklich eine "Arduino-Alternative". Alternativ dazu gibt's diese 
maple-mini clones um 3-4 Euro versandkostenfrei auf aliexpress, die auch 
hervorragend funktionieren (selbst getestet):

Als Anhang zwei kurze PDF's (Hardwareinstallation + Pinout table)
lg
Matthias

: Bearbeitet durch User
von Martin Beuttenmüller (Gast)


Lesenswert?

Guten Tag, Matthias.

Beim Überfliegen der linken PDF-Datei ist mir folgendes aufgefallen:

im Abschnitt "Solution 1" erwähnst Du zuerst die neuere Boardrevision
mit Taktung durch den STLINK (also keine Lötarbeiten).

Gleich danach beschreibst Du (kleinere) Lötmaßnahmen.
Irre ich mich, oder liegt hier ein Typo vor? Müßte es da nicht
"MB1136 C-01" heißten (erste Revision ohne Taktung durch den Stlink)?

Soweit ich verstanden habe dient die kleine Maßnahme dazu,
die Taktung nachzurüsten ...

---

Happy Hacking ...
Martin

von Matthias D. (Firma: ESRA) (madias)


Lesenswert?

Du hast vollkommen recht! Tippfehler.
Die Rev. "MB1136 C-01" ist an keinen externen OSC gekoppelt, bei der 
sollte diese kleinen Lötarbeiten durchgeführt werden. Man könnte dies 
auch softwareseitig bewerkstelligen (hatte dies kurz im Code) und den 
internen OSC aktivieren, aber das Ergebnis ist vollkommen 
unzufriedenstellend, bzgl. Genauigkeit und Kompatibilität (läuft nur 
rund mit 36MHZ, Probleme mit Serial, usw...)
Bin mittlerweile ziemlich weit mit dem Board unter der Arduino IDE 
gekommen.
ILI9341 (SPI)Display läuft perfekt, einen Treiber für ein 2.4 Touchpad 
tFT "Shield" (Ich hasse "Shield" genauso wie "Sketch") (8-bit ST7781/83) 
hab ich selbst umgeschrieben, läuft außergewöhnlich schnell. Alles im 
allen ein sehr gutes, günstiges Board und es wird auch bald bei Reichelt 
angeboten, hab ich per Mail interveniert.

Liebe Grüße
Matthias

von Martin Beuttenmüller (Gast)


Lesenswert?

N'Abend ;-}

Holla - mein kleines "Spielzeug" ist noch ganz neu.
Hab' hier noch ein älteres Discovery (F100RB) 'rumliegen,
und da das alte STLINK-V1 sich hier etwas "zickig" zeigt,
wollte ich das Ding per Nabelschnur an das neue Bord hängen.

Hab' desshalb erstmal hier nach Nucleo gesucht, um mich
eizulesen. Dabei habe ich einen älteren Thread gefunden,
bei dem es genau um das Problem ging:
 war noch Rev. 01 ohne HSE-Anbindung.

Jetzt muß ich erst mal meine STM-PDFs aktualisieren ...

Gehab Dich wohl
Martin

von Ingo S. (ingo-s)


Lesenswert?

Die Nuckleo Serie ist ja eigentlich für mbed gedacht.

Bei mbed hat man einen Online Compiler, kann aber auch alles exportieren 
und offline mit z.B. der CooCox IDE arbeiten und HW-debuggen.

Wie grenzt sich denn jetzt STM32Fxxx Arduino dagegen ab? Ist nun auch 
eine HW-debug Möglichkeit vorgesehen? Die fehlt ja beim AVR Arduino.

Gruß Ingo

von chris_ (Gast)


Lesenswert?

>Wie grenzt sich denn jetzt STM32Fxxx Arduino dagegen ab?

"mbed" ist zwar gut zu benutzen, aber nicht zur Arduino-Lib kompatible. 
D.h. die Arduino Codebeispiele würden nicht laufen:

https://github.com/rogerclarkmelbourne/Arduino_STM32/tree/master/examples

von Matthias D. (Firma: ESRA) (madias)


Lesenswert?

Prinzipiell ist die Arduino IDE dafür gut, schnell Ideen zu 
verwirklichen, bzw. wenn man auf verschiednen MCU's arbeitet (z.B. 
verwende ich als "Frontend" UECIDE, da kann man die MCU's per PlugIn 
System hinzufügen, egal ob PIC32,TI Tiva, Atmel AVR/SAM,...). low level 
in die Register kann ich von dort auch schreiben.
mbed ist schon eine gute Sache, solange man online ist und coocox ist a) 
native nur Windows und b) unglaublich träge. Bzgl. St-Link debugger gibt 
es schon ein paar Überlegungen in der Entwicklung (ist nicht mein 
Bereich).
Ich z.B. arbeite unter OSX, da is es ein Krampf sich alles über Eclipse 
& Xcode zusammenzubasteln.

von bianchifan (Gast)


Lesenswert?

Ich grab das mal aus..vor einigen Tagen entdeckt:

http://www.stm32duino.com

und ST liefert gleich noch neue Nucleos mit "Arduino™nano connectivity"

http://www.st.com/web/en/web/en/catalog/tools/FM116/SC959/SS1532/LN1847/PF262544?s_searchtype=keyword

von Matthias D. (Firma: ESRA) (madias)


Lesenswert?

Hallo, bianchifan, habe deinen Nick schon im Forum gesehen, wusste 
nicht, dass du auch Deutsch sprichst! :)
Bin dort unter "madias".

Kurzes Update bzgl. STM32duino:

Mittlerweile sind so ziemlich alle "generic" STM32F103xxx Dev Boards 
kompatibel! Nucleo ist (fast) schon die schlechteste Wahl :)

Liebe Grüße
Matthias

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.