Update web app, bootloader, add 3D printed case
126
Firmware/Keyboard/DFU/BootloaderHID.hex
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
:103800004BC0000075C0000073C0000071C0000014
|
||||
:103810006FC000006DC000006BC0000069C00000F8
|
||||
:1038200067C0000065C0000063C00000E9C100007F
|
||||
:103830005FC000005DC000005BC0000059C0000018
|
||||
:1038400057C0000055C0000053C0000051C0000028
|
||||
:103850004FC000004DC000004BC0000049C0000038
|
||||
:1038600047C0000045C0000043C0000041C0000048
|
||||
:103870003FC000003DC000003BC0000039C0000058
|
||||
:1038800037C0000035C0000033C0000031C0000068
|
||||
:103890002FC000002DC0000011241FBECFEFD2E0CA
|
||||
:1038A000DEBFCDBF04B603FE0EC0809154019091DF
|
||||
:1038B000550182549C4D39F41092550110925401D7
|
||||
:1038C000E0E0F0E0099511E0A0E0B1E0ECE6FFE314
|
||||
:1038D00002C005900D92AA34B107D9F711E0AAE40D
|
||||
:1038E000B1E001C01D92A435B107E1F766D03CC339
|
||||
:1038F00087CF80914C018F77813209F059C0809138
|
||||
:103900004D01893009F054C08091E800877F809391
|
||||
:10391000E8008091E80082FFFCCF8091F100909157
|
||||
:10392000F1009C018FEF2F3F380719F4109200012E
|
||||
:1039300039C083E0F90180935700E89507B600FC91
|
||||
:10394000FDCF60E070E091E08091F200882349F4BF
|
||||
:103950008091E8008B778093E8008091E80082FFF7
|
||||
:10396000FCCF8091F100482F8091F100582FFB018E
|
||||
:10397000EE0FFF1FE20FF31F0A0190935700E89527
|
||||
:1039800011246F5F7F4F60347105F1F685E0F90116
|
||||
:1039900080935700E89507B600FCFDCF81E1809346
|
||||
:1039A0005700E8958091E8008B778093E800C7C0C6
|
||||
:1039B000089581E061EC42E3AEC084B7877F84BFA5
|
||||
:1039C00088E10FB6F89480936000109260000FBEFB
|
||||
:1039D00081E085BF82E085BF04D1789401C0B0D278
|
||||
:1039E000809100018823D9F78091E0008160809365
|
||||
:1039F000E00082E49CED90935501809354012CE00B
|
||||
:103A000088E190E00FB6F894A895809360000FBE0F
|
||||
:103A100020936000FFCFFA01913029F442E150E099
|
||||
:103A200026E131E012C0923029F442E250E028E26F
|
||||
:103A300031E00BC0913229F045E150E021E031E066
|
||||
:103A400004C049E050E02AE331E031832083CA0119
|
||||
:103A500008959C0140915201509153014617570718
|
||||
:103A600018F4F90190E03CC06115710511F0AB014B
|
||||
:103A7000F8CF8091E8008E778093E80040E050E036
|
||||
:103A8000F0CF8EB3882309F440C0853009F43FC0DD
|
||||
:103A90008091E80083FD3DC08091E80082FD2FC049
|
||||
:103AA0008091E80080FF1CC08091F200282F30E058
|
||||
:103AB00007C081918093F100415050402F5F3F4FEC
|
||||
:103AC0004115510519F02830310598F390E0283060
|
||||
:103AD000310509F491E08091E8008E778093E80049
|
||||
:103AE0004115510571F6992361F609C08EB38823FB
|
||||
:103AF00061F0853061F08091E80083FD0AC080911B
|
||||
:103B0000E80082FFF3CF80E0089582E0089583E02B
|
||||
:103B1000089581E008958F708093E9008091EB0013
|
||||
:103B200081608093EB001092ED006093EC00409375
|
||||
:103B3000ED008091EE00881F8827881F08958091EE
|
||||
:103B40004C0188238CF403C08EB38823B1F080919C
|
||||
:103B5000E80082FFF9CF8091E8008B778093E8003E
|
||||
:103B600008958EB3882349F08091E80080FFF9CF53
|
||||
:103B70008091E8008E778093E80008953BD03DD097
|
||||
:103B80008091D8008F778093D8008091D80080688A
|
||||
:103B90008093D8008091D8008F7D8093D80019BC85
|
||||
:103BA00082E089BD09B400FEFDCF1EBA10924A0121
|
||||
:103BB00080E060E042E0AFDF8091E1008E7F8093A3
|
||||
:103BC000E1008091E20081608093E2008091E20058
|
||||
:103BD00088608093E2008091E0008E7F8093E00017
|
||||
:103BE0000895E3E6F0E080818E7F808381E080931A
|
||||
:103BF0004B01C4CF1092E20008951092E1000895A5
|
||||
:103C00001F920F920FB60F9211242F933F934F9351
|
||||
:103C10005F936F937F938F939F93AF93BF93EF9334
|
||||
:103C2000FF938091E10080FF16C08091E20080FF49
|
||||
:103C300012C08091E2008E7F8093E2008091E200CA
|
||||
:103C400080618093E2008091D80080628093D800E8
|
||||
:103C500019BC1EBA74D18091E10084FF2DC08091FF
|
||||
:103C6000E20084FF29C019BC82E089BD09B400FECE
|
||||
:103C7000FDCF8091D8008F7D8093D8008091E100A6
|
||||
:103C80008F7E8093E1008091E2008F7E8093E2003E
|
||||
:103C90008091E20081608093E20080914A01882354
|
||||
:103CA00011F084E007C08091E30087FD02C081E04D
|
||||
:103CB00001C083E08EBB43D18091E10083FF21C02E
|
||||
:103CC0008091E20083FF1DC08091E100877F809397
|
||||
:103CD000E10082E08EBB10924A018091E1008E7F6C
|
||||
:103CE0008093E1008091E2008E7F8093E2008091DA
|
||||
:103CF000E20080618093E20080E060E042E00BDF60
|
||||
:103D00001ED1FF91EF91BF91AF919F918F917F91C4
|
||||
:103D10006F915F914F913F912F910F900FBE0F9038
|
||||
:103D20001F9018951F93DF93CF9300D0CDB7DEB7C8
|
||||
:103D3000ECE4F1E08091F100819381E0E435F80753
|
||||
:103D4000C9F7D7DD8091E80083FFE5C080914C0181
|
||||
:103D500090914D01953009F46FC0963040F4913048
|
||||
:103D600091F1913070F0933009F0D5C02CC09830AB
|
||||
:103D700009F4A4C0993009F4B3C0963009F0CBC05F
|
||||
:103D80007DC0803811F490E014C0823809F0C3C0BF
|
||||
:103D9000809150018F708093E9008091EB0090E05A
|
||||
:103DA00025E0969587952A95E1F7982F91701092C6
|
||||
:103DB000E9008091E800877F8093E8009093F1000C
|
||||
:103DC0001092F10086C0882319F0823009F0A3C058
|
||||
:103DD0008F71823009F09FC080914E01882331F5A8
|
||||
:103DE000209150012F7009F496C02093E900809132
|
||||
:103DF000EB0080FF1BC0933021F48091EB008062C8
|
||||
:103E000013C08091EB0080618093EB0081E090E033
|
||||
:103E100002C0880F991F2A95E2F78093EA0010925A
|
||||
:103E2000EA008091EB0088608093EB001092E9003B
|
||||
:103E30008091E800877F50C0882309F06CC0109102
|
||||
:103E40004E011F778091E3008078812B8093E300FF
|
||||
:103E50008091E800877F8093E80071DE8091E80020
|
||||
:103E600080FFFCCF8091E30080688093E300112302
|
||||
:103E700011F482E001C083E08EBB4DC080588230D7
|
||||
:103E800008F049C080914E0190914F01609150011E
|
||||
:103E9000AE014F5F5F4FBFDDBC01009709F43BC02F
|
||||
:103EA0008091E800877F8093E80089819A81D1DD45
|
||||
:103EB0008091E8008B778093E8002DC0803859F519
|
||||
:103EC0008091E800877F8093E80080914A01809389
|
||||
:103ED000F1008091E8008E778093E80030DE1BC00F
|
||||
:103EE0008823C9F490914E019230A8F48091E800A3
|
||||
:103EF000877F8093E80090934A0121DE80914A01F8
|
||||
:103F0000882331F48091E30087FD02C081E001C085
|
||||
:103F100084E08EBB4EDD8091E80083FF0AC0809173
|
||||
:103F2000E800877F8093E8008091EB0080628093B7
|
||||
:103F3000EB000F900F90CF91DF911F91089508959E
|
||||
:103F40001F938EB3882371F01091E9008091EC00EB
|
||||
:103F50001092E9008091E80083FF01C0E3DE1F704A
|
||||
:0C3F60001093E9001F910895F894FFCF22
|
||||
:103F6C000106DCFF09FBA1010902150025FF7508FC
|
||||
:103F7C009682009102C01201100100000008EB03B0
|
||||
:103F8C0067200100000000010902220001010080ED
|
||||
:103F9C003209040000010300000009211101000195
|
||||
:0A3FAC0022150007058103400005FF
|
||||
:0400000300003800C1
|
||||
:00000001FF
|
||||
487
Hardware/Case/BezierScad.scad
Normal file
163
Hardware/Case/TataconCase.scad
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
use <BezierScad.scad>
|
||||
|
||||
fudge = 0.5;
|
||||
|
||||
board_length = 37.3 + fudge;
|
||||
board_width = 16.3 + fudge;
|
||||
board_thickness = 1.6;
|
||||
board_clearance_top = 3.3 + fudge; // height of crystal
|
||||
board_clearance_bottom = 1.4 + fudge; // USB connector shield pins
|
||||
|
||||
board_height = board_clearance_bottom + board_thickness;
|
||||
|
||||
usb_width = 12.1 + fudge;
|
||||
usb_height = 4.5 + fudge;
|
||||
usb_relative_z = 0;
|
||||
|
||||
nunchuck_width = 14.7 + fudge;
|
||||
nunchuck_overhang = 0.6;
|
||||
nunchuck_length = 12.9 - nunchuck_overhang + fudge;
|
||||
nunchuck_height = 8.4 + fudge;
|
||||
nunchuck_relative_z = board_thickness;
|
||||
|
||||
switch_radius = 2 + fudge;
|
||||
switch_offsetx = 4.85;
|
||||
switch_offsety = 21.1;
|
||||
|
||||
crystal_bottom = 18.3 + fudge;
|
||||
|
||||
wall_strength = 2;
|
||||
|
||||
lip_strength = 0.8;
|
||||
|
||||
clip_height = 1.6;
|
||||
|
||||
shapeways = false;
|
||||
shapeways_clearance = 1 + clip_height;
|
||||
|
||||
$fn = 8;
|
||||
|
||||
module board_shape(width = board_width, extend = 0) {
|
||||
translate([width,0,0])
|
||||
rotate([0,-90,0])
|
||||
linear_extrude(width)
|
||||
union() {
|
||||
// USB/front section
|
||||
translate([-extend,-extend,0])
|
||||
square([board_height+board_clearance_top+extend, board_length+extend]);
|
||||
// Nunchuck/rear section
|
||||
translate([-extend, board_length - nunchuck_length,0])
|
||||
square([board_height+nunchuck_height+extend, nunchuck_length+extend]);
|
||||
// Pretty curve
|
||||
bezHeight = nunchuck_height - board_clearance_top;
|
||||
bezWidth = (board_length - nunchuck_length) - crystal_bottom;
|
||||
translate([board_height + board_clearance_top - bezHeight/2, crystal_bottom, 0])
|
||||
BezLine([
|
||||
[0,-crystal_bottom/2], [0, bezWidth/2], [bezHeight, bezWidth/2], [bezHeight,bezWidth]
|
||||
], width = [bezHeight], resolution = 2, centered = true);
|
||||
}
|
||||
}
|
||||
|
||||
module lid() {
|
||||
union() {
|
||||
difference() {
|
||||
rounded();
|
||||
translate([-wall_strength,0,0])
|
||||
board_shape(board_width + wall_strength*2, wall_strength);
|
||||
};
|
||||
// USB connector overhang
|
||||
usb_overhang = board_clearance_bottom+usb_relative_z+usb_height;
|
||||
translate([board_width/2 - usb_width/2,
|
||||
-wall_strength,
|
||||
usb_overhang])
|
||||
cube([usb_width,
|
||||
wall_strength,
|
||||
board_height+board_clearance_top - usb_overhang]);
|
||||
// clip hang down
|
||||
difference() {
|
||||
// main body
|
||||
board_shape();
|
||||
// form the lips
|
||||
translate([wall_strength,0,0])
|
||||
board_shape(board_width - wall_strength*2);
|
||||
// cut them short
|
||||
translate([0,0,-clip_height])
|
||||
board_shape(board_width, clip_height);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module lid_complete() {
|
||||
difference() {
|
||||
lid();
|
||||
button_hole();
|
||||
}
|
||||
}
|
||||
|
||||
module rounded() {
|
||||
minkowski() {
|
||||
board_shape();
|
||||
sphere(wall_strength);
|
||||
}
|
||||
}
|
||||
|
||||
module hollowed() {
|
||||
union() {
|
||||
difference() {
|
||||
rounded();
|
||||
// remove the inner
|
||||
board_shape();
|
||||
};
|
||||
difference() {
|
||||
cube(
|
||||
[board_width,
|
||||
board_length,
|
||||
board_clearance_bottom]);
|
||||
translate([lip_strength,0,0]) cube(
|
||||
[board_width - lip_strength*2,
|
||||
board_length,
|
||||
board_clearance_bottom]);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
module port_holes() {
|
||||
// usb connector
|
||||
translate([board_width/2 - usb_width/2,
|
||||
-wall_strength,
|
||||
board_clearance_bottom + usb_relative_z])
|
||||
cube([usb_width, wall_strength, usb_height]);
|
||||
// nunchuck connector
|
||||
translate([board_width/2 - nunchuck_width/2,
|
||||
board_length-fudge,
|
||||
board_clearance_bottom + nunchuck_relative_z])
|
||||
cube([nunchuck_width, wall_strength+fudge, nunchuck_height]);
|
||||
}
|
||||
|
||||
module button_hole() {
|
||||
translate([switch_offsetx,
|
||||
switch_offsety,
|
||||
board_height])
|
||||
cylinder(nunchuck_height + wall_strength, switch_radius);
|
||||
}
|
||||
|
||||
module board() {
|
||||
// board shape minus the lid
|
||||
translate([wall_strength, wall_strength, wall_strength])
|
||||
difference() {
|
||||
hollowed();
|
||||
port_holes();
|
||||
lid();
|
||||
}
|
||||
// lid with reset button hole
|
||||
if(shapeways) {
|
||||
translate([wall_strength,wall_strength,wall_strength+shapeways_clearance])
|
||||
lid_complete();
|
||||
} else {
|
||||
rotate([0,180,0])
|
||||
translate([wall_strength*3, wall_strength, -(board_height + nunchuck_height + wall_strength)])
|
||||
lid_complete();
|
||||
}
|
||||
}
|
||||
|
||||
board();
|
||||
BIN
Render.png
|
Before Width: | Height: | Size: 393 KiB After Width: | Height: | Size: 396 KiB |
BIN
Software/Tataconfig/Promotional.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
Software/Tataconfig/Screenshot.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 886 B |
BIN
Software/Tataconfig/icon128.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
Software/Tataconfig/icon16.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
Software/Tataconfig/icon48.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
|
|
@ -14,12 +14,12 @@
|
|||
{
|
||||
"usbDevices":
|
||||
[
|
||||
// Config
|
||||
{ "vendorId": 5840, "productId": 2669 },
|
||||
// Firmware update
|
||||
{ "vendorId": 1003, "productId": 8295 }
|
||||
{ "vendorId": 5840, "productId": 2669, "__comment" : "Configuration" },
|
||||
{ "vendorId": 1003, "productId": 8295, "__comment" : "Firmware update" }
|
||||
]
|
||||
}
|
||||
],
|
||||
"icons": { "16": "calculator-16.png", "128": "calculator-128.png" }
|
||||
}
|
||||
"icons": { "16": "icon16.png",
|
||||
"48": "icon48.png",
|
||||
"128": "icon128.png" }
|
||||
}
|
||||
|
|
|
|||