1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Scratch Build – In Progress Open Source Keyboard: ErgoDox GG

Discussion in 'Project Logs' started by ifohancroft, 30 Jan 2020.

  1. ifohancroft

    ifohancroft Minimodder

    Joined:
    11 Jul 2018
    Posts:
    83
    Likes Received:
    51
    Thank you!

    Damn! That's awful.
    We'll see how it works out (and whether it does) :D

    Right now have a problem to solve (Thanks for Dr. Foland from The Shoulders of Giants Inc. for pointing it out):

    I can't just short the power of the two USB ports (like I have currently done) or it might create problems in certain scenarios (user plugs both ports into the PC, plugs one port into the PC after the other has already been plugged to the other keyboard half, etc) and I'd have to either put a diode on the USB port that will be used for the PC connection so electricity can't go to it from the chip and also implement the other port as USB-C DRP (Dual-Role Port) so it can be switched between receiving and sending power, depending on what's plugged. Unless, I find a clever/better way (not sure if one exists) to do both the switching and protect the other port with a single switching chip/schematic (i.e. so the switching also switches between the which port powers the MCU).
     
  2. Canardwc

    Canardwc @French_fab_factorie

    Joined:
    22 Sep 2011
    Posts:
    609
    Likes Received:
    184
    Quite impressive knowledges !! Following your thread ! :clap:
     
  3. ifohancroft

    ifohancroft Minimodder

    Joined:
    11 Jul 2018
    Posts:
    83
    Likes Received:
    51
    Thank you!
    Actually, I don't know probably even half of what I need to know to pull this off but I've been banging my head against this for a while now so I'm inevitably learning things and thankfully, I have people I can ask questions.
     
  4. ifohancroft

    ifohancroft Minimodder

    Joined:
    11 Jul 2018
    Posts:
    83
    Likes Received:
    51
    A small update:

    The way the USB is supposed to work is essentially, like a standard USB-C dual role port, except that each keyboard half, has two of those and there are two halves.

    I have been pretty much re-learning electronics with this project, and now while I generally have a good idea on how things work and I believe enough knowledge to finish most of it, I am in way over my head when it comes to the USB part.
    Some of the problems I am facing are: When connecting the two halves, how do I know that the one connected to the PC will become the host and the other will become the peripheral? Logic dictates that the one already powered/plugged to the PC should become the host, but does the protocol work like that? Am I supposed to implement something else as well (outside of the spec) to ensure that?

    Unless someone has knowledge/experience with implementing USB-C and would like to help which would be greatly appreciated) the plan for now is to finish the project without the two halves having a way to connect/scraping the dual USB-C, so each half will have just a single USB-C, essentially becoming a standalone gamepad/keypad. After that is done, tested and confirmed to work, I'd look into implementing one of the existing ways to connect the two halves together so I have a working "full" board. Then eventually I will get to implementing the original idea.

    It's good that I picked such an over my head project, as it forced me to learn and I learned a lot, but it's time to actually finish it.
     
    Cheapskate, Yaka and Defyant Mods like this.

Share This Page