Soarer's Keyboard Controller firmware

User avatar
Muirium
µ

30 Jan 2014, 14:34

Your linked guide said something about higher sensitivity with a smaller pad. Perhaps "sensitivity" isn't something you're looking for with a keyboard, though, as false positives are a real problem with any touch pads acting as keys. Definitely want to be sensible about where to put the sensor to avoid problems with unintended contact.

User avatar
Soarer

30 Jan 2014, 15:26

Sould be fine to connect that directly, and use something like "unstrobed -PB0 F1" in your config. ('-' because it will go low when pressed). You might need to adjust your debounce settings to suit it.

JBert

30 Jan 2014, 20:27

Muirium wrote:Your linked guide said something about higher sensitivity with a smaller pad. Perhaps "sensitivity" isn't something you're looking for with a keyboard, though, as false positives are a real problem with any touch pads acting as keys. Definitely want to be sensible about where to put the sensor to avoid problems with unintended contact.
I want to use it as Fn keys, so it's not like I'll need something like PawSense. Of course, it might get confusing though if it starts acting hairy while typing.

Also, if I get this to work, you saw it here first!

JBert

08 Feb 2014, 15:30

Ok, electronics is hard, especially if you're doing without an oscilloscope or logic analyzer.

Seems the original circuit with the LED works. It doesn't react when your hand is near it, you actually need to make contact and thus apply gentle pressure. The downside is that the LED is only dimly lit (I guess about 60%). Since that LED is driven by a Schmitt-trigger, I fear the latter might be oscillating between on and off.

I haven't dared yet to connect it to a microcontroller... I could try hooking up a 555 timer in one-shot mode to reset on the rise edge, but I have only one of those ICs available while I want 3 touch pads. Intuitively, I was wondering if I couldn't send the square pulse through a low-pass filter and then use a comparator to detect that, except that I don't have that IC at all, only some logic gates and a single op-amp.

Any ideas or alternatives for a cost-effective solution?

EDIT: Maybe I should ask some moderator to split this into its own thread... Anyway, I'm going to try the 555 IC first, see if that can get me a more stable signal.

pjmelon

15 Feb 2014, 04:53

Soarer, I figured out most of the keys except the grave accent. Can you tell me what the code is for it to use in the matrix?

User avatar
Muirium
µ

15 Feb 2014, 09:31

back_quote I think.

zambasdvd

09 Dec 2014, 22:11

Hi guys, i have a probably idiot question for you.
I am trying to make a teensy firmware to control my dell at101w.I hand wired it, removed pcb etc so its not a dell anymore :)
I want to try the soarer's fw but i dont understand how to write the hex file?
I can find the beta 4 firmware but dont i need to make changed to it? How do i do that?
Sorry for my ignorance and my bad english, not my native language.

Edit: I did the trick and flash the teensy but only the first line of f1,1,q,a,z,windows key (matteo wiring) works.
Maybe sense is not columns but rows?
This is what my matrix looks like
Attachments
soarers code.JPG
soarers code.JPG (121.68 KiB) Viewed 8768 times

User avatar
Laser
emacs -nw

12 Dec 2014, 22:27

Soarer, I hope that you can read this: BIG thanks for your controller & converter firmware ... your work just brought to life another 29-year old Bigfoot.

zambasdvd

13 Dec 2014, 13:00

Does anyone knows if this board works ok with soarers fw?
https://www.adafruit.com/products/296

User avatar
scottc

13 Dec 2014, 13:05

32u4? It should do. Just get a Pro Micro for a fraction of the cost:

http://www.ebay.com/itm/Leonardo-Pro-Mi ... 4853468c6a

zambasdvd

13 Dec 2014, 13:32

scottc wrote: 32u4? It should do. Just get a Pro Micro for a fraction of the cost:

http://www.ebay.com/itm/Leonardo-Pro-Mi ... 4853468c6a
What about the pins that are not named the same? would that be a problem?

User avatar
scottc

