Author Topic: [Updated] Wireless GH60  (Read 155291 times)

0 Members and 1 Guest are viewing this topic.

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: Wireless GH60
« Reply #50 on: Tue, 05 March 2013, 08:13:22 »
... teensy and xbee (2 of each) ...
Our idea is to use bluetooth right?

Xbee is a complete different animal, way more expensive than the 6 bucks bluetooth module suggested here. Xbee is suggested for long distances (kilometers), we don't need it in an keyboard. I linked the Sparkfun Arduino Fio only as a reference, it uses the Xbee connector, true - but the idea here is to connect an bluetooth xbee compatible module on it (not one real xbee).
« Last Edit: Tue, 05 March 2013, 15:57:48 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: Wireless GH60
« Reply #51 on: Tue, 05 March 2013, 09:14:55 »
... As far as I understand, what I need to add is a header for the expansion board ...
Err, nope, as far as I understood the idea is to build one modular keyboard matrix without any specific controller on it. This board will have some kind of header to connect it's columns/rows pins to our external controller bundle. It will required a major change since we will have to remove all teensy stuff from the current version and re-route the columns/rows pins to this header (we still didn't decide about the header).

Komar, I think it would be better to wait a bit - we are still deciding which path to take.

I'll add some sketches to let this idea clear, later today.

Would it not be easier to just make an expansion port of sorts? Plug something into the existing keyboard matrix opposed to replacing the matrix?

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: Wireless GH60
« Reply #52 on: Tue, 05 March 2013, 12:04:48 »
Would it not be easier to just make an expansion port of sorts? Plug something into the existing keyboard matrix opposed to replacing the matrix?
Yes, it would. We are not going to replace the matrix - we are going to remove all controller components and re-route the matrix to use some common connectors.

However, if I got it right, our goal here is flexibility. If you tie the controller to the keyboard matrix anytime you decide for
an modification on this controller you will have to review the whole PCB (instead of only the controller). You will see the pros and cons of each approach later - I'll post some sketches to help to figure it out.

... i'm going to try to run another set of prototypes of the gh60 board, and it would be just about right, if the gh60 is made more modular at the same time, to prototype any modules we might want..
+1 modular ...
« Last Edit: Tue, 05 March 2013, 16:00:04 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: Wireless GH60
« Reply #53 on: Tue, 05 March 2013, 13:24:27 »
Our options, pros and cons:

1) GH60 current version + usb charger + 5v booster + bluetooth:

* 5v, running @16Mhz
+ easy to build
- requires a minor GH60 PCB review
- some wiring required
- need someway to fix each module inside the case
- not modular at all

2) GH60 current version + usb charger + bluetooth:

* 3.3v, running @8Mhz (the firmware need to be tested at this speed)
+ uses fewer components
+ easier option to build
+ cheaper option to build
- requires a minor GH60 PCB review
- some wiring required
- need someway to fix each module inside the case
- not modular at all

3) Shield for 1 OR 2

+ no wiring required
+ shield fixed by connectors or sockets
+ so so modular
- not so easy to build, requires a new PCB for the shield itself
- requires a minor GH60 PCB review
- thicker (3 stacks)

4) GH60 v2 + usb charger + 5v booster + Teensy 2.0 + bluetooth AND
5) GH60 v2 + usb charger + Teensy 2.0 + bluetooth:


+ easy to build
+ cleaner matrix design
+ modular
- requires a major GH60 PCB review
- some wiring required
- need someway to fix the modules inside the case

6) GH60 v2 + Shield - usb charger + 5v booster + Teensy 2.0 + bluetooth AND
7) GH60 v2 + Shield - usb charger + Teensy 2.0 + bluetooth:


+ cleaner matrix design
+ no wiring required
+ shield fixed by connectors or sockets
+ modular
- requires a major GH60 PCB review
- not so easy to build, requires a new PCB for the shield itself
- thicker (3 stacks)

8 ) GH60 v2 + Complete custom controller PCB.
+ cleaner matrix design
+ cleaner controller design
+ no wiring required
+ controller fixed by connectors or sockets
+ smaller
+ modular
- requires a major GH60 PCB review
- hard to build, requires a new PCB for the controller itself
- slower option (more items to design)
- more expensive option
- more error prone

