Phantom Custom Keyboard Group Buy (CLOSED)

bpiphany

10 Jul 2012, 01:52

I think you may be "crossing the river to fetch water" on this one. With the Teensy mounted flat against the keyboard PCB and using a USB cable with modified connector, you are already going to be very flat. The Teensy is also located on the top part of the PCB and you probably want some height there anyhow.

User avatar
gimpster

11 Jul 2012, 06:50

PrinsValium wrote:With the Teensy mounted flat against the keyboard PCB and using a USB cable with modified connector, you are already going to be very flat.
Can you elaborate on what you mean by a modified connector?

One other question (not necessarily directed at you, PrinsValium), for people who wish to change the color of their mounting plate, are there any options that won't add so much thickness that would cause the stabilizer mounts to not fit properly? Because with the anodized finish on them right now, the Costar mounts fit perfectly. I'd be afraid that something easy like spray paint or powder coat would make it too thick but re-anodizing would be a pain and limit color options.

bpiphany

11 Jul 2012, 09:16

gimpster wrote:Can you elaborate on what you mean by a modified connector?
Nothing fancier than removing all that bulky plastics. The metal connector itself is usually no thicker than the cable.

Two layers of spray paint is probably measured in a few 1/1000" if even that. I can't say for sure, but I don't think that will mess it up. Powder coating is another business completely.

User avatar
gimpster

12 Jul 2012, 16:16

That's what I figured it meant, sounds easy enough. I'm going to be shopping for LEDs this weekend, and I just want to confirm the specs required: the wiki says that they need to be 3mm 5v models and if they are less than 5v then you will need a resistor (like the white LEDs that come with the kits). 2 questions:

1) what's the formula for determining which resistor you need if they are not 5v?
2) some of the 5v LEDs I've come across are listed as "super bright"; should I plan on putting a resistor in for these as well or will the Teensy be able to dim them sufficiently without it?

bpiphany

12 Jul 2012, 17:10

The relation between current and voltage drop across an LED is not linear. But I think you are usually operating within a range where it can be pretty closely modelled as a straight line. If you decide on a current, say 20mA, and the voltage drop across the LED is 3.3V, you want the voltage drop across the resistor to be 1.7V. That gives R=V/I=1.7V/20mA=85Ω. So say 100Ω to be on the safe side.

The LEDs are connected to pins with PWM control. The PWM is set to use an 8-bit timer. This allows to set the duty cycle to anything between 0% and 100% within 1/255 steps. This gives a lowest setting of 4‰. That timer is in reality 16-bit which would allow for steps of 1/65536 so the lowest setting would be 0.015‰. PWM is your friend.

Also load line reading for the interested.

User avatar
gimpster

12 Jul 2012, 17:56

Good info, thanks! :)

theta

13 Jul 2012, 04:12

I had asked over at GH right before it came down, but...

About how much longer are we looking at if we just ordered switches (in the US)?
Last edited by theta on 13 Jul 2012, 07:19, edited 1 time in total.

User avatar
gimpster

13 Jul 2012, 07:14

Is there an updated firmware that needs to be checked into the Git repository (https://github.com/BathroomEpiphanies/Phantom-Keyboard)? The one I pulled down tonight has a rather peculiar quirk. When I short the holes for a switch, it will register that switch the first time, but as it repeats itself, it switches to the key in the column to the right. For example, if I short out the pins for the letter "J", then the first key press will be registered as a "J" but then it will immediately switch to repeating "K".

If there's no update ready right now, then I'll start tinkering with the firmware to try and fix the issues. Are there any processes we should be following for check-ins other than "test before check-in"? :)
It's Alive!.png
It's Alive!.png (97.84 KiB) Viewed 4596 times

User avatar
litster

13 Jul 2012, 07:48

Gimpster, try one of these hex files in the zip file. One for PHANSI (1.5x mods) and PHANSIWIN (1.25x mods).
Phantom Firmware-ANSI.zip
(5.65 KiB) Downloaded 107 times

User avatar
litster

13 Jul 2012, 07:49

theta wrote:I had asked over at GH right before it came down, but...

About how much longer are we looking at if we just ordered switches (in the US)?
Still waiting for BiNiaRiS to get back to us on where he is at with sorting and packing.

User avatar
damorgue

13 Jul 2012, 08:17

Would this work if one would like to use rgb-leds to be able to change colors easily without desolering?
plus and minus would be the connections where one normally connects the led directly.
edit: Brightness potentiometer 'A' wasn't necessary since we have pwm control.
edit2: Well, it might be good to have if you have to program it each time you want to change the brightness otherwise.
Spoiler:
Image

