initial commit

This commit is contained in:
Neko 2025-06-06 10:23:38 +02:00
commit e113c3cee5
36 changed files with 123545 additions and 0 deletions

134
Arduino/main.ino Normal file
View File

@ -0,0 +1,134 @@
#include <Servo.h>
//amount of values to collect for everaging
#define AMOUNT_OF_VALUES 5
//minimum angle of the servo movement
#define MINIMUM_POSITION 180
//maximum angle of the servo movement
#define MAXIMUM_POSITION 0
//minimum value of ADC
#define ADC_MIN_VALUE 0
//maximum value of the adc, usually 2^10 for arduinos
#define ADC_MAX_VALUE 1024
//minimum output value of the opamp circuit
#define SENSOR_MIN_VALUE 0
//maximum output value of the opamp circuit.
//Arduinos have a 0-5V ADC but the current circuit maps to 0-1V for ESP32 chips
#define SENSOR_MAX_VALUE 256
//how long to wait between iterations in the main loop
#define DELAY 200
//pins for the servos
#define SERVO_DAUMEN 2
#define SERVO_ZEIGEFINGER 3
#define SERVO_MITTELFINGER 5
#define SERVO_RINGFINGER 6
#define SERVO_KLEINERFINGER 4
//pins for the sensors
#define SENSOR_DAUMEN A1
#define SENSOR_ZEIGEFINGER A2
#define SENSOR_MITTELFINGER A4
#define SENSOR_RINGFINGER A5
#define SENSOR_KLEINERFINGER A3
Servo servos[5];
/*
|J1- Color - Use - Pin - Comments
|------------|-------|--------|-----------
|1 - Blk - GND - GND -
|2 - Wht - OUT4 - Pin A2 - Zeigefinger
|3 - NC - - -
|4 - Lgt Brn - OUT5 - Pin A1 - Daumen
|5 - Red - VCC - 3.3V -
|6 - Gry - OUT3 - Pin A4 - Mittelfinger
|7 - Ppl - OUT2 - Pin A5 - Ringfinger
|8 - Cyn - OUT1 - Pin A3 - Kleiner Finger
*/
int sensorPins[5] = {SENSOR_DAUMEN, SENSOR_ZEIGEFINGER, SENSOR_MITTELFINGER, SENSOR_RINGFINGER, SENSOR_KLEINERFINGER};
int servoPins[5] = {SERVO_DAUMEN, SERVO_ZEIGEFINGER, SERVO_MITTELFINGER, SERVO_RINGFINGER, SERVO_KLEINERFINGER};
int sensorsRaw[5][AMOUNT_OF_VALUES];
double sensorsAvg[5] = {0,0,0,0,0};
int servoValues[5] = {0,0,0,0,0};
void setup() {
Serial.begin(9600);
for(int i = 0; i<5; i++) {
servos[i].attach(servoPins[i]);
}
}
/*
* Read the sensors after each other for a total of AMOUNT_OF_VALUES times
*/
void readSensors() {
for(int i = 0; i<AMOUNT_OF_VALUES; i++) {
for(int j = 0; j<5; j++) {
sensorsRaw[j][i] = analogRead(sensorPins[j]);
}
}
}
/*
* Average the AMOUNT_OF_VALUE readings from the sensor
*/
void calculateAvg(){
for(int i = 0; i<5; i++) {
for(int j = 0; j<AMOUNT_OF_VALUES; j++) {
sensorsAvg[i] += sensorsRaw[i][j];
}
//calculate average for sensor i
sensorsAvg[i] /= AMOUNT_OF_VALUES;
}
}
/*
* Move servos based on the average value
*/
void moveServos(){
for(int i = 0; i<5; i++) {
//make sure the average value is within the bounds of the ADC
int constrained_value = constrain(sensorsAvg[i], ADC_MIN_VALUE, ADC_MAX_VALUE);
//linear mapping from sensor values to movement position
servoValues[i] = map(constrained_value, SENSOR_MIN_VALUE, SENSOR_MAX_VALUE, MINIMUM_POSITION, MAXIMUM_POSITION);
//move servo i
servos[i].write(servoValues[i]);
}
}
/*
* Debug over serial port, use Serial Plotter in Arduino IDE!
*/
void printDebug() {
Serial.print("D_Avg:");
Serial.print(sensorsAvg[0]);
Serial.print(",");
Serial.print("ZF_Avg:");
Serial.print(sensorsAvg[1]);
Serial.print(",");
Serial.print("MF_Avg:");
Serial.print(sensorsAvg[2]);
Serial.print(",");
Serial.print("RF_Avg:");
Serial.print(sensorsAvg[3]);
Serial.print(",");
Serial.print("KF_Avg:");
Serial.println(sensorsAvg[4]);
}
void loop() {
readSensors();
calculateAvg();
moveServos();
printDebug();
delay(DELAY);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,83 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40
],
"visible_layers": "fffffff_7ffffffe",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "Roboterhand.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@ -0,0 +1,584 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.05,
"copper_line_width": 0.2,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.05,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.1,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.1,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.1,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.1,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_near_hole": "error",
"holes_co_located": "warning",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "warning",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.2,
"min_microvia_drill": 0.1,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.0,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_on_pad_in_zone": false,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [],
"tuning_pattern_settings": {
"diff_pair_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 1.0
},
"diff_pair_skew_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
},
"single_track_defaults": {
"corner_radius_percentage": 80,
"corner_style": 1,
"max_amplitude": 1.0,
"min_amplitude": 0.2,
"single_sided": false,
"spacing": 0.6
}
},
"via_dimensions": [],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"simulation_model_issue": "ignore",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "Roboterhand.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.2,
"via_diameter": 0.6,
"via_drill": 0.3,
"wire_width": 6
}
],
"meta": {
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "out/",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
"keep_line_breaks": false,
"keep_tabs": false,
"name": "CSV",
"ref_delimiter": ",",
"ref_range_delimiter": "",
"string_delimiter": "\""
},
"bom_presets": [],
"bom_settings": {
"exclude_dnp": false,
"fields_ordered": [
{
"group_by": false,
"label": "Reference",
"name": "Reference",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
},
{
"group_by": false,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"name": "Grouped By Value",
"sort_asc": true,
"sort_field": "Reference"
},
"connection_grid_size": 50.0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"operating_point_overlay_i_precision": 3,
"operating_point_overlay_i_range": "~A",
"operating_point_overlay_v_precision": 3,
"operating_point_overlay_v_range": "~V",
"overbar_offset_ratio": 1.23,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_dissipations": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"debc1e92-3aa5-4570-a10c-affdeb4bdcb1",
"Root"
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.8*%
%TF.CreationDate,2025-04-30T14:04:23+02:00*%
%TF.ProjectId,Roboterhand,526f626f-7465-4726-9861-6e642e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Bot*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.8) date 2025-04-30 14:04:23*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%ADD10C,1.200000*%
%ADD11RoundRect,0.250000X0.350000X0.350000X-0.350000X0.350000X-0.350000X-0.350000X0.350000X-0.350000X0*%
%ADD12O,1.600000X1.600000*%
%ADD13R,1.600000X1.600000*%
%ADD14C,2.340000*%
%ADD15C,1.600000*%
%ADD16RoundRect,0.250000X0.350000X-0.350000X0.350000X0.350000X-0.350000X0.350000X-0.350000X-0.350000X0*%
G04 APERTURE END LIST*
D10*
%TO.C,J10*%
X146000000Y-70000000D03*
X146000000Y-72000000D03*
X148000000Y-70000000D03*
X148000000Y-72000000D03*
X150000000Y-70000000D03*
X150000000Y-72000000D03*
X152000000Y-70000000D03*
X152000000Y-72000000D03*
X154000000Y-70000000D03*
D11*
X154000000Y-72000000D03*
%TD*%
D12*
%TO.C,U3*%
X153820000Y-106200000D03*
X153820000Y-108740000D03*
X153820000Y-111280000D03*
X153820000Y-113820000D03*
X146200000Y-113820000D03*
X146200000Y-111280000D03*
X146200000Y-108740000D03*
D13*
X146200000Y-106200000D03*
%TD*%
%TO.C,U2*%
X146200000Y-92200000D03*
D12*
X146200000Y-94740000D03*
X146200000Y-97280000D03*
X146200000Y-99820000D03*
X153820000Y-99820000D03*
X153820000Y-97280000D03*
X153820000Y-94740000D03*
X153820000Y-92200000D03*
%TD*%
D13*
%TO.C,U1*%
X146200000Y-78200000D03*
D12*
X146200000Y-80740000D03*
X146200000Y-83280000D03*
X146200000Y-85820000D03*
X153820000Y-85820000D03*
X153820000Y-83280000D03*
X153820000Y-80740000D03*
X153820000Y-78200000D03*
%TD*%
D14*
%TO.C,RV5*%
X140975000Y-115000000D03*
X138475000Y-105000000D03*
X135975000Y-115000000D03*
%TD*%
%TO.C,RV4*%
X162475000Y-101000000D03*
X164975000Y-91000000D03*
X167475000Y-101000000D03*
%TD*%
%TO.C,RV3*%
X140975000Y-101000000D03*
X138475000Y-91000000D03*
X135975000Y-101000000D03*
%TD*%
%TO.C,RV2*%
X167475000Y-86500000D03*
X164975000Y-76500000D03*
X162475000Y-86500000D03*
%TD*%
%TO.C,RV1*%
X141206510Y-86725836D03*
X138706510Y-76725836D03*
X136206510Y-86725836D03*
%TD*%
D15*
%TO.C,R7*%
X131000000Y-104920000D03*
D12*
X131000000Y-115080000D03*
%TD*%
D15*
%TO.C,R6*%
X157500000Y-91000000D03*
D12*
X157500000Y-101160000D03*
%TD*%
D15*
%TO.C,R5*%
X131000000Y-90920000D03*
D12*
X131000000Y-101080000D03*
%TD*%
%TO.C,R4*%
X157500000Y-86580000D03*
D15*
X157500000Y-76420000D03*
%TD*%
%TO.C,R3*%
X131000000Y-76500000D03*
D12*
X131000000Y-86660000D03*
%TD*%
%TO.C,R2*%
X168000000Y-104420000D03*
D15*
X168000000Y-114580000D03*
%TD*%
D12*
%TO.C,R1*%
X164500000Y-114580000D03*
D15*
X164500000Y-104420000D03*
%TD*%
D16*
%TO.C,J1*%
X158000000Y-113000000D03*
D10*
X160000000Y-113000000D03*
X158000000Y-111000000D03*
X160000000Y-111000000D03*
X158000000Y-109000000D03*
X160000000Y-109000000D03*
X158000000Y-107000000D03*
X160000000Y-107000000D03*
%TD*%
M02*

View File

@ -0,0 +1,15 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.8*%
%TF.CreationDate,2025-04-30T14:04:22+02:00*%
%TF.ProjectId,Roboterhand,526f626f-7465-4726-9861-6e642e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.8) date 2025-04-30 14:04:22*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