that's it, let's begin ...
« Last Edit: Tue, 05 March 2013, 16:36:10 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: Wireless GH60
« Reply #54 on: Tue, 05 March 2013, 17:12:56 »
Our options, pros and cons:
...
that's it, let's begin ...

Wow awesome.

You'll have to talk to Komar, but I think any major GH60 revisions are unlikely, I don't know think everyone would want the GH60 set back significantly just to allow a niche feature like this.

If we can test the firmware at 8mHz and it works, the voltage booster ideas can be thrown out, correct?

I think 2 or 3 are our best bet, but I'm not well versed on the subject.
What does everyone else think?

Edit: I'm going to update the first post with information.

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: Wireless GH60
« Reply #55 on: Wed, 06 March 2013, 06:52:04 »
You'll have to talk to Komar, but I think any major GH60 revisions are unlikely, I don't know think everyone would want the GH60 set back significantly just to allow a niche feature like this.
Komar is already doing some review into the PCB for himself I think.

If we can test the firmware at 8mHz and it works, the voltage booster ideas can be thrown out, correct?
Yes, that's correct.

I think 2 or 3 are our best bet, but I'm not well versed on the subject.
2 is more a prototype - assuming some basic electronics knowledge and some wiring I think that anyone with those parts is already able to assembly and play with this option (don't forget the firmware, it needs the hid/bluetooth support code).
3 is cool, but I'm more fond to 6 or 7.
8 is just a dream at this point - we still even decided about the connectors to use, imagine 8?

BTW: it took me 4 hours to draw all these cute little drawings so, please, give your 5 cents!!!
 :D
« Last Edit: Wed, 06 March 2013, 08:39:48 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #56 on: Wed, 06 March 2013, 13:38:43 »
I forgot to list this option, 9:
We could use the Arduino Fio + Bluetooth Xbee module:

Arduino Fio v3 - ATmega32U4 OR Arduino FIO Atmega328P.
This ATMEGA328P version requires an V-USB based firmware.

The Bluetooth XBee compatible module
Take a look at the top of this shield - our little guy BC417!!!

* 3.3v, running @8Mhz (the firmware need to be tested at this speed)
+ready to use
+modular
- price
- requires a minor GH60 PCB review
- some wiring required
- need someway to fix the module inside the case
- thicker (3 stacks)
« Last Edit: Wed, 06 March 2013, 22:46:01 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #57 on: Wed, 06 March 2013, 13:40:39 »
double post ...
sorry
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: Wireless GH60
« Reply #58 on: Wed, 06 March 2013, 14:04:44 »
I'll make a post in Interest Checks and link to here.

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #59 on: Wed, 06 March 2013, 15:05:14 »
How about this connector?

Option A:


ATX 20 Pins power connector, PCB mount

It has 20 pins, more than enough to wire all our rows/columns ...

+ 20 pins
+ cheap
+ easy to find
+ easy to solder
- way thicker
« Last Edit: Wed, 06 March 2013, 15:17:41 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline alaricljs

  • I be WOT'ing all day...
  • ** Moderator Emeritus
  • Posts: 3715
  • Location: NE US
Re: [Updated] Wireless GH60
« Reply #60 on: Wed, 06 March 2013, 15:07:02 »
It's also huge
Filco w/ Imsto thick PBT
Ducky 1087XM PCB+Plate, w/ Matias "Quiet Click" spring-swapped w/ XM Greens

Offline WhiteFireDragon

  • Posts: 2276
    • youtube
Re: [Updated] Wireless GH60
« Reply #61 on: Wed, 06 March 2013, 15:13:46 »
How about this connector?
ATX 20 Pins power connector, PCB mount

lol you kidding me? That's the older ATX PSU connectors. It'll be fine for prototyping, but good luck ever getting that into a case for a final production board.

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #62 on: Wed, 06 March 2013, 15:17:05 »
Option B:


Option C:


Option D:


+ 40 pins and you can break it down
+ cheap
+ easy to find
+ easy to solder
- exposed pins
- easy to bend

Option E:
An VGA connector? 15 pins
 ;)