13 Dec 2014, 14:00

I've written a guide on how to use a Pro Micro for Soarer's tools. I'm out right now so can't go looking for it but it's around here somewhere. :)

User avatar
Khers

13 Dec 2014, 17:04

Laser wrote: Soarer, I hope that you can read this: BIG thanks for your controller & converter firmware ... your work just brought to life another 29-year old Bigfoot.
I've finally got my Bigfoot up and running using Soarer's Controller today as well. Was inspired by your port and thought that I had delayed this long enough! What an awesome board this is! Almost 30 years old (March '85), going strong once again!

User avatar
Laser
emacs -nw

13 Dec 2014, 17:42

Khers wrote:
Laser wrote: Soarer, I hope that you can read this: BIG thanks for your controller & converter firmware ... your work just brought to life another 29-year old Bigfoot.
I've finally got my Bigfoot up and running using Soarer's Controller today as well. Was inspired by your port and thought that I had delayed this long enough! What an awesome board this is! Almost 30 years old (March '85), going strong once again!
That's great, I'm very happy to hear it :)
This evening i'll come up with a (of course) smart solution to fix the arduino safely inside the keyboard case, then, it will start singing!

zambasdvd

14 Dec 2014, 00:45

scottc wrote: I've written a guide on how to use a Pro Micro for Soarer's tools. I'm out right now so can't go looking for it but it's around here somewhere. :)
Thanks scottc but i think i will go with either teensy 2 or the one from adafruit because i really like the quality of the board itself. Does anyone knows how to implement leds for backlight?
I am thinking to make a passive circuit with maybe dip switches for 3 different colours and 1 pin of the teensy to power on/off the circuit.

Hak Foo

04 Jan 2015, 07:41

I've just tried to build a small numpad using this firmware. It's an old Genovation 17-key pad which I scrapped the PCB from and fitted with Matias switches.

The first two rows work fine, but the last three never seem to fire.

I'm using a Pro Micro clone, and have it wired so that the rows of the keypad correspond to pins A1, A0, 15, 14, A3 of the Pro Micro, and the columns to 2,3,4,5.

If it were a single diode bad running down a column, I'd expect at least some combinations in those bottom rows would still fire. Same, if it were a single loose wire. I checked the connections between the controller and the rows of the numpad with a meter, and they seemed to register okay.

My configuration looks like this:

Code: Select all


matrix
	scanrate 4
	debounce 5
	blocking 0

	sense			PD1			PD0	PD4			PC6
	strobe	PF6		A			B	C			D
	strobe	PF7		E			F	G			H
	strobe	PB1		UNASSIGNED	J	K			L
	strobe	PF4		UNASSIGNED	N	O			P
	strobe	PB3		Q			R	S			UNASSIGNED
	
end
I figured I'd get the layout coherent first, then map the keys to media controls and macros.

I'm wondering if there's some non-obvious thing I'm missing. The controller could be faulty, but if so, it's an odd way to be faulty. Maybe I damaged it trying to clean up some of the solder joints. I could try another.

User avatar
Muirium
µ

04 Jan 2015, 21:43

I'd try hooking up to different pins and seeing what goes different. I haven't used a Pro Micro, but my experiences with Teensy 2s running Soarer's Controller are rock solid.

Hak Foo

05 Jan 2015, 00:18

Tried different pins to no avail.

What worked was converting to a 2kro matrix... I wonder if the diodes-- cheap "1N4148"s from China-- had too high a voltage drop for using in this way.

Good I discovered this BEFORE building an aircrraft carrier style board with them. :)

User avatar
Muirium
µ

05 Jan 2015, 00:22

Juh? Diodes should be the easiest thing to source from wherever. Maybe the Pro Micro isn't up to powering much of a matrix. Anyone got a positive experience with them? (Besides protocol converters, which is how I've used the wee guys.)

MichaelBrock

21 Jul 2015, 18:08

