Opulo, the company behind LumenPnP, published a FreeCAD file of the LumenPnP 16mm manual strip feeder on Github. However, the file is hard to use as the part is not visible in the default setting. TechOverflow provides a modified FreeCAD file with the only change being that the part is visible, and a STL file directly exported from FreeCAD.
LumenPnP
05
Jul
2023
22
Mar
2023
OpenPnP script to apply global rotation offset to board
This script applies a rotation offset such as -90°
to every component in a OpenPNP .board.xml
file.
#!/usr/bin/env python3 import sys import argparse import xml.etree.ElementTree as ET def rotate_placements(board_file, rotation_offset): tree = ET.parse(board_file) root = tree.getroot() for placement in root.iter('placement'): location = placement.find('location') if location is not None: rotation = float(location.get('rotation', 0)) new_rotation = (rotation + rotation_offset) % 360 location.set('rotation', str(new_rotation)) print(rotation, new_rotation) tree.write(board_file, encoding="utf-8", xml_declaration=True) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Rotate placements in an OpenPnP board.xml file") parser.add_argument("board_file", type=str, help="Path to the board.xml file") parser.add_argument("-r", "--rotation-offset", required=True, type=float, help="Rotation offset in degrees") args = parser.parse_args() rotate_placements(args.board_file, args.rotation_offset)
10
Jan
2023
LumenPnP: Always assign the same serial port number on Linux
It is certainly a hassle when you always have to re-configure OpenPnP to open the correct serial device for LumenPnP.
In order to fix, this, we’ll create an alias /dev/lumenpnp
that points to /dev/ttyACM0
or /dev/ttyACM1
or any other port that gets assigned to LumenPnP. Create /etc/udev/rules.d/99-lumenpnp.rules
:
ACTION=="add", ENV{ID_VENDOR_ID}=="0483", ENV{ID_MODEL_ID}=="5740", SYMLINK+="lumenpnp"
Now, reload udev to activate the rule:
sudo udevadm control --reload-rules && sudo udevadm trigger
Now, open ~/.openpnp2/machine.xml
, find this line:
<serial line-ending-type="LF" port-name="ttyACM0" baud="115200" ...
and set port-name
to lumenpnp
:
<serial line-ending-type="LF" port-name="lumenpnp" baud="115200" ...
After this, you need to restart OpenPnP. Typically, it works without reconnecting the device (due to udevadm trigger
). If it doesn’t work, unplug and re-plug the mainboard USB connector.