« Last Edit: Wed, 06 March 2013, 15:43:52 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #63 on: Wed, 06 March 2013, 15:20:54 »
lol you kidding me? That's the older ATX PSU connectors. It'll be fine for prototyping, but good luck ever getting that into a case for a final production board.
You choose, it's only one option - but I do agree, it's way big!

My personal preference is B, I do use it everyplace I can.

Any other option guys? Please?
We need to decide which connector to use in order to review the PCB ...
« Last Edit: Wed, 06 March 2013, 16:55:02 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #64 on: Wed, 06 March 2013, 17:00:31 »
For those whom are willing to start to prototype:

The TX RX pins are 7 and 8 on teensy 2.0 - not 0 and 1 as I said before, sorry, 0 and 1 are used as tx rx on arduino - take a look:
Teensy, Using the UART (Real Serial Port)
We need to remember that this is not the uC pinout - it's the teensy pinout.

The ATMEGA2U4 tx rx pins are 20 and 21, as you can confirm on his datasheet.

>>UPDATED<<
This bluetooth module already came with the logic level converter required to talk to the teensy without ant risky of burning the rx line. This is the very same BC417 module soldered on one "shield" to make our lives easier.
« Last Edit: Wed, 06 March 2013, 22:45:21 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: [Updated] Wireless GH60
« Reply #65 on: Wed, 06 March 2013, 18:09:19 »
I was thinking we could mount however many we need of these, facing sideways, to the GH60 PCB:


We can hard mount the expansion board into the GH60 with 90° pins like these:


Or, put more sockets on the expansion board and use male to male pin wires to connect them, like a bread board, so that if you break a pin you only need to replace a wire. I don't think bending pins will be an issue though.

If we can prototype this on the current GH60 somehow, and there is enough interest, we can have custom boards printed with only the necessary components, this way we can control the form factor and reduce production cost.

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [Updated] Wireless GH60
« Reply #66 on: Wed, 06 March 2013, 22:04:34 »
agodinhost, these bluetooth modules on ebay  doesn't support HID protocol, you have to implement HID yourself with low level API(HCI?). I don't know how difficult that is, though I'm sure that is not a simple job.

Roving and Bluegiga modules support HID for us, this is a reason why they are not cheap as ebay one.
And it may be difficult to obtain those modules from outside of US /Europe such as Japan or Brazil. IIRC, Mouser doesn't ship Bluegiga module to Japan due to radio regulation.

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #67 on: Wed, 06 March 2013, 22:18:21 »
... these bluetooth modules on ebay  doesn't support HID protocol, you have to implement HID yourself with low level API(HCI?). I don't know how difficult that is, though I'm sure that is not a simple job.
Yup, it's not a simple job. That's why I did already mentioned that would be easier to use the hidapi library in the first page. I never used this library myself, I saw some guys using it with teensy and they were happy. BC417 is way popular and cheap and I did already used it with arduino without problems.

Roving and Bluegiga modules support HID for us, ...
I don't know these modules that you mentioned.
I just did one search on ebay for these modules that you suggested and I think they are way too expensive, 54 bucks for an bluetooth module? geee, you are an rich man!!!
 :)

Are these the modules that you mentioned?
Bluegiga WT12 Breakout Board by EWS

RN-42 - Bluetooth Module BOB - Roving Networks

... this is a reason why they are not cheap as ebay one.
I don't know why these modules that you suggested are so expensive but I don't think it's because of the "internal" HID support, sorry. Take a look at this bluetooth keyboard, it does have support for HID and it's cheap (US$ 7.5).

And it may be difficult to obtain those modules from outside of US /Europe such as Japan or Brazil. IIRC, Mouser doesn't ship Bluegiga module to Japan due to radio regulation.
No restrictions here in Brazil for BC417 (nor in Switzerland) and it's kinda easy to get it - most of our electronic stuff is imported from China anyway.
Would be good to check it in US and others.
« Last Edit: Wed, 06 March 2013, 23:25:57 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: [Updated] Wireless GH60
« Reply #68 on: Wed, 06 March 2013, 23:49:34 »
I have this bluetooth module that supports HID I think.
« Last Edit: Wed, 06 March 2013, 23:54:07 by Strelok »