Sorry to drag this thread out of the deep but I am looking for guidance. I am just finishing up my Phantom and am about to start working on the firmware. I have downloaded Soarer's file and looked over the documentation but I think I'm missing something. From soarer's documentation for the convertor:

"Typically, you edit your config file(s), assemble them with scas, then load them onto the converter with scwr."

So create/edit a .sc file, assemble it with scas then use scwr to load it onto the convertor...but where does the teensy loader come into play?

User avatar
chzel

21 Jul 2015, 18:11

You need the Teensy loader to load the .hex for the first time. Then the firmware can jump to the bootloader by itself and get programmed by scwr.

andrewjoy

21 Jul 2015, 18:12

Does that hold true for the pro micro as well if i want to re bind keys ?

User avatar
chzel

21 Jul 2015, 18:23

I think so, but I haven't really worked with Soarer's other than straight up converter.
Maybe Mu can chip in, he's got way more experience at this!

User avatar
Muirium
µ

21 Jul 2015, 18:47

The Pro Micro is a pain in the arse. I only ever successfully got a hex file on one, once! Fortunately that's all I needed to do, as it was Soarer's Converter of course.

Andrewjoy is your man for Pro Micro voodoo. I sold mine to him and went 100% Teensy after that experience. (Followed by the fact my Pro Micro flaked out at the power draw of an IBM AT Model F… grr!) They do work, supposedly even as a controller, but the hassle is Not Worth The Money in my experience. Steep learning curve if this is your first time with Soarer's. Scottc is anther pro Pro Micro, as I recall.

User avatar
XMIT
[ XMIT ]

21 Jul 2015, 18:52

I like the Pro Micro too. Even if they don't work at $3.50 each through AliExpress.com they are a throwaway item.

User avatar
Halvar

21 Jul 2015, 18:58

chzel wrote: You need the Teensy loader to load the .hex for the first time. Then the firmware can jump to the bootloader by itself and get programmed by scwr.
I don't think that's exactly how it works. AVR microcontrollers have three kinds of memory: RAM, EEPROM and flash memory. The HEX-file (firmware) is written into the flash memory by the teensy loader, and then the firmware communicates with the scwr tool to write the configuration data into the EEPROM. The SoC doesn't have to go into programming mode any more after the firmware has been flashed, except if you want to overwrite the firmware.

So for configuration, Teensy and Pro Micro should be the same.

User avatar
Muirium
µ

21 Jul 2015, 19:07

Yeah. Once it's up and running. Which is the awkward part.

Has anyone got success stories running Soarer's CONTROLLER from a Pro Micro? With all the flaky nonsense I was getting, I didn't bother trying. I left mine to Converter duties, which it duly sucked at too.

MichaelBrock

21 Jul 2015, 19:28

chzel wrote: You need the Teensy loader to load the .hex for the first time. Then the firmware can jump to the bootloader by itself and get programmed by scwr.
Ahhh, that was the step I was missing. The Easy AVR USB Firmware suddenly makes sense now too. So the first step is to load the included .hex file for the ATMEGA32U4 to the teensy with the Teensy Loader.

There was such a flurry of replies to this thread that I thought maybe I was in the wrong thread when I came looking! Thanks for the help!

User avatar
Halvar

21 Jul 2015, 20:29

Just to avoid confusion 8-) , note that you can't use the Teensy loader with the Pro Micro. You can use AVRDude instead.

See Scottc's related tut: http://deskthority.net/workshop-f7/how- ... t8448.html

antonizoon

24 Aug 2015, 04:39

Anyone able to use Soarer's Controller with the Teensy LC or Teensy 3.0? I would attempt to compile it myself, but I can't find the source code.

The Teensy 2.0 was my best option, since I need at least 24 pins, at the lowest cost. But it is no longer produced, the Teensy 2.0++ is usually $10 more, the Pro Micro doesn't have enough pinouts, and Adafruit's UPS shipping cost is quite high...

Post Reply

Return to “Workshop”