Skip to the content
2 layers100 × 75 mmArachne, the printed circuit board in 3D

Mainly 3D printed manipulator with 6 axis of freedom based on design of steward platform

Size
100 × 75 mm
Copper layers
2
Thickness
1.6 mm
Parts
278
Nets
143
Pads
1,127
Tracks, vias
2,996, 1,849
Pours
7
Routed
Yes
KiCad
KiCad 5 (file 20201116)
Created
16 Jul 2019
Updated
28 Jun 2021

Overview

Arachne is an open-source printed circuit board by TheColonelYoung, from the TheColonelYoung/Arachne repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 100 × 75 mm with 278 parts on 143 nets, routed with 2,996 tracks and 1,849 vias.

It is built around the L5973D, WS2818B and USBLC6-2SC6, with the SKL310, BAV99 and ESDA6V1-5SC6 among its other parts. Its parts include 99 capacitors, 77 diodes, 46 resistors, 13 ICs and 12 connectors. It belongs with the STM32 boards of this library.

Main components

10

README

README.md

Project Arachne

Mainly 3D printed manipulator with 6 axis of freedom based on design of steward platform

!!! Now the notes in this repository are rather assumptions that will need to be verified in practice !!!

Platform is based on two nearly triangular bases connected with 6 linear actuators.
Control of these actuators is driven from motherboard.
Lower base is stationary, upper base part is movable.
Motherboard is positioned in lower triangle base. Motherboard communicates with controller (pc) via serial line with G-code.
First version of platform is 3D printed. Next version are supposed to be from aluminium.

Motion system

Motion system is based on affine transformation.
Basic system contains from seven points. Which are placed in center of platform and in points of connection with actuators.
Points are on both triangular bases. Corresponding points have same numbers.
Position of point is described as coordinates in cartesian system.
Center point is not used for calculation of motion, is used only as center point of mass.

  • Represent zero-point in three-dimensional space
  • Zero point of Z is when platform is set to minimal height (home position)
  • Can probably be used for optimization of speed
  • Center point can be used to determinate unreachable positions (not all) and as center position of object for affine transformations

Every point is represented as vector [x,y,z,1].

Travel distance

Distance between connect points  of actuator on lower and upper bases is calculated.

  • Calculation is based on usage of euclidian distance calculation in three dimensional space
  • $d(a,b) = \sqrt{(a_x - b_x)^2 + (a_y - b_y)^2 + (a_z - b_z)^2}$

Affine transformation is applied on all point of connection with actuators on upper base.
Now is calculated new distance between fixed and movable points. Difference between distances in old and new position is travel distance of actuator.
By repeating this process for every actuator is calculated one move of platform.
Rotation terms: Pitch(X), Roll(Y), Yaw(Z)

Speed

Speed scaling is linear based on travel distance of actuator.
Acceleration must grow proportionally as speed.
Traveled distance is integration of actual speed of motor by time.
Example: Two motor M1 - travels 10mm, M2 - travels 30mm,

  • Maximal speed is tested (before usage of device) and used for motor with the longest distance (as well as acceleration)
  • M1 use three-times lower speed and acceleration because of travel distance is three-times lower
  • Travel time is same for both motor, so motors cannot jam due to incorrect position

Problems

Jams of platforms are possible when movement is not synchronized. In this state some motor can be in end-position, but motion is not done.
Main issue is when position of points in unknown. This happens when platform is powered on. Before power of platform must be homed -> this cannot be reliably secured.
Possible homing sequence is that all actuators will be moved with same speed to their home position. But there is possibility of jam.

Example

This example is calculated only for one actuators, others have same calculations.
Platform is now at home position. So position of points describes offset from zero point.
Length of all actuator is same. Probably zero length of pushrods + length of body.
In this example is body length two times retractable length. Minimal length 30mm, maximal length is 50mm.
Length is calculated between mates connecting base and actuator.