View File

@ -0,0 +1,15 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.8*%
%TF.CreationDate,2025-04-30T14:04:22+02:00*%
%TF.ProjectId,Roboterhand,526f626f-7465-4726-9861-6e642e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Legend,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.8) date 2025-04-30 14:04:22*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

View File

@ -0,0 +1,23 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.8*%
%TF.CreationDate,2025-04-30T14:04:23+02:00*%
%TF.ProjectId,Roboterhand,526f626f-7465-4726-9861-6e642e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.8) date 2025-04-30 14:04:23*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%TA.AperFunction,Profile*%
%ADD10C,0.100000*%
%TD*%
G04 APERTURE END LIST*
D10*
X127000000Y-66000000D02*
X173000000Y-66000000D01*
X173000000Y-118500000D01*
X127000000Y-118500000D01*
X127000000Y-66000000D01*
M02*

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.8*%
%TF.CreationDate,2025-04-30T14:04:22+02:00*%
%TF.ProjectId,Roboterhand,526f626f-7465-4726-9861-6e642e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Top*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.8) date 2025-04-30 14:04:22*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%ADD10C,1.200000*%
%ADD11RoundRect,0.250000X0.350000X0.350000X-0.350000X0.350000X-0.350000X-0.350000X0.350000X-0.350000X0*%
%ADD12O,1.600000X1.600000*%
%ADD13R,1.600000X1.600000*%
%ADD14C,2.340000*%
%ADD15C,1.600000*%
%ADD16RoundRect,0.250000X0.350000X-0.350000X0.350000X0.350000X-0.350000X0.350000X-0.350000X-0.350000X0*%
G04 APERTURE END LIST*
D10*
%TO.C,J10*%
X146000000Y-70000000D03*
X146000000Y-72000000D03*
X148000000Y-70000000D03*
X148000000Y-72000000D03*
X150000000Y-70000000D03*
X150000000Y-72000000D03*
X152000000Y-70000000D03*
X152000000Y-72000000D03*
X154000000Y-70000000D03*
D11*
X154000000Y-72000000D03*
%TD*%
D12*
%TO.C,U3*%
X153820000Y-106200000D03*
X153820000Y-108740000D03*
X153820000Y-111280000D03*
X153820000Y-113820000D03*
X146200000Y-113820000D03*
X146200000Y-111280000D03*
X146200000Y-108740000D03*
D13*
X146200000Y-106200000D03*
%TD*%
%TO.C,U2*%
X146200000Y-92200000D03*
D12*
X146200000Y-94740000D03*
X146200000Y-97280000D03*
X146200000Y-99820000D03*
X153820000Y-99820000D03*
X153820000Y-97280000D03*
X153820000Y-94740000D03*
X153820000Y-92200000D03*
%TD*%
D13*
%TO.C,U1*%
X146200000Y-78200000D03*
D12*
X146200000Y-80740000D03*
X146200000Y-83280000D03*
X146200000Y-85820000D03*
X153820000Y-85820000D03*
X153820000Y-83280000D03*
X153820000Y-80740000D03*
X153820000Y-78200000D03*
%TD*%
D14*
%TO.C,RV5*%
X140975000Y-115000000D03*
X138475000Y-105000000D03*
X135975000Y-115000000D03*
%TD*%
%TO.C,RV4*%
X162475000Y-101000000D03*
X164975000Y-91000000D03*
X167475000Y-101000000D03*
%TD*%
%TO.C,RV3*%
X140975000Y-101000000D03*
X138475000Y-91000000D03*
X135975000Y-101000000D03*
%TD*%
%TO.C,RV2*%
X167475000Y-86500000D03*
X164975000Y-76500000D03*
X162475000Y-86500000D03*
%TD*%
%TO.C,RV1*%
X141206510Y-86725836D03*
X138706510Y-76725836D03*
X136206510Y-86725836D03*
%TD*%
D15*
%TO.C,R7*%
X131000000Y-104920000D03*
D12*
X131000000Y-115080000D03*
%TD*%
D15*
%TO.C,R6*%
X157500000Y-91000000D03*
D12*
X157500000Y-101160000D03*
%TD*%
D15*
%TO.C,R5*%
X131000000Y-90920000D03*
D12*
X131000000Y-101080000D03*
%TD*%
%TO.C,R4*%
X157500000Y-86580000D03*
D15*
X157500000Y-76420000D03*
%TD*%
%TO.C,R3*%
X131000000Y-76500000D03*
D12*
X131000000Y-86660000D03*
%TD*%
%TO.C,R2*%
X168000000Y-104420000D03*
D15*
X168000000Y-114580000D03*
%TD*%
D12*
%TO.C,R1*%
X164500000Y-114580000D03*
D15*
X164500000Y-104420000D03*
%TD*%
D16*
%TO.C,J1*%
X158000000Y-113000000D03*
D10*
X160000000Y-113000000D03*
X158000000Y-111000000D03*
X160000000Y-111000000D03*
X158000000Y-109000000D03*
X160000000Y-109000000D03*
X158000000Y-107000000D03*
X160000000Y-107000000D03*
%TD*%
M02*

