close-up van de connectors op de print van de leapfrog, waarop het display/controllerbordje zit aangesloten

Display / controller op Leapfrog Creatr

Om op de Leapfrog Creatr ook vanaf SD kaart te kunnen printen, heb ik een ‘control panel’ gekocht. Dit bevat een display, SD kaart slot en bediening. Er zijn op de print van de leapfrog nog enkele I/O pinnen vrij, maar niet veel. Ik heb dus een control panel gekocht waarbij de SPI bus die voor de SD kaart gebruikt wordt, ook gebruikt wordt voor het display.

Het display heeft een eigen CS lijn en MISO(POCI)/MOSI(PICO)/SCK 1 zijn gedeeld met de SD kaart. Zo zijn er minder pinnen nodig dan bij de ‘reprap discount smart controller’ (die bijvoorbeeld op mijn Mendel90 zit), waarbij een parallelle bus wordt gebruikt voor het display.

Het controllerbordje dat ik in deze blogpost op mijn leapfrog knutsel is een Bigtreetech mini12864 V2.0

Op de productfoto staat, behalve het display en de kabeltjes, ook een badeendje:

Toen ik het controllerbordje bestelde dacht ik “Dat badeendje wordt vast niet meegeleverd…”

Wel dus. De levering omvatte: Het controllerbordje, de kabeltjes (de FPC kabel zit bij de bandkabels in het zakje), en zowaar: Een badeendje. Behalve een kikker heb ik nu dus ook een eend.

Geniale reclame-actie, ik moest er om lachen toen ik het pakje openmaakte en vertel er mensen dus over. Meestal zeg ik er wel niet bij wie de verkoper was, maargoed.

Ik had nooit een badeend maar nu kan ik dus alle bugs in m’n software aan dat eendje uitleggen. Handig. Wellicht print ik er zelfs de uitbreidingsmodule voor.

Terug naar het controllerbordje: De handleiding ervan is hier te vinden. Het bordje is bedoeld om aangesloten te worden op EXP1 en EXP2 van een RAMPS-achtig printermoederbord. Zo heb ik het controllerboardje getest en alles functioneerde: de SD kaart is leesbaar, de rotary encoder werkt, en de WS2811 LED’s en de buzzer werken ook.

Het ‘moederbord’ van de leapfrog is een ander type (specifiek voor de Leapfrog) en heeft geen geen EXP1 en geen EXP2 aansluitingen. Ik heb een verloopkabeltje gemaakt zodat het controllerboardje toch aan te sluiten is, op de connectoren die deze print wel beschikbaar heeft.

Het controllerbordje werkte op de RAMPS-achtige print, maar voordat het op de leapfrog werkte bleken onderstaande details van belang:

Kijkend naar het schema van de FYSETC mini 12864 (in theorie is het dezelfde hardware) blijkt dat LCD_EN eigenlijk LCD_CS is, en dat LCD_CS eigenlijk LCD_A0 is, andersom dan wat ik dacht. Ook was het nodig om met M250 C255 het contrast op maximaal in te stellen (en dit op te slaan met M500).

Verder heeft het display een resetlijn, op D4. In theorie kan die open blijven of hoog worden gehouden, maar er een eigen pin aan toewijzen voorkomt het af-en-toe optreden van artifacts (lijnen in beeld, vooral).

De achtergrondverlichting en de verlichting van de knop van de rotary encoder bestaat uit ‘neopixels’ (WS2811//WS2812). Hun datalijn is in de pinout van bigtreetech niet gemarkeerd, deze zit op D5. Ook die is aangesloten, zodat het licht aan kan (en de kleur ervan kan worden ingesteld). Zonder achtergrondverlichting is het display niet prettig leesbaar.

De buzzer en de resetknop gebruik ik niet (al zou dat wel kunnen2).

De pinout waar ik uiteindelijk op uitkwam is als volgt:

MIN12864V2 pin labelLeapfrog pin labelMarlin #define in pins_LEAPFROG.h
5 V+5V ROT1 pin 1.
GNDGND ROT1 pin 2.
D7..
D6..
D545 HM1 pin 3#define NEOPIXEL_PIN 46 (in configuration.h)
D419 ROT2 pin 4#define LCD_RESET_PIN 19
LCD_EN (Zie tekst!)41 J1 pin 8#define DOGLCD_CS 41
LCD_CS (zie tekst!)46 DR1 pin 2#define DOGLCD_A0 46
BTN42 ROT2 pin 3#define BTN_ENC 42
BEEP.#define BEEPER_PIN 4 3
NC..
GND..
RSTNC / external reset.
SD_DET38 J1 pin 7#define SD_DETECT_PIN 38
SD_MOSI (PICO)MOSI (PICO), J1 pin 3(Hardware, niet configureerbaar)
ENCB43 ROT1 pin 4#define BTN_EN2 43  
SD_CSCS J1 pin 6#define SDSS 18
ENCA44 ROT1 pin 3#define BTN_EN1 44
SD_SCKSCK J1 pin 5(Hardware, niet configureerbaar)
SD_MISO (POCI)MISO (POCI) J1 pin 4(Hardware, niet configureerbaar)

Omdat het 1e kabeltje dat ik maakte te kort was om de voorkant van de printer te bereiken vanaf het ‘moederbord’ heb ik een tweede kabeltje gemaakt.

Hoe langer ik met die pinout bezig was hoe onduidelijker het werd. De pinnummering op de documentatie van het board is van links naar rechts, waar de connectors hun pin 1 markering aan de rechterkant hebben en dus van rechts naar links nummeren, en de IDC connectors bovendien verspringen, waardoor 1.2.3.4…7.8.9.10 dus niet 10.9.8…4.3.2.1 wordt maar 9.10.7.8…3.4.1.2 (zie foto).

Daarom is mijn advies (aan wie iets dergelijks ook wil doen): Meet voeding en ground na voordat je de voeding inschakelt. Dat houd de rook in de chips en dat is beter voor het milieu. (Op mijn RAMPS-achtige bordje bleken bovendien de EXP1 en EXP2 gespiegeld te zitten: Het nokje zit aan de andere kant dan je verwacht, waardoor voeding en ground anders uitkomen)

Na de pinout uitgezocht te hebben en de firmware aangepast te hebben, werkt het behalve op een RAMPS-compatible board, ook op het bord van de Leapfrog creatr:

En ook nadat het op de printer gemonteerd is (en van een behuizing voorzien):

Ik post deze blogpost in de hoop dat iemand anders die ook een display / controller op zijn/haar/hun leapfrog wil knutselen er iets aan heeft. De bestanden pins_LEAPFROG.h, configuration.h en configuration_adv.h die ik heb gewijzigd vind je in deze git gist.

Voetnoten:

  1. Ik ben nog erg gewend aan de termen MISO/MOSI omdat ik op die manier kennis maakte met SPI, en bovendien aan de sojasaus denk. Het gaat om dezelfde datasignalen: MOSI=PICO, MISO=POCI. De handleidingen van het display gebruiken de oude termen. ↩︎
  2. Op de print van de Leapfrog zit een aansluiting voor een externe resetknop, die zou gebruikt kunnen worden. Voor de buzzer kan evt. zelf een pin gekozen worden. ↩︎
  3. ‘4’ is de pin van de onboard buzzer. Die is op mijn print overigens niet geplaatst. Als je de speaker van het controllerprintje wilt gebruiken kun je daar een pin voor toewijzen op een nog vrije connector. ↩︎

Posted

in

,

by

Tags:

Comments

One response to “Display / controller op Leapfrog Creatr”

  1. Jan Avatar
    Jan

    Mooie upgrade het is nu weer een stukje praktischer geworden. mooie machine hoor. Ook leuk is die link/referentie naar de rubber ducky uitbreidingsmodule.

Leave a Reply

Your email address will not be published. Required fields are marked *