Jeannie Polyphonic DIY Synthesizer

ich fange heute auch mal an:

IMG_4786.JPG

... und habe auch gleich die erste Frage:

In der Anleitung steht für L1 - L4:
3,3 uH - orange orange gold silver

Ich finde ich Bag4 aber nur Spulen mit orange braun gold gold, was 3,1 uH sein müsste:

IMG_E4787.JPG

@tubeohm : sind das die richtigen?

EDIT: und die nächste Frage: ich messe die eingelöteten Kondensatoren mit dem Multimeter - die zeigen auch alle ca. 100-103 nF an - nur C12 nicht: bei dem pulsiert das Multimeter immer zwischen nix und 1 nF ... Bauteil defekt?

EDIT 2: ... hmm - hab ihn ausgelötet und einzeln gemessen: zeigt 101 nF an. Liegt das an der Verschaltung auf der Platine, dass man nicht die originalen Bauteile misst? Sorry, ich bin bei Elektronik noch ziemlich unbeleckt. ;-)
 
Zuletzt bearbeitet:
ich fange heute auch mal an:

Anhang anzeigen 129031

... und habe auch gleich die erste Frage:

In der Anleitung steht für L1 - L4:
3,3 uH - orange orange gold silver

Ich finde ich Bag4 aber nur Spulen mit orange braun gold gold, was 3,1 uH sein müsste:

Anhang anzeigen 129032

@tubeohm : sind das die richtigen?

EDIT: und die nächste Frage: ich messe die eingelöteten Kondensatoren mit dem Multimeter - die zeigen auch alle ca. 100-103 nF an - nur C12 nicht: bei dem pulsiert das Multimeter immer zwischen nix und 1 nF ... Bauteil defekt?

EDIT 2: ... hmm - hab ihn ausgelötet und einzeln gemessen: zeigt 101 nF an. Liegt das an der Verschaltung auf der Platine, dass man nicht die originalen Bauteile misst? Sorry, ich bin bei Elektronik noch ziemlich unbeleckt. ;-)
Ja , die Spulen sind richtig . Es ist orange, orange, gold, gold Es gibt auch Kits da sind 10 uH Spulen drin . So kritisch ist es nicht . Warscheinlich kann man die Spulen sogar weg lassen ohne das man was hört . . Die Spulen dienen nur dazu HF Peaks zu unterdrücken ..
Bitte auch Bauteile nicht im eingelötete Zustand messen. Da misst du meistens Mist weil du auch andere Bautele eventuell parallel hängen .
Zu den Bauteilen , ich hatte bis auf eine Charge NP Elkos - und die werden nicht in der Jeannie verwendet - noch nie kaputte Bauteile. Echt nicht. Also , wenn irgendwas kaputt ist , dann ist es in 99% aller Fälle ein nicht geerdeter Lötkolber , statische Aufladung oder zu heiß und zu lange gelötet .

G
Andre'
 
wenn irgendwas kaputt ist , dann ist es in 99% aller Fälle ein nicht geerdeter Lötkolber , statische Aufladung oder zu heiß und zu lange gelötet .
ja, meine Vermutung war zuerst, dass ich zu heiß dran war, weil ich bei einigen Bauteilen ein paar Schwierigkeiten hatte, eine stabile Verbindung zur Platine hinzubekommen (scheint bei Teilen mit dickeren Beinchen schwerer zu sein als bei anderen - die IC-Sockel gingen z.B. sofort sehr gut).

Dass die Verschaltung Einfluss bein Messen hat, habe ich mir gedacht. :)
 
Nach einigem zaghaften Testen kann man sagen das der Synth nicht nur beim Zusammenbauen spass macht.

Der klingt auch richtig gut.
Einzig das Filter könnte mehr Resonanz vertragen.
Ein 24db Filter wäre auch nicht schlecht dann klappt es auch besser mit Bass sounds.

Flächen und Pads kann er sehr gut.
Der Sequenzer samt der Möglichkeit ihn von extern zu Transportieren ist der Hammer.

Ein klasse VA Synth der sich zwischen Analogen sehr gut macht.

Ich freu mich.... DANKE TubeOhm.
 
Ok. Freut mich. Da wird noch etwas kommen in Bezug auf Filter und Bedienung. Am 15.Februar um 20:30 Uhr den SequencerTalk schauen. Da werden wir ausführlich informieren. Bis dahin viel Spaß an der Musik :) Gruß Rolf
 
