Fully programmable FC660C (out of reach but in sight, help..).

User avatar
TuxKey
LLAP

21 Apr 2017, 14:48

Hi guys,

For a couple of days now i have bin looking at a GB on Geekhack for a TMK FC660C Alt Controller.
i’m not specifically posting this item as a MarketPlace GB but as a discussion asking for help.
Because i can't make head nor tail of it all.
FC660C TMK Alt Controller
FC660C TMK Alt Controller
IQ8iNQih.jpg (64.44 KiB) Viewed 5237 times
Opening up the case and mate/unmate the controller seems clear enough.
I can follow along the different Keymap editors plain (simple layout) and Emu looks more like FC660C.
(doesn't seem to work on Safari but no problem on firefox).

But even opening up the TMK Keymap Editor looking at the first Layer 0 i start having questions.
Like what does LM2 stand for?
But more importent i have no clue how to start using it all.
i started at the main TMK project page.
And read both pages; Flash firmware and Keymap details

The last one "Keymap Framework - how to define your keymap" was intressting and i would have to read that again to fully digest it. But it seemed more like a in depth wiki than a howto to me :oops:

The Flash firmware page left me with even more questions.
like can i do this on my fedora machine? or mac 10.9.5 . if possible i would rather do it on my old Linux fedora 32bit laptop.
Can't make head nor tail of it all..do i need to dive in to dfu-programmer and how to install it on linux ?

OMG my head is spinning i'm hoping someone can help me..
And GH forum isn't that helpful, and i can't find my way there (main reason why i'm subscribed to DT).

i really hope i can make sense of it all.. $40 for a backup usb controller that offers programmability sounds awesome.
There are sum issues i read on mac in regards to media keys and Fn
(i read that under FAQ i think, :? my head is spinning from all the reading back and forth hahaha)
in short there are no real compatibility problems on OSX there seemed to be two ways to communicate with OSX and one works.
Really hope someone here has used this in a different keyboard perhaps on the HHKB? or someone more savvy understands this all and is also going to buy this controller..
here are sum links i saved..

main site with links.
http://www.tmk-kbd.com/tmk_keyboard/

Keymap framework - how to define your keymap
https://github.com/tmk/tmk_keyboard/blo ... /keymap.md

TMK Keyboard Firmware Collection (readme)
https://github.com/tmk/tmk_keyboard/blo ... /README.md

TMK Keymap Editor FC660C Original keymap.
http://www.tmk-kbd.com/tmk_keyboard/edi ... fc660c_emu


Thanks guys....

User avatar
hasu

21 Apr 2017, 20:44

Hi,
Appriciate feedback from early adapter. glad. EDIT: Ah you don't have controller yet, I misread and thought you got one from Ealy Access. But still GLAD to have detailed feedback from one even without controller!
I'll add instruction in the GB thread and update wiki pages until users get the controller.
TuxKey wrote: Opening up the case and mate/unmate the controller seems clear enough.
I can follow along the different Keymap editors plain (simple layout) and Emu looks more like FC660C.
(doesn't seem to work on Safari but no problem on firefox).

But even opening up the TMK Keymap Editor looking at the first Layer 0 i start having questions.
Like what does LM2 stand for?
But more importent i have no clue how to start using it all.
i started at the main TMK project page.
And read both pages; Flash firmware and Keymap details

The last one "Keymap Framework - how to define your keymap" was intressting and i would have to read that again to fully digest it. But it seemed more like a in depth wiki than a howto to me :oops:
Basically you can see simple explanation in tooltip when placing mouse on a key.

Image

Also you can check actual "action code" in "Code Edit" tab, then you can know what the code means in "keymap details" page you refered above.

https://github.com/tmk/tmk_keyboard/blo ... -modifiers

You were very close, taking deep breathes and more time to explore them might have helped :D
I must admit that there is no easy friendly manual yet and it requires your time unfortunately.


The Flash firmware page left me with even more questions.
like can i do this on my fedora machine? or mac 10.9.5 . if possible i would rather do it on my old Linux fedora 32bit laptop.
Can't make head nor tail of it all..do i need to dive in to dfu-programmer and how to install it on linux ?
I'm assuming Linux users know how to install tools and I can't imagine how you can use Linux without knowing that. I think you can use rpm and Fedora has package for dfu-programmer. I can't remember rpm options, try 'man rpm' if you need.

User avatar
TuxKey
LLAP

24 Apr 2017, 12:19

thx for your reply Hasu,

installing tools on fedora should not be a problem.
if i know what tools ar needed for the job.

As i’m new to this i don’t know where to start searching for tools to flash the layout from the keymap editor.

if “dfu-programmer” is the only tool i need to install i wil look in to howto’s for help on the web. tackling dependencies and such. and i wil post my findings and howto online so others can use it if ;-)

will do sum moor reading and try to elaborate if and when i don’t understand something.

Very grateful for your taking the time to respond.

looking forward to joining the GB and hoping i can use the board eventually

User avatar
Stabilized

24 Apr 2017, 18:34

I bought one of Hasu's controllers for my HHKB, it's a bluetooth one and it's really great so far. I haven't had any problem with media controls on mac at all, and Hasu's online keymap generator is really very easy to use. That being said I haven't tried any of the macro functions or Layer shifts, if that's what your interested in.
Using dfu-programmer is really very easy, you just need the following commands after pressing the button on the PCB:

Code: Select all

dfu-programmer atmega32u4 erase --force
dfu-programmer atmega32u4 flash {your hex file} 
dfu-programmer atmega32u4 reset
That's it, you have a functioning keyboard now (in theory)!

User avatar
TuxKey
LLAP

25 Apr 2017, 15:35

Stabilized wrote: I bought one of Hasu's controllers for my HHKB, it's a bluetooth one and it's really great so far. I haven't had any problem with media controls on mac at all, and Hasu's online keymap generator is really very easy to use. That being said I haven't tried any of the macro functions or Layer shifts, if that's what your interested in.
Using dfu-programmer is really very easy, you just need the following commands after pressing the button on the PCB:

Code: Select all

dfu-programmer atmega32u4 erase --force
dfu-programmer atmega32u4 flash {your hex file} 
dfu-programmer atmega32u4 reset
That's it, you have a functioning keyboard now (in theory)!
Thanks Stabilized, sounds simpel enough ,so if im understanding you correctly.
1) first i install dfu-programmer on one of Fedora machine.
2) configure a layout using the TMK Keymap Editor.
3) install the new controller, press the button on the pcb.
4) execute the dfu-programmer command's you mentioned and listed here under dfu-programmer for win,mac,linux

