Forum: Mikrocontroller und Digitale Elektronik Serienprodukte auf Arduino Basis


von Mrtinus (Gast)


Lesenswert?

Da Arduino sehr verbreitet ist, gibt es sicher Serienprodukte auf 
Arduino Basis.
Kennt jemand konkret welche?

von Kolja L. (kolja82)


Lesenswert?

Widerstände und Kondensatoren sind auch sehr verbreitet;-)

von Stefan F. (Gast)


Lesenswert?

Mrtinus schrieb:
> Kennt jemand konkret welche?

Mir fallen spontan diverse 3D Drucker Bausätze ein.

von Mick (Gast)


Lesenswert?


von test (Gast)


Lesenswert?

3D Drucker?

Wobei es nicht wirklich Sinn macht so einen einfachen alten 
Mikrocontroller per Huckepackplatine irgendwo draufzusetzen. Auf so 
einer Arduinoplatine ist ja quasi überhaupt nix drauf was man in einem 
Endprodukt braucht.

von Einer K. (Gast)


Lesenswert?

Und mir: Controllino

von Einer K. (Gast)


Lesenswert?

test schrieb:
> 3D Drucker?
>
> Wobei es nicht wirklich Sinn macht so einen einfachen alten
> Mikrocontroller per Huckepackplatine irgendwo draufzusetzen. Auf so
> einer Arduinoplatine ist ja quasi überhaupt nix drauf was man in einem
> Endprodukt braucht.

Ebay: 252215309805
Nur ein Beispiel...
Billiger/Einfacher wird man kein eigenes System bauen können.
Nicht ohne erhebliche Stückzahlen.

von Timmo H. (masterfx)


Lesenswert?

test schrieb:
> Wobei es nicht wirklich Sinn macht so einen einfachen alten
> Mikrocontroller per Huckepackplatine irgendwo draufzusetzen. Auf so
> einer Arduinoplatine ist ja quasi überhaupt nix drauf was man in einem
> Endprodukt braucht.
Ja das bereits erwähnte RAMPS-Shield ist quasi die Mutter der 3D-Drucker 
Boards.
Inzwischen werden aber eher Boards verwendet die das RAMPS und den 
Arduino Mega auf einer Platine vereinen. Das Pinning ist i.d.R. 1:1 
kompatibel (MKS GEN-L, MKS Gen 1.4 etc). Günstigere Drucker wie der 
CR-10, Ender2/3 haben noch ein Sanguino-Basierendes Board drauf. Ist 
aber am ende auch alles Arduino Basis.

von Stampede (Gast)


Lesenswert?

Ich kann mir nicht vorstellen, dass echte Serienprodukte mit Arduino 
gibt. Wenn ich auf Stückzahlen gehe, komme ich im einer Eigenentwicklung 
sicher viel billiger als der Arduinoschrott.
Bisher wurde ja auch nur DIY-Bastel-Zeug genannt...