bin auch schon etwas weitergekommen:

IMG_4788.JPG IMG_4789.JPG

Bei den "dickbeinigen" Kondensatoren hatte ich einige Probleme mit kalten Lötstellen - da sind im Endeffekt auch ein paar etwas schief geworden, sollte aber der Funktion keinen Abbruch tun.
Warum der Recom so schief sitzt weiß ich nicht; die Beinchen sitzen jedenfalls sauber und ohne Spannung in den Holes. 🤔

In der Anleitung steht:
c15.png
tatsächlich sind aber wohl C9 und C 15 gemeint, oder?

hier dürfte statt Pin 8 wohl auch Pin 9 gemeint sein:
pin19.png
soll kein Klugscheißen sein, ich notiere nur was mir so auffällt.
 
Kann man für Lötlegastheniker irgendwo ein fertiges Gerät bekommen?
Zu welchem Preis?
 
Kleiner Nachtrag....
Die FX sind sehr sehr gut, und ihr (TubeOhm) habt recht wenn ihr sagt sie sind das Salz in der Suppe.
Kurze frage Combie FX z.b. Chorus + Delay oder Reverb sind nicht möglich ?
 
ja, meine Vermutung war zuerst, dass ich zu heiß dran war, weil ich bei einigen Bauteilen ein paar Schwierigkeiten hatte, eine stabile Verbindung zur Platine hinzubekommen (scheint bei Teilen mit dickeren Beinchen schwerer zu sein als bei anderen - die IC-Sockel gingen z.B. sofort sehr gut).

Dass die Verschaltung Einfluss bein Messen hat, habe ich mir gedacht. :)
Hallo , wenn es nicht so lötet wie es soll kann es sein das a:) das Lötzinn nichts taugt oder b:) die Lötspitze das Lötzinn nicht mehr gut aufnimmt .
ich tausche von Zeit zu Zeit mal die Lötspitzen von meinen Wella Lötkolben .
Dann noch was. Verschiedene Bauteile haben ein Beinchen an Masse. Um Störungen möglichst auszuschließen ist die Platine mit einer beidseitigen Massefläche versehen . Die Bauteil- Beinchen die an Masse gehen werden über thermal Pads mit der Masse verbunden . Diese Beinchen sind kreuzförmig mit Masse verbunden damit die Wärmeableitung nicht so hoch ist.
Trotzdem muss dieses Pad heißer gemacht werden da die Massefläche und auch die Kreuze (thermal pads ) ja oben und unten sind . Man sollte also das Pad und das Bauteil-Beinchen gleichzeitig mit dem Lötkolben heiß machen . Ist Übungssache.
 

Anhänge

  • T-Pads.png
    T-Pads.png
    55 KB · Aufrufe: 12
Kleiner Nachtrag....
Die FX sind sehr sehr gut, und ihr (TubeOhm) habt recht wenn ihr sagt sie sind das Salz in der Suppe.
Kurze frage Combie FX z.b. Chorus + Delay oder Reverb sind nicht möglich ?
Viele FX haben doppel - Effekte . So ist z.B. der Chorus auch mit einem Delay versehen , oder ein Reverb auch mit einem Delay . Allerdings hat der FV-1 nur begrenzte Eingänge und Ram. Deshalb haben wir die Taktfrequenz auch regelbar gemacht um so einen zusätzlichen Parameter zu schaffen . Alles in allem ist es schon erstaunlich welche Qualität so ein einfacher Baustein schon hat.
 
wenn es nicht so lötet wie es soll kann es sein das a:) das Lötzinn nichts taugt oder b:) die Lötspitze das Lötzinn nicht mehr gut aufnimmt .
Lötzinn habe ich diverse hier - das hat keinen Unterschied gemacht. Mit den Lötspitzen muss ich noch experimentieren - nutze aktuell eine sehr schmale mit leicher Schrägung an der Spitze. Ist aber schwer, damit guten Kontakt zu bekommen, wenn man das Beinchen des Bauteils nicht vorher komplett abknipst. Werde heute mal eine etwas breitere Spitze testen.
Danke auch für den Hinweis auf die Massefläche.

Etwas Übung kann ich schon gebrauchen - löte sonst meist nur Kabel und Akkustecker im Modellbaubereich. ;-)
 
bin auch schon etwas weitergekommen:

Anhang anzeigen 129118 Anhang anzeigen 129119

Bei den "dickbeinigen" Kondensatoren hatte ich einige Probleme mit kalten Lötstellen - da sind im Endeffekt auch ein paar etwas schief geworden, sollte aber der Funktion keinen Abbruch tun.
Warum der Recom so schief sitzt weiß ich nicht; die Beinchen sitzen jedenfalls sauber und ohne Spannung in den Holes. 🤔

In der Anleitung steht:
Anhang anzeigen 129122
tatsächlich sind aber wohl C9 und C 15 gemeint, oder?

hier dürfte statt Pin 8 wohl auch Pin 9 gemeint sein:
Anhang anzeigen 129121
soll kein Klugscheißen sein, ich notiere nur was mir so auffällt.
Achte bitte drauf den Recom grade einzulöten . Sonst ist das mit der M 2 Schraube für das Display extra fummelig.
Die Anschlüsse Pin 1 und Pin 8 (SOIC 14) oder Pin 1 und Pin 9 (SOIC 16) werden auf der Platine verzinnt. Das IC wird möglichst grade auf die Pads gelegt und mit den Fingern fest gehalten. Die Lötkolbenspitze sollte von Lötmittelrückständen gereinigt werden. Mit der Lötkolbenspitze wird Pin 1 des ICs schnell in das verzinnte Pad 1 der Platine gedrückt.

Den gleichen Vorgang wiederhole bitte sich mit Pin 8/9. Somit ist das IC an Pin 1 und 8/9 nun auf der Platine angelötet .
Ja tatsächlich , es ist C 15 . Habe ich gleich auch geändert . Ist online . Im englischen manual stimmte es ....!!

Erst mal , danke für die Fehlersuche - auch im Manual . Viele Sachen wurden - on the fly - geschrieben , also mit der rechten Hand löten und mit der linken Hand das Manual schreiben.
Da kann es schon mal zu Fehlern kommen - auch wenn man es 20x durchliest . Stichword Betriebs-blind. Und ich finde es klasse das sich die Leute hier so rege beteiligen .
 
Zuletzt bearbeitet:
Info: Beim Bestücken des Panel Boards bitte auf den Transistor T1 2N3904 achten. Es ist schon einmal vorgekommen, das der Transistor mit dem 79L08 verwechselt wurde und dadurch keine -8V Versorgungsspannung erzeugt wird.
 
Beim Bestücken des Panel Boards bitte auf den Transistor T1 2N3904 achten. Es ist schon einmal vorgekommen, das der Transistor mit dem 79L08 verwechselt wurde
die beiden 79L08 habe ich schon verbaut - Schwein gehabt. ;-) Was mir passiert ist: ich hatte irgendwo einen 1uF mit einem 10uF verwechselt (C14 und C50 sind ja nebeneinander aber mit unterschiedlichen Werten), und musste den wieder auslöten. Achte seitdem doppelt genau auf die Beschriftungen.
 
Muss man das bei Arduino ino so schreiben?
C:
        if (val == 0) {
 ...
        }

statt z.B.:
C:
oscFX = (val < 7)? val : 0;

Da hat man je ne Menge duplicate Code drin oO
Ein wirklich gut gemeinter Tipp vielleicht bzgl. des Codes, Rolf:

Wenn du solche Kleinigkeiten schleifen lässt, dann könnte es schnell passieren, dass du früher oder später in der Spaghetti-Code-Hölle landest, aus der der Weg nicht selten unersichtlich oder zumindest sehr schwierig ist. Ich weiß selbst, wie schwierig es ist abzuwägen, ob die Änderung solcher Kleinigkeiten lohnt oder nicht, aber es ist fast immer besser, so etwas aus der Welt zu schaffen. Das Problem oben ist ja noch keins, es könnte aber zu einem werden, wenn du solche Codeteile an mehreren Stellen verteilt hast und dann noch später Änderungen zu machen sind. Man meint ja nicht selten, dafür sei keine Zeit da. Dummerweise bezahlt man später nicht selten mit dem x-fachen Zeitaufwand. ;-) Wäre schade, wenn so etwas irgendwann diesen tollen Synth einholen würde.
 
Nach einigem zaghaften Testen kann man sagen das der Synth nicht nur beim Zusammenbauen spass macht.

