Linumeric-LPT is a USB-LPT adapter designed and manufactured by MachMaker, which allows you to control the CNC machine from LinuxCNC software. The adapter can be ordered directly from us, but the possibility of making it yourself has been additionally enabled.
DIY Linumeric-LPT converter does not require specialized skills in the field of electronics.
Elements needed to make the adapter:
1. Blue-pill board with STM32F103C8T6 microcontroller (note, there are many clones on the market with a very similar Chinese-made microcontroller - it's important that it is the original STM32F103C8T6 controller)
2. Programmer ST-link v2 (here can be a clone - they are quite cheap) and 3-4 cables to connect the goldpin strip
3. Micro USB cable, short, preferably with a filter. The USB interface is susceptible to interference, therefore long cables should not be used with the machine.
4. PC / Laptop with Windows (tests were carried out on Windows 10)
First, you need to download and install a tool that will allow you to program the controller on your computer. It's called STM32 ST-link utility and you can download it directly from the manufacturer:
or on our side:
Archirum should be unpacked and installed. Connect the ST-link v2 programmer to the USB socket of the computer, the programmer drivers will also be installed. Disconnect the programmer from the computer.
Then connect the programmer to the blue-pill plate. There are 3 signals required for connection:
You can also connect 3.3V
Plug the micro-USB cable into the USB socket of the Blue-pill plate and connect it to the computer. We also connect the ST-link v2 programmer to the computer.
Run the STM32 ST-link Utility application
Click the icon of connection with the microcontroller
If the program connects to the microcontroller, the reading of the microcontroller memory will appear in the window
Then download the batch file to the microcontroller by clicking on the link below:
In the STM32 ST-Link Utility application, click the Open file button and load the downloaded batch file.
Then click the programming icon
And select Start
Programming will start
After programming, click the disconnect icon and close the application.
Disconnect the programmer from the computer, disconnect the programmer from the blue-pill plate and reset the plate (e.g. by unplugging and plugging in the USB cable)
After programming the microcontroller, the LED connected to the PC13 pin should blink on the board
It means that the microcontroller was programmed correctly, but the program was not authorized.
To authorize, download the authorization application on a windows computer by clicking on the link below:
Unpack the archive, enter the folder where it was unpacked and open the linumeric_lpt_autorization.exe application
An application window will open. Press the Refresh button to display the available ports. The device is reported to the system as a serial port, it should be selected from the list.
To open the port, press the Open button. Correct opening of the port will result in the Open and Refresh buttons becoming inactive, and the Close, Read ID and Write KEY buttons will be activated.
Then press the Read ID button, the identifiers will appear in the three fields marked in green in the figure.
Copy them (in the correct order) and send them to us at: firstname.lastname@example.org with the information that you want to buy an authorization key. After making the payment, the key will be sent back, which should be entered in the field marked in green below and click Write KEY. ATTENTION. When entering the key, the ID values must be read in the ID fields, so always press Read ID before pressing the Write Key.
After proper authorization, the application will disconnect from the board, the board will reset and the LED on the PC13 pin should stop blinking.
From now on, the blue-pill plate can be used exactly like a Linumeric-LPT converter.
The pins of the microcontroller have been assigned in accordance with the LPT connector standard and are marked as pins C0-C3, D0-D7, S3-S7.
The LED on the PC13 port is used as the ERR LED of the linumeric-LPT device.
It is recommended to connect the signal receivers / transmitters through the 150R resistor in order not to damage the microcontroller's inputs / outputs in the event of a potential difference.
Below is a diagram of connecting the microcontroller to the DB25 connector LPT port)
A PCB can be made for the device, a single-sided PCB is enough, with holes without metallization, without descriptions.
To make the plate, I provide GERBER files that can be downloaded here:
PCB board - 1 pc
Blue Pill STM32F103C8T6 - 1 pcs
Angled seat DB25
USB type B socket, THT, horizontal - 1 pc
Green LED 3mm - 1 pc
Red LED 3mm - 1 pc
Resistor 220R, 0805 - 2 pcs
Resistor 20R, 0805 - 2 pcs
Resistor 4k7, 0805 - 2 pcs
Resistor 150R, 0805 - 17 pcs
Description of the installation and configuration of the device can be found at the link: