Notifications
Clear all

How edit and compile firmware to MINI+  

Page 1 / 2
  RSS
Guru von Pospi LEE
(@guru-von-pospi-lee)
Active Member
How edit and compile firmware to MINI+

Hi. Iwas upgrade a my new MINI+ and now on the last step I need edit/update a firmware. Do you know anybody how to do? I need setup only a MAX_SIZE_Y and Z. 

This topic was modified 3 months ago by Guru von Pospi LEE
Posted : 21/07/2021 12:35 pm
towlerg
(@towlerg)
Noble Member
RE: I don't think it's this simple but ....

Not sure it's as simple as that but essentially -

1.Get Mini+ source from Github (FYI this is forked version of Marlin). I may be wrong (not a Mini owner) but I think it's here     https://github.com/prusa3d/Prusa-Firmware-Buddy

2.Get Visual Studio Code (there are other ways to compile but this will be the preferred going forward). See the readme that comes with the source, lots of info.

3.Run Visual Studio Code and download the Platformio plugin

4.Compile the Mini source

5.Suggest you first compile without making mods and compare your bin the the published one.

6.Now the hard part - Mini will only bootload a correctly signed object file UNLESS you break the appropriate section of the main board. I guess not an issue for you as warranty is pretty much banjaxed.

 

See https://help.prusa3d.com/en/article/flashing-custom-firmware-mini_14

This post was modified 3 months ago by towlerg
Posted : 21/07/2021 1:38 pm
towlerg
(@towlerg)
Noble Member
Additionally

Additionally Marlin is usually configured using two text files, Configuration.h and Configuration_adv.h. Prusa seem to be using Configuration_A3ides_2209_MINI.h and Configuration_A3ides_2209_MINI_adv.h. I don't know how that name change is implemented.

The variables your looking for are Z_MAX_POS and Y_BED_SIZE both in the configuration.h file.

 

Posted : 21/07/2021 1:56 pm
BogdanH
(@bogdanh)
Reputable Member
Prusa Mini custom firmware creation

As mentioned above, read this first!

Here's my approach (in Windows10):

1. Download Phyton and install it (I use Windows installer (32-bit) on 64-bit Windows). At installing, make sure you check "include PATH" when asked -for easier Phyton use.
2. Download Mini source code (zip) and unzip it (this link is for currently latest beta firmware).
3. Open Configuration_A3ides_2209_MINI.h file (with Notepad) and edit appropriate settings and save the file -you'll find this file inside include\marlin folder.
4. Open console window and change current directory to X:\Prusa-Firmware-Buddy-4.3.2-RC2 (replace X with your drive letter, or wherever you unzipped Prusa source file).
5. In console type the following command: python utils/build.py --generate-bbf. In case you get errors (files missing), make sure phyton is not blocked by firewall!
6. Look inside build\products folder. There you will find file with bbf suffix -that's your new firmware you just compiled.
7. Rename the firmware file to your liking for later use (i.e. PrusaMini-MaxSize.bbf).
8. Copy firmware (bbf) file on USB flash drive and insert flash drive into printer.
9. Push Reset button (on printer) and immediately press and hold selector knob for about 1-2 seconds. It's important that you release the knob before "Verifying" screen appears.
Now you'll be prompted to flash new firmware.

After flashing with new firmware is completed, printer will boot and main screen will appear (you can remove USB stick by now). Now go to Mini's menu and choose "Reset to factory defaults" -is important to do!

Keep in mind, that your printer is now in "clean" (factory) state and so you need to execute usual stuff (like First layer calibration, etc.).

Mini+ with Bondtech upgrade & modified firmware...
Posted : 21/07/2021 2:55 pm
towlerg liked
towlerg
(@towlerg)
Noble Member
all the important things I didn't know

Thanks for adding all the important things I forgot. I had no idea you could use Python to compile.

Posted : 22/07/2021 1:24 pm
Guru von Pospi LEE
(@guru-von-pospi-lee)
Active Member
Topic starter answered:
Prusa Mini custom firmware creation

Hi Bogdan. THX for very important information to me. Today I look on the firmware, all setup and compiled. Now I printing a test and look very good. I was any problem with setup configuration, but now working. Once again thx.

Size of bed heat 180x370

Prusa Slicer

On the next upgrade I will change the axis Z to higher. I think then 350mm will be a good. Now I take any test printing.

Posted : 22/07/2021 10:58 pm
BogdanH
(@bogdanh)
Reputable Member
compiling firmware

hello Guru
I'm glad my post was helping you to finalize your Mini upgrade 🙂 .

Mini+ with Bondtech upgrade & modified firmware...
Posted : 23/07/2021 6:56 am
Guru von Pospi LEE
(@guru-von-pospi-lee)
Active Member
Topic starter answered:
Printing models with the my modifi firmware Prusa MINI++

Here is any printed on the My upgrade MINI++. 

Posted : 06/09/2021 3:01 pm
Poblupuablo
(@poblupuablo)
Active Member
not working yet