User avatar
7bit

13 Jul 2012, 08:30

theta wrote:I had asked over at GH right before it came down, but...

About how much longer are we looking at if we just ordered switches (in the US)?
Your switch order went to Biniaris, so you must wait ....

:cry:

User avatar
agor

13 Jul 2012, 09:50

Really digging the moment when Bini sends the plates to you, 7bit. Can't be coming too fast for me

bpiphany

13 Jul 2012, 11:50

damorgue wrote:Would this work if one would like to use rgb-leds to be able to change colors easily without desolering
With very small potentiometers... =) That might not be the best way to colour control an LED, but it should work to a good extent.

bpiphany

13 Jul 2012, 11:55

gimpster wrote:Is there an updated firmware that needs to be checked into the Git repository
That sounds funny.. It seemed to work for me on my breadboard setup, and on other Teensy keyboards (using other pin arrangements and stuff). I may not have tested enough after the latest changes. I tried some optimizations to speed up the frequency of matrix scans... I will look into it right away =)

Edit: I don't seem to be able to reproduce that error.. Are you running OSX? I can only answer for Ubuntu at the moment since that is all I have access to at home. And now there is a thunder storm coming. That usually doesn't cause "hardware malfunctioning" here, but you never know...

User avatar
gimpster

13 Jul 2012, 16:16

litster wrote:Gimpster, try one of these hex files in the zip file. One for PHANSI (1.5x mods) and PHANSIWIN (1.25x mods).
Phantom Firmware-ANSI.zip
Well, some things work better, but I'm still seeing the same weird bug in some scenarios. Do you by chance have the source for those two files? It would be helpful to see the diff between that and what I've got in my Git fork.

User avatar
gimpster

13 Jul 2012, 16:22

bpiphany wrote:
gimpster wrote:Is there an updated firmware that needs to be checked into the Git repository
That sounds funny.. It seemed to work for me on my breadboard setup, and on other Teensy keyboards (using other pin arrangements and stuff). I may not have tested enough after the latest changes. I tried some optimizations to speed up the frequency of matrix scans... I will look into it right away =)

Edit: I don't seem to be able to reproduce that error.. Are you running OSX? I can only answer for Ubuntu at the moment since that is all I have access to at home. And now there is a thunder storm coming. That usually doesn't cause "hardware malfunctioning" here, but you never know...
Yup, using OS X. I don't know enough about the hardware yet to completely rule out something I might have done during soldering, however both of my boards exhibit the same behavior, so I'd guess not. Thanks for taking a look though, if you have the time to write up a quick primer to help people get up to speed on the code, that would be wicked cool :mrgreen:, otherwise I'll just take some time to dig into it, there's not too much code there to read through (been a LONG time since I wrote C, though ;) ). I've forked the repository into my own branch, so for now I'll work on OS X support in there. Anybody interested in following that branch can find it here:

https://github.com/gimpster/Phantom-Keyboard

User avatar
litster

13 Jul 2012, 16:25

I can send you the source. But I am using the same firmware I posted above and it works perfectly. Could there be something else wrong?

bpiphany

13 Jul 2012, 16:43

The code on my github repository has been changed pretty heavily from the one litster is running. You should try the new one out litster, and see if you have more luck ;) Keep the old working hex-file at hand though... I was planning on flashing the new version onto another Teensy keyboard, but I got stuck in drawing the ErgoDOX PCB =D

User avatar
gimpster

13 Jul 2012, 17:03

litster wrote:I can send you the source. But I am using the same firmware I posted above and it works perfectly. Could there be something else wrong?
Mac vs Windows. To be honest, that probably has a lot to do with it. I'm probably going to end up needing to read some technical articles from Apple.

Still, fire off the source, I'll have a look. And if you can send me the case files as well, that would be sweet. :)

bpiphany

13 Jul 2012, 17:26

I see now that I pushed a "newer" version when I moved to BathroomEpiphanies =P I was doing some hacks to see if I could speed up the scan rate. I'll try to revert to the better firmware. It still shouldn't be doing what you are describing...

Edit: There, pushed the more general version again.

Edit: Also flashed the keyboard I use all the time at home with a pin-adjusted version of the firmware. And it seems to be working fine. I have no mac to test it on here though. And I think the guys I usually hang out with all run Ubuntu on their MacBooks... Windows I can do a test on tomorrow.

User avatar
gimpster

13 Jul 2012, 17:54