Der klingt auch richtig gut.
Einzig das Filter könnte mehr Resonanz vertragen.
Ein 24db Filter wäre auch nicht schlecht dann klappt es auch besser mit Bass sounds.

Flächen und Pads kann er sehr gut.
Der Sequenzer samt der Möglichkeit ihn von extern zu Transportieren ist der Hammer.

Ein klasse VA Synth der sich zwischen Analogen sehr gut macht.

Ich freu mich.... DANKE TubeOhm.
Also , mit dem Bass sound solltest du zufrieden sein !. Hast du den Bass Boost ausprobiert ?? Bei mir wackelt hier die Wand. Ansonsten bitte warten bis nach dem 15.02.22 . Dann gibt es wieder eine neue Firmware die kein Ohr trocken lässt ....
 
Also , mit dem Bass sound solltest du zufrieden sein !. Hast du den Bass Boost ausprobiert ?? Bei mir wackelt hier die Wand. Ansonsten bitte warten bis nach dem 15.02.22 . Dann gibt es wieder eine neue Firmware die kein Ohr trocken lässt ....
Nein Probleme mit Bass gibt es keine ,ausser man lässt die Bassline laufen und dreht dann wild am Filter.
Es hat halt (nur) 12db und das hört man dann auch das ist (für mich) nicht bissig genug.
Statische Bass Sounds drücken schön das ist keine frage.
Bei Pads ist es dann genau umgekehrt die leben vom 12db Filter .
Ein zwei Seidenweiche Flächen hab ich schon gebaut da geht in Verbindung mit den FX (Chorus+reverb) geht echt die Sonne auf.

Bin gespannt wie das Projekt weiter geht denn der Anfang ist ja schon großartig.....
 
Zuletzt bearbeitet:
Wenn du solche Kleinigkeiten schleifen lässt, dann könnte es schnell passieren, dass du früher oder später in der Spaghetti-Code-Hölle landest,
schließe mich dem an. Bitte nicht falsch verstehen, aber erfahrungsgemäß fällt sowas einem irgendwann immer über die Füße.

Gibt ja noch einige solcher Stellen, auch mit mehr Codezeilen pro wiederholtem Block:
v2.png v1.png
da besteht dann immer die Gefahr, dass eine Änderung nicht für alle Blöcke übernommen wird - und die Datei wird unnötig groß (auch wenn es der Compiler vielleicht wieder wegoptimiert).
 
Ein wirklich gut gemeinter Tipp vielleicht bzgl. des Codes, Rolf:

Wenn du solche Kleinigkeiten schleifen lässt, dann könnte es schnell passieren, dass du früher oder später in der Spaghetti-Code-Hölle landest, aus der der Weg nicht selten unersichtlich oder zumindest sehr schwierig ist. Ich weiß selbst, wie schwierig es ist abzuwägen, ob die Änderung solcher Kleinigkeiten lohnt oder nicht, aber es ist fast immer besser, so etwas aus der Welt zu schaffen. Das Problem oben ist ja noch keins, es könnte aber zu einem werden, wenn du solche Codeteile an mehreren Stellen verteilt hast und dann noch später Änderungen zu machen sind. Man meint ja nicht selten, dafür sei keine Zeit da. Dummerweise bezahlt man später nicht selten mit dem x-fachen Zeitaufwand. ;-) Wäre schade, wenn so etwas irgendwann diesen tollen Synth einholen würde.

Vielen Dank für deine Hinweise :) Ich arbeite noch an der Optimierung des Codes.

C:
// z.B. alter Code:
            if (ParameterNr == CCoscfx){

                tft.fillRoundRect(133,78,21,8,2,ST7735_BLUE);

                tft.setCursor(135,78);

                tft.setTextColor(ST7735_WHITE);

                uint8_t val = (value / 21);

                if (val == 0) {

                    tft.print("OFF");

                }

                else if (val == 1) {

                    tft.print("XOR");

                }

                else if (val == 2) {

                    tft.print("XMO");

                }

                else if (val == 3) {

                    tft.print("MOD");

                }

                else if (val == 4) {

                    tft.print("AND");

                }

                else if (val == 5) {

                    tft.setCursor(137,78);

                    tft.print("OR");

                }

                else if (val == 6) {

                    tft.setCursor(137,78);

                    tft.print("FM");

                }

            }



