Controller, firmware, hardware that transmits info, integrating all this on the PCB, and a receiver on the other end. Definitely won't happen on this first round of GH60.
I was planning on trying to do a wireless conversion with THIS (https://www.sparkfun.com/products/11378)
Is connects as bluetooth HID and accepts serial HID stream from the controller in the keyboard.. so some coding on the keyboard-end, the thing I linked to and a LiPo battery... at least that is my theory... :)
You need radio transparent case, Lipo battery, charger chip, and bluetooth module which supports UART or SPI. You'll be able to connect module to GH60 spare pins. Then rest of work is only software job.
Or I guess you can just take apart this and push its guts into GH60 case if it has enough room.
http://handheldsci.com/kb
that bluetooth board looks like it only has rs-232. i don't think the atmega komar used has native rs-232, only spi and i2s
the sparkfun lipo charger module might be interesting, but i suspect we'll either need to buy them and pull the usb plugs off or clone the board design to properly subsid to our board and on top of that break the 5v signal from the usb on komar's board to route through the socket the lipo board plugs into. overall, non-trivial
right, the board uses an old-school serial interface. for interchip communication the teensy avr supports SPI and i2c _natively_. it can speak any arbitrary interface though with appropriate programming of the gpio pins. the code you linked to does just that. the only issue then is that komar has to break out the gpio pins on the board.that bluetooth board looks like it only has rs-232. i don't think the atmega komar used has native rs-232, only spi and i2s
Native rs-232? It uses normal tx-rx, we will need a logic level converter (https://www.sparkfun.com/products/8745?) (to convert to and from 5 and 3.3v) but I did already saw a few guys using the module without it.
The Leonardo board uses the same atmega32u4 chip used on Teensy 2.0.
This (http://captainunlikely.blogspot.co.uk/2012/05/bambilight-cheap-bluetooth-ambilight.html) project uses this very same module.
right, the board uses an old-school serial interface. for interchip communication the teensy avr supports SPI and i2c _natively_. it can speak any arbitrary interface though with appropriate programming of the gpio pins. the code you linked to does just that. the only issue then is that komar has to break out the gpio pins on the board.that bluetooth board looks like it only has rs-232. i don't think the atmega komar used has native rs-232, only spi and i2s
Native rs-232? It uses normal tx-rx, we will need a logic level converter (https://www.sparkfun.com/products/8745?) (to convert to and from 5 and 3.3v) but I did already saw a few guys using the module without it.
The Leonardo board uses the same atmega32u4 chip used on Teensy 2.0.
This (http://captainunlikely.blogspot.co.uk/2012/05/bambilight-cheap-bluetooth-ambilight.html) project uses this very same module.
anyway, because of the power issue, komar has to build support into the pcb, so if people want this, NOW is the time to suggest a nice modular schematic that will allow the gh60 board to support power and wireless daughterboards. as it is, the wireless might work with appropriate firmware, but the power is probably not going to...
eta: also remember that if major changes are required to the pcb, we should be able to produce or obtain these optional daughterboards in bulk at reasonable prices. 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..
... the only issue then is that komar has to break out the gpio pins on the board.
anyway, because of the power issue, komar has to build support into the pcb, so if people want this, NOW is the time to suggest a nice modular schematic that will allow the gh60 board to support power and wireless daughterboards. as it is, the wireless might work with appropriate firmware, but the power is probably not going to...+1 modular
eta: also remember that if major changes are required to the pcb, we should be able to produce or obtain these optional daughterboards in bulk at reasonable prices. 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..IMHO a modular approach would help to simplify future modifications and improvements.
I want to do this but all the electronics lingo in here is a little above my head. I would totally put in for a GB.
i think the challenge is power.. it's not insurmountable, but you have to route the 5v from the usb to the expansion socket before going to the controller circuit (or anything else...) and then provide an idiot-proof (because i'm an idiot and will inevitably screw this up) way to jumper the power when the expansion socket is not filledDidn't understood this "expansion socket" part.
note that you have to do this all while fitting into the case designs that exist and are being worked on (!!)Yup, I can help at the tests and proof of concept of these modules that I've proposed.
can you design a single board that can handle these things based on those two boards and that routes the external pins to the same form factor as the gh60 hackerpads? 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..
komar needs to redesign the pcb to get this, but there will be four free pinsAwesome, he already did an excellent work!
by "socket" i mean that both boards should be designed to be mated by a commercially available male header and female socket. the gh60 beta board has something that's spaced about right for some molex product somewhere, but it only provides access to SPI. if you read the gh60 threads you'll see that he's planning on expanding this area to include the free gpio pinsYou mean this (http://www.ebay.com/itm/50pc-HDD-Molex-3-Harddisk-Connector-Metal-Contact-Pin-female-Crimp-terminal-/111008611653?pt=LH_DefaultDomain_0&hash=item19d8a0fd45)?
3.3V and 8MHz configuration is clearly better in terms of power consume and It doesn't need 5-3.3V level shifter to interface with Bluetooth module.True, less 3 components for the tx line (the rx line does not requires a level converter - or it's the opposite?) and it will not require the booster too.
Regarding power saving I don't know ATmega32u4 is better choice than other controller like PIC, ARM or etc. But this controller is common and almost only option for DIY keyboard around here.PIC is really good and cheap - but it's kinda jurassic (sorry, it's) and all firmware code that we already have would have to be revised (too much work, IMHO).
Teensy's halfkay bootloader is not open but I think other tool/example sources is open. I'm not a fundamentalist, so to me no problem to use their product :) Shipping cost is a problem to me.I'm on the same page man, the shipping cost to Brazil is crazy!
3.3V and 8MHz configuration is clearly better in terms of power consume and It doesn't need 5-3.3V level shifter to interface with Bluetooth module.True, less 3 components for the tx line (the rx line does not requires a level converter - or it's the opposite?) and it will not require the booster too.
Way simpler.
I'm not sure if 8Mhz it's enough to run the tmk_keyboard firmware ...
I would go to arduino micro - it's quite new (2 months old, tops) and it's kinda hard to find at here yet.
Also I'm not sure and never tried it at 8MHz, but my HHKB runs without problem at 12MHz with ATMga328p(and V-USB) now.ATMga328p DIP is simpler to solder and we won't need the crystal nor the 2 capacitors that it would require if not running at 8Mhz! Less components ...
I think It will and it should work at any proper cycle. If it doesn't work I'll work on that problem.Deal, my C++ is worst than my english and it's way slow (my LUFA and V-USB knowledge is basic).
For a while I'll also stick with 32u4 because I've got spare 20 chips of that from digikey :DRich guy! I do have 6, all atmel free samples. The Digikey or Farnell shipping cost for a resistor to Brazil is something like US$ 50,00!
... brazil otoh i'm not sure about; how is the govt mail service there?Far from good: problems at the customs office, the postman sometimes fell in love by your package, sometimes the salt of the sea just mess up with your stuff and last but not least Murphy law is always there. The ETA for anything from US is 1 month, from China is 3 weeks (don't know why China is faster - just guessing that the guy at the customs office think it's something fake or cheap).
... look at teensy 3.0 and the other lightweight cortex micro platforms that are popping up.I never used this version, 3.0 right? I don't know about it's acceptance, still didn't saw a living soul using this board ...
... the issue with future keyboard designs will not be avr or arm but probably finding auxiliary MCUs for doing high current PWM of lots of analog devices: ie, RGB LED controllers. arm might get us slightly faster communication with these devices, but the cost of the led MCU will probably be much higher than the cost of the usb host micro..The number of free ports is important too, IMHO.
I have an Arduino Micro on hand, but all I've done with it thus far is make it blink.Camon!!! you just turned it on - it cames blinking already!
Please, could you guys post some links or pictures of what you do have in mind?
I'm trying to figure it out but I'm no parts expert (I'm a humble developer - underpaid and living on a jungle!)
... 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 headers 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 these headers (we still didn't decide about which headers to use).
... teensy and xbee (2 of each) ...Our idea is to use bluetooth right?
... 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?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.
... 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 ...
Our options, pros and cons:
...
that's it, let's begin ...
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).
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.You choose, it's only one option - but I do agree, it's way big!
... 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 (http://www.signal11.us/oss/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.
... 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 (http://www.ebay.com/itm/Mini-Wireless-Bluetooth-Keyboard-for-PC-iPhone-iPod-PS3-/170579393204?pt=Other_Tablet_eReader_Accessories&hash=item27b752fab4) 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.
I have this (https://www.sparkfun.com/products/10269) bluetooth module that supports HID I think.
Was this already mentioned? https://www.sparkfun.com/products/10823 Or would that not work?
I have this (https://www.sparkfun.com/products/10269) 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).
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:
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 ...
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 :DYou are not (yet :D ).
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.
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.
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.
I need to buy a crystal...You don't need, you can use the internal oscillator, no crystal is required.
:D
And here I thought 'wireless" was blasphemy..
cool stuff...
was polling rate discussed?
: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.
>>UPDATED<<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.
This (http://shiggyenterprises.wordpress.com/2012/10/25/creating-your-own-keyboard-from-scratch-bluetooth-hid-and-key-layout-translation/) project uses the Arduino R3 (ATMega16u2+ATMega328) + RN-42 and sends raw HID data emulating one keyboard .
This (http://pmb.neongrit.net/blog/?p=1) 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 think so If you are trying to implement HID profile yourself.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?
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 ...No. I have WT12 in one of my HHKBs.
hasu? do you already have the RN-42 module?
You can't do USB full speed with internal RC.I need to buy a crystal...You don't need, you can use the internal oscillator, no crystal is required.
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).
Nope, you can't. I was saying to use the internal oscillator (crystal) to execute your code at 8Mhz ...You can't do USB full speed with internal RC.I need to buy a crystal...You don't need, you can use the internal oscillator, no crystal is required.
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.
What modifications will have to be madeto a case?We are still prototyping and doing some proof of concepts - dunno.
Okay, so I think there shouldn't be any problems. I think I have tested some older versions at 2MHz with internal prescaler.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 ...
You don't need, you can use the internal oscillator, no crystal is required.You can't do USB full speed with internal RC.
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.
BTW, the expansion header is currently near the controller:I'll take a look asap.
(Attachment Link) (view from the top)
Does this make sense? I can still move it around a bit.
BTW, the expansion header is currently near the controller:I'll take a look asap.
(Attachment Link) (view from the top)
Does this make sense? I can still move it around a bit.Show Image(http://dl.dropbox.com/u/94589680/20130312-Komar-firstReview.png)
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.
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:I'll take a look asap.
(Attachment Link) (view from the top)
Does this make sense? I can still move it around a bit.Show Image(http://dl.dropbox.com/u/94589680/20130312-Komar-firstReview.png)
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.
No ...Ohh, I thought it was the ISP connector.
In current GH60 design RXD(PD2) and TXD(PD3) are used for key matrix scan, though I don't know about new design.I'm not sure if the software serial works well with the bluetooth module (RN or CSR).
You can use software serial to communicate with module instead of hardware UART even if those pins are not available.
I don't know about the exact case height but I think it will be harder to use these connectors in this position. We will have to use 2.54mm angle pins or only wire.
At the usb side the case is higher, there is more room for these pins and for our modules.Show Image(http://dl.dropbox.com/u/94589680/20130312%20gh60%2B%2B%20module%20disposition.png)
Here is another great product: a Bluetooth keyboard adapter that turns a USB/PS2 keyboard into a Bluetooth keyboard. Just got mine. Works like a charm on my Model-M and iPad.
http://handheldsci.com/kb
This was just posted in the DIY resources thread:Here is another great product: a Bluetooth keyboard adapter that turns a USB/PS2 keyboard into a Bluetooth keyboard. Just got mine. Works like a charm on my Model-M and iPad.
http://handheldsci.com/kb
This was just posted in the DIY resources thread:Yup, there is a bunch of adapters of this kind out there.
LOL. I don't want to remind of my money and time spent for these things.
As for software serial I used it with WT12 at 38.4kbps with ATMega328P@12MHz.
BTW, Poker stock case profile. These values are not exact, just FYI.
To avoid switching from BT to USB can't we just take power to charge the battery from the USB and keep using the BT for rx when the keyboard is wired?The USB will power the charger, the lipo will be connected into the charger, the "main board" will be connected into the charger output.
well if the kb works undervolted it should be a lot easierWhat do you mean? I didn't get that ...
I mean if we can run the cpu at 3.3v@8mhzOic, true, it's our desire until so far.
don't know if you are aware of the the arduino micro
It has the ATMega328P and it can also output 3v. might be useful at least for prototyping.
... If I recall agodinhost doesn't have access to one because they're fairly new and not found locally near him yet.Yup, the closest seller is on ebay, somewhere out there.
can proxy if needed. anyway I believe mouser has them.Mouser, Farnell, Digikey - all of then are way expensive to me because of the shipping price (no lesser than 40 bucks!).
It has the ATMega328P and it can also output 3v ...Actually the Arduino Micro uses the ATMega32u4, the same uC used on Teensy 2.0. :D
the Arduino Store ships internationally at €10 I believe, check it out. Not that bad if you get at least 2 boards. Anyway if you need help catching them, just let me know.I'll, thanks man.
Sorry, just pushed.Sure, and thanks Komar! :D
Please bear in mind this is not final and will change.
compatibility with the easily available poker/pure caseI really don't like this position - center, IMHO, is better to position the keyboard anywhere is your computer ...
I'm having this CNC milled for a 65% design ...Gosh, I hate you!!!
I'm having this CNC milled for a 65% design
(Attachment Link)
1 unit should be around €50. Hope to have it in my hands by the end of the month
So, yesterday I was talking with Matt3o when the postman popped in at here bringing my loved bluetooth parts ...
You know, going back to the prototype.
I'll have some news, soon ...
well, actually I'm married :)Hi
anyway the problem is not the design but finding a place to have it CNC'd (at a decent price)
As soon as I get prototypes I'll post some pictures, if you are willing to modify the PCB to meet this case design there's no problem for me to share the CAD sources.
Note that my kb design is 65% but it fits a 15x5 layout (so it should fit the GH60)
Q: How do I upgrade the firmware?Meanwhile, you can upgrade WT12 yourself with Bluegiga tool. New iWRAP5 firmware is available from their support site. You need to register with decent email address to enter the site, they didn't accept free mail service address like gmail unfortunately. annoying :(
A: There is currently no way to upgrade Bluetooth firmware in the field. Please contact your local sales office.
I have very very little electronics skill but I was able to connect a bluegiga (on HID by default) to an arduino and have it pair as a keyboard. Now from here to design the PCB there's an abyss...I think it would require one level converter and one LDO (exact the same things required by the CSR module).
static void sendKeyState(){
if(stateChanged){
calcKeyCodes();
byte hidReport[REPORT_LENGTH] = {0xFD,0x09,0x01,modifiers[0],0x00,0x00,0x00,0x00,0x00,0x00,0x00};
for(int i = 0; i < keyCodeIndex; i++){
hidReport[5 + i] = keyCodes[i];
}
for(int i = 0; i < REPORT_LENGTH; i++){
Serial.write(hidReport[i]);
}
Serial.flush();
}
}
just to be clear. I'm using this ...Ops, sorry - BlueGiga, we would need a similar "shield" to your module too.
I've found this http://www.seeedstudio.com/wiki/Lipo_Rider_Pro to handle the power management thing. If I get it right it automatically switches from USB power to battery power (and even solar panels). The USB is pass through so you can also use it to program a teensy or an arduino.Should not be better to keep it small and cheap? I've already proposed one charger into my blog (http://drianoxaman.blogspot.com/2013/03/arduino-usb-lipo-charger-5v-booster.html), what's the point in this one Matth3o? Pros and cons?
It's a huge device but maybe something to start from. I ordered one that should arrive this week, it's relatively inexpensive.
yours is definitely better, not trying to pollute your post just giving alternatives. (ps: mine is cheaper)Sorry, not even cheaper!
yours is definitely better, not trying to pollute your post just giving alternatives. (ps: mine is cheaper)Sorry, not even cheaper!
:D
I bought 10 charges on ebay (http://www.ebay.com/itm/130797819392?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649) by US$15,00 with shipping, the one that you did linked is US$9,50 without shipping (and only one piece).
how do you passthrough data to the USB (to program the arduino/teensy)?When on 5v only two simple wires.
how do you passthrough data to the USB (to program the arduino/teensy)?When on 5v only two simple wires.
I haven't found the schematics for the GH60 but It wound be good to have the UART, I2C on the expansion port.Yup, it would be good for expansions ...
Guys, here's how rev B currently looks. This is very close to production version. The view is on the bottom layer, but from the top (so it's mirrored).
(Attachment Link)
Could you check if the expansion port's position makes sense and if your wireless module will easily fit the case in this position?
After reading through the thread I didn't see anyone give pause to the fact of having the transmitter inside a metal case with the only semi clear transmit out the switch placements...Good point man, and it's true!
would this be useful/usable?It uses ATmega32u4 and it's pretty cool and small.
they say it doesn't have HID at the moment but they might add it in the final version.Ahhhhhhhhhhhhhhhhhh
Hello Woody! Right now the BLEduino uses a custom profile, but we're still working on supporting more types of profiles, like HID. Let us know if you have any other questions. Thank you!
Still prefer the usb host way, which doesn't need to open the keyboard case, no damage to the keyboard :DOne Arm uC seems way too much for this kinda of application. IMHO it's one sledgehammer to kill one ant, you know. Why not keep up with what the GHs are already using? atmega8u4 is one awesome uC (for it`s price range and for a keyboard it seems to be more than enough).
Trying to build an usb host bluetooth adapter using the USB3300 USB HS Board to act as both host and slave. With this usb physical board plus mcu and bluetooth, it should work.
Now I don't know which mcu to use, cortex-m0 m3 m4 or any other mcu. I am a software dev, totally blind in hardware... Any expert in this field?
Still prefer the usb host way, which doesn't need to open the keyboard case, no damage to the keyboard :DOne Arm uC seems way too much for this kinda of application. IMHO it's one sledgehammer to kill one ant, you know. Why not keep up with what the GHs are already using? atmega8u4 is one awesome uC (for it`s price range and for a keyboard it seems to be more than enough).
Trying to build an usb host bluetooth adapter using the USB3300 USB HS Board to act as both host and slave. With this usb physical board plus mcu and bluetooth, it should work.
Now I don't know which mcu to use, cortex-m0 m3 m4 or any other mcu. I am a software dev, totally blind in hardware... Any expert in this field?
Have you already saw LUFA, V-USB and Oleg's USB Library? (oleg is the guy behind the Google ADK, the Androidk Development Kit is based on his awesome work).Still prefer the usb host way, which doesn't need to open the keyboard case, no damage to the keyboard :DOne Arm uC seems way too much for this kinda of application. IMHO it's one sledgehammer to kill one ant, you know. Why not keep up with what the GHs are already using? atmega8u4 is one awesome uC (for it`s price range and for a keyboard it seems to be more than enough).
Trying to build an usb host bluetooth adapter using the USB3300 USB HS Board to act as both host and slave. With this usb physical board plus mcu and bluetooth, it should work.
Now I don't know which mcu to use, cortex-m0 m3 m4 or any other mcu. I am a software dev, totally blind in hardware... Any expert in this field?
The problem is that it needs the USB link layer, I am not sure it is related to the SoC usb controller inside cortex-m or it can be written in code, need more study :D
just ordered the cortex-m3 with bluetooth and usb otg module, I will do some hands-on while learning the usb otg host and slave mode switch.Hmm, as far as I understood it is more related to the way you did connected your power source. I wrote something regarding this switching mode into my blog (http://drianoxaman.blogspot.com.br/2013/03/arduino-usb-lipo-charger-5v-booster.html). No big deal. The hardest part for me is enveloping the USB info through HID ...
What I want is that while connecting to pc, the keyboard works in slave mode, while disconnected, it works with bluetooth. Or the mcu could receive some special combination key code like alt+f8, to switch from bluetooth to usb slave mode, vice versa.
Have this been dropped, or is it on some kind of pause or what?
Have this been dropped, or is it on some kind of pause or what?
Any news? Haven't the prototypes been shipped a long time ago?
The GH60 has the ability for a complete LED set so we would need to keep that in mind and the power requirements for the battery pack. Or a way to separate that so that the full set of lights would not be available for wireless operation.
The GH60 has the ability for a complete LED set so we would need to keep that in mind and the power requirements for the battery pack. Or a way to separate that so that the full set of lights would not be available for wireless operation.
You would have to simply not install LEDS.
The GH60 has the ability for a complete LED set so we would need to keep that in mind and the power requirements for the battery pack. Or a way to separate that so that the full set of lights would not be available for wireless operation.
The GH60 has the ability for a complete LED set so we would need to keep that in mind and the power requirements for the battery pack. Or a way to separate that so that the full set of lights would not be available for wireless operation.
I thought the GH60 wasn't getting LED support at all?
The GH60 has the ability for a complete LED set so we would need to keep that in mind and the power requirements for the battery pack. Or a way to separate that so that the full set of lights would not be available for wireless operation.
I thought the GH60 wasn't getting LED support at all?
I haven't checked up on it in a while, but If I recall correctly the holes and pads for LEDs are there, they just don't trace to anything, so you would have to wire them yourself.
Me too however I think that komar007 changed his mind in the REdesign process ...The GH60 has the ability for a complete LED set so we would need to keep that in mind and the power requirements for the battery pack. Or a way to separate that so that the full set of lights would not be available for wireless operation.
I thought the GH60 wasn't getting LED support at all?
Me too however I think that komar007 changed his mind in the REdesign process ...The GH60 has the ability for a complete LED set so we would need to keep that in mind and the power requirements for the battery pack. Or a way to separate that so that the full set of lights would not be available for wireless operation.
I thought the GH60 wasn't getting LED support at all?
Hey guys...Really interesting!
https://www.adafruit.com/products/1535/
Interesting. KC is offering firmware and update tool. The module receives raw HID frame and seems to meet our requirement but document is a tad scarce.Yup, for small quantities the RN-42 seems to be the cheapest option until so far.
As for pricing RN-42 is fairly cheap, I think.
Roving is a subsidiary of Microchip now and we can get it for $15.27 or less from their DIRECT shop.
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en558330
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=RN42
I found this:Awesome work.
http://imgur.com/a/rfWYr
I found this:
http://imgur.com/a/rfWYr
The price of nRF8001 is rather sensible, it's hard to obtain, like most nordic chips, but I think it might be a good choice. The question is, how many extra components it needs to work. I haven't checked the specs yet.I'm assuming it does recognizes AT commands (like most normal modems in the market).
How's the status on this?
Just stumbled across this. Recently returned a Minila Air. Very excited to see this come to fruition.The GH60 is almost out there - then we will be back to business ...
I just read the hole thread and I like it.It's true, I haven't thought about that.
The only thing I'm missing, is an On/Off switch to turn it completely off when you take it with you.
Perhaps it is possible to add some holes on the extension PCB so you can connect a switch if you
want to.
I haven't thought about a specific switch yet. Just thought you could add some solder pads. Then you could solder some wires and add a switch that can be screwed to a hole in the case or something like that.That works too.
Did you think about how to switch the power supply to the controller.I'm not totally sure but I think the booster/charger that we choosed already does it.
When the USB is connected i think it is better to disconnect the power from the Lipo to the controller.
Otherwise you could have power running into your USB port destroying it.
So you would need some kind of automatic source select.
You also have to pay attention to not connect the power out from the Lipo to the loading input.5v. With 3,3v we would have to downclock the atmega32u4. My idea is to use one 5v charger/booster connected into the 3,7 lipo (link above).
Is there a decision to use 5V or 3V3 yet?
Can you post the link of the japanese datasheet? I can read Japanese and I have RN-42 modules. what do you want in fact?
... There is a lot of garbage in my search, I just googled "BCM20730 datasheet" and it came back with a lot of chinese links ...
There is a lot of guys looking for this datasheet by what I saw into those links above.
Any help will be welcome!
;D
Programmable keyscan matrix interface, up to 8 × 20 key-scanning matrix
Hi, I'm new here and interested in making an open soure low cost bluetooth keyboard myself. I found some DIYers have already made a bluetooth GH60 board and they are selling it, it comes with the bluetooth module, battery and the keyboard controller .Here's the link to the video, http://v.youku.com/v_show/id_XMTI1MzUxNjUyOA==.html?from=s7.8-1.2&x (http://v.youku.com/v_show/id_XMTI1MzUxNjUyOA==.html?from=s7.8-1.2&x) if the link doesn't work, I will try to port it to YouTube. The board looks pretty cool but it's a closed project and it's not cheap (about 60 bucks). Based on the picture of their bluetooth module, I guess they are using the CSR1011 module like this one http://www.trlinktek.com/pro.asp?pid=19 (http://www.trlinktek.com/pro.asp?pid=19). And I also found some sources of the CSR10XX keyboard examples http://www.pudn.com/downloads550/sourcecode/comm/detail2270551.html (http://www.pudn.com/downloads550/sourcecode/comm/detail2270551.html) ,so I assume this can be done by compiling the source and flash it into the bluetooth module, which will required a development kit. Thought the module is cheap(6 bucks) the CSR development kit is very expensive(about 50 to 150 bucks), so I go on to find some other models. The NRF51822 seems to be a good choice as the development kit only cost 15 bucks and the module is still cheap, also, there're keyboard examples of the module https://github.com/finnurtorfa/nrf51/tree/master/lib/nrf51sdk/Nordic/nrf51822/Board/nrf6310/ble/ble_app_hids_keyboard (https://github.com/finnurtorfa/nrf51/tree/master/lib/nrf51sdk/Nordic/nrf51822/Board/nrf6310/ble/ble_app_hids_keyboard). I will have a try on it in July, did you guys have any experience working on this module? Or probably the module can be simply flash by spi downloader, no need to use the development kit?Nordic and csr no, but I've got a working CC2541 firmware for keyboard and mouse hid bridge. It's somewhere on the forums. One issue to fix is reduce the current consumption and add LED report support. What I have is pretty barebone.
http://pan.baidu.com/s/1dDcncGx (http://pan.baidu.com/s/1dDcncGx)I couldn't find bluetool, care to elaborate?
I have no idea how to use RDVS to code for the 20730 tbh, like selecting target type, programming and debugging etc. No idea how to get started either. I'm sort of already given up on trying to use this module. I got a BusPirate but I also don't know how SPI could be used for this chip. Connecting BP to the module does nothing.Ah I see, well I'm most probably gonna try dumping the firmware first and see what I can do. I'm not an expert as well so the chances of getting the give up boat are high.
What I have been doing though, is improving my CC2541 hid bridge firmware so that it would use lower power and integrate LED reports into the sucker.
For the nRF51882 I think you would need a J-Link for programming. IIRC, the chip exposes its JTAG lines.
Or you could just use RN-42HID. It is proven to work and quite mature. While individual module costs are rather expensive, it shares the same core as HC-05 serial Bluetooth modules so for educational purposes... You got the drift, as long as it stays educational though.Nah, I had had problems with devices running below version 3 before, it's quite problematic with the later version so if I were to invest some time, I prefer v3 and up
Found this on taobao https://item.taobao.com/item.htm?spm=a230r.1.14.241.B75Mcq&id=520030658772&ns=1&abbucket=16#detailLooks promising but a review would be better to know whether it has issues or not.
Should someone have the patience required for porting v-usb for this chip, you could then write your own bootloader to show the device as a usb flash drive and make firmware updates through that channel :))Could V-USB work without some special hardware support? If so, it would be really nice :D. Single chip solution for a wire/wireless dule mode keyboard!!! But a JTAG programmer will still be needed as most of the module doesn't come with a spacial firmware/bootloader so you will have to use the programmer to flash that.
Should someone have the patience required for porting v-usb for this chip, you could then write your own bootloader to show the device as a usb flash drive and make firmware updates through that channel :))Could V-USB work without some special hardware support? If so, it would be really nice :D. Single chip solution for a wire/wireless dule mode keyboard!!! But a JTAG programmer will still be needed as most of the module doesn't come with a spacial firmware/bootloader so you will have to use the programmer to flash that.
Maybe this (https://github.com/lemcu/LemcUSB) project could help, awesome!Should someone have the patience required for porting v-usb for this chip, you could then write your own bootloader to show the device as a usb flash drive and make firmware updates through that channel :))Could V-USB work without some special hardware support? If so, it would be really nice :D. Single chip solution for a wire/wireless dule mode keyboard!!! But a JTAG programmer will still be needed as most of the module doesn't come with a spacial firmware/bootloader so you will have to use the programmer to flash that.
V-USB does not require any USB specific HW, I believe that only one interrupt line and a second gpio line without the interrupt requirement is all it needs. It does however contain some ARV specific assembler code that would have to be ported to ARM assembly.
Will add that to the TODO List and I plan to do some work this summer ;-)
Check this (https://www.nordicsemi.com/eng/content/download/41032/693157/version/1/file/Product+brief+3rd+party+Modules+v1.0.pdf)out, there are some modules that can meet your demand ;-)Will add that to the TODO List and I plan to do some work this summer ;-)Not really related, but how do you think is it possible to place the entire bluetooth controller into a cherry mx keychain like this one:Show Image(http://i.imgur.com/JTlCHe1.jpg)
Possibly with a BGA rf51 like this one:Show Image(http://i.imgur.com/vAlws5I.jpg)
and a clock battery (the space under the switch is about 14x14x4 mm).
My dream is to get the firmware source code to update the CSR HC-06 module into one HID enabled module (I bet it was what the Bluefruit EZ-Key guys did)
cd openocd-0.10.0-dev-00247-g73b676c\bin-x64
openocd -f interface/stlink-v2.cfg -f target/nrf51.cfg
telnet 127.0.0.1 4444
nrf51 mass_erase
program C:/Temp/s110_nrf51822_8.0.0_softdevice.hex
program C:/Temp/nrf51422_xxac_s110.hex
reset
openocd -f interface/stlink-v2.cfg -f target/nrf51.cfg
Open On-Chip Debugger 0.10.0-dev-00247-g73b676c (2016-03-12-15:05)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SW
adapter speed: 1000 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v21 API v2 SWIM v4 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.258278
Info : nrf51.cpu: hardware has 4 breakpoints, 2 watchpoints
telnet 127.0.0.1 4444
> Open On-Chip Debugger
> nrf51 mass_erase
> program C:/Temp/s110_nrf51822_8.0.0_softdevice.hex
nrf51.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0xfffffffe msp: 0xfffffffc
** Programming Started **
auto erase enabled
Padding image section 0 with 2112 bytes
using fast async flash loader. This is currently supported
only with ST-Link and CMSIS-DAP. If you have issues, add
"set WORKAREASIZE 0" before sourcing nrf51.cfg to disable it
nrf51.cpu: target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000001e msp: 0xfffffffc
wrote 93184 bytes from file C:/Temp/s110_nrf51822_8.0.0_softdevice.hex in 3.923701s (23.192 KiB/s)
** Programming Finished **
> program C:/Temp/nrf51422_xxac_s110.hex
nrf51.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0x000006d0 msp: 0x000007c0
** Programming Started **
auto erase enabled
using fast async flash loader. This is currently supported
only with ST-Link and CMSIS-DAP. If you have issues, add
"set WORKAREASIZE 0" before sourcing nrf51.cfg to disable it
nrf51.cpu: target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000001e msp: 0x000007c0
wrote 20480 bytes from file C:/Temp/nrf51422_xxac_s110.hex in 0.900467s (22.211 KiB/s)
** Programming Finished **
> reset
Check this (https://www.nordicsemi.com/eng/content/download/41032/693157/version/1/file/Product+brief+3rd+party+Modules+v1.0.pdf)out, there are some modules that can meet your demand ;-)Will add that to the TODO List and I plan to do some work this summer ;-)Not really related, but how do you think is it possible to place the entire bluetooth controller into a cherry mx keychain like this one:Show Image(http://i.imgur.com/JTlCHe1.jpg)
Possibly with a BGA rf51 like this one:Show Image(http://i.imgur.com/vAlws5I.jpg)
and a clock battery (the space under the switch is about 14x14x4 mm).
Well, duh! I guess. Should be pretty possible. The mod is described here: https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q/the_planck_keyboard_with_bluetooth_guide_and/
Connected as here:Show Image(http://i.imgur.com/cwDUxkM.png)
The firmware is standard QMK with BLUETOOTH_ENABLE.
Pretty costly though, about $40 combined and not very power efficient, considering that EZ key thing is Bluetooth 2.1.
Pretty costly though, about $40 combined and not very power efficient, considering that EZ key thing is Bluetooth 2.1.While BT4 is more power efficient, it is entirely possible to build a BT2.1 keyboard that has a battery life close to a year using that 2000 mAh lipo pack (the limiting factor being the self discharge rate of the battery pack, which is about 10% per month). The problems is that neither qmk nor the EZ key are designed to be very power efficient. I mean QMK on GH60 uses probably more than 10 mA of current while basic matrix reading is possible to do with just about 100 uA. Even the EZ key utilizes some form of busy wait and has power consumption figures that are way out of scope (about 25mA) for a proper bluetooth keyboard firmware implementation. Even the DCDC powersupply on EZ key uses more current than is necessary for a properly implemented bluetooth keyboard as a whole.
Pretty costly though, about $40 combined and not very power efficient, considering that EZ key thing is Bluetooth 2.1.While BT4 is more power efficient, it is entirely possible to build a BT2.1 keyboard that has a battery life close to a year using that 2000 mAh lipo pack (the limiting factor being the self discharge rate of the battery pack, which is about 10% per month). The problems is that neither qmk nor the EZ key are designed to be very power efficient. I mean QMK on GH60 uses probably more than 10 mA of current while basic matrix reading is possible to do with just about 100 uA. Even the EZ key utilizes some form of busy wait and has power consumption figures that are way out of scope (about 25mA) for a proper bluetooth keyboard firmware implementation. Even the DCDC powersupply on EZ key uses more current than is necessary for a properly implemented bluetooth keyboard as a whole.
The solution is to use single chip bluetooth solutions that can also scan the matrix, which allows for a simpler power optimization problem. The only thing missing currently is that there is no TMK/QMK/kiibohd ported for any such chip.
*TRIGGERED* is it available somewhere except taobao? Can't get through all that chinese.
Upd: ordered it too (taobao supports Overseas addresses now). Costs about $15 (99 CNY+shipping).
Full link: https://world.taobao.com/item/542300386181.htm?spm=a312a.7700714.0.0.UcGK1p
Pictures, just in case:Show Image(http://i.imgur.com/FWcMvQd.jpg)Show Image(http://i.imgur.com/9cDA0Dr.jpg)Show Image(http://i.imgur.com/KEfoila.jpg)
Really have no idea what it's made from, looks like TQFP-64 PIC32 with maybe cc2541 on the rear side.
It looks like there's already a bluetooth gh60: BLE60 that ran in China last year.
Unfortunately I'm not able to actually find that much info on it...Show Image(http://i.imgur.com/PimEN10.jpg)