Point on upper base ($P_{UP}$) is at [-2, 0, 0, 1], motions are shift forward (Y+2), and rotation to right(Z+90°).
Point on lower base ($P_{LOW}$) is at [-1, 2, -2.45, 1], Z offset is determinated by vertical distance between lower and upper base in home state.

Shift matrix:
$\begin{bmatrix}1 & 0 & 0 & X \0 & 1 & 0 & Y \ 0 & 0 & 1 & Z \ 0 & 0 & 0 & 1 \\end{bmatrix}$

Rotation matrix around Z - Yaw($\gamma$):
$\begin{bmatrix}\cos(\gamma) & -\sin(\gamma) & 0 & 0 \\sin(\gamma) & \cos(\gamma) & 0 & 0 \ 0 & 0 & 1 & 0 \ 0 & 0 & 0 & 1 \\end{bmatrix}$

Multiplication of matrix
Note: if platform is not home is necessary to make another translation of object from current position of center point to center of space. This is represented as empty translation-1 matrix
[Translation-1 * Rotation * Translation * Point]

New coordinates of $P_{UP}$ are [-2, -2, 0, 1]

Old distance between $P_{UP}$ and $P_{LOW}$ is: 3.317 cm

  • Calculation: $d = \sqrt{(-2 - -1)^2 + (0 - 2)^2 + (0 - -2.45)^2} = 3.317$

New distance between $P_{UP}$ and $P_{LOW}$ is: 4.796 cm

  • Calculation: $d = \sqrt{(-2 - -1)^2 + (-2 - 2)^2 + (0 - -2.45)^2} = 4.796$

Difference between old and new length of actuator is: 1.479 cm

So actuator must change length to 4.796 cm, which is nearly maximal length (in this example).
Change of length is + 1.479 cm, speed and acceleration depends on motion of other actuators.

Construction

Joints

Linear actuators are connected with hexagonal platform with universal joint with can give joint freedom to move freely. Rotation of joint should not be constrained by joint but by length of arm (linear actuator length).

Joints consists of 3 parts. Two forks and one central block. X and Y axis of forks are perpendicular between forks (forks are turned against self by 90° on Z axis). Fork is connected to central block through small ball bearing. This ball bearing removed as much of friction as possible.

Universal joint
Universal joint

PCB

Main Motherboard contains six stepper motor drivers L6470 in TSSOP28 package.
PCB is designed with maximal dimensions of 10x7cm, so it can be cheaply manufactured.

Specifications

  • Maximal input voltage is 36V
  • PCB is designed for maximal current of 8A into motor, this assumes 6x1.2A stepper motors
  • Input stage contains current sensor for monitoring of actual current
  • Stepper motor end position can be detected via driver build-in stall detection or through endstop (one per each stepper)
    • Endstop should be Normally Open and connect ground to sense pin
    • Connector contains 3.3V power output for powering some position sensor instead of tactile switch between sense and ground
  • Stepper drivers are in line, so heatsinks can be fit on them
  • Via EXT IDC connector can be connected sensor for motion feedback over SPI or I2C
  • DEBUG connector pinout is compatible with 10-pin IDC Saleae layout
  • Minimal width trace is 5.1 mils (0.13 mm)
  • Minimal drill size id 0.3mm

Parts

