Giter Club home page Giter Club logo

bigtreetech-touchscreenfirmware's Introduction

BigTreeTech Touchscreen Firmware

GitHub GitHub contributors GitHub Release Date Build Status

Firmware for BigTreeTech's dual-mode touchscreen 3D printer controllers

Table of Contents

Connect the TFT to the Mainboard

Do the following, to be able to use the touchmode of your screen.

  1. Connect the 5pin serial cable according to the manual of your mainboard.
  2. Define a serial port in Marlin, to activate the port used by the TFT.
  3. Make sure the same BAUDRATE is defined in Marlin and the firmware of your TFT (config.ini)

Do the following, to be able to use the Marlin emulation mode of your screen.

A: In case your TFT does not have an EXP connector at all (TFT28 v1 for example), you can not use the Marlin emulator mode.

B: In case your mainboard provides EXP1 and EXP2, you have to connect 2 ribbon cables connecting EXP1 and EXP2 of the mainboard to EXP1 and EXP2 of the TFT. In the Marlin firmware of your mainboard, make sure that ONLY the "REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER" is activated in Configuration.h and that all other controllers (especially the "CR10_STOCKDISPLAY") are Deactivated.

C: In case you have an "E3" mainboard which provides a single EXP connector, you have to connect 1 ribbon cable connecting EXP of the mainboard to EXP3 of the TFT. In the Marlin firmware of your mainboard, make sure that ONLY the "CR10_STOCKDISPLAY" is activated in Configuration.h and that all other controllers (especially the "REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER") are Deactivated.

Menus

Classic Menu Main Screen Unified Menu Main Screen
Classic Unified Material Main Screen
In config.ini define: General Settings
UNIFIED MENU / CLASSIC MENU
# Select a UI Menu flavour
# Options: [Unified Menu: 1, Classic Menu: 0]
unified menu: 0
In config.ini define: General Settings
UNIFIED MENU / CLASSIC MENU
# Select a UI Menu flavour
# Options: [Unified Menu: 1, Classic Menu: 0]
unified menu: 1

Themes

Unified Menu Theme Hybrid Red Material Theme by AntoszHUN The Round Miracle Theme by Acenotass
Unified Material Main Screen Hybrid Red Menu Material Mainscreen Round Miracle Main Screen
Use firmware, icons, and fonts from the Copy to SD Card root directory to update - Unified Menu Material theme folder Use firmware, icons, and fonts from the Copy to SD Card root directory to update - Hybrid Red Material theme folder Use firmware, icons, and fonts from the Copy to SD Card root directory to update - The Round Miracle theme folder

Update TFT Firmware

TFT firmware updates are comprised of up to four elements:

  1. The firmware binary (BIGTREE_TFT*_V*.*.*.bin). Example: BIGTREE_TFT35_V3.0.26.1.bin:
    • BIGTREE_TFT_35: model
    • V3.0: hardware version
    • 26.1: software version
  2. Fonts and Icons (TFT* folder):
    • TFT*/font: fonts
    • TFT*/bmp: icons
  3. The config.ini file
  4. Optionally a language file

