Page 3 of 4
Posted: 14 Apr 2016, 17:29
by flabbergast
Thanks guys!
Firmware: Yes, it's a bit tricky to set things up correctly, especially for those of you who have an old winavr installation still sitting on your drives

I'll try to create a zip file with everything included, so you can just unpack and compile.
Posted: 16 Apr 2016, 00:46
by chuckdee
I just purchased the last PCB from flabbergast, but he didn't have any plates left. I've gotten a couple of quotes, and wondered if anyone was interested in getting plates. I'd need at least 3 others to make it worth it.
Posted: 20 Apr 2016, 03:01
by hasu
I finally configured my keymap for this tiny and typing on it. I don't have case and plate and it is bare PCB just with rubber feet but not bad on desktop. I played with split space bar for a while, I love it and came to believe that there is nothing to lose for me and it is beneficial option for less key keyboard.
my current keymap here if someone are interested.
https://github.com/tmk/flabber_kbs/blob ... map_hasu.c
Thanks flabber!

Posted: 25 Apr 2016, 00:17
by ahhyes
edit: nevermind I the first post has the diode layout in the picture.
chuckadee - I'm interested in plates. i have some plastic ones at the moment but would like metal. Are you EU or US based?
Posted: 25 Apr 2016, 01:23
by chuckdee
US Based.
Posted: 25 Apr 2016, 03:31
by vivalarevolución
hasu wrote: I finally configured my keymap for this tiny and typing on it. I don't have case and plate and it is bare PCB just with rubber feet but not bad on desktop. I played with split space bar for a while, I love it and came to believe that there is nothing to lose for me and it is beneficial option for less key keyboard.
my current keymap here if someone are interested.
https://github.com/tmk/flabber_kbs/blob ... map_hasu.c
Thanks flabber!

That's an interesting look for sure, with the rubber bumps right on the PCB. Whatever works, I suppose.
Posted: 26 Apr 2016, 01:07
by Saikou0taku
Bought one second-hand and really digging the layout for a portable board, however I'm struggling to compile the FW and get the following:
make: *** boards/KB45P: Is a directory. Stop.
Any idea what I am doing wrong?
Posted: 26 Apr 2016, 01:10
by chuckdee
flabbergast wrote: Pretty nice!
And it's true that it's not easy to even get ALPS keycaps with the right profiles, and almost impossible to get some with the right legends

Hopefully Alpine Winter will have been enough of a success that something similar is going to run again and we'll be able to get at least blanks for the more tricky keys.
Also: the compiling instructions are perhaps not so clear, and before the little bits get merged into TMK and Chibios, please use this for compiling:
1) getting an ARM toolchain plus development tools
ARM toolchain from here:
https://launchpad.net/gcc-arm-embedded
You'll also need misc dev tools (make, grep, ...); these are either:
http://www.mingw.org/wiki/msys
or:
https://www.cygwin.com/
2) Getting the sources:
a) my sources for kb45p:
zip
b) tmk_core (newapi branch ATM):
zip
c) chibios (there's been some recent changes in chibios git that will make adjusting the sources inevitable; so you can use my branch which hasn't been updated to these (link below), or you can also probably use the latest stable chibios release):
zip
{These will change with time, as the code is being merged to upstream tmk and chibios, but at the moment these forks should be sychronised just right.}
Now unpack these: the directory structure you should end up with is:
Code: Select all
<empty_dir_of_your_liking>
|-- flabber_kbs (unpacked and renamed contents of the zip from a)
\-- tmk_core (unpacked and renamed contents of the zip from b)
\-- tool/chibios/chibios (unpacked and renamed contents of the zip from c)
Now go to 'flabber_kbs/kb45p' and run 'make'. This should compile the firmware, and the resulting freshly built one is 'build/ch.bin'.
From earlier in the thread. You have to pay attention to the directory structure.
Posted: 26 Apr 2016, 07:15
by Saikou0taku
chuckdee wrote: flabbergast wrote: Pretty nice!
And it's true that it's not easy to even get ALPS keycaps with the right profiles, and almost impossible to get some with the right legends