//neuer Code
 if (ParameterNr == CCoscfx){

                tft.fillRoundRect(133,78,21,8,2,ST7735_BLUE);

                tft.setTextColor(ST7735_WHITE);

                uint8_t val = (value / 21);

                print_String((18 + val),136,78);   // 18 + val  index in String Table
}


Noch eine Frage.. Betrifft dass Speichern von Strings mit Hilfe der PROGMEM Anweisung im Flash Speicher des Mikrocontrollers.

In vielen Fällen verwende ich für die Display Ausgabe die Anweisung tft.print("Test..") Der String wird im Ram gespeichert. Ram sollte man aber wenn möglich sparen. Also habe ich die ganzen Strings in den Flash Speicher gepackt (siehe Beispiel). Vorteil dieser Methode ist das Einsparen von Ram und Flash Speicher wenn zB der gleiche String auf verschiedenen Menü Seiten verwendet wird.

Ferner gibt es noch die Möglichkeit mit der Anweisung tft.printf ("Test..") den String im Flash zu speichern. Das ist im Code übersichtlicher und einfacher zu schreiben. Leider kann ich nicht feststellen, ob der String tatsächlich im Flash oder doch im Ram gespeichert wird. Nach dem Update von Atmel Studio auf Microchip Studio bekomme ich im Output Fenster keine Meldung über den verwendeten und freien Speicher mehr :sad:



String Aufruf aus dem Flash Speicher

C:
        print_String(1,5,21);        // print "WAVE"
        print_String(2,5,40);        // print "PITCH"
        print_String(3,5,59);        // print "P.ENV"
        print_String(4,5,78);        // print "GLIDE"
        print_String(5,5,97);        // print "LEVEL"
        print_String(6,85,59);        // print "PWAMT"
        print_String(7,85,78);        // print "PWMOD"
        print_String(8,85,97);        // print "OSCMIX"

//*************************************************************************
// print const Text string from flash memory to xpos ypos on screen
//*************************************************************************
void print_String(uint16_t index, uint8_t xpos, uint8_t ypos) {
 
    char buffer[7];
    strcpy_P(buffer, (char*)pgm_read_dword(&(String_Tab[index])));
    tft.setCursor(xpos, ypos);
    tft.println(buffer);
}

// Strings Table
const char String_0[] PROGMEM = "OSC";        // Oscillator main menu
const char String_1[] PROGMEM = "WAVE";
const char String_2[] PROGMEM = "PITCH";
const char String_3[] PROGMEM = "P.ENV";
const char String_4[] PROGMEM = "GLIDE";
const char String_5[] PROGMEM = "LEVEL";
const char String_6[] PROGMEM = "PWAMT";
const char String_7[] PROGMEM = "PWMOD";
const char String_8[] PROGMEM = "OSCMIX";
const char String_9[] PROGMEM = "DETURN";    // Oscillator sub menu
const char String_10[] PROGMEM = "WSHAPE";
const char String_11[] PROGMEM = "GAIN";
const char String_12[] PROGMEM = "SYNC";
const char String_13[] PROGMEM = "TRANSP";
const char String_14[] PROGMEM = "TUNE";
const char String_15[] PROGMEM = "NOISE";
const char String_16[] PROGMEM = "OSCMOD";
const char String_17[] PROGMEM = "LFO2MOD";
const char String_18[] PROGMEM = "OFF";        // OscMod
const char String_19[] PROGMEM = "XOR";
const char String_20[] PROGMEM = "XMO";
const char String_21[] PROGMEM = "MOD";
const char String_22[] PROGMEM = "AND";
const char String_23[] PROGMEM = "OR";
const char String_24[] PROGMEM = "FM";
const char String_25[] PROGMEM = "P";        // other
const char String_26[] PROGMEM = "W";
const char String_27[] PROGMEM = "1";
const char String_28[] PROGMEM = "2";
const char String_29[] PROGMEM = "SELECT";
const char String_30[] PROGMEM = "VALUE";
const char String_31[] PROGMEM = "---";
const char String_32[] PROGMEM = "W";
const char String_33[] PROGMEM = "ON";
const char String_34[] PROGMEM = "+";
const char String_35[] PROGMEM = "SUB";
const char String_36[] PROGMEM = "BANK";

