Code Monkey home page Code Monkey logo

hhkb_controller's Introduction

Keyboard Controller Board for HHKB

This controller makes your HHKB fully programmable. You can use this with tmk_keyboard firmware. This will fit HHKB Pro2, Type-S and JP.

You can buy assembled board here. https://geekhack.org/index.php?topic=71517.0

dimension

141.50x36.00mm(1.6mm thick)

Update

  • 2017/06/27: Rev.N Fix footprint of USB: add SMD pads for frame
  • 2017/05/03: Rev.M Fix footprints of USB, LED, SKHH and DF14
  • 2016/08/27: Rev.L Enlarge TH land of USB connector
  • 2016/07/03: Rev.K Add reverse polarity protection and change foot print of D1
  • 2016/01/28: Rev.J Add TMK logo and remove C13
  • 2015/12/01: Rev.I Changed USB miniB to UX60SC-MB-5S8(through hole)
  • 2015/12/01: Rev.H' Changed lands of USB miniB to recomended size
  • 2015/07/xx: Rev.H
  • 2015/03/xx: Rev.G
  • 2014/12/xx: Rev.F
  • 2014/11/xx: Rev.E
  • 2014/09/19: Rev.D
  • 2014/07/28: Rev.C

LICENSE

TBD

hhkb_controller's People

Contributors

tmk avatar yashikno avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hhkb_controller's Issues

Rev.A: Power control

Without Lipo it does not boot from USB

It should work without Lipo if it is powered form USB line.

Rev.B: Battery charger tune

Very slow charging on Rev.A.

  • charge current is tunable with R11
  • fast charge time is preferable in general
  • but when you want to use on phone or tablet with USB low charge current is needed(Optional)
  • Bluetooth should be used on phone, tablet or mobile gadget

How to compatible with BLE 4.0

Hi, this is an awesome project.

But I have one question. The new Bluetooth tech will be more energy efficient than former version, does this controller support the Bluetooth 4.0?

Any discount and upgrade to Bluetooth 4.0?

Because bluetooth controller's cost made it close the bluetooth version of HHKB BT, have you ever considered lower the price for the controller for more sales?

By the way, any chance to upgrade the bluetooth module from 3.0 to 4.0? I believe the latest bluetooth can extend the running time for the keyboard.

Thanks

Rev.B: design PCB

Remove or Change

  • Capacitor size: 10uF depens on avialability and price
  • Tactile switch need larger annular ring
  • debug pin pull-up resistors pads #10

Done:

  • pull up resistor R1
  • HHKB connector for Pro1
  • solder jumper
  • SMT Xtal
  • battery connector SMT component(JST PH 2) 2mm pitch
  • Battery connector SMT is better? TH is very wiggly when insert and remove it.
  • add mark to indicate direction of ISCP header

Cnaceled

  • add TH LED silk outiline to indicate polarity #11

Power/Load switching

FET switching between USB power source and Battery.

  • FET breadboard test
  • research
  • MOS-FET O-ring

LUFA DFU Bootloader for HHKB controller(or Teensy)

I lost Atmel genuine bootloader for some reason during fiddling with ICSP with avrdude :) I don't know why for sure, I was just trying to read lock/fuse bits... but I must have been dumb.

So without bootloader I can't program it with USB line and very unusable. Atmel genuine bootloader for ATmega32U4 is not avaiable I had to build LUFA DFU bootloader and program it with AVRISPmkII via ICSP.

LUFA DFU bootloader is completely compatible for Atmel's, it rocks!

build

$ Bootloaders/DFU
$ edit makefile
$ make
$ sudo avrdude -p m32u4 -c avrispmkII  -Pusb -U flash:w:BootloaderDFU.hex

makefile for ATmega32U4(HHKB controller/Teensy)

--- makefile    2013-12-28 19:34:57.000000000 +0900
+++ makefile.atmega32u4 2013-12-30 13:34:03.000000000 +0900
@@ -11,10 +11,10 @@

 # Run "make help" for target help.

-MCU          = at90usb1287
+MCU          = atmega32u4
 ARCH         = AVR8
-BOARD        = USBKEY
-F_CPU        = 8000000
+BOARD        = TEENSY2
+F_CPU        = 16000000
 F_USB        = $(F_CPU)
 OPTIMIZATION = s
 TARGET       = BootloaderDFU
@@ -26,8 +26,8 @@
 # Flash size and bootloader section sizes of the target, in KB. These must
 # match the target's total FLASH size and the bootloader size set in the
 # device's fuses.
-FLASH_SIZE_KB         = 128
-BOOT_SECTION_SIZE_KB  = 8
+FLASH_SIZE_KB         = 32
+BOOT_SECTION_SIZE_KB  = 4

 # Bootloader address calculation formulas
 # Do not modify these macros, but rather modify the dependent values above.

PCB dimension

Rev.A PCB just wiggles when installed in the place.
Pro2 PCB also wiggles but a bit less than Rev.A. Type-S is very tight in the spot.
Wiggle is not problem so much, but we can make holes small to mitigate the wiggle.

DECISION: keep holes current size, we need that play of hole
If it fits too tight it loses room/play/allowance of changing alignment of USB connector. And we need play when install and uninstall PCB to fit USB connector to back window.

DECISION: USB connector to be moved left to 0.1-0.2mm.

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.