Offline aggiejy

  • ** Moderator Emeritus
  • Posts: 1126
  • Location: ~Austin, Texas
Re: [Updated] Wireless GH60
« Reply #69 on: Thu, 07 March 2013, 00:10:02 »
I have this bluetooth module that supports HID I think.

Was this already mentioned?  https://www.sparkfun.com/products/10823  Or would that not work?

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: [Updated] Wireless GH60
« Reply #70 on: Thu, 07 March 2013, 00:55:37 »
Was this already mentioned?  https://www.sparkfun.com/products/10823  Or would that not work?

This would probably work.

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #71 on: Thu, 07 March 2013, 06:21:45 »
I have this bluetooth module that supports HID I think.
This RN-42 module seems to be the same animal mentioned by hasu.

Was this already mentioned?  https://www.sparkfun.com/products/10823  Or would that not work?
This is the RN-42 module without any accessory. Teensy running at 16Mhz, 5v, will require one logic level converter (as it is for the BC417 module).
Even using this module, most probably, we will still need changes in the firmware code, at least a few tests.
Don't buy it thinking that it will be "plug and play" and that everything will work as a whistle - will be more like "plug and pray".

I'm fond to BC417 because of the reasons aforementioned.
« Last Edit: Thu, 07 March 2013, 07:03:22 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [Updated] Wireless GH60
« Reply #72 on: Thu, 07 March 2013, 07:40:28 »
Bluegiga WT12 and Roving RN-42 also has CSR chip, maybe I guess their hardware is almost same as cheap one. What its firmware on the chip offers is important, not chip itself, I think. I know people likes cheaper option, but it is not necessarily cost effective, in particular for DIY project.

But building up HID stack up on HCI yourself is very interesting and challenging job. After quick search I found this project by LUFA guy Dean. It communicates with bluetooth HID device with AVR and USB bt dongle. It looks like this is closer to what you need than hidapi. http://code.google.com/p/bluetooth-explorerbot/

My another concern is those cheap Serial-Bluetooth adapter may not support HCI interface, though I'm not sure. You can find its datasheet says something about HCI?

I'd like to say that I'm not trying to discourage you to do that challenge :D

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #73 on: Thu, 07 March 2013, 08:28:29 »
What its firmware on the chip offers is important, not chip itself, I think.
Agree. The RN-42 offers too many protocols and functions, that's why - IMHO - it's more expensive than the BC CSR:
- BCSP, DUN, LAN, GAP SDP, RFCOMM, and L2CAP protocols
All of these are at firmware level ...

I know people likes cheaper option, but it is not necessarily cost effective, in particular for DIY project.
It depends if you are building just one or hundreds of boards, mkawa already mentioned that:
... if all you want is to build a one-off, i can definitely see a way to hack up even the beta pcb to support this stuff. it will be ugly, but for a one-off, ugly should be a-ok..
We still haven't decided about the approach to follow but I already know (my magic 8 ball warned me) that we aren't going to be able to attend everybody's wishes (even mine).  I found the "raw" RN-42 module on ebay for about US$ 16,00 - so so 10 bucks more than the BC.

... After quick search I found this project by LUFA guy Dean. It communicates with bluetooth HID device with AVR and USB bt dongle. It looks like this is closer to what you need than hidapi. http://code.google.com/p/bluetooth-explorerbot/
Nice project! I'll have to get some free time to see the details about this explorer ...
I think you are right, I took a peek into the HIDAPI source code and it doesn't seems to be what we need.