PGM_P const String_Tab[] PROGMEM = {
    String_0, String_1, String_2, String_3, String_4, String_5, String_6, String_7,
    String_8, String_9, String_10, String_11, String_12, String_13, String_14, String_15,
    String_16, String_17, String_18, String_19, String_20, String_21, String_22, String_23,
    String_24, String_25, String_26, String_27, String_28, String_29, String_30, String_31,
    String_32, String_33, String_34, String_35, String_36
    };
 
Zuletzt bearbeitet:
Ich kenne den ganzen Kram nicht (Entwicklungsumgebung, Atmel Chip), aber ich merke gerade, dass es mich wieder packt, wenn ich mir guten alten C Code ansehe. Das war damals für mich der Einstieg in die Entwicklung, den Kernighan & Ritchie habe ich immer noch. :)

Ich versuche mal deine Fragen zu erahnen und etwas dazu zu schreiben:
1. PROGMEM scheint einfach ein Makro zu sein, das dafür sorgt, dass der String (oder was auch immer) im Flash landet.
2. tft.print() und tft.printf() dürften an print() und printf() angelehnte Funktionen sein, die den Inhalt aufs Display bringen. Da gegebenfalls mal nach googeln. Ich würde eh den K&R (mindestens) empfehlen.
3. Du kannst bei printf() natürlich auch jederzeit die Adresse eines Strings ausgeben lassen, dann weisst du wo er sich befindet (der Flash dürfte ja an einer anderen Adresse zu finden sein, als das RAM). Fragen dazu? Frag mich ruhig.

Jetzt noch einige Kleinigkeiten, die mir aufgefallen sind:
1. Die Benennung der Stringarrays ist verbesserungswürdig, das siehst du an deinen eigenen Kommentaren, die dir sagen sollen, welches Stringarray du da benutzt. Warum nicht gleich die Stringarrays entsprechend benennen und die Kommentare wegwerfen?
2. Wie stellst du eigentlich sicher, dass du dir mirt einem längeren (länger als 6 Zeichen) String nicht alles zerschiesst in print_String() ? ;-) Die Gefahr eines Missbrauches bei solcher Software ist zwar gering, aber wenn du dir solchen Stil einmal angewöhnst ... ;-)

Wenn du möchtest, kannst du mich gern mal per PM kontaktieren, ich hätte da Ideen, wie man/ich dir helfen könnte. ;-)
 
ich habe noch eine kleine Verständnisfrage zur Bauanleitung:

LED-Einbau:
leds.png
Heißt das, dass die LEDs erst komplett zum Schluss nach allen anderen (mechanischen) Bauteilen eingebaut werden? In den weiteren Fotos im Manual sind die LEDs nicht eingelötet, aber es gibt auch keinen Schritt, wo dies mit Bild dokumentiert ist.
 
ich habe noch eine kleine Verständnisfrage zur Bauanleitung:

LED-Einbau:
Anhang anzeigen 129142
Heißt das, dass die LEDs erst komplett zum Schluss nach allen anderen (mechanischen) Bauteilen eingebaut werden? In den weiteren Fotos im Manual sind die LEDs nicht eingelötet, aber es gibt auch keinen Schritt, wo dies mit Bild dokumentiert ist.

Ich habe die LEDs zum Schluss so gelötet wie in der Anleitung beschrieben. Das Gehäuseoberteil mit Abstandhalter an das Panel Board schrauben (Schrauben nicht zu fest andrehen). Als zusätzliche Hilfe habe ich einen Tesa-Streifen auf die LED Löcher von außen auf das Panel geklebt und die LEDs etwas angedrückt. Dadurch verhindert man, dass die LEDs beim anlöten verrutschen und erreicht, dass die LEDs in gleicher Höhe sitzen wie das Gehäuseoberteil.
 
Zuletzt bearbeitet:
Ich habe die LEDs zum Schluss so gelötet wie in der Anleitung beschrieben. Das Gehäuseoberteil mit Abstandhalter an das Panel Board schrauben (Schrauben nicht zu fest andrehen). Als zusätzliche Hilfe habe ich einen Tesa-Streifen auf die LED Löcher von außen auf das Panel geklebt und die LEDs etwas angedrückt. Dadurch verhindert man, dass die LEDs beim anlöten verrutschen und in gleicher Höhe sitzen wie das Gehäuseoberteil. geht das richtig easy
Habe das auch so gemacht ging richtig einfach und es passt dann perfekt.
 


Zurück
Oben