Copy the BIGTREE_TFT*_V*.*.*.bin,the TFT*` folder and the config.ini to the root of a blank SD card that is <8GB and formatted as FAT32:

Copy

Optionally, copy one or several language .ini file(s) from Copy to SD Card root directory to update/Language Packs Copy to SD Card root directory to update/Language Packs folder onto the SD card. Doing so will allow you to switch between English and the uploaded language(s), using the corresponding Language function of the TFT. We recommend to upload the minimum amount of languages, to keep the memory usage low. The language .ini file can be edited to change the text shown on the TFT.

Copy language

Place SD card with the BIGTREE_TFT*_V*.*.*.bin, theTFT* folder and the config.ini into the TFT's SD card reader and reset your TFT (or optionally - power cycle your printer) to start the update process.

⚠️ Failing to update your icons & fonts will result in missing icons and/or unreadable text ⚠️

Update Process shown on TFT Screen

A successful update looks like this on the screen:

Screenshot 2020-09-26 at 22 10 04

... and the name of the elements on the SD card changes to this:

After Update

In case one or several parts of the update failed, an error will be shown. Follow the information on the screen to update the missing or outdated elements.

Screenshot 2020-10-23 at 14 37 36

⚠️ Errors during the update can not be ignored and must be solved before using the TFT ⚠️

After the update is done and the files are renamed, it is possible to reuse them again. To do so, change the name of the element(s) to the pre-update name and start the update process again.

Remove the SD card from the TFT and restart the printer.

Configuration

The Firmware can be configured using the config.ini file from: Copy to SD Card root directory to update

Editing configuration (config.ini) file

To edit the config.ini file follow the instruction here: Detailed Instructions here

Updating Firmware Configuration

To update the Firmware configuration:

  1. Edit the settings in config.ini.
  2. Copy the config.ini file to the root of the SD card. (The SD card capacity should be less than or equal to 8GB and formatted as FAT32)
  3. Insert the SD card into the TFT's SD card slot and restart the printer or press the reset buttion of the TFT.
  4. The TFT will update and store the configuration from config.ini file.
  5. Make sure to remove the SD card from the TFT and restart the printer.

The config.ini can be edited using a simple text editor (make sure to use UTF encoding) and uploaded again - without the need to upload the firmware or the TFT folder - as long as the firmware and the config.ini have the same version number.

Customization

Bootscreen and Icons

See Customization guides for detailed information.

Firmware

View full instructions
  1. Setup Visual Studio Code with PlatformIO instructions
  2. Click on the PlatformIO icon (①) and then click on Open Project (②):
  3. Find the BIGTREETECH firmware source directory , then click Open:
  4. After opening the project, edit platformio.ini and change the default_envs to one that matches your TFT model and version:
    ;BIGTREE_TFT35_V1_0
    ;BIGTREE_TFT35_V1_1
    ;BIGTREE_TFT35_V1_2
    ;BIGTREE_TFT35_V2_0
    ;BIGTREE_TFT35_V3_0
    ;BIGTREE_TFT35_E3_V3_0
    ;BIGTREE_TFT28_V1_0
    ;BIGTREE_TFT28_V3_0
    ;BIGTREE_TFT24_V1_1
    ;MKS_32_V1_4
    ;MKS_32_V1_4_NOBL
    ;MKS_28_V1_0
    

    [platformio] src_dir = TFT boards_dir = buildroot/boards default_envs = BIGTREE_TFT35_V3_0

  5. Click the check mark (✓) at the bottom of VSCode or press Ctrl+Alt+B (Windows) / Ctrl+Option+B (macOS) to compile.

  6. A BIGTREE_TFT*_V*.*.*.bin file will be generated in the hidden .pio\build\BIGTREE_TFT*_V*_* folder. Follow the update process outlined in the About TFT Firmware section above to update your TFT to the latest version.

Troubleshooting

To reset the TFT's touch screen calibration, create a blank file named reset.txt and place in root folder of the sd card. Insert the SD card into the TFT's SD card reader and power cycle your printer to start the reset process.

Version History

See BIGTREETECH-TouchScreenFirmware/releases for a complete version history.

bigtreetech-touchscreenfirmware's People

Contributors

3darena avatar acenotass avatar amp-man avatar antoszhun avatar arminth avatar bigtreetech avatar bryan065 avatar chzj333 avatar digant73 avatar geminiserver avatar guilouz avatar guruathwal avatar happycodingrobot avatar kisslorand avatar lt1010 avatar mangavalk avatar mikey2692 avatar moimemeici avatar msq001 avatar oldman4u avatar radek8 avatar rebel1 avatar robbycandra avatar seangould avatar subcircuit avatar teknolim avatar thisiskeithb avatar traffic-light avatar unknownhero99 avatar wololo3d avatar

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.