Introduction
If you are a manufacturer of a 3d FDM printer, using Repetier-Server as controller is the best choice to provide your users the best possible printing experience. Even better is, when you provide a optimized version for your printers. This makes it much easier for your customers and they will tank you for the thoughts behind the product. Being a general product Repetier-Server is not configured with special settings for special printers of course.
The following text will try to show you, what you can do to improve the user experience and what points you have to watch our for to not get yourself into trouble later. It would be a shame if you deliver a good product and forget to adjust the update path to provide a specialized update for your company for example.
Printer Configuration and Backup
One thing where Repetier-Server is very good is flexibility. With our printer configuration you can adjust many features and even add new functionality. While you can simply use our wizard to create a working printer configuration this can get improved dramatically if you learn more about Repetier-Server especially it’s g-code programming language extension.
Just some ideas you can improve when you know exactly what printer you have:
- Additional wizards for some calibrations or running test procedures.
- Optimize pause and stop handling.
- Control lights.
- Listen to novel messages from your printer triggering actions or messages.
- Define correct values for accelerations, max. speed, bed positions, heating and cooling speeds for optimal time prediction.
- Configure webcam if you know there is one.
- Add a image on printer bed – with logo to easily distinguish it or with some marks that have special importance for your printer.
Since version 1.4.x printer have a real backup function. When you run a backup you decide your self what to back – this can be just the configuration or include sample g-codes, logs and timelapse videos. All this is compressed into a single file. You can provide these backups on your homepage in case users played too much with the settings and need a new installtion or just to provide improved configuration with more wizards, …
A good preconfigured backup makes it very easy for users to quick start with your printer.
Even if you do NOT sell Repetier-Server with your printer directly, your customers might still want to use it to control their print farm. Providing this kind of printer backup is all they need to get a optimal start.
Branding
The core of Repetier-Server is a printer daemon with integrated webserver. All user interactions with the outside is just done using web calls or opening a user interface from the webserver. So everything the users will see depends on these webfiles. Repetier-Server uses two root directories for these web files. One for our original web files and the other is for you. If a file exists in the shadow folder at same position it will be used delivering your version instead of the default version.
So you are able to replace any file you want with the content you decide. You could even replace the ui completely with a own version. But a completely own version is a lot of work, so that is normally what you will do. What you rather do is modify our files to remove functions you do not want or change the css file to show the interface in other colors or change the name and icon.
It all starts by providing a override startup configration file. See Startup Configuration on how to define this. It also explains how to set own name and icon.
If you check the files we use, you will see that they are compressed and not very readable. At least the javascript and css files. So do not use them directly.
Most want a optimized touch screen interface. This app is a modern Angular based webapp that is precompiled into a few files. To make any changes you need to compile your own complete version. We provide the full source files and you are allowed to use them for custom Repetier-Server interfaces. You can also just use the communication layer and use own ui in combination. Do what you want. How to get and compile them is described here: Customizing Printer Frontend
The regular UI exists a bit longer and has a lot of additional functions, so it is not really adviced to modify it deeply. You can change single html files to remove some function. But always also note that on every update you need to provide a updated version of these files as well. We also provide the sources here, but they are not as easy to use so please contact us, if you need access to them.
Most important point with own branding is a own updater. Read Own Updater For Repetier-Server for detail on how to do it. Only with a own updater you are able to update you own changes as well!
Manufacturer News
As a manufacturer you might want to have an extra channel with your users to inform them about important updates or upgrades for his printer. Starting with version 1.4.5 this can be done easily for all users or only users having a special model. We have designed a little editor where you can define your news by uploading your latest news file or creating a new if it is the first time. You store the news file on your own webserver, so you can change it any time you want. To enable this in the Repetier-Server of you, you need to add a extra line with the news url to the config. This is all described on the start page of the editor. This requires a OEM or Pro license!
Individual OS Image
Repetier-Server currently supports 7 different cpu/OS combinations and hence can run on a lot of different hardwares. It is not possible to provide sample installations for all combination it would run on. We provide a image for the most popular SBC – Raspberry Pi. If your image is linux based you can use this image as inspiration on what can be done.
Raspberry Pi Image
Just to give you a list of good additions to a basic image, here is what we have done to the pi image. It is based on the official Raspbian OS based on debian bullseye.
- Enforce file system check on every bootup. If pi was not shutdown cleanly it might be in an invalid state.
- Show custom logo.
- Expand filesystem to full size of sd card on first start.
- Have USB sticks always mount on 3 special folders, so we can add them in Repetier-Server as import sources allowing to import g-code directly from usb stick.
- A own logic for mjpg_streamer to allow automatically detect connected webcams and offer them in the ui for fast configuration.
- Allow wifi configuration via ui with possible manual override.
- Preconfured desktop to start chromium with touch screen gui in kiosk mode on startup.
- Easy adjustment of the image using repetier-setup tool.
- Control screensaver from Repetier-Server.
- Show some hardware info in the bolt icon.
- Removed unnecessary software packages.
You might notice that the pi image will show you wifi entry in general settings and shows webcams in webcam configuration. This is done by special bash scripts and settings. You find all of them in /usr/local/Repetier-Setup. Some need services to be installed or udev rules to be installed. All files for this are in template folder. Feel free to copy these to your image and adjust them if needed. Only with these files you see the extra entries in the user interface.
Prepare image
You have tweaked your image to work exactly how you want it and now want to make it an image. Here is all you need to know.
First consider sd card size. You can install an image only on a new sd card/drive if the target device is at leat the same size as your original image. You can help with a small original sd card, e.g. 8GB so all 16GB sd cards would have no issues. This still means you have several GB of data that have no use except increasing image size. For our pi image we use PiShrink to create a new img file from our image that has the filesystem reduced to minimum size plus some margin to work on bootup.
Also check that you have activated a expand of the filesystem on first bootup. In our pi image we create a file /usr/local/Repetier-Setup/etc/needExpandFS that our start script detects and runs the expand. This only works with our special init scripts, on other installations you might need your own solution or the linux variant has an option for it.
Check unneeded files are removed. During development you often prduce files not needed later or you can remove log files, purge apt database.
If you sell different printers and only want one image, remember to delete all printers and then later after installation install the printer backup to restore the correct model. This can reduce work a lot.
Remove key.sql before shutting down to create the image. This file should never be part of an image – it contains all parameter that need to be unique per server install like server uuid, api key, registration key, server name and some more. You should also use user.sql to deliver without existing users and some other files.
sudo service RepetierServer stop sudo rm /var/lib/Repetier-Server/database/key.sql sudo rm /var/lib/Repetier-Server/database/user.sql sudo rm /var/lib/Repetier-Server/database/repetier-network.xml sudo rm /var/lib/Repetier-Server/database/repetier-network-stored.xml sudo rm /var/lib/Repetier-Server/database/history.sql sudo shutdown -h now
Now you can make a image from it, shrink and zip it.
For our image we have a script to do all the deletitions atomatically. You can find it at /usr/local/Repetier-Setup/bin/prepareSnapshot, but please don’t use it blindly. We deliver without printer configs and a lot more. This can include files you want to keep, so delete the lines for files you want to keep.