LoRaNode auf Basis des STM32F103C8 aka Blue Pill

Moin Moin

Hat sich von euch schon mal an der blauen Pille versucht?

Ich frickel da gerade drann rum auf meiner Wörkbensch. :-/

Gedankenfutter und input dazu gibbet hier .

Ich bin gerade soweit, das ich den STM mit meinem JLink füttern kann mit der ARDUINO-IDE und habe an dem Blinkbeispiel probiert.

Heute habe ich ein paar Strippen an ein RF95 MoDem und eine Antenne gelötet.

Die Bibliotheken sind installiert und ein erster Probelauf (Beispielsketch), nur kompilieren verlief erfolgreich.

Warum diese MCU? Nun, sie ist günstich (ca. 2€) und gut zu beschaffen. Hat viel Platz und Power, oder man kann sie auch runtertackten. Von 72MHz auf 8MHz.

Vielleicht ist das ja auch ein weiterer Kandidat für euren usecase. :-)

Gruß

1 Like

Hallo Jens,

vielen Dank für Deinen Beitrag - sehr interessant!

Ja, der

sieht für mich ebenfalls ganz gut aus. Wir haben auch schon öfters über den STM gesprochen, sind an dieser Stelle jedoch noch nicht auf detailliertere Forschungsreisen bzgl. der Softwareunterstützung gegangen.

Hintergrund

Im Endeffekt ist zwar alles nur C/C++ und der Arduino Core wurde seinerseits bestimmt ebenfalls schon auf STM32 portiert [links welcome], allerdings haben wir bisher alle unsere Treibermodule aus dem primär AVR-basierten Teil des Arduino Ökosystems bezogen. Als wir diese z.B. auf dem ESP8266 bzw. dem ESP32 einsetzen wollten, mussten doch manchmal ein paar Dinge berücksichtigt und Gehirnschmalz investiert werden. In anderen Worten: Sobald man von AVR MCUs weggeht, darf man das “gewohnte” Arduino Ökosystem als nicht unbedingt vollständig betrachten.

Ausblick

Vor diesem Hintergrund wollen wir aber keinesfalls nur bei AVR bleiben, sondern sind aufgeschlossen gegenüber anderen MCU Architekturen, z.B. eben die Espressif MCUs. Gerade bei den STM MCUs geht es ja dann doch weiter in Richtung Profibereich.

Unsere Firmware ist bisher so gestaltet, dass es auch für Einsteiger einfach möglich ist, sie in Betrieb zu nehmen. Wenn das bei der STM Architektur durch die Erschließung per Arduino Core nun ebenfalls möglich wird ¹, wird diese Plattform aber definitiv interessant, vor ein paar Jahren war das noch nicht so weit.

Wir haben eben nur derzeit kaum Kapazitäten, auch noch etwaige Peripherietreiber selbst zu entwickeln - davon sind ja mittlerweile doch eine ganze Reihe zusammengekommen, siehe Hiveeyes firmware libraries. Wenn wir an dieser Stelle entsprechende Pendants finden, die versprechen, auch auf STM gut zu funktionieren, werden wir diese Plattform definitiv einmal evaluieren.

Vielen Dank nochmals für Deinen Impuls - halte uns gerne auf dem Laufenden, vielleicht kommen wir an dieser Stelle ja gemeinsam voran.

Herzliche Grüße,
Andreas.

¹ Die Installation einer Compiler Toolchain und die entsprechende Konfiguration ist nicht unbedingt etwas für jedermann, deshalb hat Arduino und die daraus entstandene Community an dieser Stelle viel Enwicklungsarbeit geleistet. Das muss man hier zugute halten, auch wenn die Codequalität einiger Bibliotheken manchmal etwas an PHP and friends erinnert ;].

2 Likes

Moin.

Also die Integration der blauen Pille ist auch nicht auf dem Mist von Arduino gewachsen.

Meines Wissens ist der maßgebliche Drahtzieher Roger Clark aus Melbourne.

