LEGO® ARNEIS Project
Here is the LEGO® MOC (alias for My Own Creation) used for the ARNEIS project.
Various software applications and public resources have been used for the realization of this LEGO® project:
Full featured CAD application
Project design, BOM creation, rendering, instruction manual editing, export to
Single LEGO® Part Editor
Creation of parts still not available in Bricklink Studio. Correction of parts not working whern exported to
Open Source CAD application
Check correctness of
Centralized resources for LEGO® CADs
Reference for getting last parts used in Bricklink PartDesigner
This conveyor is designed to move “mignon” (miniature) bottles. The main idea is to use a chain where some kind of pushers are used to move bottles over a flat surface.
The chain is not used as a base surface for the bottles due to the difficulty of ensuring that it will stay horizontal during the movement.
A special support is designed to hold the OAK-D-Lite AI Camera used in this project. It is possible to change the tilt of the camera by using the dedicated linear extender arm.
The white wall acts as a background for taking better snapshots of the bottles during their trip on the conveyor.
Driving the conveyor
In order to verify the correct operation of the conveyor a small MicroPython program has been developed.
Navigate to the Pybricks home page and follow the instructions to activate the IDE for your browser and your operating system.
In this project two motors are used:
1x Technic Motor Powered Up XL (Item no. bb0960c01): used to drive the conveyor
1x Technic Motor Power UP L (Item no. bb0959c01): used as a Speed Dial
With the XL motor connected to the Port B of the Technic Hub and the L motor connected to the Port A, use the following source code to program the Hub:
from pybricks.pupdevices import Motor
from pybricks.parameters import Port, Stop
from pybricks.tools import wait
# We'll use two motors. One is a dial
# to set the speed of the other motor.
motor = Motor(Port.B)
dial = Motor(Port.A)
# Say hello :)
# First, we'll move the dial to zero.
dial.run_target(500, 0, Stop.COAST)
# Set the speed based on dial angle
speed = dial.angle()*3
if abs(speed) < 50:
speed = 0
# Run motor at desired speed
angle = dial.angle()
print("angle=" + str(angle) + " ", end='\r')
# Wait briefly, then repeat
You may adjust the speed and direction of the conveyor by rotating the dial (clockwise or counterclockwise).
arneis-conveyor-oak-d-lite.io: the LEGO project in Bricklink Studio CAD.
arneis-conveyor-oak-d-lite.ldr: the LEGO project exported in LDraw file format.
arneis-conveyor-oak-d-lite.png: a 3D rendered version image.
arneis-conveyor-20220312.gif: a 3D rendered video of rotating MOC.
arneis-conveyor-20220312.pdf: building instruction manual.
arneis-conveyor-oak-d-lite-build.mp4: a 3D rendered video of building MOC.