Giter Club home page Giter Club logo

ec-pro-2's Introduction

EC Pro2

Open source HHKB Pro2 Controller and mainboard.

Introduction

This project is a continuation of my development of open source EC boards.

The supported layout options are the following:

Layout option

Technical information

Mainboard

  • Layout size: HHKB Pro2 ANSI and some additions
  • Compatible switches: EC switches (Topre and NIZ)
  • Microcontroller: STM32F401
  • Connector: JST connector for controller board
  • Firmware compatibility: QMK (with VIA/VIAL support)
  • Protection hardware (present on both the mainboard and both controller versions):
    • Fused
    • ESD protection

Lite Controller board

The Lite controller board is a slimmed down version of the controller board, featuring only protection hardware and a JST connector for the mainboard.

This is cost effective choice in case the user doesn't need the USB hub feature or the aftermarket case doesn't take advantage of it.

Normal Controller board

The Normal Controller instead is a full featured controller board, featuring a USB hub, a JST connector for the mainboard and a USB Type-C connector for the PC.

The USB hub is a USB 2.0 hub, featuring 3 USB-A 2.0 ports, one of which is internal, to be used for dongles or small USB drives.

Key features of the Normal Controller are:

  • USB 2.0 hub based on the FE1.1 IC
  • 2x USB-A 2.0 ports in the same position as the original HHKB Pro 2
  • 1x internal USB-A 2.0 port
  • Per port current limit on each downstream port using MIC2026-2 for the 2 externally accessible USB ports.

NOTES

  • The internal USB port is intended only for low power devices, such as dongles and small usb drives as previously mentioned. It is not intended for high power devices. Furthermore it is not ESD protected nor current limited and shares the power rail with the rest of the controller.

  • The main USB-C port, as well as the 2x externally accessible USB-A downstream ports are ESD protected and current limited.

Keep in mind the the USB 2.0 power budget sets a typical current limit of 500mA, therefore that is the total budget available to the entire board (controller + mainboard + devices connected to the hub).

Renders and Prototypes

Render

Mainboard:

PCB Front Render

PCB Back Render

Lite Controller board: Lite Controller Render

Normal Controller board: Normal Controller Render

Prototypes

Mainboard:

PCB Front

PCB Back

Lite Controller: Lite Controller

Normal Controller: Normal Controller

Revisions and relative features

Rev1

This revision implements all the main features of the mainboard ad controllers mentioned in the specifications.

Connectivity

The Revision 1 (Rev1) implements a USB hub based on the FE1.1 USB HUB IC.

Connection to the PC is achieved through a USB-C connector while devices downstream will use USB-A ports.

Mind that the USB-C connector is wider than the original USB mini connector used, therefore modifications to enlarge the port cutout on the case will be needed. In case you will use this board in an aftermarket case already designed with USB-C in mind n o further modifications are needed.

RGB header

RGB header

The mainboard features an RGB header for connecting +5V addressable RGB strips. THe properties of the lihting can be controlled through Vial or by assigning RGB control keycodes on the board itself.

On the bottom right corner of the PCB, near the bootloader instructions, a pinout diagram shows how to connect the strip to the header:

RGB legend

DFU

To access the DFU mode of the mainboard you can perform one of the following actions:

  • press the key to which the QK_BOOT keycode is assigned (if available)
  • while plugging in the board keep the ESC (top left corner key) pressed
  • while plugging in the board short the Boot0 pins on the mainboard

Boot0 pins

PCB order procedure

In order to have me highers compatibility possible with PCB manufacturers, I decided to design the board around the JLC7628 Stackup from JLCPCB.

The rational behind this is that the JCPCB stackup is relatively cheap and if the board worked with the stackup, it would be easier to get the board to work with pretty much any other many that offer an equivalent stackup and higher prices.

Both the Lite and Normal controllers can be instead be ordered with standard 2 layer stackup.

Production files

The production can be found in the Production folder.

As usual the *.zip files are the gerber files, BOM-*.csv are the BOM (Bill Of Material) files and POS-*.csv are the POS/CPL (Footprint POSition/Component Placement List) files.

Mainboard

As mentioned above, the mainboard is designed around the JLCPCB stackup. The mainboard is a 4 layer board.

Here are the options to select when ordering the mainboard:

  • PCB thickness: 1.6mm
  • Impedance: NO
  • Layer stackup:
    • L1(Top layer): EC_Pro2_Mainboard-F_Cu.gbr
    • L2(Inner layer1): EC_Pro2_Mainboard-In1_Cu.gbr
    • L3(Inner layer2): EC_Pro2_Mainboard-In2_Cu.gbr
    • L4(Bottom layer): EC_Pro2_Mainboard-B_Cu.gbr
  • PCB Color: whatever you like
  • Surface Finish: whatever you like
  • Material Type: FR-4 TG155

All the other options can be left as default.

Assembly options

Here follows the options to be used for assembly:

  • Assembly Side: Bottom
  • Tooling holes: Added by JLCPCB
  • Confirm Parts Placement: yes

USB-A connector

An alternative part that has been tested and works is the JINJIA USB-SMT-04F-S1-B1-R11 from LCSC.

As a general rule of thumb the USB-A connectors are interchangeable if they meet the following requirmemnts:

  • fits the PCB outline

  • has the same number of pins and mounting

  • has the following receptor configuration

    USB-A receptacle

    To be more specific, the plastic part of the connector should be on the top and not the bottom.

    BEWARE that some USB-A connectors have the plastic part on the bottom, in this case the connector will have the pinout reversed, therefore causing inverse polarity on the USB lines. The following picture shows the correct orientation of the USB-A connector on the top board while the incorrect one on the bottom board:

    USB-A orientation

NOTES ABOUT THE OPTIONS

  • Once you upload the gerber files wait for the system to automatically recognize the board outline and layers. It will take a while, be patient.

  • PCB thickness has been tested on both 1.6mm and 1.2mm so it's your call on which one to use.

  • For Material Type I strongly suggest to use FR-4 TG155, using the standard FR4-Standard TG130-140 material might result in the board delamination and generally is not advised on 4 layer boards.

Compatibility notice

The EC Pro2 project is intended as a full replacement kit for the OEM HHKB Pro2 controller and main PCB. Therefore it IS NOT compatible with the OEM PCBs (both controller and mainboard).

Copyright notice

This project is not endorse nor sponsored in any way by Topre Corporation and PFU Limited. The HHKB Logo and Topre logo are trademarks of their respective owners.

This project is released under the MIT License. For the license, please refer to the LICENSE.md file.

ec-pro-2's People

Contributors

cipulot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.