D:\Prusa-Firmware-Buddy-4.3.3-RC\Prusa-Firmware-Buddy-4.3.3-RC>python utils/build.py --generate-bbf

TIP: run `pip install -m tqdm` to get a nice progress bar

Building mini_release_noboot

Building mini_release_emptyboot

Building mini_release_boot

Building finished: 0 success, 3 failure(s).

mini_release_noboot project configuration FAILED

mini_release_emptyboot project configuration FAILED

mini_release_boot project configuration FAILED

Posted by: @bogdanh

As mentioned above, read this first!

Here's my approach (in Windows10):

1. Download Phyton and install it (I use Windows installer (32-bit) on 64-bit Windows). At installing, make sure you check "include PATH" when asked -for easier Phyton use.
2. Download Mini source code (zip) and unzip it (this link is for currently latest beta firmware).
3. Open Configuration_A3ides_2209_MINI.h file (with Notepad) and edit appropriate settings and save the file -you'll find this file inside include\marlin folder.
4. Open console window and change current directory to X:\Prusa-Firmware-Buddy-4.3.2-RC2 (replace X with your drive letter, or wherever you unzipped Prusa source file).
5. In console type the following command: python utils/build.py --generate-bbf. In case you get errors (files missing), make sure phyton is not blocked by firewall!
6. Look inside build\products folder. There you will find file with bbf suffix -that's your new firmware you just compiled.
7. Rename the firmware file to your liking for later use (i.e. PrusaMini-MaxSize.bbf).
8. Copy firmware (bbf) file on USB flash drive and insert flash drive into printer.
9. Push Reset button (on printer) and immediately press and hold selector knob for about 1-2 seconds. It's important that you release the knob before "Verifying" screen appears.
Now you'll be prompted to flash new firmware.

After flashing with new firmware is completed, printer will boot and main screen will appear (you can remove USB stick by now). Now go to Mini's menu and choose "Reset to factory defaults" -is important to do!

Keep in mind, that your printer is now in "clean" (factory) state and so you need to execute usual stuff (like First layer calibration, etc.).

I keep getting a failed error. all firewalls are off. i tired with just the stock firmware source code

 

 

Posted : 24/09/2021 9:00 pm
BogdanH
(@bogdanh)
Reputable Member

@poblupuablo

Your phyton is blocked by firewall.
Here's what I get in console:

G:\MINI FwSource-4.3.3RC+Bondtech>python utils/build.py --generate-bbf
Downloading ninja-1.9.0
Extracting ninja-1.9.0
Downloading cmake-3.15.5
Extracting cmake-3.15.5
Downloading gcc-arm-none-eabi-7.3.1
Extracting gcc-arm-none-eabi-7.3.1
Downloading clang-format-9.0.0-noext
Extracting clang-format-9.0.0-noext
Downloading bootloader-mini-1.0.0
Extracting bootloader-mini-1.0.0
Building mini_release_noboot
Building mini_release_emptyboot
Building mini_release_boot

Building finished: 3 success, 0 failure(s).
 mini_release_noboot    SUCCESS
 mini_release_emptyboot SUCCESS
 mini_release_boot      SUCCESS

G:\MINI FwSource-4.3.3RC+Bondtech>

 -these Downloading and Extracting (at beginning) are not executed in your case.

Mini+ with Bondtech upgrade & modified firmware...
Posted : 24/09/2021 9:27 pm
Poblupuablo
(@poblupuablo)
Active Member

cant figure out how then, i disabled all firewalls on my pc, and i even allowed python, but it didn't work

Posted : 24/09/2021 9:41 pm
Poblupuablo
(@poblupuablo)
Active Member
RE: How edit and compile firmware to MINI+

after uninstalling, reinstalling an older version (3.7.9), making sure it's allowed in the windows firewall, and restarting i still get errors @bogdanh

Posted : 24/09/2021 10:15 pm
BogdanH
(@bogdanh)
Reputable Member

Before I continue, python v3.7.9 is quite old, so I can't comment on it (I use v3.9.5).

But there's something strange.. I see you use:

D:\Prusa-Firmware-Buddy-4.3.3-RC\Prusa-Firmware-Buddy-4.3.3-RC>python utils/build.py --generate-bbf

-how come you have two directories with the same name (one inside of another)? After unpacking firmware zip file, there should be only one D:\Prusa-Firmware-Buddy-4.3.3-RC directory.

Mini+ with Bondtech upgrade & modified firmware...
Posted : 25/09/2021 7:35 am
Poblupuablo
(@poblupuablo)
Active Member

i don't know why the file is like that but that's where all the files are.

i uninstalled python, installed 3.9.5 (added the path in the install like recommended), disabled firewalls and tried again. no luck

Posted : 25/09/2021 3:18 pm
BogdanH
(@bogdanh)
Reputable Member

From screenshot you posted, I can see that python is not blocked by firewall -because ".dependencies" folder exists (there must be 5 subfolders inside).

Ok, I tried to write some nonsense into marlin\Configuration files just to provoke errors. I get errors with message build FAILED, but no matter what I do, I can't get project configuration FAILED error (even if I delete configuration files).
In short, I don't know what is causing your trouble.