In seinem Git, gibbet eigentlich alle Hinweise und Info`s die es braucht.
Rund um den Code und die Arduino-IDE hat sich auch eine rege Gemeinschaft gebildet.

Ich habe mich für die Lösung von tomtor entschieden, weil dort so ziemlich alles zusammen ist was es für einen LoRaNode braucht. Zumindest ein Grundgerüst inklusive der benötigten LMIC.

Gruß

1 Like

Herzlichen Dank! Roger Clark und Tom Vijlbrief scheinen hier wirklich gute Arbeit zu leisten.


ist wirklich ein guter Startpunkt, der uns in dieser Richtung definitiv noch gefehlt hat. Wie man sieht, ist dieser Bereich erst jüngst im letzten Herbst erschlossen worden. Exzellent!

Berichte hier gerne von Deinen weiteren Ergebnissen, schön dass Du zu uns gefunden hast!

1 Like

Die wichtigsten “Peripheriegeräte” auf Hardwareseite sind bei uns:

Falls Dir in dieser Richtung etwas über den Weg läuft, das nach gutem STM32-Support aussieht, lass es uns gerne wissen.

1 Like

Moin Moin @Andreas.

Ich glaube ich muss hier etwas auf die Bremse drücken.
Ich bin leider kein Softwareentwickler. Ich und Programmcode stehen auf Kriegsfuß. :-/
Da werde ich wohl kaum etwas beitragen können.
Was das angeht sind unsere Gemeinschaften sehr ähnlich. Mangelnde Manpower auf diesem Gebiet.
Ich habe unseren “Fachman” was das angeht auch auf euer Forum aufmerksam gemacht. Er mag allerdings die Arduino-IDE nicht. Aber dafür liegt ihm das Thema Bienenmonitoring am Herzen.

Mal sehen wie wir uns ergänzen können.

Ich fände es gut wenn sich unsere Gemeinschaften zusammentun und gegenseitig voranbringen.

Gruß

Geht los sach!

Klar

Hi Jens,

Ach, keine Sorge. Du tust Dich ja durchaus auch im Internet um und verstehst mindestens genug über die Tatsache, dass die Hardware auch entsprechende Softwareunterstützung braucht. Mehr ist ja gar nicht notwendig und wegen dem Gashebel brauchst Du Dir auch keine Sorgen machen, der ist bei uns auch ganz locker eingestellt. ¹

Bzw. zu viele Themenfelder, ja ;].

Das ist bei unseren Softwareentwicklern ganz genauso, deswegen haben wir bei unserem Firmware Repository darauf geachtet, dass alles auch ohne IDE und unnötige Klickarbeiten über die Bühne geht. Wir hatten dabei den Anspruch, dass die Inbetrienahme über “pkg install arduino-core; git clone foo; make bar” über die Bühne gehen können soll, damit es sowohl für uns beim Entwickeln als auch für den Firmware Builder leichter ist, unattended firmwares zu backen, deswegen haben wir da einiges an Zeit reingesteckt. Unabhängig davon ist es natürlich weiterhin möglich, den Code auch über die IDE zu kompilieren.

Dieses Detail ist vielleicht von außen nicht so ersichtlich, ist für uns aber sehr wichtig. Ich vermute, dass Euer Fachmann diese Auffassung teilt und unserem Projekt damit vielleicht grundsätzlich mehr gewogen ist ;]. Wir würden uns freuen, wenn er auch einmal reinschaut.

Umso besser! Herzlich Willkommen! (vielleicht)?

Das sieht doch bisher schon ganz gut aus. Danke nochmals für Eure Impulse und bis bald!

¹ Disclaimer: Wir machen das hier auch nicht 24/7 ;].

Vor einigen Jahren hatte ich mal den Olimexino-STM32 ausgeborgt, das ist ein Nachbau des Maple, dessen libmaple (Arduino-Kompatibilitätslayer) konnte auch schon einiges an HW unterstützen, aber sowas schönes wie STM32Duino von Clark gab es noch nicht. - Danach eine Weile nichts (außer STM32-Hardware entworfen ;) ), und jetzt vor zwei Monaten brachte @roh ein paar von den Bluepills vorbei.

Ja, klar sind die billig, aber das Ding war auch wieder ein Muster-Beispiel dafür, daß “zu billig immer am teuersten” ist - letztlich hat das 1,50EUR-PCBA mehr Zeit gekostet, bevor irgendwas ging, als man das mit z.B. einem STM32F3-DISCOVERY für auch nur gerade mal den zehnfachen Preis (um 15 EUR) gehabt hätte, das ganze dann aber in der Qualität des CPU-Herstellers, also ‘Marke’ und Gewährleistung usw.

Nachdem das erste Anstecken am host nichts erkannte, ergab die Inspektion, daß mindestens ein Pin der USB nicht verlötet und ein zweites fraglich ist:

stm32f103-bp-usb

Gut, das wurde behoben, aber dann passierte immer noch nichts SInnvolles mit der USB. Natürlich war auch dieses Board von dem inziwschen bekannten Fehler ‘falscher R10-Wert 10k anstelle 1k5’ betroffen (z.B. hier beschrieben). Das war zwar auch schnell geändert, aber meine Euphorie auch erstmal wieder verflogen…

Sicher könnte die BluePill ein Ersatz für z.B. einen Arduino Nano sein (von der unnötigen USB an einem remote node im Feld und dessen Einfluß auf die Energiebilanz mal abgesehen), sofern das dann mit den libs steht. Aber die beschriebenen Basteleien akzeptiere ich für mich nur beim Hobby, und sie sind für viele Techno-Imker hier ein klares Ausschlußkriterium - trotz Cortex M3 ist die BluePill ‘as is’ daher eben leider keine Konkurrenz für z.B. die kleinen Arduinos mit Cortex M0+.

Moin @weef

Ja das mit dem USB-Port ist auch bei uns bekannt. Deswegen sind wir auch auf die seriellen Varianten ausgewichen. Entweder über den FTDDI (3,3V) an A9 und A10, oder eben über den vorgesehenen Weg per ST/JLink.
In unserer Gemeinschaft haben wir uns für einen SEGGER JLinknachbau aus Fernost entschieden. Ich glaube ich habe 15 €ronen bei unserem MarketenderAliAppEinkäufer abgedrückt. Die STLink-Clone bekommt man für so um die 4€ in der Bucht und einen FTDDI, glaube ich, hat wohl fast jeder von uns rumfliegen.
Und selbst wenn man beim Einkauf mal ins Klo greift, sind die Kosten doch überschaubar.

Ich habe auch einen Feather M0 zu liegen. Aber ehrlich gesagt, scheue ich mich fast das Teil anzufassen. immerhin hat mich dieser hübsche Käfer 45 Öcken bei Eckstein gekostet. Und das wäre/ist für mich ein großes Manko. Also der Preis.
Nun ja, wir haben da auch einen anderen Hintergrund. Wir möchten interessierte Menschen mit der Technik vertraut machen und ihnen diese näher bringen. Und da darf so ein begleitendes Hardwarepaket auch gern günstich sein damit auch Schüler und finanziell schlechter gestellte Menschen mitmachen können. :-)

Was evtuell ein Ausschlußkriterium sein könnte, ist wohl die nicht vorhandene I²S-Schnittstelle, von wegen dem Soundmonitoring.
Wobei ich den usecase echt spannend finde.

Gruß

Der ESP soll auch I2S können, allerdings weiß ich nicht, was an den Cortex M0-spezifischen Arduino-libs noch gemacht werden muss, damit sie mit dem ESP laufen

EXP Tech ist ein akzeptabler reseller für Adafruit und nicht so teuer wie Eckstein.

Moin @all ich habe dann auch den Weg hier in euer Forum gefunden.

Ich habe hier zur Zeit ca. 20 Bluepills hier liegen und kann bis jetzt keine Mängel am USB feststellen.
Das coden klappt eigentlich auch recht gut solange ich die CubeMX nicht benutze.
Zur Zeit bin ich sporadisch dabei das RFM95W zum laufen zu bekommen um dann damit LoRaWAN zu reden. Hier hänge ich aber noch etwas was aber wohl mehr an der IDE liegt als an den libs.

Folgende Ansätze sind wohl vielversprechend:



Ich hoffe das ich bald etwas zusammen bekomme was als Grundlage für weitere Nodes funktioniert.

3 Likes

Moin @DasNordlicht

Schön dich hier zu lesen. :-)

Gruß

Hallo Frank,

exzellent, herzlich Willkommen!

Das hört sich grandios an, ich glaube dass sich hier einige darauf freuen könnten, wenn das eine weitere gut erschlossene Variante als potentielle Basis für einen funkenden Sensorknoten werden könnte.

Viel Erfolg bei Deinen Erschließungsarbeiten!

Herzliche Grüße,
Andreas.

1 Like