278
QtyValueFootprintReferences
49SKL310Diode_SMD:D_SOD-123FD202, D203, D204, D205, D206, D207, D208, D209, D302, D303, D304, D305, D306, D307, D308, D309 +33
36100nF/50VCapacitor_SMD:C_0603_1608MetricC204, C205, C206, C207, C208, C209, C304, C305, C306, C307, C308, C309, C404, C405, C406, C407 +20
17100nFCapacitor_SMD:C_0603_1608MetricC101, C102, C103, C104, C105, C106, C107, C108, C213, C313, C413, C513, C613, C713, C804, C805 +1
14100kResistor_SMD:R_0603_1608MetricR103, R201, R202, R301, R302, R401, R402, R501, R502, R601, R602, R701, R702, R803
12100uF/63VCapacitor_SMD:CP_Elec_10x10C210, C211, C310, C311, C410, C411, C510, C511, C610, C611, C710, C711
1247uF/6,3VCapacitor_SMD:CP_Elec_5x5.3C202, C203, C302, C303, C402, C403, C502, C503, C602, C603, C702, C703
12LEDLED_SMD:LED_0603_1608MetricD101, D102, D103, D104, D105, D106, D107, D108, D110, D111, D112, D113
710kResistor_SMD:R_0603_1608MetricR104, R802, R804, R805, R806, R807, R810
610nF/50VCapacitor_SMD:C_0603_1608MetricC212, C312, C412, C512, C612, C712
61kResistor_SMD:R_0603_1608MetricR205, R305, R405, R505, R605, R705
6220nF/16VCapacitor_SMD:C_0603_1608MetricC201, C301, C401, C501, C601, C701
62k7Resistor_SMD:R_0603_1608MetricR204, R304, R404, R504, R604, R704
6560kResistor_SMD:R_0603_1608MetricR203, R303, R403, R503, R603, R703
6BAV99Package_TO_SOT_SMD:SOT-23D201, D301, D401, D501, D601, D701
6L6470_HTSSOP28Package_SO:HTSSOP-28-1EP_4.4x9.7mm_P0.65mm_EP3.4x9.5mm_ThermalViasU201, U301, U401, U501, U601, U701
6SW2Connector_JST:JST_EH_B3B-EH-A_1x03_P2.50mm_VerticalJ201, J301, J401, J501, J601, J701
6Stepper_Motor_bipolarConnector_JST:JST_EH_B4B-EH-A_1x04_P2.50mm_VerticalM201, M301, M401, M501, M601, M701
422RResistor_SMD:R_0603_1608MetricR101, R102, R901, R902
44.7uF (X7R)Capacitor_SMD:C_0805_2012MetricC806, C807, C812, C813
4M3MountingHole:MountingHole_3.2mm_M3_Pad_ViaH101, H102, H103, H104
34x22RResistor_SMD:R_Array_Convex_4x0603RN101, RN102, RN103
21uF (X7R)Capacitor_SMD:C_0805_2012MetricC801, C803
222R@100MHzInductor_SMD:L_0805_2012MetricFB801, FB802
2BLUELED_SMD:LED_0603_1608Metric_CastellatedD903, D904
2ESDA6V1-5SC6Package_DFN_QFN:ST_UQFN-6L_1.5x1.7mm_Pitch0.5mmD114, D802
110uF 50V (ceramic)Capacitor_SMD:C_2816_7142Metric_Pad3.20x4.45mm_HandSolderC802
115uHInductor_SMD:L_Neosid_Ms85L801
1180kResistor_SMD:R_0603_1608MetricR801
11SMB5925Diode_SMD:D_SMBD801
120kPotentiometer_SMD:Potentiometer_Bourns_3214J_HorizontalRV801
120kResistor_SMD:R_0603_1608MetricR808
1220nFCapacitor_SMD:C_0603_1608MetricC810
122nFCapacitor_SMD:C_0603_1608MetricC811
124VTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP804
12AFuse:Fuse_1206_3216MetricF801
1300uF 16VCapacitor_SMD:CP_Elec_8x10C809
13V3TestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP808
14.7kResistor_SMD:R_0603_1608MetricR809
150R@100MHz, 3AInductor_SMD:L_0805_2012MetricL901
15VTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP806
16VTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP807
17VDiode_SMD:D_SMBD804
1ACS712xLCTR-20APackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU801
1AOD4189Package_TO_SOT_SMD:TO-252-2Q801
1ASMB-MTB0-0A3A2LED_SMD:LED_Avago_PLCC4_3.2x2.8mm_CWD109
1DBG_UARTConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ903
1ExtensionConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ102
1GREENLED_SMD:LED_0603_1608Metric_CastellatedD901
1I_DIVTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP805
1I_MAINTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP803
1L5973DPackage_SO:HSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.1mm_ThermalViasU803
1LOGOTCY_logo:TCY_LOGO_13x6mmG***
1LOGOTCY_logo:TCY_QR_12x12G***
1NCP1117-3.3_SOT223Package_TO_SOT_SMD:SOT-223-3_TabPin2U804
1NCP1117-5.0_SOT223Package_TO_SOT_SMD:SOT-223-3_TabPin2U802
1PROG_CONN_STM_6pConnector_IDC:IDC-Header_2x03_P2.54mm_VerticalJ902
1PWR_INTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mmTP801
1R_Pack04Resistor_SMD:R_Array_Convex_4x0603RN901
1STM32L452CEUxPackage_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.15x5.15mm_ThermalViasU101
1STPS340UDiode_SMD:D_SMBD805
1SW_PushButton_Switch_SMD:SW_SPST_CK_RS282G05A3SW101
1Salae_logicConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ101
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U901
1USB_BConnector_USB:USB_B_OST_USB-B1HSxx_HorizontalJ901
1V_INConnector_Phoenix_MC:PhoenixContact_MC_1,5_4-G-3.5_1x04_P3.50mm_HorizontalJ801
1WS2818BPackage_SO:SOP-8_3.76x4.96mm_P1.27mmU102
1YELLOWLED_SMD:LED_0603_1608Metric_CastellatedD902