Hopefully Alpine Winter will have been enough of a success that something similar is going to run again and we'll be able to get at least blanks for the more tricky keys.
Also: the compiling instructions are perhaps not so clear, and before the little bits get merged into TMK and Chibios, please use this for compiling:
1) getting an ARM toolchain plus development tools
ARM toolchain from here:
https://launchpad.net/gcc-arm-embedded
You'll also need misc dev tools (make, grep, ...); these are either:
http://www.mingw.org/wiki/msys
or:
https://www.cygwin.com/
2) Getting the sources:
a) my sources for kb45p:
zip
b) tmk_core (newapi branch ATM):
zip
c) chibios (there's been some recent changes in chibios git that will make adjusting the sources inevitable; so you can use my branch which hasn't been updated to these (link below), or you can also probably use the latest stable chibios release):
zip
{These will change with time, as the code is being merged to upstream tmk and chibios, but at the moment these forks should be sychronised just right.}
Now unpack these: the directory structure you should end up with is:
Code: Select all
<empty_dir_of_your_liking>
|-- flabber_kbs (unpacked and renamed contents of the zip from a)
\-- tmk_core (unpacked and renamed contents of the zip from b)
\-- tool/chibios/chibios (unpacked and renamed contents of the zip from c)
Now go to 'flabber_kbs/kb45p' and run 'make'. This should compile the firmware, and the resulting freshly built one is 'build/ch.bin'.
From earlier in the thread. You have to pay attention to the directory structure.
GOT IT!!!!! thank you very much.
Posted: 26 Apr 2016, 08:19
by flabbergast
Hi folks, because the above instructions point to github and the sources there get updated quite often, it may happen that the three repos are out-of-sync. So I've created just one archive with all the sources (including TMK and ChibiOS), you can download here, link below. Just unpack, 'cd kb45p' and 'make'.
https://dl.dropboxusercontent.com/u/638 ... sources.7z
You'll still need to get an ARM toolchain up and running.
Posted: 27 Apr 2016, 02:16
by vivalarevolución
flabbergast wrote: Hi folks, because the above instructions point to github and the sources there get updated quite often, it may happen that the three repos are out-of-sync. So I've created just one archive with all the sources (including TMK and ChibiOS), you can download here, link below. Just unpack, 'cd kb45p' and 'make'.
https://dl.dropboxusercontent.com/u/638 ... sources.7z
You'll still need to get an ARM toolchain up and running.
Thank you, that is a useful simplification.
Posted: 03 May 2016, 04:19
by chuckdee
Did anyone do this with Cherry switches?
Posted: 14 May 2016, 23:14
by need
Mine with plywood plates:

- RenderedContent-493DDD9A-0140-426D-BB2A-A4A3C696384B.JPG (126.61 KiB) Viewed 5674 times

- RenderedContent-E5F10F9C-8A9B-4CC7-88D8-7F3255377471.JPG (107.69 KiB) Viewed 5674 times
I'm planning to play with the keymap later, but for now can I please know how to check the stock layout?
I'm having trouble in trying to find these symbols below
? " ! @ : -
also the "delete" key
Thanks
Posted: 14 May 2016, 23:20
by flabbergast
You can see the default layout in the
sources.
EDIT: Note that the symbols like @ is really 'shift+2'. 'minus' and 'equal' are missing from the current layout.
EDIT2: I've updated it now a bit, also the 'default-fw.bin' file (so you can flash that to get the layout that is now default). For the original one that was flashed in the shipped PCBs, you can see
here.
Posted: 14 May 2016, 23:44
by need
flabbergast wrote: You can see the default layout in the
sources.
EDIT: Note that the symbols like @ is really 'shift+2'. 'minus' and 'equal' are missing from the current layout.
Thanks a lot, that's really helpful, I'm finding the stock layout quite intuitive.
I'm wondering how it produces @ when 'shift+2' is being put in , because I can't see it in the keymap.
Also, what do the abbreviations - TRNS and LGUI stands for ?
Posted: 15 May 2016, 00:21
by ahhyes
need wrote:
Also, what do the abbreviations - TRNS and LGUI stands for ?
TRNS - transparent, it means it just uses the key on the layer below.
LGUI - Windows key
Posted: 15 May 2016, 00:34
by flabbergast
For @: I meant that you can't directly put that into the keymap without using macros, because a computer produces that symbol when it thinks that two keys are pressed ('shift' and '2'). No keyboard can produce just '@' as one keypress, because no computer would understand that.
So, to get '@' on (say) kb45p, you need to make the keyboard produce a 'shift' and '2'. 'Shift' has its own key, but to get '2' "keypress" you need to do 'FN0+W'. So all together it would be shift+fn0+w.
Of course you can write a macro that sends to a computer the following sequence ('shift' down, '2' down, '2' released, 'shift' released) which would then look like you're 'typing' @ { - on a US layout.}
Posted: 15 May 2016, 00:37
by flabbergast
BTW, I should say - I really like what you guys made with the PCB. You're the best!
Posted: 15 May 2016, 02:41
by need
flabbergast wrote: OK, so some instructions for flashing firmware on Windows.
When you enter the "bootloader" mode, a.k.a. "DFU mode", Windows should automatically install drivers (you can read about this on pages 7-8 of
this pdf).
This may not exactly work for some reason (google "STM32 DFU bootloader windows driver" to see some reports).
However you should see something like "STM32 BOOTLOADER" or "STM32 device in DFU mode" in the 'device manager' under 'USB devices' or 'USB controllers'.
We'll need to replace this driver with a winusb one anyway. So, get
zadig. Run it while the keyboard is plugged in *and* in DFU mode. Select the relevant "STM32 DFU" device from the drop down list (you may need to do "Options" -> "List all devices"). Select "winusb" driver in the list to the right of the green arrow. Punch "replace driver" or "install driver" button. This should install/replace the current driver for the DFU device with a winusb one - which is what's needed for dfu-util to work.
Second step: dfu-util. You can get a binary from here: dfu-util-static.exe. You can use this from the command line (get into one with <Win+R>cmd.exe<Enter>). Running 'dfu-util-static.exe -l' should list the STM32 DFU device (actually 2 of them).
I'm trying to flash the new keymap on win7, and I got winusb installed.
However for the second step, I got this error:

