Holy crap. Best videos yet on how to do this. You are a fantastic instructor not taking the knowledge or lack there of for granted with your audience. Not assuming anything.
Chris, really good information. I was able to get Marlin 2.0.5.4 up and running last night. One issue I ran into is that with my BTT TFT35 v3.0 in touch screen mode I could not get the "no printer connected" error to go away. Tried swapping ports, disabling CR10_STOCKDISPLAY and enabling REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER, which I found the reprap controller is not compatible with the SKR E3 Mini 1.2 board. So went back to CR10_STOCKDISPLAY. What finally worked is I went out and looked at the BigTreeTech github for the SKR E3 Mini 1.2 board and found how they configured their serial ports. I put this information below and now everything is work. Someone else probably already figured this out, but if not maybe it saves someone some time. #define SERIAL_PORT 2 /** * Select a secondary serial port on the board to use for communication with the host. * :[-1, 0, 1, 2, 3, 4, 5, 6, 7] */ #define SERIAL_PORT_2 -1
Thanks Chris! this video helped a lot. I updated the SKR 1.3 Mini v1.2 to Marlin 2.0.7.2 What helped me was uploading my board in PIO home, and selecting the STM32F103RC. for some odd reason this is the only way I could compile without getting errors. I followed the rest of your video to a T I am up with sensorless homing and printing well.
This video was a tremendous help, compiling for my SKR E3 mini V2.0, with VScode and PlatformIO. I only used Arduino IDE before, with the stock Creality board. This video, and the one about bed leveling saved me a lot of time!
Thank you Chris, I just ordered my first ender3 and was intimidated to upgrade it with zero idea about Marlin and stuff. Glad I found your channel, you're a great teacher :)
Thank you Chris for all of the info it definitely helps out a newbie such as myself. I was having a bit of problems in vscode so I ended up just slapping the bltouch firmware in the printer from the btt github just so I could get everything up and running. I think I've since resolved my vscode issues and believe i was trying to view and edit in the wrong environment thus all of my errors. Looking forward to going back through all of your videos surrounding this board/bltouch firmware to get in there and customize it a bit more, hopefully open up abl a bit further. Definitely appreciate all of the work and videos you have put up trying to teach people the technical stuff and how it all works.
8h into trying to figure out why I can't compile firmware so I can use BLTouch.. Finally found a video that made things much clearer and had a first successful build :D
I can't understand why this channel doesn't have like at least 200K subscribers. always great informative videos, always exactly what I need as an info. just great!
Thanks for this video, I am getting a compile error. ".pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope" ... any ideas?
Found this buried within the comments and I followed it to finally get a successful compile: kingofnfsfan 14 hours ago Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible. Quick fix: 1. Open the "platformio.ini" in your Marlin folder 2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip 3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip 4. Save I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
Got the SKR Mini running, it just so quiet even compared to the Quiet board I had in my Ender 3 previously. Huge improvement!! Menus are slightly different but now I have dialed it in I would honestly say its a great update. The only issue I have had was when I tried to pause a print it just locked up.
I don't know what I would do without your videos! Extremely helpful, as all your content I watched. I did not uncomment sensorless homing. The printer has the endstops, so why not use them (seriously, is there any advantage?). Had problems with the include path under Ubuntu. I simply added a folder manually. Then it worked. Next step will be manual mesh bed levelling. I feel well prepared, thanks to your instructions. My hero!
Great to hear! No need to use sensorless homing if you have endstops, they both work well. I would use the switches rather than sensorless if I had a choice.
@@ChrisRiley They may be fairly common since Amazon was selling them for $10, making it attractive for cheapskates such as myself. It was probably just a clearance sale to make way for the current version. Thank you for mentioning the firmware renaming. I noticed that booting the printer was always slow, so I will try renaming to firmware.cur to see if it improves. On PlatformIO, I had the problem of library updates messing up the build so I'd caution users to avoid updating a project's libraries once it is successfully building.
Thanks to everyone that posted this fix, it has helped a lot of people. Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible. Quick fix: 1. Open the "platformio.ini" in your Marlin folder 2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip 3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip 4. Save I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081 Add on line 46 in platformio.ini file: board_build.core = maple
nothing helps me. I keep getting the message "Cannot find "c:\Users\eyalsi\Desktop\marlin_temp\Marlin-2.0.5.3_skrmini\Marlin-2.0.5.3_skrmini\include"." I did all the above and yet keeps on popping
@@ChrisRiley Moved to C root and still the same. I noticed that the "include" folder does not exist so I have created it. those errors are gone now. compiled with successes!
Also...you should probably mention in this video that platformIO is not in default visual studio and must be added via extension. I just realized I'm complaining mostly here. Thanks so much for the video. I think it is a MUCH needed resource for us noobs. Just...consider some of my comments as possible notes for improvement. Thank you for posting this.
Chris, as always very helpful. Awhile back you reviewed the TFT35 e3 with the SKR Mini e3 v1.2 and I asked you if you could flash the SKR Mini from the TFT35 SD card reader. You replied: “Good question, but you didn’t know”. I checked with BTT and they said No. I wish there was other ways to flash the SKR Mini as I am rebuilding the entire under carriage to better wire up the Ender 3 with mods I think are useful. I’m adding 4 cases to the base of the printer, all accessible from the top: Front left: SKR Mini case w/ fan. Front right: Raspberry Pi case. Back left: Cable connection case for Y-Axis, fans, thermistors, 24vdc etc. Back right: On/off relay (Pi controlled for 120vac in) & small 24vdc LED power supply case. Having to add an external full size SD card reader for the sole purpose of flashing the SKR mini should be unnecessary.
I don't think there's much that could be done about this, as far as I know the bootloader on these boards is not open source and that limits the possibility of modding it to communicate with the screen via serial so it can look for the firmware.bin file.
@@oriongaby Thanks, That's sorta what I was thinking Oh well I guess I'll have to add an external SD card reader. Won't be hard just, running out of room. Thanks again.
Hey Chris, Thank you so much for this, it is hard trying to find a tutorial to understand on how to work this printer and board together as well as how to load firmware on to it. I can't wait for your BL Touch one as that is the next thing I have to install next week.
How about reporting on the fact that the skr mini e3 both versions has a large failure rate of the X axis driver and it gives you TMC connection error. I got my 1.2 version nearly 3 weeks ago, updated to the latest official firmware and in less then 1 hour of printing it died. I had very good cable clearance not covering the heat sinks. I have been trying to contact Bigtree daily on how to get a replacement or return it, but they still have not replied for 2 weeks which left me to go through Paypal to recover my money.
I couldn't get this to work until instead of copy/paste the original Ender3 config and config.adv files, I used the BTT config and config.adv files from the latest BTT SKR MINI E3 v1.2 github. That left me with the adafruit errors that are fixed by changing the path in platformio.ini as described elsewere in the comments below. That finally allowed me to get a successful build.
Also I can't discount that my problem was self induced to some extent. The case of changing more than a single variable in each attempt. I have not gone back and tried again with the original ender files...just too happy its working. I will say that I enjoy your videos...comprehensive, succint and well ordered. Keep it up.
Dear Chris Care to elaborate how you manage to connect the SKR Mini board with Proterface? Windows 10 64 bits apparently doesn't recognize the maple drivers
Seriously man, what kind of SD cards are you using that you need a hand-truck to get them to your printer? Thanks for all the great things you do. I got that BTT E3 Mini combo and this came in quite handy.
My BigTreeTech SKR MIni E3 board had the TMC Communications Error that many have also had. SO my board is toast unless someone has a solution to that TMC error problem.
@ MrGrantdw Finally got a compile with no error message: compile error. ".pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope" Also, Finally have a compile file that loads on printer without the error: TMC connection error Both solved with following Chris' great video and one extra step... Details can be found here: github.com/MarlinFirmware/Marlin/issues/18081 In a nutshell, change the following entry in your platformio.ini: Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip To: Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
I just spent the last 3 days trying to get a bltouch working with the SKR Mini 1.2 and getting the TMC communication error. Printer appears to work, but a test print made a skewed object sheared along Y, and the stepper was really really hot. Reflashed with original BTT fireware and TMC comms error goes away. platformio.ini build flags contain -DHAVE_SW_SERIAL, which is apparently required for the BTT+TMCs, but every time I compile and install, I get the TMC error. Am getting close to throwing the bltouch out of the window!
Thank you for the videos! Not using sensorless homing, but everything else was very helpful. Used your installation vid for the board installation also.
Between versions of marlin 2.x.x whatever, is the configuration.h and configuration.adv.h not commonised? It's a pain in the arse to keep updating it every time there is a version change you want. I've not tried it, but off top of my head I'm on an earlier 2.0.something, 1 or 2 maybe, but if I want the latest it would be good to just copy my 2 configs to the latest release / bugfix folder and all be set ready to build. Spent a long time tweaking settings, and cross checking takes ages. Any thoughts?
mine keeps saying Cannot find "c:\Users\chris\Downloads\Marlin-2.0.5.3_SKR_MINIE3\Marlin-2.0.x\include". any idea what i can do to solve this, it does compile the whole file successfully but these errors remain
When I move to build after choosing the environment, it says Event_Gcode_SD_Stop is now Event_Gcode_Sd_abort and wont compile. I search the file and there are no lines that have this code in it, so I have no idea how to fix this.
if you get (FileNotFoundError: [Errno 2] No such file or directory) the folder name is probably too long, some of my folders were "marlin_2.0.5.3_skr_mini_e3_v1.2" i had to change to "marlin_2.0.5.3_skr_mini" and then it worked. you will get the problem if any part of the address is too long, vscode just doesn't like it. i'm just a noob so this was learning by doing/failing, any way, thanks for the help, great instructions,great basement.
Hey i have set up a printer based on that board and configuration, and everything looks okey accept of the ekstrusion. I have set up correct steps in prontoface, but when I start a print, it prints fine for about 3mm im hight, then underekstrude for couple of layers and back for normal ekstrusion. So i have waves along z axis, small or big print, everytime on same hight. I have tried different currents but did not help. Any idea how can I fix that?
That's a strange one, that sounds like something mechanical, like the extruder gear or something. I guess it could be caused by the driver getting to hot.
got the firmware successfully running on my Ender 5 + BLtouch however, I noticed that on the SKR Board my two 5015 partcooling fans go nuts in terms of vibration, you can hear and FEEL it at any speed. It's really bad at 100% and for some reason they don't turn off at 0 any suggestions? I didn't have that issue with the stock or silent creality board running both Marlin 1.6 and the newest 2.0.5.3
These boards aren't known for the best components. It could be the voltage regulator. Test your pin voltages, I would be curious to see what they were running at.
Chris. I do not see any of the board info showing up in project tasks to choose my environment. Is there something I’m doing wrong how do I get the boards to show up?
Hi Chris, hanks for putting both this and your other guide of setting up VSC. I have followed the steps and unfortunately cannot compile the code. I get the following error: "pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:42:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope" whether I compile under STM32F103RC-btt-512K or STM32F103RC-btt. Do you have any thoughts on what might be going on?
Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible. Quick fix: 1. Open the "platformio.ini" in your Marlin folder 2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip 3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip 4. Save I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
you need to download the extension. on the left side of visual studio code you wil see EXTENSIONS its has 4 squares and ones floating off. then use the search bar and find PlatformIO IDE. install that. then the little platform io will show up GL
@@ChrisRiley Thanks my new SKR mini e3 v1.2 just gives either a constant beep and hangs when you turn it on or a hotbed thermal runaway error, this is driving me nuts for a so called plug and play board, hope this will fix it
Hi Chris, Great video. I have an Ender3 Pro that I put an SKR mini E3 1.2 board with TTS35 touchscreen and a BLTouch. Before the board install the BLTouch and everything worked, printed great. Everything is wired correctly but, when it auto homes, it drives the nozzle int to bed and will not stop. I think it is firmware related. I am very new to all of this but, spent days trying to build/revise the firmware and i cannot get it to compile. I followed your video and i get errors that i need to update the file but, I don't know how. The firmware that came with the board is 2.0.53. Any ideas or can you point me to a working firmware for my configuration? Thanks in advance, Rob
I tried for ages to get a successful compile and nothing worked. Then I noticed that I had my VPN on, switched it off and all worked perfectly. I guess some of the vscode file downloads were affected?
Hey Chris, when I bought the SKR MINI E3 V1.2 it was also a package with the TFT35 display, would you happen to have a tutorial on how to update firmware for both? I know I'm asking a lot, but I'm old and this is a new technology field I'm learning...
Can the Mini E3 v1.2 be used for a custom CoreXY build with the correct marlin configuration for such a machine? Hard to beat that price with the built in 2209s rather than the SKR 1.4 + drivers.
yeah you might wanna update the Title bud, there are actually 3 SKR Minis, the SKR Mini V1.1 is basically a mini SKR V1.3. the SKR Mini E3 is the Ender 3 drop in, and the SKR Mini E3 DIP is the ender 3 drop in board with replacable drivers. whilst people have a fair bit of luck with the second two, the frst seems to be nothing but trouble (source: me, i have one)
Hey Chris, how did you get that platformio icon on the left side for your options to test the compile? I dont have that icon and its an updated version of VS Code and i have not a clue how to even test the compile without your step by step lol... thank you in advance!!
@@ChrisRiley i honestly had no clue about that video yet.. i searched SKR marlin config videos and yours looked the best so went for it.. i will check it out!! Thank you very much for the fast reply. Subscribed! Cheers
I was following and copying everything you were doing right up to the point where you clicked on the little alien on the left side (PlatformIO) and that's when I realised I didn't have this on my VS code. How do I enable it or do I need a new or different version of VS code?
Just a little note fwiw, I noticed there is a config in the examples folder for BigTreeTech/SKR Mini v1.2 You may be able to save a few steps when editing in VSCode.
hello Chris, but the SKR mini v1.2 board can I mount it directly on my ender3 pro including the bltouch v3? I read that I already get complete firmware for my printer and there is no need to do anything else: will it work well together with the bltouch? thanks!!!
Genuine question: can someone explain why you would want to do sensorless homing? The Ender3 has limit switches, why not use them instead of ramming bed / carriage into the frame? And I've read that sensorless is also less accurate than using the limit switches as per this article www.th3dstudio.com/2019/12/11/ezboard-lite-why-do-you-use-the-tmc-2208-instead-of-tmc-2209-drivers/ But despite all this, it seems like lots of people want to do it. What are the advantages? Thanks for any insight!
Hey Scott, it's a fair question and I do think it is less accurate. As of right now in Marlin, all I can see it that is makes a printer a bit easier to design and build when you don't have to plan for endstops. Now when Marlin catches up to Prusa and we can track steps on the fly that will make stall guard more useful. We can detect skip steps.
@@ChrisRiley So for now, there are no big advantages, but it might be something to look out for in the future I guess? I take your point about creating a printer from scratch though, that would simplify the wiring. Thanks for replying.
Got a SKR E3 v1.2 mainly for noise reduction but as I understand also for more easy firmware upload without bootloader. I really wanna enable mesh bed leveling,but all this "tech" talk is going over my head. Could you do a step by step guide in enabling mesh bed leveling and uploading firmware? I have Marlin 2.xx on my Ender3Pro now after installing the SKR board. Thx in advance for any help 😊
Hi Chris, can I ask a Marlin 2 question? How do I add menu items? In Arduino IDE I would add an entry in ultralcd.ccp but I can't find it in VS. All I want is the option to disable X,Y. Where can I add the appropriate M84 code. Thank you.
Wow, thanks for such a rapid response, I very much appreciate it. A year ago I had never heard of Marlin, just got comfortable with Arduino IDE and now I have to start again😀 Thank you
Great video, Chris! Thanks for posting. My son's friend modified his Ender 3 to 400,400,500 and added the BTT SKR Mini 1.2 card but had trouble with new firmware. I used your video to learn how to create new firmware and it worked. I initially had a compiler error but in the compile folder on GitHub was a suggested change to the #Adafruit_Max31865 line in the platformio.io file and that fixed the issue. I was able to compile a new firmware and load it into the card. Need to figure out how to talk to it via USB on my Mac to clear the EEPROM error code.
Chris, I need to know how to get s curve adjust to show up on Ender 3 menu. I tried uncommenting it in visual before installing the firmware, but it does not appear in any menus.
Chris - awesome video. This will be incredibly helpful getting BTT SKR Mini E3 V3 going with BLTouch. One question: I'm new to Studio Code. When you go to build the config.h file you have "environments" above the Quick Access bar that you use. Did you custom build those environments or do you install/enable them from somewhere?
Thanks! The easiest way to do that now is to use the Marlin extension, it handles the environment for you. Check this out. ruclips.net/video/YDvFN51siMU/видео.html
Yes Please, BLT with some speed increases and maybe some Linear Advance as I feel that is a huge benefit to using the 2209's. i could be wrong though. =) thanks for this set of vids. I spent a lot of hours searching for a firmware how to in the last few months, with little luck on finding current working guides/vids.
I have a dual z setup and I was wondering if I had to increase the current to power the 2 motors? And if so how much current should I use for the 2 steppers? All the info in the video was pretty useful, thanks👍
Hey Chris, love your videos. I have a newbie question. What software are you using to do all this editing and viewing the Marlin files? I am very green and I plan to follow your video when my BigTreeTech SKR MINI E3 comes in for my Ender 3 pro.
Hi Chris, is there a way to set a 3d printer to self adjust as the Prusa does? I have the Tevo Tornado(Cr10) on an skr 1.3. I would love my printer to self level x as the Prusa does, is this possible?
There were some options out there that kind of did this, but I don't think they worked very well and were removed from Marlin. Currently I don't know of a way to do it.
@@ChrisRiley Thank you for your reply Chris, keep doing what your doing mate the way you do it. Fantastic videos helped me alot thank you. Be great if something comes out to include that option.
When I try to build the file it gives me the errors Adafruit_I2CDevice.cpp .pio\libdeps\STM32F10RC_btt512K\Adafruit BusIO_ID6214 "no matching function for call to 'TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)'" and Adafruit_I2CDevice.cpp .pio\libdeps\STM32F10RC_btt512K\Adafruit BusIO_ID6214 "no matching function for call to 'SPIClass::transfer(uint8_t*&, size_t&)" Any idea how to fix this?
Try this: Quick fix: 1. Open the "platformio.ini" in your Marlin folder 2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip 3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip 4. Save I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
I tried this for my Ender3 Mini SKR E3 1.2 install all the way up to Environment in PIO and the board you showed wasn't listed all I could manage to find was the generic STM32F103RC 256 board. Compiled fine but unsure if I should try to flash with that bin file or look harder for the board you had. PS I found the proper board and added your fix and it compiled. Thanks I saw another you tuber say that the elf file can be sent over via Octoprint as a flash to the printer. Haven't tried yet as my printer is working and at this point if the wrong file is flashed it may be bricked. I'm going to do some more looking around for an answer to the board differences. The SKR board I received has a faulty sd card reader and if I can work around that I wont have to tear it all down again.
All those boards are somewhat interchangeable. It's all about how much memory a certain model of chip has. As long as it is a 1768 BTT, you probably won't know any difference. If it's working, your good.
Hey Chris, I Can't compile the firmare, I have followed all the steps but I have two errors in VSCode. c_cpp_properties.json Cannot find "/Users/braulioemiliomerinopalacio/Downloads/Marlin-2.0.x5.3_SKR_Mini/include". [27,17] Cannot find "/Users/braulioemiliomerinopalacio/Downloads/Marlin-2.0.x5.3_SKR_Mini/include". [54,21] What could be causing this problem? By the way, I'm running VSCode in MacOS Thanks in advance!
Chris Riley the application throws error and does not allow me to compile. And at the bottom left, it shows the warning symbol indicating the two errors
Chris I seem to be having some trouble with this board and a BLTOUCH 3.1, I'm getting a error when homing on the Z end stop. SENDING:M503 echo: G21 ; Units in mm (mm) echo: M149 C ; Units in Celsius echo:; Filament settings: Disabled echo: M200 S0 D1.75 echo:; Steps per unit: echo: M92 X80.00 Y80.00 Z400.00 E93.00 echo:; Maximum feedrates (units/s): echo: M203 X500.00 Y500.00 Z20.00 E25.00 echo:; Maximum Acceleration (units/s2): echo: M201 X500.00 Y500.00 Z100.00 E5000.00 echo:; Acceleration (units/s2): P R T echo: M204 P500.00 R500.00 T500.00 echo:; Advanced: B S T J echo: M205 B20000.00 S0.00 T0.00 J0.08 echo:; Home offset: echo: M206 X0.00 Y0.00 Z0.00 echo:; Auto Bed Leveling: echo: M420 S0 Z0.00 echo:; Material heatup parameters: echo: M145 S0 H210 B60 F255 echo: M145 S1 H240 B70 F255 echo:; PID settings: echo: M301 P21.73 I1.54 D76.55 echo:; Z-Probe Offset (mm): echo: M851 X10.00 Y10.00 Z-2.20 echo:; Stepper driver current: echo: M906 X580 Y530 Z580 echo: M906 T0 E650 echo:; StallGuard threshold: echo: M914 X0 Y0 echo:; Driver stepping mode: echo: M569 S1 X Y Z echo: M569 S1 T0 E echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing echo:busy: processing Error:!! STOP called because of BLTouch error - restart with M999 [ERROR] Error:!! STOP called because of BLTouch error - restart with M999 Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting) [ERROR] Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting) Error:!! STOP called because of BLTouch error - restart with M999
@@ChrisRiley I've check all the wires with the wiring diagram and they are in the correct order. Here is the read out from PronterFace with the First being probe Stowed, Second being probe deployed. It retracted the probe on the M119 when it was deployed. I have a Config file I can send you. >>> M119 SENDING:M119 Reporting endstop status x_min: open y_min: open z_min: TRIGGERED >>> M119 SENDING:M119 Reporting endstop status x_min: open y_min: open z_min: TRIGGERED
@@Coretalless This only other thing I can think of is change these settings. #define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe.
Why did you use the standard Marlin firmware instead of the the firmware from the Big Tree Tech GitHub. Is there an advantage to using the standard firmware?
this isnt working for me. im following this to the T step by step yet i dont succeed i fail. each time and i cant figure out why. do you have some sort of magic thing going on over there? In file included from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_BusIO_Register.h:2:0, from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_BusIO_Register.cpp:1: .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope BitOrder dataOrder = SPI_BITORDER_MSBFIRST, that code along many others. i dont get this stuff at all
Try this: Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible. Quick fix: 1. Open the "platformio.ini" in your Marlin folder 2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip 3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip 4. Save I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
@@ChrisRiley Thanks for the reply. I got a version up and running from BTT and just edited it from there and it seemed to work. still working out some bugs ( my abl bltouch is strange i leved the bed and have the g29 code running with the correct offset yet on one side of my bed its sticking great! but the other side seems to be high and wont stick. ) but thank your for the help and will most deff keep watching your videos!
Chris, great video btw. I just got my ender 3 pro about a week ago and just upgraded my board to the mini v1.2. The question I have is, do i follow this video when I upgrade my firmware to 2.0.6 or is there something different I do? Any help is appreciated as I am green around the collar to 3d printing? Thanks.
Everything is great up to 8:22 when I go to test the compile. When I select the icon i do not get the env population screen as seen on the video. Mine is blank under project tasks. What did I miss please.
That usually means you have the wrong folder pulled in to the project, make sure you are build from the folder right above the Marlin folder. It's looking for the folder that contains the .pio folder.
this video was excellent. Everything is working great except the Z homing. it just jams down and grinds. I tried lowing the homing current but it doesn't seem to fix the problem. Where should I go from here, do I need a new limit switch or can I do the Z sensorlessly?
I got a few errors not sure what's the matter. Do you have any thoughts Chris? See below. .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp: In member function 'bool Adafruit_I2CDevice::read(uint8_t*, size_t, bool)': .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:160:79: error: no matching function for call to 'TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)' size_t recv = _wire->requestFrom((uint8_t)_addr, (uint8_t)len, (uint8_t)stop); ^ In file included from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/Wire.h:42:0, from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_I2CDevice.h:1, from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:1: from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_BusIO_Register.cpp:1: .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope BitOrder dataOrder = SPI_BITORDER_MSBFIRST, .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp: In member function 'void Adafruit_SPIDevice::transfer(uint8_t*, size_t)': .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:99:31: error: no matching function for call to 'SPIClass::transfer(uint8_t*&, size_t&)' _spi->transfer(buffer, len); ^ .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: note: suggested alternative: 'SPI_CR1_LSBFIRST' BitOrder dataOrder = SPI_BITORDER_MSBFIRST, ^~~~~~~~~~~~~~~~~~~~~ SPI_CR1_LSBFIRST In file included from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:1:0, from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:1: Marlin\src\HAL\STM32F1/SPI.h:268:11: note: candidate: uint8_t SPIClass::transfer(uint8_t) const uint8_t transfer(uint8_t data) const; ^~~~~~~~ .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:42:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope BitOrder dataOrder = SPI_BITORDER_MSBFIRST, ^~~~~~~~~~~~~~~~~~~~~ Marlin\src\HAL\STM32F1/SPI.h:268:11: note: candidate expects 1 argument, 2 provided .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:115:23: error: 'SPI_BITORDER_LSBFIRST' was not declared in this scope if (_dataOrder == SPI_BITORDER_LSBFIRST) { ^~~~~~~~~~~~~~~~~~~~~ *** [.pio\build\STM32F103RC_btt_512K\lib35d\Adafruit BusIO_ID6214\Adafruit_BusIO_Register.cpp.o] Error 1 .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:115:23: note: suggested alternative: 'SPI_CR1_LSBFIRST' if (_dataOrder == SPI_BITORDER_LSBFIRST) { ^~~~~~~~~~~~~~~~~~~~~ In file included from c:\users\matthew laptop\.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\inttypes.h:22:0, from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/avr/pgmspace.h:4, from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/WString.h:29, from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/wirish.h:47, from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/Arduino.h:30, from .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.h:50, from .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:17: .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.h:84:32: error: call to 'Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t, uint32_t, BitOrder, uint8_t, SPIClass*)' uses the default argument for parameter 3, which is not yet defined Adafruit_SPIDevice spi_dev = NULL; ^ .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp: In constructor 'Adafruit_MAX31865::Adafruit_MAX31865(int8_t, int8_t, int8_t, int8_t)': .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:38:76: error: call to 'Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t, int8_t, int8_t, int8_t, uint32_t, BitOrder, uint8_t)' uses the default argument for parameter 6, which is not yet defined spi_dev = Adafruit_SPIDevice(spi_cs, spi_clk, spi_miso, spi_mosi, 1000000); ^ .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp: In constructor 'Adafruit_MAX31865::Adafruit_MAX31865(int8_t)': .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:49:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope Adafruit_SPIDevice(spi_cs, 1000000, SPI_BITORDER_MSBFIRST, SPI_MODE1); ^~~~~~~~~~~~~~~~~~~~~ .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:149:23: note: suggested alternative: 'SPI_CR1_LSBFIRST' if (_dataOrder == SPI_BITORDER_LSBFIRST) { ^~~~~~~~~~~~~~~~~~~~~ SPI_CR1_LSBFIRST .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:49:43: note: suggested alternative: 'SPI_CR1_LSBFIRST' Adafruit_SPIDevice(spi_cs, 1000000, SPI_BITORDER_MSBFIRST, SPI_MODE1); ^~~~~~~~~~~~~~~~~~~~~ SPI_CR1_LSBFIRST *** [.pio\build\STM32F103RC_btt_512K\lib192\Adafruit_MAX31865\Adafruit_MAX31865.cpp.o] Error 1 *** [.pio\build\STM32F103RC_btt_512K\lib35d\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp.o] Error 1
Check this out, Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible. Quick fix: 1. Open the "platformio.ini" in your Marlin folder 2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip 3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip 4. Save I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
@@ChrisRiley All is good! I ran a print last night. A few minor issues with print quality. But I expected that. I will need to re tune everything. But man is it quiet. Also this was for an ender 5 so I did make a few minor changes from the original ender 3 profile. But it works fantastic. Coffee is on the way! Best Matt
Hey Chris hopefully you can help. As soon as I add the Folder to VS Code & open Configuration.h and I get this error message { "resource": "/c:/Marlin-2.0.5.3-SKR_Mini/Marlin-2.0.5.3-SKR_Mini/Marlin/Configuration.h", "owner": "C/C++", "code": "1696", "severity": 8, "message": "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit (C:\\Marlin-2.0.5.3-SKR_Mini\\Marlin-2.0.5.3-SKR_Mini\\Marlin\\src\\lcd\\extui\\lib\\ftdi_eve_touch_ui\\screens\\stepper_current_screen.cpp).", "source": "C/C++", "startLineNumber": 2, "startColumn": 1, "endLineNumber": 2, "endColumn": 30 } It fails to compile firmware every time I try and I have no idea what to do.
2 things to try, shorten you file path, move your Marlin folder to your C:\ and retry. And correct this: # In platformio.ini (line 32) make the following change: Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
Why aren't we using the files provided by BTT? Feeling a bit overwhelmed; upgraded to a Mosquito, the 1.2 Mini, and a Flex3Drive, started a new job, and 'Rona lockdown, all at the same time.
The files from BTT are probably fine, I am just trying to show how you can do your own custom config. I hear you on being overwhelmed. If there is anything I can help with just let me know.
I just got this board for my Ender 3 Pro and everything works but the end stops for homing. All of them are just not working. They are all in the correct locations and connected properly. I'm lost...
Hi Chris, I recently upgraded my Ender 5 to an SKR Mini E3 1.2 board and an SKR TFT35 v3.0 touch screen with the Wi-Fi module that was bundled with the display. Could you please do a video on how to configure the Wi-Fi module including loading the latest version of ESP Wifi firmware? Thanks!
Thanks for the video! I'm building Marlin 2.0.6.1 for CR10 mini and I'm getting ModuleNotFoundError: No module named 'platformio.managers.package' It's the same error if I use the Autio Build Marlin extension. PlatformIO community post pointed to a bug in 2.0.6 but resolved in 2.0.6.1, however this is not the case for me. Any help? *edit* figured it out, I added Creality's folder instead of Marlin as the project.
For some reason, when flashing, if I use my laptop to power the printer via USB instead of switching the PSU on. That makes the firmware.bin into a .CUR file. No idea why
Hi, I have installed SKR E3 V1.2 mini board on my Ender3. And have followed your video. Before that the original board was running with Roko NPN auto leveling sensor and 1.1.9 Marlin with no problems. Now with BTT board and 2.0.5.3 Marlin I have problem that the printer seems to search for bed behind X end stop. When I start auto bed leveling, head hits X end stop as it would not expect it to be (rough) and does auto leveling with sensor hanging besides the bed. This leads to nozzle crash to bed as the sensor is not above bed. My sensor location is between print head and X end stop (left side of head). Related to this Z_SAFE_HOMING is happening not in the center of bed but closer to X end stop. Practically it seems that firmware expects bed to be more to left side than it is. I have adjusted probe offset from nozzle but it doesn't seem to react at all. But when I do bed center calibration, the print is in center, but auto leveling is still acting the same. Can you help me at least with options which I could check? Thank you! Also I have found one bug that when I stop print on Ender screen, printer starts homing and suddenly it restarts the print where it was stopped.
@@ChrisRiley I have tried X0, X-40, X-100. The head was still homing at the same X position what ever I put on X offset in VSCode: #define NOZZLE_TO_PROBE_OFFSET { -40, -10, 0 } I decided to play with Pronterface and found the problem. It seems that somehow after writing firmware to the printer it was getting positive value. I have requested settings with M503 command and saw that: echo:; Z-Probe Offset (mm): echo: M851 X40.00 Y-10.00 Z0.00 So M851 X-40 line changed the X value to -40, saved with M500. I' writing this in detail as maybe it will help someone to save some time.
@@ChrisRiley In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0, from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32, from Marlin\src\HAL\AVR\HAL.cpp:25: Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #error "Oops! Select an STM32F1 board in 'Tools > Board.'" ^ In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0, from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32, from Marlin\src\HAL\AVR\HAL_SPI.cpp:34: Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #error "Oops! Select an STM32F1 board in 'Tools > Board.'" ^ In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0, from Marlin\src\HAL\AVR\HAL.cpp:25: Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." ^ In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0, from Marlin\src\HAL\AVR\HAL_SPI.cpp:34: Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." ^ In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0, from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32, from Marlin\src\HAL\AVR\MarlinSerial.cpp:39: Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #error "Oops! Select an STM32F1 board in 'Tools > Board.'" ^ In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0, from Marlin\src\HAL\AVR\MarlinSerial.cpp:39: Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." ^ In file included from Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/HAL.h:31:0, from Marlin\src\HAL\AVR\../../inc/../HAL/HAL.h:26, from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:30, from Marlin\src\HAL\AVR\MarlinSerial.cpp:39: Marlin\src\HAL\AVR\MarlinSerial.cpp:707:22: error: pasting "USART" and "-" does not give a valid preprocessing token ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) { ^ Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/MarlinSerial.h:55:65: note: in definition of macro 'SERIAL_REGNAME_INTERNAL' #define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix ^ Marlin\src\HAL\AVR\MarlinSerial.cpp:707:7: note: in expansion of macro 'SERIAL_REGNAME' ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) { ^ Marlin\src\HAL\AVR\MarlinSerial.cpp:711:22: error: pasting "USART" and "-" does not give a valid preprocessing token ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_UDRE_vect)) { ^ Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/MarlinSerial.h:55:65: note: in definition of macro 'SERIAL_REGNAME_INTERNAL' #define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix ^ Marlin\src\HAL\AVR\MarlinSerial.cpp:711:7: note: in expansion of macro 'SERIAL_REGNAME' ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_UDRE_vect)) { ^ In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0, from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32, from Marlin\src\HAL\AVR\Servo.cpp:56: Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #error "Oops! Select an STM32F1 board in 'Tools > Board.'" ^ *** [.pio\build\mega2560\src\src\HAL\AVR\HAL.cpp.o] Error 1 *** [.pio\build\mega2560\src\src\HAL\AVR\HAL_SPI.cpp.o] Error 1 In file included from C:\Users\Owner\.platformio\packages\framework-arduino-avr\cores\arduino/Arduino.h:30:0, from Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/../shared/Marduino.h:36, from Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/HAL.h:21, from Marlin\src\HAL\AVR\../../inc/../HAL/HAL.h:26, from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:30, from Marlin\src\HAL\AVR\MarlinSerial.cpp:39: Marlin\src\HAL\AVR\../../inc/../../Configuration.h:107:21: error: expected initializer before '-' token #define SERIAL_PORT -1 ^ Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/MarlinSerial.h:51:54: note: in expansion of macro 'SERIAL_REGNAME_INTERNAL' #define SERIAL_REGNAME(registerbase,number,suffix) SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) ^ Marlin\src\HAL\AVR\MarlinSerial.cpp:707:7: note: in expansion of macro 'SERIAL_REGNAME' ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) { ^ Marlin\src\HAL\AVR\MarlinSerial.cpp:707:28: note: in expansion of macro 'SERIAL_PORT' ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) { ^ compilation terminated due to -fmax-errors=5. In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0, from Marlin\src\HAL\AVR\Servo.cpp:56: Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue." ^ *** [.pio\build\mega2560\src\src\HAL\AVR\MarlinSerial.cpp.o] Error 1 *** [.pio\build\mega2560\src\src\HAL\AVR\Servo.cpp.o] Error 1 ========================================================== [FA
@@Ballchineeyan Hey Wesley, looks like you just have a mix of settings that the env doesn't like. When you build, you will need to use the software serial with these settings. Build from this environment in VScode. env:STM32F103RE_btt
i am also getting errors with 'cannot find 'd:\Marlin-20.x\marlin-mini\include" . i tried to bulid with all 3 STM32F103RC_btt/USB/512K/512K_USB . All has the same error pls help
When the "X_Min_Endstop_Inverting" is set to True (change per the video), and I enable sensor-less homing, I get a a compiler error stating that the TMC2209 sensorless homing requires "X_Min..." to be set to False. Can you shed some light on what might be happening?
Thanks! Ok i had mentioned earlier im trying to Frankenstein a printer together. Im guessing when i pull in a preconfiged Anet A8 as the printer (its mostly going to be a anet guts but not the fiery mainboard) that should get me most of the way there as far as marlin is concerned.
After flashing different firmware.bin a few times, I'm now at a point where the board is not flashing the latest firmware.bin I'm giving it. And of course it still is named firmware.bin on the card. I wonder if this is what was happening to you Chris. I've changed the name appearing on the Info screen in my build to see whether the board has been updated and it hasn't.
Fantastic video. I'm configuring an SKR mini E3 board today for an ender 3 with a BMG direct drive and a BL Touch. This video has me in the right direction. I assume I need to set the current and steps for the Bondtech 25mm extruder motor. Do you have a tutorial on this? Thank you so much.
@Chris Riley I am 99,8% sure that the SKR E3 DIP needs a different bootloader for 512K flash. I flashed the bootloader(ST-link) from a SKR E3 mini on mine SKR E3 DIP to flash larger bin files with succes.
@@ChrisRiley Get a ST-Link V2 and wire the pins correctly ;) Don't bother guessing the end adres of the bootloader... Just Read the whole 256K and flash it on the DIP. Then put the SDcard in with a large rom.
You have created a video that is one of a kind on RUclips! Nobody has done the skr mini v1.2 in detail yet! THANK YOU SO MUCH!
Glad you liked it!
Holy crap. Best videos yet on how to do this. You are a fantastic instructor not taking the knowledge or lack there of for granted with your audience. Not assuming anything.
Thank you. glad it was helpful!
Chris, really good information. I was able to get Marlin 2.0.5.4 up and running last night. One issue I ran into is that with my BTT TFT35 v3.0 in touch screen mode I could not get the "no printer connected" error to go away. Tried swapping ports, disabling CR10_STOCKDISPLAY and enabling REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER, which I found the reprap controller is not compatible with the SKR E3 Mini 1.2 board. So went back to CR10_STOCKDISPLAY. What finally worked is I went out and looked at the BigTreeTech github for the SKR E3 Mini 1.2 board and found how they configured their serial ports. I put this information below and now everything is work. Someone else probably already figured this out, but if not maybe it saves someone some time.
#define SERIAL_PORT 2
/**
* Select a secondary serial port on the board to use for communication with the host.
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
#define SERIAL_PORT_2 -1
Thanks for pasting the info!
Thanks Matt!
This comment is gold dust :) Thx so much Mat :)
Thanks Chris! this video helped a lot. I updated the SKR 1.3 Mini v1.2 to Marlin 2.0.7.2 What helped me was uploading my board in PIO home, and selecting the STM32F103RC. for some odd reason this is the only way I could compile without getting errors. I followed the rest of your video to a T I am up with sensorless homing and printing well.
Very nice!
This video was a tremendous help, compiling for my SKR E3 mini V2.0, with VScode and PlatformIO. I only used Arduino IDE before, with the stock Creality board. This video, and the one about bed leveling saved me a lot of time!
Great to hear!
Thank you Chris, I just ordered my first ender3 and was intimidated to upgrade it with zero idea about Marlin and stuff. Glad I found your channel, you're a great teacher :)
Glad to help, thanks!
Thank you Chris for all of the info it definitely helps out a newbie such as myself. I was having a bit of problems in vscode so I ended up just slapping the bltouch firmware in the printer from the btt github just so I could get everything up and running. I think I've since resolved my vscode issues and believe i was trying to view and edit in the wrong environment thus all of my errors.
Looking forward to going back through all of your videos surrounding this board/bltouch firmware to get in there and customize it a bit more, hopefully open up abl a bit further.
Definitely appreciate all of the work and videos you have put up trying to teach people the technical stuff and how it all works.
Thanks for the kind words. I am always happy to help!
8h into trying to figure out why I can't compile firmware so I can use BLTouch.. Finally found a video that made things much clearer and had a first successful build :D
Glad I could help!
I can't understand why this channel doesn't have like at least 200K subscribers. always great informative videos, always exactly what I need as an info. just great!
Thanks man! Who knows, RUclips is a strange place.
@@ChrisRiley indeed...
WOW. Best video I've seen for the SKR Mini. Thanks Chris!
Glad you liked it!
Thanks for this video, I am getting a compile error. ".pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope" ... any ideas?
Found this buried within the comments and I followed it to finally get a successful compile:
kingofnfsfan
14 hours ago
Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible.
Quick fix:
1. Open the "platformio.ini" in your Marlin folder
2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip
3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
4. Save
I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
Nice, thanks for finding that Shawn!
@@shawnmarcil4039 thank you so much! it worked :)
Really, really, really, really, THANX!!!! You solved my life with my Ender 3 and my new SKR Mini!!!
Awesome!
Got the SKR Mini running, it just so quiet even compared to the Quiet board I had in my Ender 3 previously. Huge improvement!!
Menus are slightly different but now I have dialed it in I would honestly say its a great update. The only issue I have had was when I tried to pause a print it just locked up.
I haven't seen the pause issue. Glad that you dig the upgrade.
Fantastic. Great info as usual.
Thanks Chuck!
I don't know what I would do without your videos! Extremely helpful, as all your content I watched. I did not uncomment sensorless homing. The printer has the endstops, so why not use them (seriously, is there any advantage?). Had problems with the include path under Ubuntu. I simply added a folder manually. Then it worked. Next step will be manual mesh bed levelling. I feel well prepared, thanks to your instructions. My hero!
Great to hear! No need to use sensorless homing if you have endstops, they both work well. I would use the switches rather than sensorless if I had a choice.
Chris is the King of Marlin upgrades!
LOL, I do my best!
Hands down one of the most thorough tutorials out there. Thank you!
Glad it was helpful!
Hey Chris, great video as usual. There is also a SKR board simply called Mini 1.1 also a STM32 RC chip.
Thanks James, I think that is the first mini board. I haven't seen that one for a while.
@@ChrisRiley They may be fairly common since Amazon was selling them for $10, making it attractive for cheapskates such as myself. It was probably just a clearance sale to make way for the current version. Thank you for mentioning the firmware renaming. I noticed that booting the printer was always slow, so I will try renaming to firmware.cur to see if it improves. On PlatformIO, I had the problem of library updates messing up the build so I'd caution users to avoid updating a project's libraries once it is successfully building.
Also, the non-E3 Mini 1.1 doesn’t have a bed mosfet and it’s smaller than the E3 versions. Perfect for deltas.
Thanks to everyone that posted this fix, it has helped a lot of people.
Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible.
Quick fix:
1. Open the "platformio.ini" in your Marlin folder
2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip
3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
4. Save
I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
Add on line 46 in platformio.ini file:
board_build.core = maple
nothing helps me. I keep getting the message "Cannot find "c:\Users\eyalsi\Desktop\marlin_temp\Marlin-2.0.5.3_skrmini\Marlin-2.0.5.3_skrmini\include"." I did all the above and yet keeps on popping
@@siryoneyal Your filepath might be too long, move your Marlin folder to you C:\ and try again.
@@ChrisRiley Moved to C root and still the same. I noticed that the "include" folder does not exist so I have created it. those errors are gone now. compiled with successes!
What is Strg + F?
Nevermind I figured it out I feel so dumb lmao
Also...you should probably mention in this video that platformIO is not in default visual studio and must be added via extension. I just realized I'm complaining mostly here. Thanks so much for the video. I think it is a MUCH needed resource for us noobs. Just...consider some of my comments as possible notes for improvement. Thank you for posting this.
Thanks for the suggestions. I try to put links in the videos to other videos you might need. Like the VScode install video.
Chris, as always very helpful. Awhile back you reviewed the TFT35 e3 with the SKR Mini e3 v1.2 and I asked you if you could flash the SKR Mini from the TFT35 SD card reader. You replied: “Good question, but you didn’t know”. I checked with BTT and they said No. I wish there was other ways to flash the SKR Mini as I am rebuilding the entire under carriage to better wire up the Ender 3 with mods I think are useful. I’m adding 4 cases to the base of the printer, all accessible from the top:
Front left: SKR Mini case w/ fan.
Front right: Raspberry Pi case.
Back left: Cable connection case for Y-Axis, fans, thermistors, 24vdc etc.
Back right: On/off relay (Pi controlled for 120vac in) & small 24vdc LED power supply case.
Having to add an external full size SD card reader for the sole purpose of flashing the SKR mini should be unnecessary.
I don't think there's much that could be done about this, as far as I know the bootloader on these boards is not open source and that limits the possibility of modding it to communicate with the screen via serial so it can look for the firmware.bin file.
@@oriongaby Thanks, That's sorta what I was thinking Oh well I guess I'll have to add an external SD card reader. Won't be hard just, running out of room. Thanks again.
Yeah, that is kind of a pain, I was somewhat surprised about the USB connection, but I guess that's all we can do for now.
Hey Chris, Thank you so much for this, it is hard trying to find a tutorial to understand on how to work this printer and board together as well as how to load firmware on to it. I can't wait for your BL Touch one as that is the next thing I have to install next week.
Glad it helped! BLtouch coming soon!
Cant wait for your BL touch videos for both the skr 1.4 and mini boards! I have both!
Coming soon!
@@ChrisRiley thanks man! Appreciate your time and efforts in making these great videos!
You absolute legend thank you for this guide of this model.
Glad it helped!
Thank You so much Chris this video was a big help in get me to understand how to update the firmware on my SKR Mini E3. I own you one!!!
Glad it helped!
How about reporting on the fact that the skr mini e3 both versions has a large failure rate of the X axis driver and it gives you TMC connection error. I got my 1.2 version nearly 3 weeks ago, updated to the latest official firmware and in less then 1 hour of printing it died. I had very good cable clearance not covering the heat sinks. I have been trying to contact Bigtree daily on how to get a replacement or return it, but they still have not replied for 2 weeks which left me to go through Paypal to recover my money.
I can't report on it yet, because it hasn't happened to me yet, but if I run into it I will be sure to put out an update.
I couldn't get this to work until instead of copy/paste the original Ender3 config and config.adv files, I used the BTT config and config.adv files from the latest BTT SKR MINI E3 v1.2 github. That left me with the adafruit errors that are fixed by changing the path in platformio.ini as described elsewere in the comments below. That finally allowed me to get a successful build.
Good to hear you got it going.
Also I can't discount that my problem was self induced to some extent. The case of changing more than a single variable in each attempt. I have not gone back and tried again with the original ender files...just too happy its working.
I will say that I enjoy your videos...comprehensive, succint and well ordered. Keep it up.
Wow I just installed this board and was looking for a video just like this!
Glad I could help!
This video saved my bacon. I'm savvy, but this is another level.
Awesome to hear.
Thanks again Chris. I am doing this in the next day or two. Funny, I JUST replaced my HE fan.
Good luck!
You lost me at PlatforIO but dang this is just what I needed.
Could you find the Platform IO button?? Its not on my new download version
@@mikeobrien9829 Its an extension you have to add to VS code.
See if this helps. ruclips.net/video/W6zYvRgGr3Q/видео.html
I have tried a few configs, I tired auto build and platform io but no matter what it keeps failing when trying to build for mini e3 v3
What error do you get? Do you see the .pio folder? If not make sure you have added the folder that contains the Marlin folder to your project.
Thanks Chris appreciate the Github links as well ! Keep up the great work and keeping us busy during the quarantine ! Stay Safe Sir !
Thanks Ron!
Dear Chris Care to elaborate how you manage to connect the SKR Mini board with Proterface? Windows 10 64 bits apparently doesn't recognize the maple drivers
Finally! Figured it out the driver from big tree tech doesn't work the one for Marlin did!
Nice! Glad you got it!
Seriously man, what kind of SD cards are you using that you need a hand-truck to get them to your printer? Thanks for all the great things you do. I got that BTT E3 Mini combo and this came in quite handy.
lol, I use the really old school ones from Russia. Thanks man, your support is always appreciated.
My BigTreeTech SKR MIni E3 board had the TMC Communications Error that many have also had. SO my board is toast unless someone has a solution to that TMC error problem.
Mine too, X died in less then 1 hour and Bigtree refuse to answer about the problem and from what I can find it is a very common fault?
There is some in the comments that had a fix, I have been trying to find it, if I do I will repost it.
@
MrGrantdw
Finally got a compile with no error message: compile error. ".pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope"
Also, Finally have a compile file that loads on printer without the error: TMC connection error
Both solved with following Chris' great video and one extra step...
Details can be found here: github.com/MarlinFirmware/Marlin/issues/18081
In a nutshell, change the following entry in your platformio.ini:
Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip
To:
Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
@@shawnmarcil4039 Thanks for posting these.
I just spent the last 3 days trying to get a bltouch working with the SKR Mini 1.2 and getting the TMC communication error. Printer appears to work, but a test print made a skewed object sheared along Y, and the stepper was really really hot. Reflashed with original BTT fireware and TMC comms error goes away.
platformio.ini build flags contain -DHAVE_SW_SERIAL, which is apparently required for the BTT+TMCs, but every time I compile and install, I get the TMC error.
Am getting close to throwing the bltouch out of the window!
Thank you for the videos! Not using sensorless homing, but everything else was very helpful. Used your installation vid for the board installation also.
Thanks, I'm glad it helped
Between versions of marlin 2.x.x whatever, is the configuration.h and configuration.adv.h not commonised? It's a pain in the arse to keep updating it every time there is a version change you want. I've not tried it, but off top of my head I'm on an earlier 2.0.something, 1 or 2 maybe, but if I want the latest it would be good to just copy my 2 configs to the latest release / bugfix folder and all be set ready to build. Spent a long time tweaking settings, and cross checking takes ages. Any thoughts?
You still have to cross reference, but we are getting there. The Marlin team has some things in the works that might make all this easier.
mine keeps saying Cannot find "c:\Users\chris\Downloads\Marlin-2.0.5.3_SKR_MINIE3\Marlin-2.0.x\include".
any idea what i can do to solve this, it does compile the whole file successfully but these errors remain
Not sure what it's looking for, try moving your Marlin-2.0.x to the main C:\ drive and re add it to vscode.
When I move to build after choosing the environment, it says Event_Gcode_SD_Stop is now Event_Gcode_Sd_abort and wont compile. I search the file and there are no lines that have this code in it, so I have no idea how to fix this.
What version of Marlin?
Good video Chris, wish it had been out a day before I bricked my Mini. New one coming today!
That sucks, but better luck this time.
if you get (FileNotFoundError: [Errno 2] No such file or directory) the folder name is probably too long, some of my folders were "marlin_2.0.5.3_skr_mini_e3_v1.2" i had to change to "marlin_2.0.5.3_skr_mini" and then it worked.
you will get the problem if any part of the address is too long, vscode just doesn't like it.
i'm just a noob so this was learning by doing/failing, any way, thanks for the help, great instructions,great basement.
Great tip! There is a workaround for this, I will include it in one of the videos.
Hey i have set up a printer based on that board and configuration, and everything looks okey accept of the ekstrusion. I have set up correct steps in prontoface, but when I start a print, it prints fine for about 3mm im hight, then underekstrude for couple of layers and back for normal ekstrusion. So i have waves along z axis, small or big print, everytime on same hight. I have tried different currents but did not help. Any idea how can I fix that?
That's a strange one, that sounds like something mechanical, like the extruder gear or something. I guess it could be caused by the driver getting to hot.
got the firmware successfully running on my Ender 5 + BLtouch
however, I noticed that on the SKR Board my two 5015 partcooling fans go nuts in terms of vibration, you can hear and FEEL it at any speed. It's really bad at 100% and for some reason they don't turn off at 0
any suggestions?
I didn't have that issue with the stock or silent creality board running both Marlin 1.6 and the newest 2.0.5.3
These boards aren't known for the best components. It could be the voltage regulator. Test your pin voltages, I would be curious to see what they were running at.
great work Chris, can't wait for the BLtouch video. keep up the great work. thanks for showing me how to use VScode !
Thank you, it will be out tomorrow!
Chris. I do not see any of the board info showing up in project tasks to choose my environment. Is there something I’m doing wrong how do I get the boards to show up?
You need to install the platformio extension and make sure you have loaded the parent folder of the Marlin folder.
Hi Chris, hanks for putting both this and your other guide of setting up VSC. I have followed the steps and unfortunately cannot compile the code. I get the following error: "pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:42:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope" whether I compile under STM32F103RC-btt-512K or STM32F103RC-btt. Do you have any thoughts on what might be going on?
Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible.
Quick fix:
1. Open the "platformio.ini" in your Marlin folder
2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip
3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
4. Save
I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
@@kingofnfsfan The fix works perfectly, Thank you so much! I can now enable mesh bed levelling in my build!
Thanks for the help on this one!
Can you tellme how to find the platform IO button , its not on my new download
This should help you. ruclips.net/video/W6zYvRgGr3Q/видео.html
you need to download the extension. on the left side of visual studio code you wil see EXTENSIONS its has 4 squares and ones floating off. then use the search bar and find PlatformIO IDE. install that. then the little platform io will show up
GL
@@ChrisRiley Thanks my new SKR mini e3 v1.2 just gives either a constant beep and hangs when you turn it on or a hotbed thermal runaway error, this is driving me nuts for a so called plug and play board, hope this will fix it
Hi Chris, Great video. I have an Ender3 Pro that I put an SKR mini E3 1.2 board with TTS35 touchscreen and a BLTouch. Before the board install the BLTouch and everything worked, printed great. Everything is wired correctly but, when it auto homes, it drives the nozzle int to bed and will not stop. I think it is firmware related. I am very new to all of this but, spent days trying to build/revise the firmware and i cannot get it to compile. I followed your video and i get errors that i need to update the file but, I don't know how. The firmware that came with the board is 2.0.53. Any ideas or can you point me to a working firmware for my configuration? Thanks in advance, Rob
Does the BLtouch video help? ruclips.net/video/p504oU-D6iE/видео.html
I tried for ages to get a successful compile and nothing worked. Then I noticed that I had my VPN on, switched it off and all worked perfectly. I guess some of the vscode file downloads were affected?
Ah, first time I have heard that, but yes, it has to get out and grab libraries.
I followed this exactly but don't have the ability to do manual mesh leveling anymore, what do i need to enable for that to work?
Take the comment off of mesh and it will come back. //#define MESH_BED_LEVELING
Hey Chris, when I bought the SKR MINI E3 V1.2 it was also a package with the TFT35 display, would you happen to have a tutorial on how to update firmware for both? I know I'm asking a lot, but I'm old and this is a new technology field I'm learning...
Same here, I'm having trouble connecting my TFT35 to the board
This video should get the board working. This one should get the screen updated. ruclips.net/video/57f-sG0nFeM/видео.html
Can the Mini E3 v1.2 be used for a custom CoreXY build with the correct marlin configuration for such a machine? Hard to beat that price with the built in 2209s rather than the SKR 1.4 + drivers.
Sure, with the right config you can make it work.
yeah you might wanna update the Title bud, there are actually 3 SKR Minis, the SKR Mini V1.1 is basically a mini SKR V1.3. the SKR Mini E3 is the Ender 3 drop in, and the SKR Mini E3 DIP is the ender 3 drop in board with replacable drivers. whilst people have a fair bit of luck with the second two, the frst seems to be nothing but trouble (source: me, i have one)
Do they still sell the first one, I remember these, but I didn't think they were still a thing.
@@ChrisRiley yeah you can still buy them, though arguably you shouldn't
Thanks for sharing your knowledge, you are the best!
I appreciate that! Thank you!
Hey Chris, how did you get that platformio icon on the left side for your options to test the compile? I dont have that icon and its an updated version of VS Code and i have not a clue how to even test the compile without your step by step lol... thank you in advance!!
Did you go through the VScode setup video? ruclips.net/video/W6zYvRgGr3Q/видео.html
@@ChrisRiley i honestly had no clue about that video yet.. i searched SKR marlin config videos and yours looked the best so went for it.. i will check it out!! Thank you very much for the fast reply. Subscribed! Cheers
@@norcalian85 Thanks for the sub!
Chris, thank you very much for this guide!
Glad it was helpful!
I was following and copying everything you were doing right up to the point where you clicked on the little alien on the left side (PlatformIO) and that's when I realised I didn't have this on my VS code.
How do I enable it or do I need a new or different version of VS code?
Did you install the platformio extension? Just search for it under extensions.
I just saw the update, if you can't see it make sure you have the right marlin folder added, you need to add the one that contains the .vscode folder.
Just a little note fwiw, I noticed there is a config in the examples folder for BigTreeTech/SKR Mini v1.2
You may be able to save a few steps when editing in VSCode.
Yes, those are made by Keith as well, they are solid configs.
hello Chris, but the SKR mini v1.2 board can I mount it directly on my ender3 pro including the bltouch v3? I read that I already get complete firmware for my printer and there is no need to do anything else: will it work well together with the bltouch? thanks!!!
I am not sure if it comes ready for the bltouch or not, but BTT does have a firmware update on there github that does support BLtouch.
@@ChrisRiley thank you very much
Whats the difference between the creality example configs..
and the BTT Skr Mini E3 1.2 example configs??
Basically the board name and a few more features on the BTT version.
Genuine question: can someone explain why you would want to do sensorless homing? The Ender3 has limit switches, why not use them instead of ramming bed / carriage into the frame? And I've read that sensorless is also less accurate than using the limit switches as per this article www.th3dstudio.com/2019/12/11/ezboard-lite-why-do-you-use-the-tmc-2208-instead-of-tmc-2209-drivers/ But despite all this, it seems like lots of people want to do it. What are the advantages? Thanks for any insight!
Hey Scott, it's a fair question and I do think it is less accurate. As of right now in Marlin, all I can see it that is makes a printer a bit easier to design and build when you don't have to plan for endstops. Now when Marlin catches up to Prusa and we can track steps on the fly that will make stall guard more useful. We can detect skip steps.
@@ChrisRiley So for now, there are no big advantages, but it might be something to look out for in the future I guess? I take your point about creating a printer from scratch though, that would simplify the wiring. Thanks for replying.
@@ScottMarley Correct, hopefully we see more features come out in the future.
So heres a weird thing I dont have Platformio on the action bar of vscode... How do I enable it?
Go to extensions and search for platformio ide.
Got a SKR E3 v1.2 mainly for noise reduction but as I understand also for more easy firmware upload without bootloader. I really wanna enable mesh bed leveling,but all this "tech" talk is going over my head. Could you do a step by step guide in enabling mesh bed leveling and uploading firmware? I have Marlin 2.xx on my Ender3Pro now after installing the SKR board.
Thx in advance for any help 😊
Yep, we will go over that in the up comming BLtouch videos.
Hi Chris, can I ask a Marlin 2 question? How do I add menu items? In Arduino IDE I would add an entry in ultralcd.ccp but I can't find it in VS. All I want is the option to disable X,Y. Where can I add the appropriate M84 code. Thank you.
It should still work the same, you just have to dig for it a bit. Marlin-2.0_Mat\Marlin-2.0.x\Marlin\src\lcd
Wow, thanks for such a rapid response, I very much appreciate it. A year ago I had never heard of Marlin, just got comfortable with Arduino IDE and now I have to start again😀 Thank you
On my first compile (FAILED) I receive a number of errors like this one... "error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope" Ideas?
There is a lot of things it could be. FIrst thing I would do is move you Marlin folder to your C:\ and try again.
@@ChrisRiley I will try that. I was compiling on a micro SD in an adapter. TY
Great video, Chris! Thanks for posting. My son's friend modified his Ender 3 to 400,400,500 and added the BTT SKR Mini 1.2 card but had trouble with new firmware. I used your video to learn how to create new firmware and it worked. I initially had a compiler error but in the compile folder on GitHub was a suggested change to the #Adafruit_Max31865 line in the platformio.io file and that fixed the issue. I was able to compile a new firmware and load it into the card. Need to figure out how to talk to it via USB on my Mac to clear the EEPROM error code.
you can use www.pronterface.com/ to talk to it. Make sure the serial port is set to -1.
Chris, I need to know how to get s curve adjust to show up on Ender 3 menu. I tried uncommenting it in visual before installing the firmware, but it does not appear in any menus.
That is one I still haven't played with. I hope to in the future.
Chris - awesome video. This will be incredibly helpful getting BTT SKR Mini E3 V3 going with BLTouch. One question: I'm new to Studio Code. When you go to build the config.h file you have "environments" above the Quick Access bar that you use. Did you custom build those environments or do you install/enable them from somewhere?
Thanks! The easiest way to do that now is to use the Marlin extension, it handles the environment for you. Check this out. ruclips.net/video/YDvFN51siMU/видео.html
Yes Please, BLT with some speed increases and maybe some Linear Advance as I feel that is a huge benefit to using the 2209's. i could be wrong though. =) thanks for this set of vids. I spent a lot of hours searching for a firmware how to in the last few months, with little luck on finding current working guides/vids.
mmmmm BLT...LOL, we will get to these videos soon.
I have a dual z setup and I was wondering if I had to increase the current to power the 2 motors? And if so how much current should I use for the 2 steppers? All the info in the video was pretty useful, thanks👍
You shouldn't have to increase it, if you do, maybe just a little. Depending on the motor 800mA should be more than enough for both.
Hey Chris, love your videos. I have a newbie question. What software are you using to do all this editing and viewing the Marlin files? I am very green and I plan to follow your video when my BigTreeTech SKR MINI E3 comes in for my Ender 3 pro.
Thanks is VScode, check this one out to set it up. ruclips.net/video/W6zYvRgGr3Q/видео.html
Hi Chris, is there a way to set a 3d printer to self adjust as the Prusa does? I have the Tevo Tornado(Cr10) on an skr 1.3. I would love my printer to self level x as the Prusa does, is this possible?
There were some options out there that kind of did this, but I don't think they worked very well and were removed from Marlin. Currently I don't know of a way to do it.
@@ChrisRiley Thank you for your reply Chris, keep doing what your doing mate the way you do it.
Fantastic videos helped me alot thank you.
Be great if something comes out to include that option.
When I try to build the file it gives me the errors Adafruit_I2CDevice.cpp .pio\libdeps\STM32F10RC_btt512K\Adafruit BusIO_ID6214 "no matching function for call to 'TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)'" and Adafruit_I2CDevice.cpp .pio\libdeps\STM32F10RC_btt512K\Adafruit BusIO_ID6214 "no matching function for call to 'SPIClass::transfer(uint8_t*&, size_t&)" Any idea how to fix this?
Try this:
Quick fix:
1. Open the "platformio.ini" in your Marlin folder
2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip
3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
4. Save
I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
@@ChrisRiley Thank you so much! You are amazing!
I tried this for my Ender3 Mini SKR E3 1.2 install all the way up to Environment in PIO and the board you showed wasn't listed all I could manage to find was the generic STM32F103RC 256 board. Compiled fine but unsure if I should try to flash with that bin file or look harder for the board you had. PS I found the proper board and added your fix and it compiled. Thanks I saw another you tuber say that the elf file can be sent over via Octoprint as a flash to the printer. Haven't tried yet as my printer is working and at this point if the wrong file is flashed it may be bricked. I'm going to do some more looking around for an answer to the board differences. The SKR board I received has a faulty sd card reader and if I can work around that I wont have to tear it all down again.
All those boards are somewhat interchangeable. It's all about how much memory a certain model of chip has. As long as it is a 1768 BTT, you probably won't know any difference. If it's working, your good.
Chris Riley Thanks for the reply as for the Octoprint flash it’s a no go for the skr mini E3 v1.2 so looks like I have to send the board back.
Hey Chris, I Can't compile the firmare, I have followed all the steps but I have two errors in VSCode.
c_cpp_properties.json
Cannot find "/Users/braulioemiliomerinopalacio/Downloads/Marlin-2.0.x5.3_SKR_Mini/include". [27,17]
Cannot find "/Users/braulioemiliomerinopalacio/Downloads/Marlin-2.0.x5.3_SKR_Mini/include". [54,21]
What could be causing this problem?
By the way, I'm running VSCode in MacOS
Thanks in advance!
Does it not compile or does it just complain? Because I see those too, but it still compiles.
Chris Riley the application throws error and does not allow me to compile. And at the bottom left, it shows the warning symbol indicating the two errors
@@ingbrauliomerino Try and move you marlin folder to the main C:\ drive, then readd it to VScode, sometimes it doesn't like the long file path.
@@ChrisRiley I'll try and let you know. Thanks man!
Chris I seem to be having some trouble with this board and a BLTOUCH 3.1, I'm getting a error when homing on the Z end stop.
SENDING:M503
echo: G21 ; Units in mm (mm)
echo: M149 C ; Units in Celsius
echo:; Filament settings: Disabled
echo: M200 S0 D1.75
echo:; Steps per unit:
echo: M92 X80.00 Y80.00 Z400.00 E93.00
echo:; Maximum feedrates (units/s):
echo: M203 X500.00 Y500.00 Z20.00 E25.00
echo:; Maximum Acceleration (units/s2):
echo: M201 X500.00 Y500.00 Z100.00 E5000.00
echo:; Acceleration (units/s2): P R T
echo: M204 P500.00 R500.00 T500.00
echo:; Advanced: B S T J
echo: M205 B20000.00 S0.00 T0.00 J0.08
echo:; Home offset:
echo: M206 X0.00 Y0.00 Z0.00
echo:; Auto Bed Leveling:
echo: M420 S0 Z0.00
echo:; Material heatup parameters:
echo: M145 S0 H210 B60 F255
echo: M145 S1 H240 B70 F255
echo:; PID settings:
echo: M301 P21.73 I1.54 D76.55
echo:; Z-Probe Offset (mm):
echo: M851 X10.00 Y10.00 Z-2.20
echo:; Stepper driver current:
echo: M906 X580 Y530 Z580
echo: M906 T0 E650
echo:; StallGuard threshold:
echo: M914 X0 Y0
echo:; Driver stepping mode:
echo: M569 S1 X Y Z
echo: M569 S1 T0 E
echo:busy: processing
echo:busy: processing
echo:busy: processing
echo:busy: processing
echo:busy: processing
echo:busy: processing
Error:!! STOP called because of BLTouch error - restart with M999
[ERROR] Error:!! STOP called because of BLTouch error - restart with M999
Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)
[ERROR] Error:Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)
Error:!! STOP called because of BLTouch error - restart with M999
Sounds like it can't get the BLtouch auto test completed. Check all your wires are correct and self test completes on boot up.
@@ChrisRiley I've check all the wires with the wiring diagram and they are in the correct order.
Here is the read out from PronterFace with the First being probe Stowed, Second being probe deployed. It retracted the probe on the M119 when it was deployed.
I have a Config file I can send you.
>>> M119
SENDING:M119
Reporting endstop status
x_min: open
y_min: open
z_min: TRIGGERED
>>> M119
SENDING:M119
Reporting endstop status
x_min: open
y_min: open
z_min: TRIGGERED
@@Coretalless This only other thing I can think of is change these settings.
#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING true // Set to true to invert the logic of the probe.
Why did you use the standard Marlin firmware instead of the the firmware from the Big Tree Tech GitHub. Is there an advantage to using the standard firmware?
I am not sure what version BTT uses, but here I just wanted to show how you can custom config your own. They will probably both work the same.
this isnt working for me. im following this to the T step by step yet i dont succeed i fail. each time and i cant figure out why. do you have some sort of magic thing going on over there?
In file included from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_BusIO_Register.h:2:0,
from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_BusIO_Register.cpp:1:
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope
BitOrder dataOrder = SPI_BITORDER_MSBFIRST, that code along many others. i dont get this stuff at all
Try this:
Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible.
Quick fix:
1. Open the "platformio.ini" in your Marlin folder
2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip
3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
4. Save
I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
@@ChrisRiley Thanks for the reply. I got a version up and running from BTT and just edited it from there and it seemed to work. still working out some bugs ( my abl bltouch is strange i leved the bed and have the g29 code running with the correct offset yet on one side of my bed its sticking great! but the other side seems to be high and wont stick. ) but thank your for the help and will most deff keep watching your videos!
Chris, great video btw. I just got my ender 3 pro about a week ago and just upgraded my board to the mini v1.2. The question I have is, do i follow this video when I upgrade my firmware to 2.0.6 or is there something different I do? Any help is appreciated as I am green around the collar to 3d printing? Thanks.
Thanks! Yes, this video should work for you.
Everything is great up to 8:22 when I go to test the compile. When I select the icon i do not get the env population screen as seen on the video. Mine is blank under project tasks. What did I miss please.
That usually means you have the wrong folder pulled in to the project, make sure you are build from the folder right above the Marlin folder. It's looking for the folder that contains the .pio folder.
this video was excellent. Everything is working great except the Z homing. it just jams down and grinds. I tried lowing the homing current but it doesn't seem to fix the problem. Where should I go from here, do I need a new limit switch or can I do the Z sensorlessly?
I'm using the skr e3 dip
You will need a limit switch.
I got a few errors not sure what's the matter. Do you have any thoughts Chris? See below.
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp: In member function 'bool Adafruit_I2CDevice::read(uint8_t*, size_t, bool)':
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:160:79: error: no matching function for call to 'TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)'
size_t recv = _wire->requestFrom((uint8_t)_addr, (uint8_t)len, (uint8_t)stop);
^
In file included from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\libraries\Wire/Wire.h:42:0,
from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_I2CDevice.h:1,
from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp:1:
from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_BusIO_Register.cpp:1:
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope
BitOrder dataOrder = SPI_BITORDER_MSBFIRST,
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp: In member function 'void Adafruit_SPIDevice::transfer(uint8_t*, size_t)':
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:99:31: error: no matching function for call to 'SPIClass::transfer(uint8_t*&, size_t&)'
_spi->transfer(buffer, len);
^
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:37:43: note: suggested alternative: 'SPI_CR1_LSBFIRST'
BitOrder dataOrder = SPI_BITORDER_MSBFIRST,
^~~~~~~~~~~~~~~~~~~~~
SPI_CR1_LSBFIRST
In file included from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:1:0,
from .pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:1:
Marlin\src\HAL\STM32F1/SPI.h:268:11: note: candidate: uint8_t SPIClass::transfer(uint8_t) const
uint8_t transfer(uint8_t data) const;
^~~~~~~~
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214/Adafruit_SPIDevice.h:42:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope
BitOrder dataOrder = SPI_BITORDER_MSBFIRST,
^~~~~~~~~~~~~~~~~~~~~
Marlin\src\HAL\STM32F1/SPI.h:268:11: note: candidate expects 1 argument, 2 provided
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:115:23: error: 'SPI_BITORDER_LSBFIRST' was not declared in this scope
if (_dataOrder == SPI_BITORDER_LSBFIRST) {
^~~~~~~~~~~~~~~~~~~~~
*** [.pio\build\STM32F103RC_btt_512K\lib35d\Adafruit BusIO_ID6214\Adafruit_BusIO_Register.cpp.o] Error 1
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:115:23: note: suggested alternative: 'SPI_CR1_LSBFIRST'
if (_dataOrder == SPI_BITORDER_LSBFIRST) {
^~~~~~~~~~~~~~~~~~~~~
In file included from c:\users\matthew laptop\.platformio\packages\toolchain-gccarmnoneeabi\arm-none-eabi\include\inttypes.h:22:0,
from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/avr/pgmspace.h:4,
from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/WString.h:29,
from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/wirish.h:47,
from C:\Users\matthew laptop\.platformio\packages\framework-arduinoststm32-maple\STM32F1\cores\maple/Arduino.h:30,
from .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.h:50,
from .pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:17:
.pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.h:84:32: error: call to 'Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t, uint32_t, BitOrder, uint8_t, SPIClass*)' uses the default argument for parameter 3, which is not yet defined
Adafruit_SPIDevice spi_dev = NULL;
^
.pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp: In constructor 'Adafruit_MAX31865::Adafruit_MAX31865(int8_t, int8_t, int8_t, int8_t)':
.pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:38:76: error: call to 'Adafruit_SPIDevice::Adafruit_SPIDevice(int8_t, int8_t, int8_t, int8_t, uint32_t, BitOrder, uint8_t)' uses the default argument for parameter 6, which is not yet defined
spi_dev = Adafruit_SPIDevice(spi_cs, spi_clk, spi_miso, spi_mosi, 1000000);
^
.pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp: In constructor 'Adafruit_MAX31865::Adafruit_MAX31865(int8_t)':
.pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:49:43: error: 'SPI_BITORDER_MSBFIRST' was not declared in this scope
Adafruit_SPIDevice(spi_cs, 1000000, SPI_BITORDER_MSBFIRST, SPI_MODE1);
^~~~~~~~~~~~~~~~~~~~~
.pio\libdeps\STM32F103RC_btt_512K\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp:149:23: note: suggested alternative: 'SPI_CR1_LSBFIRST'
if (_dataOrder == SPI_BITORDER_LSBFIRST) {
^~~~~~~~~~~~~~~~~~~~~
SPI_CR1_LSBFIRST
.pio\libdeps\STM32F103RC_btt_512K\Adafruit_MAX31865\Adafruit_MAX31865.cpp:49:43: note: suggested alternative: 'SPI_CR1_LSBFIRST'
Adafruit_SPIDevice(spi_cs, 1000000, SPI_BITORDER_MSBFIRST, SPI_MODE1);
^~~~~~~~~~~~~~~~~~~~~
SPI_CR1_LSBFIRST
*** [.pio\build\STM32F103RC_btt_512K\lib192\Adafruit_MAX31865\Adafruit_MAX31865.cpp.o] Error 1
*** [.pio\build\STM32F103RC_btt_512K\lib35d\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp.o] Error 1
Check this out,
Had the same error. Seems like the Adafruit MAX31865 version 1.2.0 is incompatible.
Quick fix:
1. Open the "platformio.ini" in your Marlin folder
2. Press Strg + F and search for Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/master.zip
3. Replace it with Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
4. Save
I got the solution from this github.com/MarlinFirmware/Marlin/issues/18081
@@ChrisRiley Thank you very much I will give it a try and let you know what happens. Best Matt
@@ChrisRiley Ok well done Chris! that got it to compile. I will send it to the board and if all is good, I owe you a coffee. Best Matt
@@ChrisRiley All is good! I ran a print last night. A few minor issues with print quality. But I expected that. I will need to re tune everything. But man is it quiet. Also this was for an ender 5 so I did make a few minor changes from the original ender 3 profile. But it works fantastic. Coffee is on the way! Best Matt
Hey Chris hopefully you can help. As soon as I add the Folder to VS Code & open Configuration.h and I get this error message {
"resource": "/c:/Marlin-2.0.5.3-SKR_Mini/Marlin-2.0.5.3-SKR_Mini/Marlin/Configuration.h",
"owner": "C/C++",
"code": "1696",
"severity": 8,
"message": "#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit (C:\\Marlin-2.0.5.3-SKR_Mini\\Marlin-2.0.5.3-SKR_Mini\\Marlin\\src\\lcd\\extui\\lib\\ftdi_eve_touch_ui\\screens\\stepper_current_screen.cpp).",
"source": "C/C++",
"startLineNumber": 2,
"startColumn": 1,
"endLineNumber": 2,
"endColumn": 30
} It fails to compile firmware every time I try and I have no idea what to do.
Strange, you have a nested root folder, try reducing the file path by one folder and see what happens.
i cant get any thing to build in any environment nothing but errors even uninstalled vscode and re installed fresh marlin with no config changes
2 things to try, shorten you file path, move your Marlin folder to your C:\ and retry. And correct this:
# In platformio.ini (line 32) make the following change:
Adafruit_MAX31865=github.com/adafruit/Adafruit_MAX31865/archive/1.1.0.zip
Why aren't we using the files provided by BTT? Feeling a bit overwhelmed; upgraded to a Mosquito, the 1.2 Mini, and a Flex3Drive, started a new job, and 'Rona lockdown, all at the same time.
The files from BTT are probably fine, I am just trying to show how you can do your own custom config. I hear you on being overwhelmed. If there is anything I can help with just let me know.
@@ChrisRiley I can't even get PlatformIO to build/compile vanilla Marlin 2.0, lol. I'm almost ready to jump back over to Klipper.
@@MrKbustera What does it say when you try? Do you see the build env?
I just got this board for my Ender 3 Pro and everything works but the end stops for homing. All of them are just not working. They are all in the correct locations and connected properly. I'm lost...
Those end stops are unpredictable try enabling this option. //#define ENDSTOP_NOISE_THRESHOLD 2
Hi Chris,
I recently upgraded my Ender 5 to an SKR Mini E3 1.2 board and an SKR TFT35 v3.0 touch screen with the Wi-Fi module that was bundled with the display.
Could you please do a video on how to configure the Wi-Fi module including loading the latest version of ESP Wifi firmware? Thanks!
It comes out in 25 minutes! :)
Thanks! Great minds think alike!
Thanks for the video! I'm building Marlin 2.0.6.1 for CR10 mini and I'm getting ModuleNotFoundError: No module named 'platformio.managers.package' It's the same error if I use the Autio Build Marlin extension. PlatformIO community post pointed to a bug in 2.0.6 but resolved in 2.0.6.1, however this is not the case for me. Any help?
*edit* figured it out, I added Creality's folder instead of Marlin as the project.
Awesome, glad you found it.
@@ChrisRiley Thank you for sharing your knowledge!
For some reason, when flashing, if I use my laptop to power the printer via USB instead of switching the PSU on. That makes the firmware.bin into a .CUR file. No idea why
Interesting, I will have to try that.
Hi, I have installed SKR E3 V1.2 mini board on my Ender3. And have followed your video.
Before that the original board was running with Roko NPN auto leveling sensor and 1.1.9 Marlin with no problems.
Now with BTT board and 2.0.5.3 Marlin I have problem that the printer seems to search for bed behind X end stop. When I start auto bed leveling, head hits X end stop as it would not expect it to be (rough) and does auto leveling with sensor hanging besides the bed. This leads to nozzle crash to bed as the sensor is not above bed. My sensor location is between print head and X end stop (left side of head). Related to this Z_SAFE_HOMING is happening not in the center of bed but closer to X end stop. Practically it seems that firmware expects bed to be more to left side than it is. I have adjusted probe offset from nozzle but it doesn't seem to react at all. But when I do bed center calibration, the print is in center, but auto leveling is still acting the same.
Can you help me at least with options which I could check? Thank you!
Also I have found one bug that when I stop print on Ender screen, printer starts homing and suddenly it restarts the print where it was stopped.
You need to check your X and Y probe off set, make sure for X you are setting it in the negative.
@@ChrisRiley I have tried X0, X-40, X-100. The head was still homing at the same X position what ever I put on X offset in VSCode:
#define NOZZLE_TO_PROBE_OFFSET { -40, -10, 0 }
I decided to play with Pronterface and found the problem. It seems that somehow after writing firmware to the printer it was getting positive value. I have requested settings with M503 command and saw that:
echo:; Z-Probe Offset (mm):
echo: M851 X40.00 Y-10.00 Z0.00
So M851 X-40 line changed the X value to -40, saved with M500.
I' writing this in detail as maybe it will help someone to save some time.
@@G.Selvenis Awesome, glad you found it.
Keep getting an "include" error and build fails. Any help would be greatly appreciated
Can you paste the error here?
@@ChrisRiley In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0,
from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32,
from Marlin\src\HAL\AVR\HAL.cpp:25:
Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
^
In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0,
from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32,
from Marlin\src\HAL\AVR\HAL_SPI.cpp:34:
Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
^
In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0,
from Marlin\src\HAL\AVR\HAL.cpp:25:
Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
^
In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0,
from Marlin\src\HAL\AVR\HAL_SPI.cpp:34:
Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
^
In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0,
from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32,
from Marlin\src\HAL\AVR\MarlinSerial.cpp:39:
Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
^
In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0,
from Marlin\src\HAL\AVR\MarlinSerial.cpp:39:
Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
^
In file included from Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/HAL.h:31:0,
from Marlin\src\HAL\AVR\../../inc/../HAL/HAL.h:26,
from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:30,
from Marlin\src\HAL\AVR\MarlinSerial.cpp:39:
Marlin\src\HAL\AVR\MarlinSerial.cpp:707:22: error: pasting "USART" and "-" does not give a valid preprocessing token
ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) {
^
Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/MarlinSerial.h:55:65: note: in definition of macro 'SERIAL_REGNAME_INTERNAL'
#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix
^
Marlin\src\HAL\AVR\MarlinSerial.cpp:707:7: note: in expansion of macro 'SERIAL_REGNAME'
ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) {
^
Marlin\src\HAL\AVR\MarlinSerial.cpp:711:22: error: pasting "USART" and "-" does not give a valid preprocessing token
ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_UDRE_vect)) {
^
Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/MarlinSerial.h:55:65: note: in definition of macro 'SERIAL_REGNAME_INTERNAL'
#define SERIAL_REGNAME_INTERNAL(registerbase,number,suffix) registerbase##number##suffix
^
Marlin\src\HAL\AVR\MarlinSerial.cpp:711:7: note: in expansion of macro 'SERIAL_REGNAME'
ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_UDRE_vect)) {
^
In file included from Marlin\src\HAL\AVR\../../inc/../pins/pins.h:504:0,
from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:32,
from Marlin\src\HAL\AVR\Servo.cpp:56:
Marlin\src\HAL\AVR\../../inc/../pins/stm32f1/pins_BTT_SKR_E3_DIP.h:25:4: error: #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
^
*** [.pio\build\mega2560\src\src\HAL\AVR\HAL.cpp.o] Error 1
*** [.pio\build\mega2560\src\src\HAL\AVR\HAL_SPI.cpp.o] Error 1
In file included from C:\Users\Owner\.platformio\packages\framework-arduino-avr\cores\arduino/Arduino.h:30:0,
from Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/../shared/Marduino.h:36,
from Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/HAL.h:21,
from Marlin\src\HAL\AVR\../../inc/../HAL/HAL.h:26,
from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:30,
from Marlin\src\HAL\AVR\MarlinSerial.cpp:39:
Marlin\src\HAL\AVR\../../inc/../../Configuration.h:107:21: error: expected initializer before '-' token
#define SERIAL_PORT -1
^
Marlin\src\HAL\AVR\../../inc/../HAL/./AVR/MarlinSerial.h:51:54: note: in expansion of macro 'SERIAL_REGNAME_INTERNAL'
#define SERIAL_REGNAME(registerbase,number,suffix) SERIAL_REGNAME_INTERNAL(registerbase,number,suffix)
^
Marlin\src\HAL\AVR\MarlinSerial.cpp:707:7: note: in expansion of macro 'SERIAL_REGNAME'
ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) {
^
Marlin\src\HAL\AVR\MarlinSerial.cpp:707:28: note: in expansion of macro 'SERIAL_PORT'
ISR(SERIAL_REGNAME(USART,SERIAL_PORT,_RX_vect)) {
^
compilation terminated due to -fmax-errors=5.
In file included from Marlin\src\HAL\AVR\../../inc/MarlinConfig.h:41:0,
from Marlin\src\HAL\AVR\Servo.cpp:56:
Marlin\src\HAL\AVR\../../inc/../HAL/AVR/inc/SanityCheck.h:64:4: error: #error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
#error "MONITOR_DRIVER_STATUS causes performance issues when used with SoftwareSerial-connected drivers. Disable MONITOR_DRIVER_STATUS or use hardware serial to continue."
^
*** [.pio\build\mega2560\src\src\HAL\AVR\MarlinSerial.cpp.o] Error 1
*** [.pio\build\mega2560\src\src\HAL\AVR\Servo.cpp.o] Error 1
========================================================== [FA
me aswell , i followed your video to the dot. and repeated several times to make sure
@@Ballchineeyan Hey Wesley, looks like you just have a mix of settings that the env doesn't like. When you build, you will need to use the software serial with these settings. Build from this environment in VScode. env:STM32F103RE_btt
i am also getting errors with 'cannot find 'd:\Marlin-20.x\marlin-mini\include" . i tried to bulid with all 3 STM32F103RC_btt/USB/512K/512K_USB . All has the same error pls help
When the "X_Min_Endstop_Inverting" is set to True (change per the video), and I enable sensor-less homing, I get a a compiler error stating that the TMC2209 sensorless homing requires "X_Min..." to be set to False. Can you shed some light on what might be happening?
Never mind - watched the video again and saw you said that these are to be set to False. Now on to the BLtouch and filament runout sensor...
Nice, glad you found it!
Thanks! Ok i had mentioned earlier im trying to Frankenstein a printer together. Im guessing when i pull in a preconfiged Anet A8 as the printer (its mostly going to be a anet guts but not the fiery mainboard) that should get me most of the way there as far as marlin is concerned.
Yep, that should get you most of the way there.
how to put this into the Printrbot Simple metal replacing the Rev 5 board? thanks
I wish I knew, I actually have a simple I need to build and have to find a board for it.
@@ChrisRiley So I found out how and will share here in a bit with links.
After flashing different firmware.bin a few times, I'm now at a point where the board is not flashing the latest firmware.bin I'm giving it. And of course it still is named firmware.bin on the card. I wonder if this is what was happening to you Chris. I've changed the name appearing on the Info screen in my build to see whether the board has been updated and it hasn't.
I will test it, I can make changes to the printer name to check. I had someone else tell me a reformat of the SD card helped this.
I have the newest version of the skr mini v2.0 would I still select the v1.2 in VScode? there is no option for 2.0
I am not sure what processor they use, but for now you might want to stick with the BTT version until Marlin gets up to speed.
Fantastic video. I'm configuring an SKR mini E3 board today for an ender 3 with a BMG direct drive and a BL Touch. This video has me in the right direction. I assume I need to set the current and steps for the Bondtech 25mm extruder motor. Do you have a tutorial on this? Thank you so much.
Thanks, see if this video helps. ruclips.net/video/G7G1cwVduVk/видео.html
@Chris Riley I am 99,8% sure that the SKR E3 DIP needs a different bootloader for 512K flash. I flashed the bootloader(ST-link) from a SKR E3 mini on mine SKR E3 DIP to flash larger bin files with succes.
Good to know, I will have to see if I can dump all that info from both boards.
@@ChrisRiley Get a ST-Link V2 and wire the pins correctly ;) Don't bother guessing the end adres of the bootloader... Just Read the whole 256K and flash it on the DIP. Then put the SDcard in with a large rom.
@@emesix I need to grab one for sure.
Could you do one for SKR Mini E3 v2.0?
Looks like official marlin repo hasn't been updated with BTT's config for the new v2 board.
Yes, v2 board on the way. We will work on it.