Maybe you should delete complete firmware directory and download firmware zip file again. Then try to use python without changing anything inside firmware folder.

Mini+ with Bondtech upgrade & modified firmware...
Posted : 25/09/2021 10:20 pm
Poblupuablo
(@poblupuablo)
Active Member

I can take a screenshot of the "allow and app through the firewall" to show that I have python allowed (only 3 items I found), later when I get home. 

 

I am trying with unmodified Marlin firmware, thinking that perhaps it was my firmware. But I can't even get a stock build to compile. 🙁 

Posted : 25/09/2021 11:16 pm
BogdanH
(@bogdanh)
Reputable Member
Posted by: @poblupuablo

I can take a screenshot of the "allow and app through the firewall" to show that I have python allowed...

-yes, I realized that (see my previous post).

I am trying with unmodified Marlin firmware, thinking that perhaps it was my firmware.

-that's what I was suggesting.

But I can't even get a stock build to compile.

-that's a real problem.

I asked you before, how come you have two same named firmware source folders (one inside another) and you said
"i don't know why the file is like that but that's where all the files are."

I must say, I'm not happy with that answer... is like saying "I don't know what I'm doing". The thing is, downloaded source zip file contains only one Prusa-Firmware-Buddy-4.3.3-RC folder.
Yes, you can have firmware source folder inside another folder and python will compile it as expected. But because you don't know why you got two (same named) folders, makes me thinking that there must be something else that you did wrong -and I have no idea what that is.

Mini+ with Bondtech upgrade & modified firmware...
Posted : 26/09/2021 9:03 am
Poblupuablo
(@poblupuablo)
Active Member

that's what I was suggesting

To clarify, that all I had been doing this whole time, after my initial issue failing with my modded files, I gave up and tried to only compile stock firmware. After my failure with stock firmware, that's when I initially posted.

 

I must say, I'm not happy with that answer... is like saying "I don't know what I'm doing".

I believe, though am not 100% sure if this is what I did,  this is because when I decided to try stock firmware compiling, I re-exracted the file, and I may have put it into that folder on accident. But that is only a guess. I cannot say with certainty as to why it was like that, just that it was. Not due to lack of not knowing what I'm doing, but rather I cannot, with certainty, explain why it happened.

But because you don't know why you got two (same named) folders, makes me thinking that there must be something else that you did wrong -and I have no idea what that is.

I too was quite confused. So I just completely deleted the folder and its contents. I re-extracted the files to the root directory of D: (D:\Prusa-Firmware-Buddy-4.3.3-RC) , and attempted a build. This time it seems to have worked. (This site won't let me upload a screenshot for some reason at the moment) but here is what it said:

 

D:\Prusa-Firmware-Buddy-4.3.3-RC>python utils/build.py --generate-bbf

Downloading ninja-1.9.0 Extracting ninja-1.9.0

Downloading cmake-3.15.5 Extracting cmake-3.15.5

Downloading gcc-arm-none-eabi-7.3.1

Extracting gcc-arm-none-eabi-7.3.1

Downloading clang-format-9.0.0-noext

Extracting clang-format-9.0.0-noext

Downloading bootloader-mini-1.0.0

Extracting bootloader-mini-1.0.0 Building mini_release_noboot

Building mini_release_emptyboot Building mini_release_boot

 

Building finished: 3 success, 0 failure(s).

mini_release_noboot SUCCESS

mini_release_emptyboot SUCCESS

 mini_release_boot SUCCESS

That seems like it worked to me.  Does that sound right to you? 

 

I do see a "mini_release_emptyboot.bbf" in the D:\Prusa-Firmware-Buddy-4.3.3-RC\build\products folder. And it is last modified about 10 minutes ago (about the time I started to typed this out). Does that all seem to indicate to you that this may have worked properly? 

 

If so, I surely don't know why, but perhaps something got extracted wrong twice, I did something wrong, or the double folder was messing with things....  Whichever it is, I believe I go it to compile. I'll try my custom file in a few days to see if that compiles, and I'll be back if I see issues. Thanks for your help! 

 

 

 

 

 

Posted : 27/09/2021 2:16 am
BogdanH
(@bogdanh)
Reputable Member

Yes, that's how it should look -you made it!
Btw. next time you compile the same source firmware folder, you won't get Downloading & Extracting messages, because necessary files are already inside ".dependencies" folder (this folder is created when you compile source for the first time).

Mini+ with Bondtech upgrade & modified firmware...
Posted : 27/09/2021 8:47 am
buggyfreak
(@buggyfreak)
Active Member
Compile mini with Y250mm

hello,i was trying to compile llama firmware. i am using Y250mm, i want to change the Y axis only. i have change the size in visual coded. but i fail to compile using python. please help. 

would you be able to supply me the latest firmware 4.3.3 with Y250mm? or llama latets firmware 4.3.2 with Y250mm.

Posted : 13/10/2021 1:18 am
Page 1 / 2
Share: