Main > Monitor/Video Forum

GreenAntz RGB to component transcoder

Pages: << < (17/24) > >>

Zebidee:

That's very impressive work Naponic! Can you share the file when complete?

How do you go with getting the VGA/USB/3xRCA ports into those holes? I imagine it's a tight fit. Does the plastic have a bit of flexibility to make that easier?

FYI, the GreenAntz PCBs are the same size across different versions, and the ports and mounting holes are all in the same places.

The PCB design/layout accommodates at least 1.5mm clearance along the short sides, meaning a box design could be a shaped hollow tube with C-shaped slide guides on left/right sides. The PCB just slides in, like a drawer. I imagine this would be easy to design and print. Then just add flat faceplates (with holes for ports & screws) front and back. The new sync LED intrudes upon that clearance slightly, but still leaves > 1mm free.

Ond & Daniel seem to be working on something too. I don't know how far that's gone? I imagine Ond is pretty busy with his virtual pinball project & other stuff.

I have no 3D printing skills! Sure I'd love it though, as obviously I enjoy creative modelling/design stuff.

Ond:


--- Quote from: Zebidee on June 05, 2024, 04:04:57 pm ---
Ond & Daniel seem to be working on something too. I don't know how far that's gone? I imagine Ond is pretty busy with his virtual pinball project & other stuff.


--- End quote ---

I considered drawing up an enclosure but as Naponic is now working on it I'll let it be for now. Personally I have no real need for one myself as I'm just mounting them inside the cabinet on standoffs.

PL1:



--- Quote from: Zebidee on June 05, 2024, 04:04:57 pm ---How do you go with getting the VGA/USB/3xRCA ports into those holes? I imagine it's a tight fit. Does the plastic have a bit of flexibility to make that easier?

--- End quote ---
You don't.

For a top and bottom cover design, the seam between the top and bottom should probably pass through the center of the RCA jacks.

The VGA port hole has flat sides so no problem there.

The USB connector should be shallow enough to slide inside the case or have the seam between the covers dip down at that connector with a little additional reinforcement on the top cover for the part that sticks down.

Another feature to consider adding is wire holes for the alternate power supply terminals mentioned here.




--- Quote from: Zebidee on June 05, 2024, 04:04:57 pm ---The PCB design/layout accommodates at least 1.5mm clearance along the short sides, meaning a box design could be a shaped hollow tube with C-shaped slide guides on left/right sides. The PCB just slides in, like a drawer. I imagine this would be easy to design and print. Then just add flat faceplates (with holes for ports & screws) front and back. The new sync LED intrudes upon that clearance slightly, but still leaves > 1mm free.

--- End quote ---
That's one possible approach, but the hard part about it is the hardware for attaching the covers.

Here's a preliminary design I did a while back for the KADE MiniConsole+ that could be easily adapted for GreenAntz.
- The hole in the "diving board" tab lines up with the mounting hole on the other cover.

OpenSCAD code if anyone wants to play around with it.

--- Code: ---// KADE miniConsole+ case (WIP)

// Variables are estimates -- awaiting accurate measurements.  Port openings have extra wiggle room.

/////////////////////////////
// Define variables
/////////////////////////////
screwdiameter = 4;    // Screw hole diameter
PCBwidth = 60;        // PCB width
PCBlength = 80;       // PCB length
PCBthick = 1.8;       // PCB thickness
componentheight = 22; // Component height
USBoffset = 10;       // Distance from PCB edge to USB
RJ45offset = 8;       // Distance from PCB edge to RJ45
DSUBoffset = 9;       // Distance from PCB edge to left side of D-Sub15
SecHalfMove = 60;     // Y-axis distance to move the second half of the case

// Number of fragments (polygon sides) used to render a full circle.
    $fn = 180; // Default = 180  Typical range = 6 - 360
    // 6 will render a circular hole as a hexagon, 8 will render a circular hole as an octagon.
    // Lower the number for faster rendering, raise the number for smoother rendering.

/////////////////////////////
//  Make the part
/////////////////////////////

/////////////////////////////
// RJ-45 and USB side of case
/////////////////////////////
difference(){ // Case body minus hollow, PCB slot, RJ-45 and USB holes
    // Case body
    hull() {
    translate([PCBwidth+14, 8+PCBthick+componentheight, 1+PCBlength/4])
    cylinder(h=2+PCBlength/2, d=4, center=true);
    // Upper right cylinder

    translate([14, 8+PCBthick+componentheight, 1+PCBlength/4])
    cylinder(h=2+PCBlength/2, d=4, center=true);
    // Upper left cylinder

    translate([PCBwidth+14, 2, 1+PCBlength/4])
    cube([4,4,2+PCBlength/2], center=true);
    // Lower right cube

    translate([14, 2, 1+PCBlength/4])
    cube([4,4,2+PCBlength/2], center=true);
    // Lower left cube

    } // End case body
//
// Holes to remove from case
    // Upper hollow
    color("green") translate([14+PCBwidth/2, 6+(PCBthick+componentheight)/2, 5+PCBlength/4])
    cube([PCBwidth-6,PCBthick+componentheight,5+PCBlength/2], center=true);

    // Lower hollow
    color("green") translate([14+PCBwidth/2, 4, 5+PCBlength/4])
    cube([PCBwidth-6,3,5+PCBlength/2], center=true);

    // PCB slot
    color("white") translate([14+PCBwidth/2, 4+PCBthick, 5+PCBlength/4])
    cube([PCBwidth+0.2,PCBthick,5+PCBlength/2], center=true);

    // USB hole
    color("blue") translate([7+PCBwidth-USBoffset, 9.7+(PCBthick*1.5), 5])
    cube([14,12,12], center=true);

    // RJ45 hole
    color("brown") translate([22+RJ45offset, 11.7+(PCBthick*1.5), 5])
    cube([16,16,12], center=true);

     } // End case body minus hollow, PCB slot, RJ-45 and USB holes