bpiphany wrote:I see now that I pushed a "newer" version when I moved to BathroomEpiphanies =P I was doing some hacks to see if I could speed up the scan rate. I'll try to revert to the better firmware. It still shouldn't be doing what you are describing...

Edit: There, pushed the more general version again.

Edit: Also flashed the keyboard I use all the time at home with a pin-adjusted version of the firmware. And it seems to be working fine. I have no mac to test it on here though. And I think the guys I usually hang out with all run Ubuntu on their MacBooks... Windows I can do a test on tomorrow.
Yah, so OS X has a "feature" that changes the standard behavior when you are holding down a key. In this situation on OS X Lion (maybe back as far as Snow Leopard) it doesn't repeat the character like it will in Windows or Unix, instead it pops up an on-screen character picker so you can pick variants of that letter. For example, I could type "e", but if I hold it down, I can also type è, é, ê, ë, ē, ė, or ę. My suspicion is that it has something to do with this, because when I type on my Filco, I get those options, but not when I type on the Phantom, there it just repeats the character.

bpiphany

13 Jul 2012, 18:07

In that case it is something that is buried deeper down in the usb_keyboard files from PJRC I would think. I don't know if the firmware actually repeats key-presses on an interval by itself. I believed that should generally be handled by the OS. When I look in 'xev' to see what is going on there are a lot of key-press and key-release events. That might just be depending on which level 'xev' comes in at. If it sees the OS generated key-events that should be just the correct way.. I could of course try a "real" keyboard....

Edit: My Realforce shows the same behaviour in 'xev'

User avatar
litster

13 Jul 2012, 19:04

Gimpster, are you saying the behaviors you are having happens only when your Phantom is plugged into a Mac? Are you able to test the Phantom with a Windows machine?

bpiphany

13 Jul 2012, 19:30

Litster, have you tried the new firmware on github on your Phantom? It should work fine =P

User avatar
litster

13 Jul 2012, 19:39

I haven't. i left my Phantom at work and I am still on vacation. I am back from Paris though. :-) Soonest will be Monday night for me to try the new firmware

Hum, I could solder another Phantom really quickly though...

User avatar
gimpster

13 Jul 2012, 19:50

litster wrote:Gimpster, are you saying the behaviors you are having happens only when your Phantom is plugged into a Mac? Are you able to test the Phantom with a Windows machine?
I have only tested in OS X so far. I should be able to test this directly via a VM, though. My Phantoms are at home, so it'll have to wait until tonight. I'm going to Fry's to pick up some more parts for them this weekend and I'll spend more time poking at the firmware to see if I can get any of it fixed.

User avatar
damorgue

13 Jul 2012, 19:56

bpiphany wrote:
damorgue wrote:Would this work if one would like to use rgb-leds to be able to change colors easily without desolering
With very small potentiometers... =) That might not be the best way to colour control an LED, but it should work to a good extent.
I was thinking of those small surface mounted once which you need a small sharp object to turn. I would need to open the case, screw them until I get the desired color, and close the case again, inc ase I want to switch color to go with different caps for instance.

bpiphany

13 Jul 2012, 20:01

litster wrote:I left my Phantom at work and I am still on vacation.
Hum, I could solder another Phantom really quickly though...
You brought components and soldering equipment for your vacation, but not your built Phantom?...
gimpster wrote:
litster wrote:Gimpster, are you saying the behaviors you are having happens only when your Phantom is plugged into a Mac? Are you able to test the Phantom with a Windows machine?
I have only tested in OS X so far. I should be able to test this directly via a VM, though. My Phantoms are at home, so it'll have to wait until tonight. I'm going to Fry's to pick up some more parts for them this weekend and I'll spend more time poking at the firmware to see if I can get any of it fixed.
The only thing I can think of is trying to increase the _delay_us(1) on line 76. Try to set it to 100 or so, that should remove any possibility of it mattering.
Last edited by bpiphany on 13 Jul 2012, 20:04, edited 1 time in total.

bpiphany

13 Jul 2012, 20:03

damorgue wrote:
bpiphany wrote:
damorgue wrote:Would this work if one would like to use rgb-leds to be able to change colors easily without desolering
With very small potentiometers... =) That might not be the best way to colour control an LED, but it should work to a good extent.
I was thinking of those small surface mounted once which you need a small sharp object to turn. I would need to open the case, screw them until I get the desired color, and close the case again, inc ase I want to switch color to go with different caps for instance.
Where are you going to solder the three LED legs? Are we talking about the stand-alone-LEDs now or the switch mounted? I made sure to add ground planes to make any modding harder ;)

Post Reply

Return to “Group buys”