Similar boards

  • 2 layers102 × 84 mm3D PrEBo, the printed circuit board in 3D

    3D PrEBo

    TheColonelYoung/3D_PREBO

    3D printer expansion board. Add more fan controllers, TMC2130 wiring support, induction probe voltage convertor, LED lighting (supports WS1812).

    79 partsCC-BY-SA-4.0
  • 2 layers80 × 80 mmIkajdan reflow hot plate control board, the printed circuit board in 3D

    Ikajdan reflow hot plate control board

    punkfab/pcb-corpus

    235 real KiCad boards from open-source hardware repositories, prepared as a placement and routing benchmark

    125 parts1
  • 2 layers17 × 17 mmHapticbelt driver, the printed circuit board in 3D

    Hapticbelt driver

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    19 parts253GPL-3.0
  • 2 layers90 × 100 mmNCL30160 Demo, the printed circuit board in 3D

    NCL30160 Demo

    TheColonelYoung/NCL30160_Demo

    Demonstration board for light control IC NCL30160.

    408 parts1GPL-3.0
  • 4 layers203.2 × 101.6 mmLboard2, the printed circuit board in 3D

    Lboard2

    electrodyssey/lboard2

    experimental Spartan-6 sound processing board with XC6SLX9-TQG144 and TLV320AIC3204

    230 parts7LGPL-3.0
  • 2 layersSmartBP MCU, the printed circuit board in 3D

    SmartBP MCU

    CanGulmez/PCB-Designs

    PCB board designs with KiCAD 8

    88 parts
  • 2 layers55 × 28 mmWindowPixels, the printed circuit board in 3D

    WindowPixels

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    13 parts915
  • 2 layers20 × 14.3 mmWS2818 module, the printed circuit board in 3D

    WS2818 module

    ElessarCuthalion/Modules

    Small PCB modules: Sensors, Chargers, etc...

    23 parts

Questions

How big is the Arachne PCB?

It measures 100 × 75 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Arachne use?

278 parts, built around the L5973D, WS2818B, USBLC6-2SC6 and SKL310. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Arachne KiCad files?

From the TheColonelYoung/Arachne repository on GitHub, at the commit this page was made from: the board is PCB/Arachne.kicad_pcb and its schematic PCB/Arachne.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Arachne design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).