- Untitled.jpg (70.16 KiB) Viewed 5629 times
(dfu-til-static.exe is on my Desktop)
Posted: 15 May 2016, 04:23
by chuckdee
If it's on your desktop, it's not in that directory. Your desktop directory is c:\users\<username>\desktop
Posted: 15 May 2016, 13:46
by need
Thanks, the command works now.
However I didn't complete the whole process yesterday, which the keyboard still in bootloader mode. I connected it again today, it says Unknown Device, and it has no response at all when I hold the flashing button on the board in a hardware way. I tried uninstalling and disable the device, but it's the same result.
Posted: 15 May 2016, 17:43
by flabbergast
To get to the bootloader, you need to hold the button when plugging in. If you could try this on another computer, that would be great (because this should work regardless of the firmware on the chip).
Posted: 15 May 2016, 21:30
by need
It works on another computer both as a keyboard and on bootloader mode, but on this computer it works yesterday now it doesn't.
This particular computer seems like it doesn't respond to button holding at all.
I tried to uninstall the driver and plug it in again, but still showed as "Unknown device" with a cross next to it.
I'm trying to work on this computer, because winusb always "failed to install" on my computer that can recognize the keyboard. (Zadig)
I always seem to have so much trouble flashing things, I'm still stuck on flashing my diy soerer and Hasu ADB converter. Would you recommend having Ubuntu installed on my spare computer? (I don't do work on it, so it's pretty empty) I heard it's somehow better for programming things, and Windows seems so unstable.
Posted: 15 May 2016, 22:58
by flabbergast
Definitely. If you can do things on linux, it would go much easier (basically no driver problems, easier to install development things). It may even be enough to run it in virtualbox.
Posted: 18 May 2016, 00:51
by vivalarevolución
flabbergast wrote: Hi folks, because the above instructions point to github and the sources there get updated quite often, it may happen that the three repos are out-of-sync. So I've created just one archive with all the sources (including TMK and ChibiOS), you can download here, link below. Just unpack, 'cd kb45p' and 'make'.
https://dl.dropboxusercontent.com/u/638 ... sources.7z
You'll still need to get an ARM toolchain up and running.
I took this for a ride and can confirm that it is super easy to use rather than having to move and rename folders.
Posted: 19 May 2016, 07:10
by ahhyes
I just want to check before I try flashing the firmware (not sure if I can break it or not):
So the command
Code: Select all
dfu-util -a 0 -s 0x8000000 -D default-fw.bin
Gives the error:
Code: Select all
dfu-util: Invalid DFU suffix signature
Listing the devices gives:
Code: Select all
Deducing device DFU version from functional descriptor length
Found Runtime: [0a5c:217f] ver=0360, devnum=4, cfg=1, intf=3, path="1-1.4", alt=0, name="UNKNOWN", serial="78DD08B552AC"
Found DFU: [0483:df11] ver=2200, devnum=10, cfg=1, intf=0, path="2-1.2", alt=1, name="@Option Bytes /0x1FFFF800/01*016 e", serial="FFFFFFFEFFFF"
Found DFU: [0483:df11] ver=2200, devnum=10, cfg=1, intf=0, path="2-1.2", alt=0, name="@Internal Flash /0x08000000/032*0001Kg", serial="FFFFFFFEFFFF"
Should I be using
Code: Select all
-s FFFFFFFEFFFF or 0x08000000/032*0001Kg
?
Posted: 19 May 2016, 08:41
by flabbergast
You have one more dfu-capable device attached (some bluetooth things are), so you need to select the right one (as you've figured out). I would go with specifying the VID:PID (that should be most reliable):
Posted: 19 May 2016, 20:57
by ahhyes
Thanks! I'll give it a go tonight.
Here's a preview of my plates:
Stainless cut and laser engraved by lasergist.com. Was $50 for both plates shipped. Would've been really cheap, maybe $30 if I didn't bother with the laser engraving and I didn't chose any finishing extras.
Posted: 19 May 2016, 22:21
by chuckdee
I'm using cherry, so I couldn't go with the default plates, which is why I'm having a harder time of it. Hopefully done soon.
Posted: 20 May 2016, 02:35
by chuckdee
Render of my cherry top plates.
https://drive.google.com/file/d/0B2tKyf ... hHU2M/view
Flabbergast, did you have a keyboard-layout-editor layout for this board?