geekhack

geekhack Projects => Making Stuff Together! => Topic started by: foodz on Mon, 02 March 2015, 11:09:54

Title: Dream Keyboard Project
Post by: foodz on Mon, 02 March 2015, 11:09:54
foodz's dream keyboard project

Hiya there everyone; I've been a lurker for a long time and I've finally decided I'd love to become a active member of the community.
My day to day job I am a web developer; however, I've been hacking together hardware in my spare time for years and I've finally decided to document my latest.
The hardware goals of this project may seem like a strech but my goal is to try to meet them; go big or go home.

Project Status:Planning
Project Github: Project Github Page (https://github.com/legitosaurus/dreamkeyboard)

Hardware Goals:

Software Goals:

Components:
Main Controller: Teensy++ 2.0 USB Development Board (https://www.pjrc.com/store/teensypp.html)
I/O & Functionality Expansion: Arduino Pro Mini (https://www.sparkfun.com/products/11113)

This may be my dream keyboard; but if you'd like to suggest any other crazy ideas.. I'd love to hear them, discuss them, potentially try to add them in.

More to come soon.
Title: Re: Dream Keyboard Project
Post by: foodz on Mon, 02 March 2015, 11:10:54
reserved for later <3
Title: Re: Dream Keyboard Project
Post by: jacobolus on Mon, 02 March 2015, 14:45:04
Welcome to geekhack. Those hardware goals seem quite achievable to me, though note that for a wireless keyboard you’re going to need to add batteries (and if they’re rechargeable, some infrastructure for charging them). Also, interfacing with existing bluetooth stuff might be a pain. The hardest part is probably figuring out what you want the screen to do.
Title: Re: Dream Keyboard Project
Post by: foodz on Mon, 02 March 2015, 15:23:41
though note that for a wireless keyboard you’re going to need to add batteries (and if they’re rechargeable, some infrastructure for charging them)

Right now I'm working with 2,000 mAh battery circuit and using a MCP73831/2 (http://www.digikey.com/product-detail/en/MCP73831T-2ACI%2FOT/MCP73831T-2ACI%2FOTCT-ND/1979802) for battery management.

The hardest part is probably figuring out what you want the screen to do.

The screen.. I haven't really thought about what I wanted on it other than having the ability to "lock" and "unlock" a hotkey set on the keyboard for repeated tasks (like entering passwords, names, etc).
Maybe battery life read from the MAX17043/4 (https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Prototyping/MAX17043-MAX17044.pdf) fuel gauge.
Title: Re: Dream Keyboard Project
Post by: metalliqaz on Mon, 02 March 2015, 21:07:10
That's ambitious. With all that built-in, I wonder why bother with an AVR? Just go straight to an ARM dev board or a RaspberryPi
Title: Re: Dream Keyboard Project
Post by: foodz on Mon, 02 March 2015, 22:05:18
That's ambitious. With all that built-in, I wonder why bother with an AVR? Just go straight to an ARM dev board or a RaspberryPi

I'd rather keep in the realm of a USB accessory; having another system running in parallel to another system would be unnecessarily complicated from an overhead perspective.
Title: Re: Dream Keyboard Project
Post by: jacobolus on Mon, 02 March 2015, 22:08:19
What do you mean by “overhead”?

I’d also recommend using an ARM chip, e.g. a Teensy 3.1.
Title: Re: Dream Keyboard Project
Post by: foodz on Mon, 02 March 2015, 22:28:41
An ARM device would go largely to waste. The ARM toolchain is powerful and would be a good choice; but is complex to work with sometimes. AVR based development is cheaper and are easier to work with and something I tinker with much more regularly.
Title: Re: Dream Keyboard Project
Post by: metalliqaz on Tue, 03 March 2015, 07:51:08
An ARM device would go largely to waste. The ARM toolchain is powerful and would be a good choice; but is complex to work with sometimes. AVR based development is cheaper and are easier to work with and something I tinker with much more regularly.

Then you must already know what I'm about to say.  My Easy AVR firmware implements a full-featured keyboard (NKRO, layers, macros) plus software PWM for LED backlighting.  That is enough to max out the ATmega32U4.  If you really want a bluetooth stack and an embedded web server, consider upgrading.
Title: Re: Dream Keyboard Project
Post by: foodz on Tue, 03 March 2015, 08:44:41
Then you must already know what I'm about to say.  My Easy AVR firmware implements a full-featured keyboard (NKRO, layers, macros) plus software PWM for LED backlighting.  That is enough to max out the ATmega32U4.  If you really want a bluetooth stack and an embedded web server, consider upgrading.

My thinking was if the two systems were separate; neither should be maxed out. If a AT90USB1286 (Teensy++ 2.0) implements the keyboard and an ATmega32x as an I2C slave implements the BT/Webserver stack. The slave acting as a subsystem that can be used to extend the functionality.

Granted there may be some latency issues with an I2C BT slave.
Title: Re: Dream Keyboard Project
Post by: metalliqaz on Tue, 03 March 2015, 10:25:37
Hopefully only a few milliseconds
Title: Re: Dream Keyboard Project
Post by: Dihedral on Thu, 05 March 2015, 01:43:49
Latency shouldnt matter if the slave is just running a web server, right?
Title: Re: Dream Keyboard Project
Post by: foodz on Mon, 09 March 2015, 11:14:05
Update 3/9/2015
I was able to scrap together a dev platform for checking the functionality/dev certain features. It's a hash job but it'll allow me to test certain aspects of the project pretty quickly.

Currently only have a 6x2 matrix (6 numerical inputs & 3 directions) but this is enough to get some important parts done.
More to come once I can to sit down and dedicate some time to working on the code!

Warning: terrible solder jobs ahead!
(http://i.imgur.com/Dz9WQ1V.jpg) (http://imgur.com/Dz9WQ1V)(http://i.imgur.com/KhIObgA.jpg) (http://imgur.com/KhIObgA)
(http://i.imgur.com/63fn0x5.jpg) (http://imgur.com/63fn0x5)(http://i.imgur.com/Amh0nBY.jpg) (http://imgur.com/Amh0nBY)(http://i.imgur.com/1Ofetsu.jpg) (http://imgur.com/1Ofetsu)
(http://i.imgur.com/zwbqv0J.jpg) (http://imgur.com/zwbqv0J)
(http://i.imgur.com/ZUztGZf.jpg) (http://imgur.com/ZUztGZf)
Title: Re: Dream Keyboard Project
Post by: MrRooks on Mon, 09 March 2015, 11:37:09
I look forward to seeing the progress. I love the mockup. At least you'll have time to practice soldering a little more.  :thumb:
Title: Re: Dream Keyboard Project
Post by: BlueNalgene on Mon, 09 March 2015, 12:12:33
This project is relevant to my interests.  I look forward to reading the progress on this and then unapologetically stealing parts of it for my own projects.  :p
Title: Re: Dream Keyboard Project
Post by: foodz on Mon, 09 March 2015, 12:27:53
This project is relevant to my interests.  I look forward to reading the progress on this and then unapologetically stealing parts of it for my own projects.  :p

If you have any ideas or anything I'll gladly try to incorporate them so that you can steal use them. ;]
Title: Re: Dream Keyboard Project
Post by: BlueNalgene on Mon, 09 March 2015, 12:31:31
This project is relevant to my interests.  I look forward to reading the progress on this and then unapologetically stealing parts of it for my own projects.  :p

If you have any ideas or anything I'll gladly try to incorporate them so that you can steal use them. ;]

The only thing that comes to mind is: "what, no mouse?" Have you considered adding a nub mouse or a trackpad?
Title: Re: Dream Keyboard Project
Post by: foodz on Mon, 09 March 2015, 12:39:49
This project is relevant to my interests.  I look forward to reading the progress on this and then unapologetically stealing parts of it for my own projects.  :p

If you have any ideas or anything I'll gladly try to incorporate them so that you can steal use them. ;]

The only thing that comes to mind is: "what, no mouse?" Have you considered adding a nub mouse or a trackpad?

Actually; No, I haven't. Although, I remember someone mentioning a nub mouse; after a quick google search, I'm unable to find any to buy. Know of any or a specific brand I can call up see if they have any I can order?

EDIT: I just didn't search hard enough -  found some info; on geekhack.org no less! (https://geekhack.org/index.php?topic=10868.0)
EDIT2: And more I'll probably start with this (https://www.sparkfun.com/products/9320)
Title: Re: Dream Keyboard Project
Post by: BlueNalgene on Mon, 09 March 2015, 12:47:04
This project is relevant to my interests.  I look forward to reading the progress on this and then unapologetically stealing parts of it for my own projects.  :p

If you have any ideas or anything I'll gladly try to incorporate them so that you can steal use them. ;]

The only thing that comes to mind is: "what, no mouse?" Have you considered adding a nub mouse or a trackpad?

Actually; No, I haven't. Although, I remember someone mentioning a nub mouse; after a quick google search, I'm unable to find any to buy. Know of any or a specific brand I can call up see if they have any I can order?

EDIT: I just didn't search hard enough -  found some info; on geekhack.org no less! (https://geekhack.org/index.php?topic=10868.0)
EDIT2: And more I'll probably start with this (https://www.sparkfun.com/products/9320)

Sparkfun breakout boards are always a nice starting point.  Have you seen the TEX Trackpoint? There was one on Massdrop a while back (https://www.massdrop.com/buy/tex-trackpoint-module/talk).  I'm not sure where to get them at the moment, but you might find one if you keep your ear to the ground.