View File

@ -0,0 +1,15 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.8*%
%TF.CreationDate,2025-04-30T14:04:22+02:00*%
%TF.ProjectId,Roboterhand,526f626f-7465-4726-9861-6e642e6b6963,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Top*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.8) date 2025-04-30 14:04:22*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
M48
; DRILL file {KiCad 8.0.8} date 2025-04-30T14:04:19+0200
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2025-04-30T14:04:19+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.8
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
INCH
%
G90
G05
M30

View File

@ -0,0 +1,101 @@
M48
; DRILL file {KiCad 8.0.8} date 2025-04-30T14:04:19+0200
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2025-04-30T14:04:19+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.8
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
INCH
; #@! TA.AperFunction,Plated,PTH,ViaDrill
T1C0.0118
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T2C0.0295
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C0.0315
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T4C0.0512
%
G90
G05
T1
X5.9008Y-3.685
X6.0039Y-4.0354
X6.1417Y-3.4646
X6.1417Y-3.622
X6.2205Y-3.5039
X6.2781Y-2.7953
T2
X5.748Y-2.7559
X5.748Y-2.8346
X5.8268Y-2.7559
X5.8268Y-2.8346
X5.9055Y-2.7559
X5.9055Y-2.8346
X5.9843Y-2.7559
X5.9843Y-2.8346
X6.063Y-2.7559
X6.063Y-2.8346
X6.2205Y-4.2126
X6.2205Y-4.2913
X6.2205Y-4.3701
X6.2205Y-4.4488
X6.2992Y-4.2126
X6.2992Y-4.2913
X6.2992Y-4.3701
X6.2992Y-4.4488
T3
X5.1575Y-3.0118
X5.1575Y-3.4118
X5.1575Y-3.5795
X5.1575Y-3.9795
X5.1575Y-4.1307
X5.1575Y-4.5307
X5.7559Y-3.0787
X5.7559Y-3.1787
X5.7559Y-3.2787
X5.7559Y-3.3787
X5.7559Y-3.6299
X5.7559Y-3.7299
X5.7559Y-3.8299
X5.7559Y-3.9299
X5.7559Y-4.1811
X5.7559Y-4.2811
X5.7559Y-4.3811
X5.7559Y-4.4811
X6.0559Y-3.0787
X6.0559Y-3.1787
X6.0559Y-3.2787
X6.0559Y-3.3787
X6.0559Y-3.6299
X6.0559Y-3.7299
X6.0559Y-3.8299
X6.0559Y-3.9299
X6.0559Y-4.1811
X6.0559Y-4.2811
X6.0559Y-4.3811
X6.0559Y-4.4811
X6.2008Y-3.0087
X6.2008Y-3.4087
X6.2008Y-3.5827
X6.2008Y-3.9827
X6.4764Y-4.111
X6.4764Y-4.511
X6.6142Y-4.111
X6.6142Y-4.511
T4
X5.3533Y-3.9764
X5.3533Y-4.5276
X5.3625Y-3.4144
X5.4518Y-3.5827
X5.4518Y-4.1339
X5.4609Y-3.0207
X5.5502Y-3.9764
X5.5502Y-4.5276
X5.5593Y-3.4144
X6.3967Y-3.4055
X6.3967Y-3.9764
X6.4951Y-3.0118
X6.4951Y-3.5827
X6.5935Y-3.4055
X6.5935Y-3.9764
M30