von avr (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Billiger/Einfacher wird man kein eigenes System bauen können.
> Nicht ohne erhebliche Stückzahlen.

Irgendwas drumherum braucht man immer. Und selbst wenn alles 
zusammengesteckt ist - den EMV-Test kann man sich trotzdem nicht sparen. 
Ich sehe da keine großen Vorteile für die Arduinoboards. Lose gesteckte 
Kabel willst du auch nicht in einem Endprodukt haben.

von test (Gast)


Lesenswert?

Stampede schrieb:
> als der Arduinoschrott.

Dir ist schon klar was die ursprüngliche Absicht hinter diesem 
"Arduinoschrott" war?

Und immerhin war dieser "Schrott" unheimlich erfolgreich, dieser 
"Schrott" hat etwas geschafft was niemand anders geschafft hat.

Und jetzt komm nicht mit irgendwelchen besseren MCU Boards die es 
aktuell für billig aus China gibt. Es ist zu vermuten das es diese ohne 
Arduino nicht gäbe. Wobei es natürlich unmöglich ist abzuschätzen wo wir 
ohne Arduino jetzt wirklich wären.

von Stampede (Gast)


Lesenswert?

test schrieb:
> Dir ist schon klar was die ursprüngliche Absicht hinter diesem
> "Arduinoschrott" war?
>
> Und immerhin war dieser "Schrott" unheimlich erfolgreich, dieser
> "Schrott" hat etwas geschafft was niemand anders geschafft hat.
>
> Und jetzt komm nicht mit irgendwelchen besseren MCU Boards die es
> aktuell für billig aus China gibt. Es ist zu vermuten das es diese ohne
> Arduino nicht gäbe. Wobei es natürlich unmöglich ist abzuschätzen wo wir
> ohne Arduino jetzt wirklich wären.

Das ist mir schon klar, und der Erfolg als solcher ist auch gut und den 
Entwicklern zu gönnen. Für schnell mal ein paar Sachen testen und den 
Aufbau kleiner Projekte ist der Arduino auch völlig ok. Für eine 
Serienapplikation (und damit meine ich nicht 100 Stück DIY-Lötboards die 
auf Ebay vertrieben werden sondern 100k++ Devices), ist das Ding nicht 
zu gebrauchen, weil dort nach Requirement-Katalogen entwickelt wird. Und 
da sind die eben Bastelware und in diesem Kontext "Schrott" (auch wenn 
das jetzt vielleicht sehr hart ist :D ). Und genau danach hat ja der 
Threadstarter ja gefragt.

von test (Gast)


Lesenswert?

Stampede schrieb:
> und in diesem Kontext "Schrott"

Hatte ich nicht so gelesen. Na dann sind wir ja der selben Meinung.

Und wie gesagt... Es macht ja auch (in diesem Kontext) überhaupt keinen 
Sinn ein Arduino Board auf die selbst entwickelte Platine zu stecken. 
Man gewinnt dadurch ja überhaupt nix.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nun ist "Arduino" ja nicht auf die Verwendung von erkennbaren 
"Ardunio"-Platinen beschränkt. Ein µC, der mit Arduino-Mitteln 
programmiert werden kann, kann auch in einer hochprofessionell 
entwickelten Schaltung sitzen -- womit der programmiert wurde, sieht man 
ihm von außen nicht an, und es ist, solange er zuverlässig das tut, was 
er soll, auch komplett schnuppe, womit er programmiert wurde.

Insofern ist die Verwendung von "Arduino" auch in professionellen 
Produkten durchaus möglich, nur ist das schwer nachweisbar. Man müsste 
die Firmware auslesen und analysieren ... das scheitert aber 
üblicherweise schon am Auslesen.

von S. R. (svenska)


Lesenswert?

Und nicht jedes Serienprodukt ist gleichzusetzen mit "100k++ devices".

Hier in der Nähe gibt es einen profitablen Autohersteller (Koenigsegg), 
der Serienproduktionen von unter 100 Einheiten betreibt...

von Curby23523 N. (Gast)


Lesenswert?

Ab bereits einer Serienproduktion von 100+ oder 500+ sollte sich 
preislich Arduino nicht mehr lohnen, evtl. schon früher. Manchmal auch 
von anfang an.

Letztendlich braucht man immr eine selber entwickelte Leiterplatte und 
der erfahrene Layouter klatscht da in unter einer Stunde den Kram vom 
Arduino mit drauf, samt passendem aktuellen Mikrocontroller.

Wenn man keine individuelle Leiterplatte braucht, dann ist dies kein 
eigenes Produkt und keine eigene Serienfertigung.

Arduino ist gut für Hobbybastler, für Einsteiger oder Prototypen.

von Stampede (Gast)


Lesenswert?

S. R. schrieb:
> Hier in der Nähe gibt es einen profitablen Autohersteller (Koenigsegg),
> der Serienproduktionen von unter 100 Einheiten betreibt...

Der auch mit Sicherheit keine Arduinos einsetzt

von Jens G. (jensg)


Lesenswert?

Rufus Τ. F. schrieb:
> Insofern ist die Verwendung von "Arduino" auch in professionellen
> Produkten durchaus möglich, nur ist das schwer nachweisbar. Man müsste
> die Firmware auslesen und analysieren ... das scheitert aber
> üblicherweise schon am Auslesen.

Da Softwareentwickler Geld kosten und nicht immer verfügbar sind werden 
auch einmal Kompromisse gemacht - Ich habe 5 Jahre Erfahrung in Arduino 
und konnte 2x mein Wissen in einem Unternehmen einsetzen. 
(professionelle Entwickler sind erstaunt mit welcher naiven 
Herangehensweise ich zu Ergebnissen komme - ... die verwendbar sind)

Beispiele:
1. Prototypenaufbau einer Ablaufsteuerung zur Ansteuerung mehrer Relais 
(Machbarkeitsstudie)
2. Einen Frequenz-Spannungswandler erstellt. 8-pin AtTiny85  -- Frequenz 
30Hz bis 300Hz - Spannung 0,3V bis 3V 1% Genauigkeit (als Beispiel)

von svensson (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Ein µC, der mit Arduino-Mitteln
> programmiert werden kann, kann auch in einer hochprofessionell
> entwickelten Schaltung sitzen

Die Arduino IDE läßt sich eben auch unabhängig von der Arduino-Hardware 
einsetzen. Mit und ohne Bootloader.

> Man müsste die Firmware auslesen und analysieren ... das scheitert aber

Könnte mir vorstellen, daß das auch dann mehr als schwierig wird. Der 
verwendete GCC ist z.B. bei Arduinio-IDE, AVR Studio und Atmeld Studio 
gleich. Daher dürften für gleiche Aufgaben auch gleiche Codes 
herauskommen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

svensson schrieb:
> Daher dürften für gleiche Aufgaben auch gleiche Codes herauskommen?

Wenn die Arduino-Laufzeitumgebung genutzt wird, ist das potentiell 
erkennbar, je nach Optimierungsgrad. Zwar gibt es keine Symbolnamen, 
aber die Struktur mit setup und loop sowie dem das Zeug jeweils 
aufrufenden Code sollte noch zu identifizieren sein.

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> je nach Optimierungsgrad.

-Os
Ist Arduino Standard.

setup() und loop() landen oft inline im Kompilat.

Aber der Startupcode, mit Timer Initialisierung dürfte recht eindeutig 
sein.
Auch die DigitalIO und Zeitfunktionen tauchen mit hoher 
Wahrscheinlichkeit im Kompilat auf.

Ja, so ist ein Arduino Programm erkennbar.
Unwahrscheinlich, dass ein anderer Programmierer zufällig den gleichen 
Code generiert.

Da es aber auch Arduino Programme gibt, welche statt setup() und loop() 
die klassische main() verwenden, eben nicht immer.
Dann gibt es keine Indizien mehr im Kompilat.

von svensson (Gast)


Lesenswert?

Gut bei loop kann ich mir das noch vorstellen. Allerdings werden auch 
viele andere Programme eine Hauptschleife enthalten.

Ist setup nicht einfach die "normale" Ausführung von Code hintereinander 
weg, die auch in jedem anderen Programm zur Initialisierung von 
Variablen erforderlich ist?

Evtl. lassen sich auch OO-Elemente identifizieren, die sich durch 
gleiche Muster im Code darstellen könnten, aber ich möchte den 
Assemblercode nicht nach so etwas durchsuchen müssen...

Es mag also durchaus möglich sein, zu ermitteln mit welcher IDE ein 
Programm erzeugt wurde. Wird aber vermutlich eher selten gemacht?

von svensson (Gast)


Lesenswert?

Post war als Antwort auf den Beitrag Rufus gedacht.

@Arduino Fanboy

Wie nutze ich denn main() statt setup() und loop() in der Arduino-IDE?

von Stefan F. (Gast)


Lesenswert?

svensson schrieb:
> Wie nutze ich denn main() statt setup() und loop() in der Arduino-IDE?

Einfach hinschreiben.

von Einer K. (Gast)


Lesenswert?

svensson schrieb:
> Ist setup nicht einfach die "normale" Ausführung von Code hintereinander
> weg, die auch in jedem anderen Programm zur Initialisierung von
> Variablen erforderlich ist?

Hier die originale Arduino main()
https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/main.cpp
Wird genutzt, wenn loop() implementiert ist.

Also: Der Arrduinobuilder sucht nach loop() und/oder setup() und wenn 
gefunden wird diese main() verwendet.

Wenn nicht, Fehlermeldung, es sei denn, es wird eine eigene main() 
verwendet.


> Evtl. lassen sich auch OO-Elemente identifizieren,
Nicht unbedingt!
Virtuelle Methodentabellen könnte man evtl. erkennen.

svensson schrieb:
> aber ich möchte den
> Assemblercode nicht nach so etwas durchsuchen müssen...
Ich auch nicht

von Einer K. (Gast)


Lesenswert?

svensson schrieb:
> Wie nutze ich denn main() statt setup() und loop() in der Arduino-IDE?


Kleinst mögliches Arduino Programm:

minimal.ino
1
int main()
2
{
3
4
  while(1);
5
}

von svensson (Gast)


Lesenswert?

Dann sind setup() und loop() optional?

Initialisiert dann setup() die Timer usw?

von Einer K. (Gast)


Lesenswert?

svensson schrieb:
> Initialisiert dann setup() die Timer usw?

Nein!

Das macht initVariant();
Eben individuell für jeden AVR Type

Danach kommt setup() dran.
Siehe: 
https://github.com/arduino/ArduinoCore-avr/blob/master/cores/arduino/main.cpp

von Philipp K. (philipp_k59)


Lesenswert?

Also wenn sich schon jeder zweite Hobbyler nach nem halben Jahr Arduino 
lieber eine eigene Arduino Platine ätzt/bestellt..da hat sich dann die 
Frage mit der Massenproduktion erledigt.

Anders ist es vielleicht mit Esp8266/esp32 modulen die sich als Breakout 
in Fertigen Geräten verstecken..

von Einer K. (Gast)


Lesenswert?

Korrektur:
Arduino Fanboy D. schrieb:
> Das macht initVariant();
Oder init();

von TV (Gast)


Lesenswert?

Die Frage ob es Serienprodukte auf "Arduino"-Basis gibt kann ich für 
unseren Betrieb mit "ja" beantworten.
Ich entwickle die Software für einen Großteil unserer Produkte mit der 
Arduino-Umgebung.
In der Hardware stecken freilich keine Arduino Boards mit Shield...
Es sind AVR Controller, meist Mega168, Mega644P oder jüngst Mega1284P 
die auf eigens für das Projekt entwickelten Leiterplatten sitzen.

Die Produkte laufen gut und werden in (für uns) lohnenswerten 
Stückzahlen produziert und verkauft.
EMV Tests usw. haben wir damit auch problemlos geschafft, warum auch 
nicht.

Dem Kunde ist es egal wie die Firmware entsteht.
Entscheidend ist das Endprodukt und ob es seinen Vorstellungen 
entspricht.

Ach so, ich verzichte auf den Bootloader und flashe die Boards über die 
ISP Schnittstelle mittels ATMEL-ICE Programmer vom PC aus.

Natürlich könnte ich auch den Weg über das ATMEL-Studio gehen und direkt 
in "C" programmieren. Ich gebe aber offen zu dass ich mit Arduino 
einfach besser klar komme. Ursprünglich kam ich aus der 8051 Welt und 
habe jahrelang in ASM programmiert und nie den Sprung nach "C" 
geschafft.
Mir ist schon klar dass ich mir durch die Arduino Umgebung einiges an 
features im Controller blockiere. Das nervt manchmal....
Vielleicht schaffe ich vor meiner Rente doch noch den Absprung :-)

von Curby23523 N. (Gast)


Lesenswert?

TV schrieb:
> [...] Ich entwickle die Software für einen Großteil unserer Produkte mit der
> Arduino-Umgebung. [...]

Das geht natürlich. Aber das klingt für mich so, als ob keine großen 
Anforderungen an den Mikrocontroller und dessen Firmware gestellt 
werden.

Ich stehe im professionellen Bereich oft vor der Frage, welchen 
Mikrocontroller ich nehmen muss, der meinen Anforderungen entspricht. 
Dann kann mal ein anderes Pinout besser sein, ich brauche einen Timer 
mehr oder auf ein mal eine Schnittstelle, die es nur bei einem 
bestimmten Hersteller so gibt. Die Liste kann man natürlich endlos lang 
machen.

Und dieser Punkt ist oft schnell erreicht. Wenn man nur GPIOs, ADC, 4 
zeilen Display etc. braucht ohne genauere Spezifikationen kann Arduino 
durchaus ausreichen.

von Jens G. (jensg)


Lesenswert?

TV schrieb:
> Dem Kunde ist es egal wie die Firmware entsteht.
> Entscheidend ist das Endprodukt und ob es seinen Vorstellungen
> entspricht.
>
Besten Dank für den praxisnahen Hinweis.

Arduino ist letzten Endes auch "nur" .. was andere Produzenten eine HAL 
(Hardware Abstraction Layer) nennen. Man erspart sich eine Menge Zeit 
weil man nicht mehr jedes Detail der Hardware kennen muss (das haben 
andere Zeitgenossen in gemeinsamer ehrenamtlicher Arbeit gemacht).

von John P. (brushlesspower)


Lesenswert?

Arduino ist heutzutage nicht mehr nur AVR controller

Man sollte unterscheiden:

Arduino Boards/Shields
Arduino IDE
Arduino Library's


Die Boards und shield sind sicher nichts für die serie

Die IDE ist wirklich nicht gut, kann aber mit eclipse oder VSCode 
ersetzt werden.

Die Library's sind das interessante. Hier lassen sich sehr schnell 
fertige Prototypen entwickeln.

Und wenn die Performance nicht passt, oder Bibliotheken einschränkungen 
oder fehler haben....dann kann ich diese immernoch ändern.

Niemand hält mich in Arduino davon ab in den Registern der 
Mikrocontroller selber zu schreiben.

Und inzwischen lassen sich STM32, ESP32, NRF52 und warscheinlich noch 
viele mehr in Arduino programmieren.

Der Vorteil ist: ich habe innerhalb von 5min das komplette projekt 
aufgesetzt mit "Hello World" Auch wenn ich den Controller zuvor noch nie 
verwendet habe.
Und dazu kann ich sehr viel Code kopieren und er funktioniert trotzdem.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

John P. schrieb:
> Und inzwischen lassen sich STM32, ESP32, NRF52 und warscheinlich noch
> viele mehr in Arduino programmieren.

das hat mir den Umstieg vom Arduino AVR zum ESP32 sehr erleichtert, ich 
konnte viel eigenen Code weiternutzen und alle LIBs nutzen.

von il Conte (Gast)


Lesenswert?

TV schrieb:
> Die Frage ob es Serienprodukte auf "Arduino"-Basis gibt kann ich für
> unseren Betrieb mit "ja" beantworten.
> Ich entwickle die Software für einen Großteil unserer Produkte mit der
> Arduino-Umgebung.
> In der Hardware stecken freilich keine Arduino Boards mit Shield...
> Es sind AVR Controller, meist Mega168, Mega644P oder jüngst Mega1284P
> die auf eigens für das Projekt entwickelten Leiterplatten sitzen.
>
> Die Produkte laufen gut und werden in (für uns) lohnenswerten
> Stückzahlen produziert und verkauft.
> EMV Tests usw. haben wir damit auch problemlos geschafft, warum auch
> nicht.

Wie ist eigentlich dir rechtliche Lage? bist du eigentlich nicht 
verpflichtet deine SW die auf Arduino basiert, offenzulegen ?
Zumindest denke ich musst du ein Hexfile rausrücken was Uptodate zur 
Arduino Version gehalten werden muss!

TV schrieb:
> Dem Kunde ist es egal wie die Firmware entsteht.

Das wäre mir als Kunde nicht egal!

Man kann die SW ganz gut verstecken, speziell wenn man eine eigene HW 
baut.
Auf der anderen Seite ist es aber unfair gegenüber den Leuten die da 
Zentnerweise LIBs schreiben um dir das SW-Leben zu erleichtern.

Hat da jemand von Euch eine sinnvolle Antwort?

von Timmo H. (masterfx)


Lesenswert?

il Conte schrieb:
> Wie ist eigentlich dir rechtliche Lage? bist du eigentlich nicht
> verpflichtet deine SW die auf Arduino basiert, offenzulegen ? Zumindest
> denke ich musst du ein Hexfile rausrücken was Uptodate zur Arduino
> Version gehalten werden muss!
Nein ist man nicht. Der Arduino core ist lgpl. Das heißt alles was du 
drum herum baust kann closed source bleiben, solange man nichts am core 
ändert. Du müsstest aber - zumindest auf Nachfrage - die object files 
bereitstellen, damit es ggf gegen einen neuen core gelinkt werden kann.

von M. K. (sylaina)


Lesenswert?

il Conte schrieb:
> TV schrieb:
>> Dem Kunde ist es egal wie die Firmware entsteht.
>
> Das wäre mir als Kunde nicht egal!

Wirklich? Es interesiert dich doch auch nicht wie die Firmware deines 
Smartphones entsteht, oder doch? Nunja, mag sein. Aber ich, ich sag mal, 
99,99% aller Kunden ist es völlig schnuppe ob die Firmware ausgewürfelt 
wird, mit dem Meisel aus feinsten Mamor gehauen wird oder durch 
selektive Elektronenauswahl heraus entsteht solange das Gesamtprodukt 
genau das macht, was der Kunde will.

il Conte schrieb:
> Zumindest denke ich musst du ein Hexfile rausrücken was Uptodate zur
> Arduino Version gehalten werden muss!

Wieso muss es Uptodate gehalten werden? Das ist AFAIK nicht 
erforderlich.

il Conte schrieb:
> Auf der anderen Seite ist es aber unfair gegenüber den Leuten die da
> Zentnerweise LIBs schreiben um dir das SW-Leben zu erleichtern.

Das Leben ist selten Fair. Erst recht im unternehmerischen Umfeld ;)

von Planlos (Gast)


Lesenswert?

Libs werden doch auch im nicht arduino Umfeld verwendet

Programmiere auf Arbeit unter Linux/Windows/Android cross Plattform c++ 
und da geht der Trend eindeutig zur Benutzung von librarys. Das ist im 
Idealfall getesteter Code, den man einbinden muss und es läuft.

Ich war da früher ziemlich skeptisch, da ich davon ausgegangen bin, im 
Fehlerfall die lib komplett verstehen zu müssen. Der Zahn wurde mir 
gezogen und das klappt soweit ganz gut.

Einen svg rasterizer, oder eine Layoutengine wie pango schreibt niemand 
selbst, und wenn, sollte man diesem niemand auf die Finger klopfen

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.