>>UPDATED<<
This project uses the Arduino R3 (ATMega16u2+ATMega328) + RN-42 and sends raw HID data emulating one keyboard .
This guy already used arduino + bluetooth (BC417 module) + HID into his project and seems that it worked fine. My idea is to write an port of it to teensy (it wouldn't be so hard it would?)
There is also this another HID/MIDI library, the HIDUINO (source code here) for reference.

My another concern is those cheap Serial-Bluetooth adapter may not support HCI interface, though I'm not sure. You can find its datasheet says something about HCI?
Do we really need this HCI support? HID with support for mode 0000 (keyboard) would not be enough?

I'd like to say that I'm not trying to discourage you to do that challenge :D
You are not (yet  :D ).
Worst case scenario I'll build my own version.  ;)

Anyway I do have at home 4 BC417 and I just found one sparkfun charger/booster. My plan for this weekend (with my wife's permission, sure) is to work on the basic prototype. I'm going to wire all modules together according to the option 1 and then I'll try to write some code as proof of concept - this code will send keypresses to the pc (just that). The first part is okay, no big deal. I'll update this topic with my findings ...

hasu? do you already have the RN-42 module?
« Last Edit: Fri, 08 March 2013, 15:35:41 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #74 on: Thu, 07 March 2013, 13:01:17 »
I was thinking we could mount however many we need of these ...
I think it's okay - seems that all connectors that you pointed are common 2.54mm male headers too, so it will be easy to change then later if required.
+1 2.54mm male whatever header
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #75 on: Sun, 10 March 2013, 10:28:42 »
Hi guys.

Please, any news regarding the firmware running at @8Mhz?

I'm not sure but seems that there are two firmware versions been used on GH60, is that right?
Hasu's tmk_keyboard (LUFA)
Komar's version, it's LUFA based?

There is any other version? Any V-USB variant?
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline komar007

  • Posts: 712
  • Location: Poland
    • komar's blog
Re: [Updated] Wireless GH60
« Reply #76 on: Sun, 10 March 2013, 11:00:31 »
Mine's custom, no LUFA.
It should run on 8 MHz, though I haven't tested it.
GH60 rev. B w/ ali's case|Cherry G80-3000 HFU/05|IBM Model M (51G8572)
Check out the GH60 project! | How to make a keyboard

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [Updated] Wireless GH60
« Reply #77 on: Sun, 10 March 2013, 11:24:11 »
I don't have time to try @8MHz and further work now. But I have a plan to work on my bluetooth HHKB again if I can get time.

Right, GH60 has two versions of firmware at this time.
My firmware includes V-USB, LUFA and PJRC stack support you will be able to swap those USB stacks easily.

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #78 on: Sun, 10 March 2013, 13:15:44 »
It should run on 8 MHz, though I haven't tested it.
Please, could you try it at 8Mhz Komar? This test will guide us to decide if we are going to use or not the 5V booster in the GH60 wireless version.
Aren't you using V-USB too?

My firmware includes V-USB, LUFA and PJRC stack support you will be able to swap those USB stacks easily.
Awesome, I think that this flexibility will make our lives easier.

Komar, please, I do already have the github url to the tmk_keyboard but I don't know if you do already have posted the link to take a look at your version. Could you?
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline komar007

  • Posts: 712
  • Location: Poland
    • komar's blog
Re: [Updated] Wireless GH60
« Reply #79 on: Sun, 10 March 2013, 16:57:08 »
I need to buy a crystal. I don't think I have 8MHz at home. But I don't think it can be a problem. The docs say 8MHz is the "standard" crystal to generate 96MHz by PLL, so I'm actually using a non-standard config now...
GH60 rev. B w/ ali's case|Cherry G80-3000 HFU/05|IBM Model M (51G8572)
Check out the GH60 project! | How to make a keyboard

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #80 on: Sun, 10 March 2013, 21:13:03 »
I need to buy a crystal...
You don't need, you can use the internal oscillator, no crystal is required.
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline tp4tissue

  • * Destiny Supporter
  • Posts: 13560
  • Location: Official Geekhack Public Defender..
  • OmniExpert of: Rice, Top-Ramen, Ergodox, n Females
Re: [Updated] Wireless GH60
« Reply #81 on: Sun, 10 March 2013, 21:25:18 »
:D

And here I thought 'wireless" was blasphemy..

cool stuff...

was polling rate discussed?

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [Updated] Wireless GH60
« Reply #82 on: Sun, 10 March 2013, 22:21:14 »
I confirmed it works at USBKEY with AT90USB1287 at 8MHz crystal. Not fully tested but it seems to be OK.
You need to change only chip(MCU) and freq(F_CPU) setting in makefile.

I didn't try internal RC oscillator. Try it when you make your prototype.

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: [Updated] Wireless GH60
« Reply #83 on: Sun, 10 March 2013, 22:51:18 »
:D

And here I thought 'wireless" was blasphemy..

cool stuff...

was polling rate discussed?

People who whine about wireless connectivity haven't used it since the '90, or think they're Fatal1ty.

Polling rate has not been discussed yet, although I doubt it's nearly as much of an issue with keyboards as it is with mice.

Offline tp4tissue

  • * Destiny Supporter
  • Posts: 13560
  • Location: Official Geekhack Public Defender..
  • OmniExpert of: Rice, Top-Ramen, Ergodox, n Females
Re: [Updated] Wireless GH60
« Reply #84 on: Sun, 10 March 2013, 22:53:46 »
:D

And here I thought 'wireless" was blasphemy..

cool stuff...

was polling rate discussed?

People who whine about wireless connectivity haven't used it since the '90, or think they're Fatal1ty.

Polling rate has not been discussed yet, although I doubt it's nearly as much of an issue with keyboards as it is with mice.

Fatal1ty? where've you been :D

no body wants to be him for halloween anymore..

Anyway.. on the subject of polling...  how much "more" power is used for 1khz vs 125 standard. and would it matter if we had nice batteries

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [Updated] Wireless GH60
« Reply #85 on: Sun, 10 March 2013, 23:04:40 »
>>UPDATED<<
This project uses the Arduino R3 (ATMega16u2+ATMega328) + RN-42 and sends raw HID data emulating one keyboard .
This guy already used arduino + bluetooth (BC417 module) + HID into his project and seems that it worked fine. My idea is to write an port of it to teensy (it wouldn't be so hard it would?)
I believe former one is what exactly we want. This keyboard can communicate with host  with Bluetooth HID profile. While, latter one is not bluetooth keyboard, blackberry and Arduino with  Bluetooth *serial emulation* module receives key strokes from blackberry and sends forward them to PC via USB HID.

I think you must need Bluetooth HID profile to use keyboard with notePC, Android, ipad, or iphone.
(To hook up to Apple products some special treats may be needed, I guess.)


Quote
My another concern is those cheap Serial-Bluetooth adapter may not support HCI interface, though I'm not sure. You can find its datasheet says something about HCI?
Do we really need this HCI support? HID with support for mode 0000 (keyboard) would not be enough?
I think so If you are trying to implement HID profile yourself.
What is that? I don't know 'mode 0000' at all.


Quote
Anyway I do have at home 4 BC417 and I just found one sparkfun charger/booster. My plan for this weekend (with my wife's permission, sure) is to work on the basic prototype. I'm going to wire all modules together according to the option 1 and then I'll try to write some code as proof of concept - this code will send keypresses to the pc (just that). The first part is okay, no big deal. I'll update this topic with my findings ...

hasu? do you already have the RN-42 module?
No. I have WT12 in one of my HHKBs.

Offline komar007

  • Posts: 712
  • Location: Poland
    • komar's blog
Re: [Updated] Wireless GH60
« Reply #86 on: Mon, 11 March 2013, 03:06:37 »
I need to buy a crystal...
You don't need, you can use the internal oscillator, no crystal is required.
You can't do USB full speed with internal RC.
GH60 rev. B w/ ali's case|Cherry G80-3000 HFU/05|IBM Model M (51G8572)
Check out the GH60 project! | How to make a keyboard

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #87 on: Mon, 11 March 2013, 08:57:19 »
I confirmed it works at USBKEY with AT90USB1287 at 8MHz crystal. Not fully tested but it seems to be OK.
Awesome!

You need to change only chip(MCU) and freq(F_CPU) setting in makefile.
Yup, the fuse settings.

I didn't try internal RC oscillator. Try it when you make your prototype.
The internal oscillator runs at 8Mhz too. The main concern here is to be sure that the uC speed will not affect the firmware execution (internal or not). I read somewhere that a USB device requires at least 16Mhz (I don't know if LUFA is affected by this).
I'll give it a try anyway.

I need to buy a crystal...
You don't need, you can use the internal oscillator, no crystal is required.
You can't do USB full speed with internal RC.
Nope, you can't. I was saying to use the internal oscillator (crystal) to execute your code at 8Mhz ...

Polling rate has not been discussed yet, although I doubt it's nearly as much of an issue with keyboards as it is with mice.
We could define the polling rate as one parameter, with a minimum and maximum values to be safe, the rate value is kinda personal. I'm not sure but I think that LUFA does the pooling internally to dispatch the USB events.
« Last Edit: Mon, 11 March 2013, 09:12:56 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline phetto

  • HHKB JP
  • * Elevated Elder
  • Posts: 919
  • Location: Sweden
[Updated] Wireless GH60
« Reply #88 on: Mon, 11 March 2013, 09:11:37 »
What modifications will have to be madeto a case?

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #89 on: Mon, 11 March 2013, 09:15:02 »
What modifications will have to be madeto a case?
We are still prototyping and doing some proof of concepts - dunno.
The main idea is to change nothing but we don't know if it will be possible ...
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline phetto

  • HHKB JP
  • * Elevated Elder
  • Posts: 919
  • Location: Sweden
[Updated] Wireless GH60
« Reply #90 on: Mon, 11 March 2013, 09:36:22 »
If nothing has to be done with the case, Heeeeellooo duck poker!

Offline komar007

  • Posts: 712
  • Location: Poland
    • komar's blog
Re: [Updated] Wireless GH60
« Reply #91 on: Mon, 11 March 2013, 13:49:30 »
You can't do USB full speed with internal RC.
Nope, you can't. I was saying to use the internal oscillator (crystal) to execute your code at 8Mhz ...
Okay, so I think there shouldn't be any problems. I think I have tested some older versions at 2MHz with internal prescaler.


BTW, the expansion header is currently near the controller:
15443-0 (view from the top)
Does this make sense? I can still move it around a bit.


I'll be making the next and (hopefully) last prototype before group buy soon.

« Last Edit: Mon, 11 March 2013, 13:53:39 by komar007 »
GH60 rev. B w/ ali's case|Cherry G80-3000 HFU/05|IBM Model M (51G8572)
Check out the GH60 project! | How to make a keyboard

Offline bpiphany

  • Posts: 1033
  • Location: Stockholm, Sweden
  • bpiph is a special type of crazy. //mkawa
Re: [Updated] Wireless GH60
« Reply #92 on: Tue, 12 March 2013, 03:55:24 »
You don't need, you can use the internal oscillator, no crystal is required.
You can't do USB full speed with internal RC.

I've run pjrc's keyboard code with both the 32u4 and the 32u2 on the internal oscillator with some success. It's not guaranteed to be stable though. The 32u4 can actually be made  to run in low speed mode, and the internal oscillator should be good enough for this. It's in the documentation somewhere. I haven't really read up on that, but you decide the USB speed by pulling either D+ or D- high I think (done internally). I wish they would have included this option for the 32u2 as well since I am more interested in the smaller package =)

Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #93 on: Tue, 12 March 2013, 08:14:48 »
The 32u4 can actually be made  to run in low speed mode, and the internal oscillator should be good enough for this.
We do need the higher speed guaranteed under 3.3v, I think that 8Mhz will be good enough.
Below 8Mhz, most probably, we will face some issues with lost keypresses (assuming it works). I never used any speed lower than what the internal uC oscillator provides.

BTW, the expansion header is currently near the controller:
(Attachment Link) (view from the top)
Does this make sense? I can still move it around a bit.
I'll take a look asap.


Those are the expansion pins is that right Komar?
Give me 1 hour, I'm checking it.
We will need at least the pins 20 and 21 (ATMega32u4 TX and RX), 5v, 3.3v, GND and any unused pin into this header.
« Last Edit: Tue, 12 March 2013, 08:18:17 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline esoomenona

  • Gnillort?
  • Posts: 5323
Re: [Updated] Wireless GH60
« Reply #94 on: Tue, 12 March 2013, 08:29:53 »
Why is that PCB so shocked?

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [Updated] Wireless GH60
« Reply #95 on: Tue, 12 March 2013, 10:04:48 »
BTW, the expansion header is currently near the controller:
(Attachment Link) (view from the top)
Does this make sense? I can still move it around a bit.
I'll take a look asap.

Show Image

Those are the expansion pins is that right Komar?
Give me 1 hour, I'm checking it.
We will need at least the pins 20 and 21 (ATMega32u4 TX and RX), 5v, 3.3v, GND and any unused pin into this header.

No, they are via holes. You can find six expansion pins at middle bottom part of the pic. They are labeled as +,-,0,1,2,3.
In current GH60 design RXD(PD2) and TXD(PD3) are used for key matrix scan, though I don't know about new design.
You can use software serial to communicate with module instead of hardware UART even if those pins are not available.
« Last Edit: Tue, 12 March 2013, 10:09:29 by hasu »

Offline hasu

  • Posts: 3472
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: [Updated] Wireless GH60
« Reply #96 on: Tue, 12 March 2013, 10:07:39 »
oops, sorry for double post.

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: [Updated] Wireless GH60
« Reply #97 on: Tue, 12 March 2013, 11:08:52 »
The 32u4 can actually be made  to run in low speed mode, and the internal oscillator should be good enough for this.
We do need the higher speed guaranteed under 3.3v, I think that 8Mhz will be good enough.
Below 8Mhz, most probably, we will face some issues with lost keypresses (assuming it works). I never used any speed lower than what the internal uC oscillator provides.

BTW, the expansion header is currently near the controller:
(Attachment Link) (view from the top)
Does this make sense? I can still move it around a bit.
I'll take a look asap.

Show Image

Those are the expansion pins is that right Komar?
Give me 1 hour, I'm checking it.
We will need at least the pins 20 and 21 (ATMega32u4 TX and RX), 5v, 3.3v, GND and any unused pin into this header.

No, it's these.


Offline agodinhost

  • Posts: 767
  • Location: Brazil, RJ
  • Soylent green is people ...
    • Dr Ian O Xaman
Re: [Updated] Wireless GH60
« Reply #98 on: Tue, 12 March 2013, 11:29:46 »
No, it's these.

No ...
Ohh, I thought it was the ISP connector.
I didn't checked the datasheet yet ...

In current GH60 design RXD(PD2) and TXD(PD3) are used for key matrix scan, though I don't know about new design.
You can use software serial to communicate with module instead of hardware UART even if those pins are not available.
I'm not sure if the software serial works well with the bluetooth module (RN or CSR).
Anyone?

A few bluetooth references:
http://www.seeedstudio.com/wiki/Bluetooth_Shield
http://www.seeedstudio.com/wiki/Serial_port_bluetooth_module_%28Master/Slave%29
http://www.george-smart.co.uk/wiki/Bluetooth_RS232_Module

I'm still updating my blog with the USB Lipo Charger wiring options and as soon as I finish it I'll start to work on the Bluetooth wiring.

I think it's better to wait a bit until we do make sure that everything works fine just to avoid to stay changing the PCB layout.
Any other idea guys?
8-))
« Last Edit: Tue, 12 March 2013, 11:46:32 by agodinhost »
Building one square I2C keyboard with those 1200 switches (thanks JDCarpe)
GH60 |GH60-Alps |GH60-BT |GHPad/GHPad Alps |GH60-Case |Alps TKL |EL Wire |OS Controller, Round 2 |My Custom Keyboard |WTT/WTB

Offline Strelok

  • Thread Starter
  • Posts: 139
  • Location: United States
Re: [Updated] Wireless GH60
« Reply #99 on: Tue, 12 March 2013, 11:42:24 »
I overlayed  the Picture of the expansion pins onto the revA and highlighted what is likely the best place for a recess in a case. This is a top view.

Do you think about 4"x3" will be enough room?
Edit: I just realized the expansion holes are in the front, but the extra room in the case is in the back. We will have to use wires to connect expansion boards.



This should be thick enough for at least one layer of extra PCB with headers.

« Last Edit: Tue, 12 March 2013, 12:13:41 by Strelok »