Sounds easy enough.

User avatar
Stabilized

25 Apr 2017, 15:49

Yup that's right, it was that simple when I programmed my HHKB!
I think Hasu has intentionally made an effort to make these pre-made controllers very easy to work with.

User avatar
TuxKey
LLAP

26 Apr 2017, 16:32

i think i'm over thinking this hahah..Got Hasu confused about what i was asking. :lol:
Like is a sysadmin asking how to install a tool ..oeps..hahahah
nehhhh installing a tool isn't the problem me overthinking stuff is..haha
ah well i just joined the drop and i'l dive in to installing the needed software and what is it later on..

shared this GB on Massdrop talk lot's of people considering the FC660C in my opinion this controller is a must have.

And if HASU decides to build a controller for the FC660M count me in.

User avatar
TuxKey
LLAP

01 May 2017, 18:34

Just wanted to ask; is anyone else considering buying this awesome board?
Would be nice to read about the usage and perhaps compare notes / tips..
i'm joining the GB so think i'l post my experiences and overview.

Perhaps i'm the only one that's getting this excited about finally owning a programable keyboard.
And all thanks to @hasu

User avatar
Laser
emacs -nw

01 May 2017, 18:52

There must a lot of threads about Hasu's TMK firmware, which is the "same" (i.e. you use it in the same way), just adapted for different keyboards or converters (e.g. the HHKB alternative controller, or the ps2->usb convertor). Just search this forum and the GH one for it, plenty of information.

User avatar
TuxKey
LLAP

01 Jun 2017, 16:54

@Stabilized

is anyone doing the key mapping on osx ??
i'm on 10.9.5 (Mavericks)
Reading the simple install manual that came with dfu-programmer the first thing i saw was that i needed tools like autoconf and automate.
so i installed Xcode. And proceeded with the install.

sudo ./bootstrap.sh
./bootstrap.sh: line 2: aclocal: command not found
./bootstrap.sh: line 3: autoheader: command not found
./bootstrap.sh: line 4: automake: command not found
./bootstrap.sh: line 5: autoconf: command not found

a find / -iname "aclocal" gave me this.
/opt/X11/share/aclocal

that's ok i can check my path.
But i assumed i had everything else.

Alas no result with find / -iname auto header


i guess i need to do this on a linux box or try doing it in a windows vm ??
Anyone got it working on osx ??
am i missing something??
i'm new to this so forgive my ignorance..

User avatar
Stabilized

01 Jun 2017, 17:06

Do you have homebrew on your mac? If you do then you can install it through that using:

Code: Select all

brew install dfu-programmer
I think that's probably the easiest way and it's a great tool to use if you haven't already installed it: https://brew.sh/

The other option needs you to have gcc and make installed, and I don't think they are installed by default. I know you will definitely need Xcode installed for the make option, but I'm not sure about the rest: I just tried it and I got errors too. I would strongly recommend the homebrew option!

User avatar
TuxKey
LLAP

01 Jun 2017, 21:26

Thanks,

i just found this thread talking about brew and macports i was going to go with Macports but will compare both.
https://github.com/kiibohd/controller/w ... U-Firmware

sins i just joined the k-type drop so i thought to look there and they mentioned Macports..

Will let you know how it goes.
Thanks again appreciate it.

User avatar
TuxKey
LLAP

01 Jun 2017, 21:59

Looking at the differences between HomeBrew and Macports at first sight no big difference only using Macports i don't need to install Ruby so i'l go with Macports. Main reason being is i heard of them long ago but did nothing with it.
But it's just a package manager i guess. sort of saying whats better yum or apt ;-) on Linux.
i did find a quick how to install MacPorts and a basic intro so helpful.
https://youtu.be/JZC6wUXBubs

User avatar
TuxKey
LLAP

01 Jun 2017, 22:08

reading the wiki i'm suppose to install dfu-util
https://github.com/kiibohd/controller/w ... U-Firmware

But the tmk_keyboard wiki states to install dfu-programmer like you stated @stabelized..
i'l install both as i'm going to have the k-type in a couple of months and i think that the util is the GUI version and dfu-programmer the command line tool. want a sneek peak of the GUI. Let's hit enter install and see what happens.

User avatar
hasu

01 Jun 2017, 22:21

you better do only thing that you really need at this time. doing many thing at once may confuse you.

dfu-util is command line tool to program cortex and other mcu, kii-dfu is GUI wrapper for the command.

User avatar
TuxKey
LLAP

01 Jun 2017, 23:49

hasu wrote: you better do only thing that you really need at this time. doing many thing at once may confuse you.

dfu-util is command line tool to program cortex and other mcu, kii-dfu is GUI wrapper for the command.

too late i installed both. but i will not deviate from what your wrote..

dfu-programmer <controller> erase --force
dfu-programmer <controller> flash <your_firmware.hex>
dfu-programmer <controller> reset


i'l start with something simple moving the "Left windows key" to the "Left left Alt" basically command key next to space bar.
And see if i'm able to do the basics.

i just finished installing the controller :D very exciting fits like a glove my compliments to the chef maestro Hasu.

User avatar
TuxKey
LLAP

02 Jun 2017, 00:07

so i put the controller in programming mode. both insert and Capslock lights are on.
And i start with my first command. result isn't encouraging.

sudo dfu-programmer atmega32u4 erase --force
Password:
Usage: dfu-programmer target[:usb-bus,usb-addr] command [options] [global-options] [file|data]