View File

@ -0,0 +1,122 @@
{
"Header": {
"GenerationSoftware": {
"Vendor": "KiCad",
"Application": "Pcbnew",
"Version": "8.0.8"
},
"CreationDate": "2025-04-30T14:04:23+02:00"
},
"GeneralSpecs": {
"ProjectId": {
"Name": "Roboterhand",
"GUID": "526f626f-7465-4726-9861-6e642e6b6963",
"Revision": "rev?"
},
"Size": {
"X": 46.1,
"Y": 52.6
},
"LayerNumber": 2,
"BoardThickness": 1.6,
"Finish": "None"
},
"DesignRules": [
{
"Layers": "Outer",
"PadToPad": 0.2,
"PadToTrack": 0.2,
"TrackToTrack": 0.2,
"MinLineWidth": 0.2,
"TrackToRegion": 0.5,
"RegionToRegion": 0.5
}
],
"FilesAttributes": [
{
"Path": "Roboterhand-F_Cu.gbr",
"FileFunction": "Copper,L1,Top",
"FilePolarity": "Positive"
},
{
"Path": "Roboterhand-B_Cu.gbr",
"FileFunction": "Copper,L2,Bot",
"FilePolarity": "Positive"
},
{
"Path": "Roboterhand-F_Paste.gbr",
"FileFunction": "SolderPaste,Top",
"FilePolarity": "Positive"
},
{
"Path": "Roboterhand-B_Paste.gbr",
"FileFunction": "SolderPaste,Bot",
"FilePolarity": "Positive"
},
{
"Path": "Roboterhand-F_Silkscreen.gbr",
"FileFunction": "Legend,Top",
"FilePolarity": "Positive"
},
{
"Path": "Roboterhand-B_Silkscreen.gbr",
"FileFunction": "Legend,Bot",
"FilePolarity": "Positive"
},
{
"Path": "Roboterhand-F_Mask.gbr",
"FileFunction": "SolderMask,Top",
"FilePolarity": "Negative"
},
{
"Path": "Roboterhand-B_Mask.gbr",
"FileFunction": "SolderMask,Bot",
"FilePolarity": "Negative"
},
{
"Path": "Roboterhand-Edge_Cuts.gbr",
"FileFunction": "Profile",
"FilePolarity": "Positive"
}
],
"MaterialStackup": [
{
"Type": "Legend",
"Name": "Top Silk Screen"
},
{
"Type": "SolderPaste",
"Name": "Top Solder Paste"
},
{
"Type": "SolderMask",
"Name": "Top Solder Mask"
},
{
"Type": "Copper",
"Name": "F.Cu"
},
{
"Type": "Dielectric",
"Material": "FR4",
"Name": "F.Cu/B.Cu",
"Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
},
{
"Type": "Copper",
"Name": "B.Cu"
},
{
"Type": "SolderMask",
"Name": "Bottom Solder Mask"
},
{
"Type": "SolderPaste",
"Name": "Bottom Solder Paste"
},
{
"Type": "Legend",
"Name": "Bottom Silk Screen"
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
{"hostname":"lbu727","username":"neko"}

BIN
Circuits/output.pdf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

9
README.md Normal file
View File

@ -0,0 +1,9 @@
# Robothand v2
Second iteration of the robot hand program for directly wired movement
![image-20250606101520388](README.assets/image-20250606101520388.png)
![image-20250606101458862](README.assets/image-20250606101458862.png)