# Help needed compiling firmware

**URL:** <https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005>\
**Category:** Development\
**Created:** [February 18, 2021, 1:53am UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005 "2021-02-18T01:53:08Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![uopolymer](https://avatars.discourse-cdn.com/v4/letter/u/dec6dc/32.png) [@uopolymer](https://forum.lulzbot.com/u/uopolymer)\
**Post date:** [February 18, 2021, 1:53am UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/1 "2021-02-18T01:53:08Z")

</div>

I have two taz 5’s that are running great, finally. I run a 3d printing lab for product design students, and since the Taz’s are our biggest machines they are in high demand. The one thing I am having a hard time living without is a filament out sensor. I have the switch, and the pieces to make it, but I’m at a loss to figure out how exactly you create your own firmware. I am not in control of the network, so Octoprint is not an option.  
This thread says to change a few files and re-compile the firmware. [Simple filament runout sensor](https://forum.lulzbot.com/t/simple-filament-runout-sensor/3796)  
Where do you find pins\_RAMBO.h, configuration.h, and Marlin\_main.cpp?

These aren’t the correct files to edit, correct?  
[http://devel.lulzbot.com/software/Marlin/release-candidate/](http://devel.lulzbot.com/software/Marlin/release-candidate/)

---

<div class="post-metadata">

**Author:** ![rhenderson](https://avatars.discourse-cdn.com/v4/letter/r/9de0a6/32.png) [@rhenderson](https://forum.lulzbot.com/u/rhenderson)\
**Post date:** [February 18, 2021, 2:30pm UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/2 "2021-02-18T14:30:33Z")

</div>

> **[LulzBot 3D / Marlin](https://gitlab.com/lulzbot3d/marlin)**
>
> Marlin specific for LulzBot 3D Printers

Navigate to the branch for the version you wish to compile firmware for then make the necessary changes and follow the build instructions. This may be an involved process requiring arduino and some tinkering to get working on Windows, but I believe is pretty straight forward on debian.

---

<div class="post-metadata">

**Author:** ![uopolymer](https://avatars.discourse-cdn.com/v4/letter/u/dec6dc/32.png) [@uopolymer](https://forum.lulzbot.com/u/uopolymer)\
**Post date:** [February 18, 2021, 7:19pm UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/3 "2021-02-18T19:19:24Z")

</div>

Is there a beginner’s guide somewhere?  
To give you an idea of where I’m at, I’ve plugged in and programmed an arduino a few years ago, don’t know what a branch is, and never ever touched linux. Also, it’s between mid-terms and finals right now, so there is a lot going on.

---

<div class="post-metadata">

**Author:** ![Korwen](https://avatars.discourse-cdn.com/v4/letter/k/3bc359/32.png) [@Korwen](https://forum.lulzbot.com/u/Korwen)\
**Post date:** [February 18, 2021, 8:38pm UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/4 "2021-02-18T20:38:26Z")

</div>

Hey there! I’m new to this too, I’m working on getting a Taz 5 that was modified and then replaced and sat in storage for a bit - so I’m having to run it on custom firmware to get some additional features enabled too.

I used this link along with plenty of other searching to get started:

> **[Marlin Firmware – How to Get Started | All3DP](https://all3dp.com/2/marlin-firmware-how-to-get-started/)**
>
> Take control of your 3D printer's firmware and discover a world of possibilities. We show you how to set up Marlin, one of the most popular firmware options among 3D printing enthusiasts!

The big difference is that I’m modifying the base Marlin firmware. It may be easier to download the source code for the latest official Taz 5 firmware and update that with the custom options, but would still require recompiling it.

One thing I ended up doing is going with VSCode and [Platform.io](http://Platform.io) as opposed to the Arduino IDE, but that was necessitated by my running Marlin 2.0.

Overall the process was a lot of learning, then a lot of trial and error, and I’m still not out of the woods yet, but it’s been fun! I hope that helps.

---

<div class="post-metadata">

**Author:** ![uopolymer](https://avatars.discourse-cdn.com/v4/letter/u/dec6dc/32.png) [@uopolymer](https://forum.lulzbot.com/u/uopolymer)\
**Post date:** [February 18, 2021, 9:23pm UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/5 "2021-02-18T21:23:22Z")

</div>

Thanks, That’s a great start.

---

<div class="post-metadata">

**Author:** ![uopolymer](https://avatars.discourse-cdn.com/v4/letter/u/dec6dc/32.png) [@uopolymer](https://forum.lulzbot.com/u/uopolymer)\
**Post date:** [April 6, 2021, 1:34am UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/6 "2021-04-06T01:34:26Z")

</div>

It’s the beginning of the next term, the lab is quiet, and I’ve started in. In the firmware you’ve linked, I was able to download it, turn the filament runout on, and turn on the other things associated with that, so it compiles with no errors. I also turned on the LCD.

After compiling, and re-booting the screen on the taz 5 is blank. What else am I missing, and how can I even show you what I have?  
When it’s compiled properly, what should be on the screen on the lcd?  
Is this firmware changed in any way to match a taz 5, or is it a really complete version of the marlin firmware that has everything, but isn’t specifically set up for a particular machine?

---

<div class="post-metadata">

**Author:** ![rhenderson](https://avatars.discourse-cdn.com/v4/letter/r/9de0a6/32.png) [@rhenderson](https://forum.lulzbot.com/u/rhenderson)\
**Post date:** [April 6, 2021, 1:34pm UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/7 "2021-04-06T13:34:11Z")

</div>

So needless to say, but this is a little out of both of our wheelhouses. Congratulations on getting it to a point where you can upload to your printer! My next thoughts are in relation to your comments on a blank lcd. I know that in a configuration file you will want to make sure the lcd is enabled. I guess im getting ahead of myself, we should first check that you grabbed the correct version with all of the lulzbot additional conditions. I believe the last Taz 5 firmware was compiled using the master branch. If the lcd is enabled the start screen should show a couple of boot images, one saying that its marlin and one with some lulzbot detailing. One of those will tell you which version it thinks it is running. Now if those are all check we want to make sure we are compiling either all versions of the firmware (time consuming and not necessary, but simple) or compiling the Taz 5 with your specific toolhead firmware.

Lastly, someone more adept at firmware might be able to point out some problems if you upload your changes to a public repository of your own making. This requires a small amount of set up in your preferred choice of repo host (github or gitlab are the most common).

I hope that my ramblings can help you move forward in your project.

---

<div class="post-metadata">

**Author:** ![uopolymer](https://avatars.discourse-cdn.com/v4/letter/u/dec6dc/32.png) [@uopolymer](https://forum.lulzbot.com/u/uopolymer)\
**Post date:** [April 6, 2021, 10:15pm UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/8 "2021-04-06T22:15:43Z")

</div>

Well, I’m going to slightly look at it another way. How would you create firmware for a printer that has the exact dimensions and boards as a Taz 5?  
Instead of trying to find Taz 5 firmware that I can change.

---

<div class="post-metadata">

**Author:** ![mwester](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.lulzbot.com/mwester/32/135_2.png) [@mwester](https://forum.lulzbot.com/u/mwester)\
**Post date:** [April 6, 2021, 11:58pm UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/9 "2021-04-06T23:58:42Z")

</div>

I’d start here, with something newer-but-generally-compatible… not sure if this repo supports the TAZ 5, but worth investigating:

> **[drunken-octopus/drunken-octopus-marlin](https://github.com/drunken-octopus/drunken-octopus-marlin)**
>
> An Alternative (Unofficial) Marlin Firmware for AlephObjects Printers

---

<div class="post-metadata">

**Author:** ![uopolymer](https://avatars.discourse-cdn.com/v4/letter/u/dec6dc/32.png) [@uopolymer](https://forum.lulzbot.com/u/uopolymer)\
**Post date:** [April 8, 2021, 1:31am UTC](https://forum.lulzbot.com/t/help-needed-compiling-firmware/23005/10 "2021-04-08T01:31:13Z")

</div>

Wow, that’s awesome. I used the compiler tool they have and it’s up and looks like it’s running. There was even a menu option on the printer to turn filament runout on.  
I’m going to see if I can figure out where and how exactly to set it up.  
[http://www.drunkenoctop.us/drunken-octopus-downloader/](http://www.drunkenoctop.us/drunken-octopus-downloader/)  
I found out that the original firmware that I compiled that gave me a blank screen also turned the heated bed on, so I’m really glad I got this newer firmware on.  
So, new to-do list is:  
Figure out how drunken octopus wants me to attach and configure the runout switch.  
Find out why the fan that cools the motherboard kicked on full  
Run a test print.