global-options:
--quiet
--debug level (level is an integer specifying level of detail)
Global options can be used with any command and must come
after the command and before any file or data value

commands:
configure {BSB|SBV|SSB|EB|HSB} [--suppress-validation] data
dump
dump-eeprom
dump-user
erase [--suppress-validation]
flash [--suppress-validation] [--suppress-bootloader-mem]
[--serial=hexdigits:offset] {file|STDIN}
flash-eeprom [--suppress-validation]
[--serial=hexdigits:offset] {file|STDIN}
flash-user [--suppress-validation]
[--serial=hexdigits:offset] {file|STDIN}
get {bootloader-version|ID1|ID2|BSB|SBV|SSB|EB|
manufacturer|family|product-name|
product-revision|HSB}
getfuse {LOCK|EPFL|BOOTPROT|BODLEVEL|BODHYST|
BODEN|ISP_BOD_EN|ISP_IO_COND_EN|
ISP_FORCE}
setfuse {LOCK|EPFL|BOOTPROT|BODLEVEL|BODHYST|
BODEN|ISP_BOD_EN|ISP_IO_COND_EN|
ISP_FORCE} data
setsecure
reset
start

User avatar
TuxKey
LLAP

02 Jun 2017, 00:22

so i opened "system information" To see if the keyboard is recognised under USB devices.
Before i press the programma button it shows Alt-controller or so all is good.
Pressing the programming button and doing a refresh turns it in to ATm32U4DFU

ATm32U4DFU:

Product ID: 0x2ff4
Vendor ID: 0x03eb (Atmel Corporation)
Version: 0.00
Serial Number: 1.0.0
Speed: Up to 12 Mb/sec
Manufacturer: ATMEL
Location ID: 0x14100000 / 4
Current Available (mA): 500
Current Required (mA): Unknown (Device has not been configured)



this was no help. (long shot)

sudo dfu-programmer ATm32U4DFU erase --force
Unsupported target 'ATm32U4DFU'.
targets:
at89c51snd1c at89c51snd2c at89c5130 at89c5131
at89c5132 at90usb1287 at90usb1286 at90usb1287-4k
at90usb1286-4k at90usb647 at90usb646 at90usb162
at90usb82 atmega32u6 atmega32u4 atmega32u2
atmega16u4 atmega16u2 atmega8u2 at32uc3a0128
at32uc3a1128 at32uc3a0256 at32uc3a1256 at32uc3a0512
at32uc3a1512 at32uc3a0512es at32uc3a1512es at32uc3a364
at32uc3a364s at32uc3a3128 at32uc3a3128s at32uc3a3256
at32uc3a3256s at32uc3a4256s at32uc3b064 at32uc3b164
at32uc3b0128 at32uc3b1128 at32uc3b0256 at32uc3b1256
at32uc3b0256es at32uc3b1256es at32uc3b0512 at32uc3b1512
at32uc3c064 at32uc3c0128 at32uc3c0256 at32uc3c0512
at32uc3c164 at32uc3c1128 at32uc3c1256 at32uc3c1512
at32uc3c264 at32uc3c2128 at32uc3c2256 at32uc3c2512
atxmega64a1u atxmega128a1u atxmega64a3u atxmega128a3u
atxmega192a3u atxmega256a3u atxmega16a4u atxmega32a4u
atxmega64a4u atxmega128a4u atxmega256a3bu atxmega64b1
atxmega128b1 atxmega64b3 atxmega128b3 atxmega64c3
atxmega128c3 atxmega256c3 atxmega384c3

User avatar
TuxKey
LLAP

02 Jun 2017, 00:29

eureka all seems to work ..


1) sudo dfu-programmer atmega32u4 erase
2) sudo dfu-programmer atmega32u4 flash unimap.hex

Validating...
21266 bytes used (74.17%)

3) sudo dfu-programmer atmega32u4 reset

cool now i need to figure out sum cool programming tricks like looking at maps and asking why someone is doing something hahahaha...

Post Reply

Return to “Keyboards”