Giter Site home page Giter Site logo

simonbuxx / iloop-marlin-configurator Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 2.29 MB

Configurator for the 3D printing firmware Marlin. Developed for use in the iLOOP CubeSat project of ERIG e.V. and TU Braunschweig, funded by the DLR.

License: MIT License

C++ 99.27% CMake 0.73%
3d-printing cubesat marlin marlin-firmware

iloop-marlin-configurator's Introduction

iLOOP Marlin Configurator (iMC)

The iLOOP Marlin Configurator is a configurator for the 3D printing firmware Marlin. Marlin is configured using a huge C++ header file that is compiled into the Marlin build to allow for minimum build size. Altering this file can be tedious and error-prone, which may result in hardware failure or even fire hazards.

iMC simplifies the workflow of configuring Marlin by generating the header file from a set of parameters that can be set in a graphical user interface. This way, parameters can have different input types, fitted to their data type. iMC can also build and deploy Marlin without the need to use an extra tool like Auto Build Marlin.

About iLOOP

The iLOOP project is a student project of ERIG e.V. and the Institute of Space Systems of TU Braunschweig that aims to develop an infinite-Z belt 3D printer for additive manufacturing under vacuum conditions. This project is a tech demonstration for a future CubeSat mission. The project is funded by the DLR as part of the small satellite initiative of the German Federal Government.

Please note: Although iMC is developed for iLOOP, it can be used to configure any 3D printer that runs the Marlin firmware.

Screenshot of the iLOOP Marlin Configurator Screenshot of iMC with an open Marlin workspace

Workflow and limitations

To keep track of the configuration, iMC uses a configuration.json file in the Marlin base folder. Currently, the software cannot import existing configurations. It starts with a default configuration that you can then fit to your specific needs. Also, iMC currently only generates Marlin v2.1.2 configurations and is available for Windows only.

The usual workflow is as follows:

  • Get Marlin v2.1.2, either from their website or directly from GitHub. The folder called Marlin-2.1.2 is the base folder.
  • Open the folder as a workspace in iMC. The software will warn you that no iMC configuration is present. Click on "Save" to generate the configuration.json file containing the default configuration.
  • You can then change the parameters on the different pages according to your needs and click on "Configure" to regenerate the Configuration.h file inside the folder Marlin-2.1.2/Marlin.
  • To build and deploy Marlin, use the tools provided in the "Build" menu. See the notes below on how to setup PlatformIO, which is used to build Marlin.

Have a look around to get an overview over the features of iMC. There is a per-page code preview and you can move and resize all sub windows, as shown in the screenshot above.

How do I setup PlatformIO?

To build Marlin, you need to install and setup PlatformIO. Follow the instructions on their documentation and don't forget to set the PATH system variable. If you already have PlatformIO and Auto Build Marlin installed, it is sufficient to set the PATH variable so that the platformio command is available from every directory.

How do I build iMC?

iMC is developed on Windows using Qt 6.4.0 and compiled using MinGW 64-bit. To build it yourself, open the main CMake file in Qt Creator, select the correct build environment and click on "Build". There are tutorials out there if you need assistance.

Current Development State

There are currently not all configuration pages implemented. The unimplemented pages will be blank and the exported configuration will contain default values for the unimplemented parameters. Chances are that you won't need to alter these anyways but if you do, you will need to change them manually after every config generation. Please note that iMC is currently in an early stage and that needs of the iLOOP project are prioritized.

DISCLAIMER: Erroneous configuration of a 3D printer may cause damages and/or personal injuries. As stated in the MIT license, the software is provided "as is" and I shall not be liable for any damages caused by this software. There may be bugs that can corrupt the configuration. Always check generated header files before using them.

iloop-marlin-configurator's People

Contributors

simonbuxx avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

iloop-marlin-configurator's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.