geekhack
geekhack Projects => Making Stuff Together! => Topic started by: Nightlane on Fri, 24 October 2014, 06:49:15
-
Hey,
I have been looking a bit over anduino and over that other chip to which Soarer developed a firmware.
This is a bit a test of a concept, for fun and, If able, to build something (or give ideas to other developers). I am a coder and a gamer, so I am looking a keyboard for those both activities. :)
I am looking for a 60% keyboard design.
Some extra especial keys. Those special keys my plan is to send an special code (any code not used for other function) and catch it in one running application to do special tasks.
A wire for each key.
Pooling rate as 1000.
Create a complex backlit system (I am being inspired in that RGB backlight now in some keyboards, but a 1 color and 8bit status is a good start but maybe too expensive). Being able to update the backlit behaviour in a safe way, if possible.
Mouse capabilities... first as ducky mini, later will add some custom controls.
*************
The first stage of my plan is at first look for or if not found define a circuit to be able go multiply inputs and outputs, using a bus to serialize data through it to set or read data from these input/outputs, do pollings, etc.
In the while analyze arduino and other solutions as the main controller...
The first doubt is about that I have used in the past programs which were used like a virtual trainer to place digital electrical components and then be able to check how they works together. I have seen KiCad but as far as I have looked at it I do not seen that it have this type of functionality. Can please you recommend me a program to do this? And free? :) (Arduino/other chip compatible?)
-
Are you designing your own PCB, or just hand wiring your keyboard? Both are viable: for just a single keyboard, hand wiring is probably faster, easier, and cheaper, but the soldering itself will be a bit harder than soldering to a PCB.
I don’t quite understand what you mean by virtual trainer software. Keyboard circuits are pretty simple, I don’t think you need to simulate them first.
By the way, I recommend you change the thread topic/title to something a bit more expressive than “returning to this”.
-
Are you designing your own PCB, or just hand wiring your keyboard? Both are viable: for just a single keyboard, hand wiring is probably faster, easier, and cheaper, but the soldering itself will be a bit harder than soldering to a PCB.
For the idea I have I need to build a PCB, to use additional chips.
I don’t quite understand what you mean by virtual trainer software. Keyboard circuits are pretty simple, I don’t think you need to simulate them first.
I am talking about those type of programs where you place components, wire them, simulate/debug them, and maybe be able to create an optimized PCB.
Just I do not know yet the proper name in English language to this type of software.
Yeah, maybe it is simpler to do it directly in kicad, but I am interested too in know a good program of that type, for this or future projects. Curiosity!
By the way, I recommend you change the thread topic/title to something a bit more expressive than “returning to this”.
:O, sure, done, thanks you for pointing that!!
-
QUCS is a good "circuit simulator" and is open source and free: http://qucs.sourceforge.net/
It takes some time to learn how to use it, but it's very good and flexible. Great for analog circuits, such as amplifiers, crossovers, etc.
Not very useful for keyboards, though, IMHO. Mostly you're going to design around the controller chip you use and there won't be many external components. So it may be better just to lay them out in KiCad according to the datasheet for the controller you choose.
-
QUCS is a good "circuit simulator" and is open source and free: http://qucs.sourceforge.net/
Thanks you! I have read too about that this software can work with digital circuits... I will give it a try.
...
Returning to the matter, I am thinking in using an arduino micro as the controller, as 20 inputs/outputs should be enough to handle all the functionality that I am looking.
Now I am looking for the names of those already designed circuits which does:
* when the tick comes, copy its X inputs into its X outputs. inside there are flipflops.
* from 8 bits input generate a 0..5V analog voltage.
I want to design an graduated backlit system. It is simple to design but the problem is that the options are not so many, we could use tons of generic chips containing basic logical constructions (and dacs), which requires space, which a keyboard usually do not have, or instead design it in detail so a chip could be built... but it is very expensive.
Hmmm, maybe there is something already done and that could be adquired by common means. Maybe a chip with tons of analog outputs.
I have found some options: http://www.ti.com/lit/ds/symlink/tlc7226.pdf, http://playground.arduino.cc/learning/4051, http://www.ti.com.cn/cn/lit/ds/symlink/cd74hc4051-ep.pdf, http://www.nxp.com/documents/data_sheet/74HC_HCT4051.pdf, http://www.onsemi.com/PowerSolutions/product.do?id=MC14067B, http://www.analog.com/en/switchesmultiplexers/multiplexers-muxes/adg726/products/product.html, http://ams.aeroflex.com/pagesproduct/datasheets/mux/mux8501.pdf
But maybe it is not what I am looking for. I remember using a chip for convert 0 to 5V to a 8 bits value, but I do not remember the name. I do not know if the opposite is a dac, or if maybe the dac is more powerful and maybe more costly, or maybe not what I need. And if I remember correctly, a multiplex does the task of having an input, copy it by a selected output of many, but it do not "save" the output of previous settings, so additional circuitry should be used...
Am I right? :-P
-
Are you designing your own PCB, or just hand wiring your keyboard? Both are viable: for just a single keyboard, hand wiring is probably faster, easier, and cheaper, but the soldering itself will be a bit harder than soldering to a PCB.
handwiring is not really cheaper :-X
-
Are you designing your own PCB, or just hand wiring your keyboard? Both are viable: for just a single keyboard, hand wiring is probably faster, easier, and cheaper, but the soldering itself will be a bit harder than soldering to a PCB.
handwiring is not really cheaper :-X
I cannot imagine how you could design and get PCB etched for less than just hand-wiring it. Notice that hard-wiring which most people do here is more complicated that it needs to be. Use this method:
http://deskthority.net/workshop-f7/katy-keyboard-or-k80cs-key80-contoured-split-t8524.html#p181273
It does not take much time when you do not need to fiddle with insulation. Or (if you feel you need the insulation there) then use "enameled" wire. Use high temperature (about 420°C) to burn of the insulation coating. Use lower temperature for soldering the wire to switches and diodes (or be very quick so that you do not overheat them). If using two different temperatures then two irons are handy. One at about 420°C (or even more) for burning off the insulation, the other one at about 330°C for soldering.
-
Are you designing your own PCB, or just hand wiring your keyboard? Both are viable: for just a single keyboard, hand wiring is probably faster, easier, and cheaper, but the soldering itself will be a bit harder than soldering to a PCB.
handwiring is not really cheaper :-X
I cannot imagine how you could design and get PCB etched for less than just hand-wiring it. Notice that hard-wiring which most people do here is more complicated that it needs to be. Use this method:
http://deskthority.net/workshop-f7/katy-keyboard-or-k80cs-key80-contoured-split-t8524.html#p181273
It does not take much time when you do not need to fiddle with insulation. Or (if you feel you need the insulation there) then use "enameled" wire. Use high temperature (about 420°C) to burn of the insulation coating. Use lower temperature for soldering the wire to switches and diodes (or be very quick so that you do not overheat them). If using two different temperatures then two irons are handy. One at about 420°C (or even more) for burning off the insulation, the other one at about 330°C for soldering.
yeah the difilicut is design pcb but after its done to pcb maker i think arround $10+ if low cost after it's then all are easy i think
handwiring expensive in layer cases
-
yeah the difilicut is design pcb but after its done to pcb maker i think arround $10+ if low cost after it's then all are easy i think handwiring expensive in layer cases
Well, if you are making a custom keyboard then you hardly can do it without a custom PCB (or hand-wiring the switch matrix).
-
I am thinking on using an arduino micro for this project.
I am defining the buses.
Do you know a nice dac system to have many analog outputs? I am looking for a multiplexed dac...
You have a 8 bit bus, you put those data into a dac and get an analog signal, then I would like an analog demultiplexer which from one input, I could select by which one of it's outputs this analog value will go out by, and then this value should stay while I modify other outputs.
I wish I am being understandable.
-
If you want DACs for driving LEDs then use rather PWM.
-
This is great for driving LED's: http://www.adafruit.com/product/1427
You can send it I2C signals, it can address up to 1024 LED's and has 16 levels of PWM brightness.
-
This is great for driving LED's: http://www.adafruit.com/product/1427
You can send it I2C signals, it can address up to 1024 LED's and has 16 levels of PWM brightness.
Oh, It is nice, really I am looking to control each led independently and this chip can only set the same PWM to all the LEDs. I will make a note about this chip because it could be a nice possibility to take into account for other type of effects or for another gatget...
If you want DACs for driving LEDs then use rather PWM.
Ty! I will look for some already made chip with the possibility to set an input to a PWMed output... something like a demultiplexor...
-
It is a pity that HT16K33 cannot control LED duty cycle individually.
-
I would think that to be extensive enough, you might want to have 2 teensy running separately. one to be your keyboard controller, another to be the the LED controller.
-
One microcontroller would be enough for a backlit 60%, even if it has three LEDS per key (RGB). You would need some kind of helper chip/s for addressing the LED matrix/matrices though but those are bountiful, small and inexpensive. There are lots of projects out there for doing RGB LED cubes with Arduino (same microcontroller family as Teensy) that you could use for inspiration.
The Red Scarf firmware based on Hasu's TMK does it already in one backlight colour.
-
It is a pity that HT16K33 cannot control LED duty cycle individually.
Yeah, it is. I could design the circuitry using flipflops, PWMs/DACs, etc. But, the problem is convert it to a real circuit. Using already made chips could be a nice solution but it is a requirement that there is a chip with most of the functionality. I fnot, you could need tons of chips to get the same result and that could be prohibitive in cost and space.
And to "print"a chip...