//
difference(){ // Left mount tab minus screw hole
    // Left mount tab
    translate([6, 1.5, 1+PCBlength/4])
    cube([12, 3, 2+PCBlength/2], center=true);

    // Screw hole
    translate([6, 2.5, (2+PCBlength/2)-(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

} // End left mount tab minus screw hole
//
difference(){ // Right lower mount tab minus screw hole
    // Right lower mount tab
    translate([22+PCBwidth, 1.5, 1+PCBlength/4])
    cube([12, 3, 2+PCBlength/2], center=true);

    // Screw hole
    translate([22+PCBwidth, 2.5, (2+PCBlength/2)-(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

} // End right lower mount tab minus screw hole
//
difference(){ // Right upper mount tab minus screw holes
    // Right upper mount tab
    translate([22+PCBwidth, 4.5, 2+PCBlength/2])
    cube([12, 3, 4+PCBlength], center=true);

    // Screw hole 1
    translate([22+PCBwidth, 2.5, (2+PCBlength/2)-(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

    // Screw hole 2
    translate([22+PCBwidth, 2.5, (2+PCBlength/2)+(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

} // End right lower mount tab minus screw holes
//
/////////////////////////////
// DSub15 side of case
/////////////////////////////
difference(){ // Case body minus hollow, PCB slot, and DSub15 hole
    // Case body
    hull() {
    translate([PCBwidth+14, 8+PCBthick+componentheight+SecHalfMove, 1+PCBlength/4])
    cylinder(h=2+PCBlength/2, d=4, center=true);
    // Upper right cylinder

    translate([14, 8+PCBthick+componentheight+SecHalfMove, 1+PCBlength/4])
    cylinder(h=2+PCBlength/2, d=4, center=true);
    // Upper left cylinder

    translate([PCBwidth+14, 2+SecHalfMove, 1+PCBlength/4])
    cube([4,4,2+PCBlength/2], center=true);
    // Lower right cube

    translate([14, 2+SecHalfMove, 1+PCBlength/4])
    cube([4,4,2+PCBlength/2], center=true);
    // Lower left cube

    } // End case body
//
// Holes to remove from case
    // Upper hollow
    color("green") translate([14+PCBwidth/2, 6+(PCBthick+componentheight)/2+SecHalfMove, 5+PCBlength/4])
    cube([PCBwidth-6,PCBthick+componentheight,5+PCBlength/2], center=true);

    // Lower hollow
    color("green") translate([14+PCBwidth/2, 4+SecHalfMove, 5+PCBlength/4])
    cube([PCBwidth-6,3,5+PCBlength/2], center=true);

    // PCB slot
    color("white") translate([14+PCBwidth/2, 4+PCBthick+SecHalfMove, 5+PCBlength/4])
    cube([PCBwidth+0.2,PCBthick,5+PCBlength/2], center=true);

    // DSub15 hole
    color("blue") translate([-6+PCBwidth-DSUBoffset, 10.7+(PCBthick*1.5)+SecHalfMove, 5])
    cube([40,14,12], center=true);

     } // End case body minus hollow, PCB slot, and DSub15 hole
//
difference(){ // Left mount tab minus screw hole
    // Left mount tab
    translate([6, 1.5+SecHalfMove, 1+PCBlength/4])
    cube([12, 3, 2+PCBlength/2], center=true);

    // Screw hole
    translate([6, 2.5+SecHalfMove, (2+PCBlength/2)-(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

} // End left mount tab minus screw hole
//
difference(){ // Right lower mount tab minus screw hole
    // Right lower mount tab
    translate([22+PCBwidth, 1.5+SecHalfMove, 1+PCBlength/4])
    cube([12, 3, 2+PCBlength/2], center=true);

    // Screw hole
    translate([22+PCBwidth, 2.5+SecHalfMove, (2+PCBlength/2)-(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

} // End right lower mount tab minus screw hole
//
difference(){ // Right upper mount tab minus screw holes
    // Right upper mount tab
    translate([22+PCBwidth, 4.5+SecHalfMove, 2+PCBlength/2])
    cube([12, 3, 4+PCBlength], center=true);

    // Screw hole 1
    translate([22+PCBwidth, 2.5+SecHalfMove, (2+PCBlength/2)-(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

    // Screw hole 2
    translate([22+PCBwidth, 2.5+SecHalfMove, (2+PCBlength/2)+(PCBlength/2-8)])
    rotate([90, 0, 0])
    cylinder(h=10, d=screwdiameter, center=true);

} // End right upper mount tab minus screw holes
//

--- End code ---


Scott

Naponic:

Made the case see-through so I can see what I'm doing... doesn't look bad lol.

Made the holes in the middle so there's no wedging of anything. Drop, screw, and go. Still mostly visual guesswork and tape measuring clearances, I need digital calipers. Downloading random circuit parts from GrabCAB and double checking IRL has saved a lot of time.



PL1:

Looks great, Naponic.   :cheers:

Two other features you might want to add are a hole for the optional alternate power wires mentioned here and two holes so you can see the LEDs.




--- Quote from: Naponic on June 05, 2024, 07:07:00 pm ---I need digital calipers.

--- End quote ---
Yep.  Digital or dial.  Both are great choices.
Vernier calipers suck.  :puke


Scott
EDIT: Forgot to mention that another case variant to consider is for the SCART version with audio jacks mentioned here.


Pages: << < (17/24) > >>

Go to full version