Hi everyone!
Will marlin work with MKS Robin?
We'll add it to the "to do" list. Thanks for visiting!
Cant wait for it. I think so many people stuck with their fw. Thank you.
I found this reverse engineered pinout for the MKS Robin while trying to find a solution, wonder if it will be of help to those trying to write a version of Marlin for it.
https://docs.google.com/spreadsheets/d/1xn-nZW4KOSEYWt05clBIl1fS5pS82zgXlpCp8Voftiw/edit#gid=0
Got it from this thread on RepRap.org:
https://reprap.org/forum/read.php?13,716774,page=3
I can create pinout files for MKS Robin, but i cannot test it.
So if someone with board can test i can do it
And display will not work it seems
i already flashed my board while i was trying to dump fw so i can be victim no problem 👍 Why do you think display wont work?
because this type of display seems not supported by marlin.
what type of stm32 is on Robin?
May be in future display can work. I think so its a TFT32 with ribbon connector. Its a F103ZET6.
yep, but display code running on same controller (not on separate one as on TFT24/32)
Can we assign different display such as RepRapDiscount Full Graphic Smart Controller?
Has there been any luck on getting Marlin to work with the MKS Robin?
And what about MKS Robin Lite?
i ordered two and will be shipping 1 to scott. just got them in and will ship 1 to scott sometime this week. will probably wait until friday since he is headed to makerfair nyc this weekend.
hey guys any update on this? just got me an MKS robin board, would love to try it out with Marlin!!
@washeree,
Original bootloader for MKS Robin (STM32F103ZET6) can be downloaded from https://reprap.org/forum/read.php?13,716774,839792#msg-839792
You can connect 'RepRapDiscount Smart Controller' or 'MKS MINI 12864' to MKS Robin, but the 'RepRapDiscount Full Graphic Smart Controller' is not supported for STM32F1 HAL yet.
http://3dtoday.ru/upload/main/bba/bba66777a72d90df6aeaf7ff0ea514ba.jpg
I can say Scott just moved. So don't know what the status is. I figured he would get to it when he got to it. I still haven't tried it in its stock form yet. But I'm lazy
So can I just flash mine using Marlin 2.0 and platform.io and use the STM32F1 Hall? I can take care of the pins assignment from a spreadsheet I have that has all the pins definition for Robin....
@imrj How about creating your own pins file for the MKS Robin to give it a try?
I think you can follow the idea here. If it works, you can then send a pull request for it to be added into the 2.0 branch.
@imrj, MKS Robin has it's own build environment in platformio.ini file - "mks_robin", it has the right HAL and encryption feature to use Marlin with original MKS bootloader (i.e. install/update Markin from SD card)
Problem is that recent changes messed with configuration examples and STM32F1 HAL, so right now bugfix-2.0.x does not work on MKS Robin.
Also these is an open pull request https://github.com/MarlinFirmware/Marlin/pull/12782 to add support for SD card on SDIO interface used on Robin board.
There is no need to write your own pins file - Marlin/src/pins/pin_MKS_ROBIN.h already contains pins definition for MKS Robin board. Add #define MOTHERBOARD BOARD_MKS_ROBIN
in your Configuration.h to use it.
If you want to try Marlin 2.0 you can use code from Implement-SDIO-support-for-STM32F1
and replace files
Marlin/src/HAL/HAL_STM32F1/watchdog_STM32F1.cpp
Marlin/src/HAL/HAL_STM32F1/watchdog_STM32F1.h
by
watchdog_STM32F1.cpp
watchdog_STM32F1.h
Configuration.h and Configuration_adv.h should be copied from Marlin/src/config/examples/Mks/Robin
This will get you the funtionality Marlin will have once SDIO code is merged and STM32F1 HAL is fixed.
MKS Robin TFT is used to display standard graphics 12864 UI - https://ibb.co/0sbJKXT
Please note that you will need encoder to get access to menu.
Once Marlin is compiled, look for Robin.bin in .pioenvs\mks_robin directory. You need to copy this file to SD card for firmware update. And yes, you can go back to original firmware after you've installed Marlin from SD card.
Alternatively you can use code from MKS-Robin-Touch-POC
It is already had Configuration.h and Configuration_adv.h setup for MKS Robin.
Along with support of on-board SD card this code provides you three on-screen buttons to access menu, and colored screen that indicates print progress (PRINTER_EVENT_LEDS feature). Or you can use M150 to set screens' color.
https://ibb.co/p1Z9Q2K
Screen's color here is actually green - an indication of completed print from SD card.
If you have wiped your bootloader you can either flash bootloader using file linked in my earlier comment, or remove the "extra_scripts" line from "[env:mks_robin]" section of platform.ini. Without "extra_scripts" option the marlin firmware will be compiled to use with no bootloader, just flash the firmware.bin using STLink.
Update 1: Implement-SDIO-support-for-STM32F1 merged into bugfix-2.0.x. Main repository should be used for no-touch-screen configuration.
Update 2: MKS Robin uses SPI2 to access touch screen controller.
You need to update file .platformio\packages\framework-arduinoststm32\STM32F1\libraries\SPI\src\SPI.cpp - change SPIClass SPI(1); to SPIClass SPI(2);
@jmz52, Thank you so much for bringing Marlin to the MKS Robin! I tried building Marlin for MKS Robin from MKS-Robin-Touch-POC However, I get the immediate error of
Error: Unknown board ID 'genericSTM32F103ZE'
I know this is a supported board, so I don't know what I'm doing wrong.
If I use the AutoBuild suggested by Marlin, the build gets a little farther, however, I noticed it's building for genericSTM32F103RE.
@Sneakers82, you need to update STM32 packages used by PlatformIO.
One way to do it is to remove .platformio\platforms\ststm32 from your user's environment directory to force PlatformIO to download latest version.
Also you need to update file .platformio\packages\framework-arduinoststm32\STM32F1\libraries\SPI\src\SPI.cpp - change SPIClass SPI(1);
to SPIClass SPI(2);
MKS Robin uses SPI2 to access touch screen controller.
What version of MKS Robin board and MKS Robin TFT you have?
Mine are v2.4 and TFT_v2.0, so this is what have been tested so far. Robin v2.3 with TFT_v1.1 has different (meaning - incompatible) LCD controller and different Touch Screen connection.
I am working on this but code is not ready to be pushed to GitHub yet.
@jmz52, Thanks! That worked perfectly!
I don't have the board yet. My Geeetech A30 died some time ago and I was digging through the Marlin firmware to find a suitable replacement board and the MKS Robin seemed like the perfect replacement. I was just trying to make sure I could build Marlin before ordering the board.
Thanks again for your help!
@jmz52 nice work really, thanks a lot. It was a big news for everyone i think so. My board is v2.3 and tft as you said v1.1 so bootloader is different or same? In my opinion they changed some pins?
@washeree, bootloader v2.3 might be different, but pins are the same - all revisions of MKS Robin use the same firmware. There should not be any problems with older versions of bootloader. And I have a confirmation that v2.4 bootloader is working on v2.3 board.
MKS-Robin-Touch-POC updated to support ili9328 controller found in TFT v1.1.
There are two sets of touch screen calibration parameters in Marlin\src\HAL\HAL_STM32F1\xpt2046.h
one for TFT v2.0 (default) and another one for TFT v1.1.
You might calibrate your touch screen using this "calibration tool"
It will also show you what LCD controller is installed in your display module.
Please let me know if controller is not the ili9328.
@jmz52 Thanks a lot for your help jmz52, some how i couldnt compile marlin via vs code with pio. It gaves lots of errors. Im installing atom now lets see if it make differences. I compiled with Atom with errors now i have Robin.bin. Btw i flash it with your bootloader by stlink and copy robin original fw files to sd card now im getting on screen completed message thats all nothing else. Really interesting :)
@jmz52 my screen is 8239ili
@washeree, can you please make a screenshot for me? Looks like x coordinate is inverted.
@jmz52
Looks like yes ;)
@washeree, should be working now. Fortunately that was a bug in calibration tool and the incorrect initialization sequence.
@jmz52, so i will setup marlin and then use your calibration tool or still no chance v1.1 lcd working on marlin? Btw thanks a lot for your hard work again.
@washeree, MKS-Robin-Touch-POC supports MKS Robin TFT v1.1. You can try calibration parameters for v1.1 that are already present in Marlin\src\HAL\HAL_STM32F1\xpt2046.h (you need to comment v1.1 set of parameters). If these will not be accurate enough for you, use calibration tool to get values for your screen.
Marlin bugfix-2.0.x does not support v1.1 yet. There are several code changes I want to make before submitting pull request.
@jmz52 thank you. I made it work, your values on Y axis little bit different then mine. Next week i will try with my p3steel. I wish i can code these things too. Do you have bed temp problem on Robin since i have it it shows 230C? I changed the pin and assign heaters2 to the hotbed now reading 238C, really interesting :)
@washeree the bed sensor works fine for me and some other folks who are using Marlin on their Robin boards (v2.4 and v2.3). Are 230 and 238 degrees measured on cold (i.e. room temperature) bed or heated one?
What type of sensor is configured in your Configuration.h file?
Please check if you get -14 degrees when sensor is not connected and TEMP_SENSOR_BED is set to 1.
@jmz52 Hotend measuring 38C, my room is 23C. It was same issue when i was using original Robin fw. In Configuration.h file sensor type is 1 and when i dont connect any sensor its measuring same value which is interesting too.
i changed pins_MKS_ROBIN.h these values but still same.
In Configuration.h i changed #define TEMP_SENSOR_BED 11 now its showing 250 :)
I have chinese 100k NTC 3950 termistors, im using it with ramps with select termistor type 1 but i think so Robin doesnt like them. I checked 6 different termistors with multimeter all fine but results are same.
I connected my e3dv6 semitec termistor now its measuring 215C.
And lastly Dumy_temp working fine.
@jmz52 , I've spent the last two days wanting to throw this board against the wall. I'm having trouble compiling, going over and over the steps you took to make it work... Is there possibly something that could go wrong? I've completely reinstalled everything and started with fresh files, without editing them so not sure where I'm messing up.
Got the Robin V2.4 wit V2 TFT
@PhantomNix hello, i was having problem while compiling then i tried Atom IDE and all was fine some how with vs code couldnt compile it. I hope it helps.
@jmz52 one last thing robin use which pins while compiling? pins_MKS_ROBIN.h ?
Yep, that's the one
On Sun, 13 Jan 2019 at 21:45, WaShErE® notifications@github.com wrote:
@jmz52 https://github.com/jmz52 one last thing robin use which pins
while compiling? pins_MKS_ROBIN.h ?—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MarlinFirmware/Marlin/issues/9771#issuecomment-453859370,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AoOs0D3s0Nv9mpQHqronlg-yq4fpPhT9ks5vC4zPgaJpZM4SQoLo
.
@PhantomNix I am using PlatformIO with Atom. Were you able to compile Marlin with these?
@washeree, it looks like hardware problems with MCU. Disconnected temperature sensor with type 1 in Configuration.h should give you a -14 degrees. Different Reading you are getting indicate that there is either electrical problems with board (like failed resistors or capacitors or conductive dust) or failed MCU. Since you are getting same reading on all three temperature inputs and you have same reading ion both Marlin and MKS firmware, I suspect that MCU is the the one to blame.
thank you @jmz52, i thought same and i checked in front of pin cap and res all are fine then i think MCU pin fried or dust with compressor i clean it and i tried same results. I will look for stm32f1 from china, will swap and reflash then lets see. Tahnk you again.
Hi, anybody who can help? I have a question
Is it possible to add uart port for TMC2208?
If have, which port can be used for this job
Now it works ! Thanks so much jmz52 for your bootloader 👍
https://ibb.co/x86mvxp
Now I'm going to compile Marlin 2.0 and try...
Compilation done with success on Atom/plaformio , LCD support great on your repo (POC) !
https://ibb.co/Q6NvMdY
I'm going to try it tomorrow with motors and TMC 2208.
Thanks again jmz !
@userosos
This Issue Queue is for Marlin bug reports and development-related issues, and we prefer not to handle user-support questions here. (As noted on this page.) For best results getting help with configuration and troubleshooting, please use the following resources:
After seeking help from the community, if the consensus points to to a bug in Marlin, then you should post a bug report.
Found the schematic diagram of MKS Robin has been open source:
https://github.com/makerbase-mks/MKS-Robin/tree/master/MKS%20Robin/Hardware
And also the MKS Robin2, which using the STM32F407 power mcu:
https://github.com/makerbase-mks/MKS-Robin/tree/master/MKS%20Robin2/Hardware
Hello, is Marlin supported for STM32F103VET6 MKS Robin Mini ???
@nanokarlo
There is a fork of Marlin that supports MKS Robin Mini - https://github.com/berghauz/Marlin-bugfix-2.0.x-FLSUN-QQ-S
More information can be found at https://www.facebook.com/groups/120961628750040?view=permalink&id=404428707069996&anchor_composer=false
Can someone clarify what is the status with mks robin and TFT in Marlin 2.x i see configuration files and the board seems to be supported out of the box. But TFT doesnt work at all. u8g_com_stm32duino_fsmc.cpp doesnt have any dma code. TFT works with fsmc.cpp from jmz52 fork and lcd 320x240_upscale class tho. So I guess its still not merged? Thank you
@jmz52 tft v1.1 touch scrren ok.Mks robin v 2.2 board
SD card problem. No SD Card
What should I do for sd card
can anybody is having detailed step by step procedure to flashing of mks robin v2.4 board? Thank you
@github051
Sorry for the questions. Is it possible to port this to a Tronxy Mainboard CXY (aka Chitu f mini) first view looks like same hardware.
I wrote this for another STM32 printer. Hope this marlin 2.0 compile guide helps you get started.
If you're compiling from this marlin branch, make sure you have changed the default machine in platformio.ini, as well as using the correct configuration.h and configuration_adv.h so that it compiles for the right machine with the right settings.
For more detailed help, join the Marlin Discord chat, and give us some more specific details about which printer etc you are using.
@pinchies thanks for helping, but i can't compile without error
i have take configuration.h and configuration_adv.h here : https://github.com/makerbase-mks/MKS-Robin/tree/master/MKS%20Robin/firmware/Marlin2.0-MKS-Robin/Marlin
i use your source and tuto
platformio.ini change to environement "mks_robin"
Marlin\src\HAL\HAL_STM32F1\u8g_com_stm32duino_fsmc.cpp:35:10: fatal error: U8glib.h: No such file or directory
(monochrome 8b lib, necessary ?)
sorry i'm newbie in firmaware environement and programming (and french...)
@0bey
You need to remove U8glib-HAL
from lib_ignore
in platformio.ini file. It really should not be there for MKS Robin, but this line keeps getting back over and over again.
Configuration files for MKS Robin are located in https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x/config/examples/Mks/Robin.
Configuration files you were trying to use are for different code base - https://github.com/jmz52/Marlin/tree/MKS-Robin-Touch-POC. This code is a bit outdated proof-of-concept and is not part of main Marlin repository. Configuration files from this branch are not fully compatible with main Marlin repository.
Hey @jmz52
I use official source, use exemple configuration.h et configuration_adv.h for mks_robin and U8glib-HAL
Compilation it's OK :)
Thx for help
Now, I learn to configure before try on my alphawise U20
Hi, sorry i have absolutly no idea what i do here :-) but i need only Marlin 2.0 on my Robin 2.3 Board :-)
I Hope the community here can help me out to get it worked:
lib_ignore =
U8glib
LiquidCrystal_I2C
LiquidCrystal
NewliquidCrystal
LiquidTWI2
Adafruit NeoPixel
TMCStepper
Servo(STM32F1)
TMC26XStepper
U8glib-HAL
c1921b4
at 347 shlould i delete only this one? i tried it and got after save same U8Glib-Hal fails.
@0bey how do u get it work? did i miss a step?
This morning I use same source without problem
@AndroWolf did you try without U8glib-HAL from platformio.ini like say jmz52 ?
only find and delete? "U8glib-HAL"
5x
i got now:
In file included from Marlin\src\HAL\HAL_STM32F1\HAL.cpp:36:0:
C:\Users\Kartonka\.platformio\packages\framework-arduinoststm32\STM32F1\libraries\SPI\src/SPI.h:167:15: warning: '_spi3_this' defined but not used [-Wunused-variable]
static void (*_spi3_this);
^~~~~~~~~~
C:\Users\Kartonka\.platformio\packages\framework-arduinoststm32\STM32F1\libraries\SPI\src/SPI.h:165:15: warning: '_spi2_this' defined but not used [-Wunused-variable]
static void (*_spi2_this);
^~~~~~~~~~
C:\Users\Kartonka\.platformio\packages\framework-arduinoststm32\STM32F1\libraries\SPI\src/SPI.h:164:15: warning: '_spi1_this' defined but not used [-Wunused-variable]
static void (*_spi1_this);
^~~~~~~~~~
C:\Users\Kartonka\.platformio\packages\framework-arduinoststm32\STM32F1\libraries\SPI\src/SPI.h:163:16: warning: 'ff' defined but not used [-Wunused-variable]
static uint8_t ff = 0XFF;
^~
In file included from Marlin\src\HAL\HAL_STM32F1\HAL.cpp:34:0:
Marlin\src\HAL\HAL_STM32F1\HAL.h:188:12: warning: 'int freeMemory()' defined but not used [-Wunused-function]
static int freeMemory() {
^~~~~~~~~~
and more many other files :-) can upload a full log file but where?
This morning I use same source without problem
@AndroWolf did you try without U8glib-HAL from platformio.ini like say jmz52 ?
i think i have something not installed or missed? sad that there not a list what tools or programm i need to build this robin.bin xD
SD Card not ready :((
@1kemanciii
i have same problem with you, mks robin v 2.2, tft v1.1R,
no SD card
I finally got it to work with the SD card.
the pins-Mks-Robin.h was not complete
I added the remaining Pins and deactivated the SD-Detect_pin
I downloaded the firmware from Makerbase's github.
so now, I can manually mount the SD card and "print" (no yet mounted onto my printer) from SD card.
Mks-Robin V2.1
Robin TFT V1.0 R0
thank you @jmz52 you have a lot of input in this project and I red a lot form your posts.
below is my portion of pins_MKS-Robin.h
//#define SD card
#define SD_DETECT_PIN -1//PF12
#define SDSS PD2 //PF12 // was missing
#define SCK_PIN PC12
#define MISO_PIN PC8
#define MOSI_PIN PD2
#define SS_PIN -1 // Chip select for SD card used by Marlin
#define ONBOARD_SD_CS PC11
Thank you @jmz52 for all your code and 3Dangel with sd card
now , i can use mks robin with sd card
Caothai
I am so happy that I help in this way!!!
Feels really good.
Cheers!!!
On Tue, Jul 30, 2019 at 00:48 caothai notifications@github.com wrote:
Thank you @jmz52 https://github.com/jmz52 for your all code and 3Dangel
with sd card
now , i can use mks robin with sd card—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MarlinFirmware/Marlin/issues/9771?email_source=notifications&email_token=AFYWWXJGHTDEZM27NQI4JC3QB7P3RA5CNFSM4ESCQLUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3C63IY#issuecomment-516287907,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFYWWXMHJTLL6W6F6HYVOX3QB7P3RANCNFSM4ESCQLUA
.
#define SCK_PIN P12
What is P12 supposed to actually be?
seems PC12 https://github.com/makerbase-mks/MKS-Robin/blob/master/MKS%20Robin2/Hardware/MKS%20Robin2%20V1.0_002%20SCH.pdf page 0 of 0 (lol, almost in the middle, the big chip page) same on Robin "1" https://github.com/makerbase-mks/MKS-Robin/blob/master/MKS%20Robin/Hardware/MKS%20Robin%20V2.3_001%20SCH.pdf
Easy way to do this is to send a board to one of the devs. Without it it's doubtful it will be ported
Sent from Yahoo Mail on Android
On Wed, Jun 19, 2019 at 2:25 AM, BigDinotifications@github.com wrote:
Sorry for the questions. Is it possible to port this to a Tronxy Mainboard CXY (aka Chitu f mini) first view looks like same hardware.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
hello guys,
you were right... I missed the "c".
It is PC12.
I think the dev had the board on hand to get things going thus far....
grateful for what has been accomplished so far!!!
@jmz52 I have compiled the Marlin version of yours and it gave a file of 147kb. I flashed it and it just kept getting stuck at Booting -- Complete.
I tried flashing back to stock firmware and it now also is stuck at Complete after rebooting. I have tried flashing the bootloader file you have... (renaming as Robin.bin?) and still same result.
All fixed with a different SD card going back to stock, however compiled Marlin is still not working.
THIS IS RESOLVED... WAS A PIN CONFLICT - Hi Guys, I have an MKS Robin Mini that I have been able to successfully compile Marlin 2.0 and flash to the board. Everything works.... X, Y, Z all move as expected.. SD works, touch screen works, Hot End and bed both heat... the only issue I am having is that I cannot get the Extruder to move. No matter how I try, Pronterface or Octoprint control interface or just printing... everything moves as it should but the Extruder will not feed any filament. There is no clicking, whining or squealing to indicate like low stepper motor current or anything, just no movement at all. If I flash back to the MKS firmware it works fine and I can print no problem, but when I flash marlin back all works but the Extruder motor. I cannot find anything in Configuration.h, configuration_adv.h, or MKS_ROBIN_MINI_Pins.h that stands out as the issue. Can you provide any help at all on this?
As a point of interest, I contacted the printer support to see if they had any info and the tech there had the same exact result with the same printer using a Robin Mini... everything works but the E Stepper motor.
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Most helpful comment
We'll add it to the "to do" list. Thanks for visiting!