kb45p - 45% prototype board (ALPS supported)
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
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.
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.
- chuckdee
- Location: USA
- Main keyboard: Clueboard/RS Ver.B
- Main mouse: Logitech g900
- Favorite switch: Cherry MX Brown
- DT Pro Member: 0151
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.
- hasu
- Location: Japan
- Main keyboard: HHKB
- Main mouse: HHKB
- Favorite switch: Topre
- DT Pro Member: -
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!
my current keymap here if someone are interested.
https://github.com/tmk/flabber_kbs/blob ... map_hasu.c
Thanks flabber!
-
- Location: CA, USA.
- Main keyboard: Poker 2
- Main mouse: MX518
- Favorite switch: Brown
- DT Pro Member: -
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?
chuckadee - I'm interested in plates. i have some plastic ones at the moment but would like metal. Are you EU or US based?
- vivalarevolución
- formerly prdlm2009
- Location: USA
- Main keyboard: IBM Beam spring
- Main mouse: Kangaroo
- Favorite switch: beam spring
- DT Pro Member: 0097
That's an interesting look for sure, with the rubber bumps right on the PCB. Whatever works, I suppose.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!
-
- Location: USA - FL
- Main keyboard: Deck Francium Pro
- Main mouse: Logitech G500s
- Favorite switch: MX Browns
- DT Pro Member: -
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?
make: *** boards/KB45P: Is a directory. Stop.
Any idea what I am doing wrong?
- chuckdee
- Location: USA
- Main keyboard: Clueboard/RS Ver.B
- Main mouse: Logitech g900
- Favorite switch: Cherry MX Brown
- DT Pro Member: 0151
From earlier in the thread. You have to pay attention to the directory structure.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:Now go to 'flabber_kbs/kb45p' and run 'make'. This should compile the firmware, and the resulting freshly built one is 'build/ch.bin'.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)
-
- Location: USA - FL
- Main keyboard: Deck Francium Pro
- Main mouse: Logitech G500s
- Favorite switch: MX Browns
- DT Pro Member: -
GOT IT!!!!! thank you very much.chuckdee wrote: ↑From earlier in the thread. You have to pay attention to the directory structure.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:Now go to 'flabber_kbs/kb45p' and run 'make'. This should compile the firmware, and the resulting freshly built one is 'build/ch.bin'.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)
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
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.
https://dl.dropboxusercontent.com/u/638 ... sources.7z
You'll still need to get an ARM toolchain up and running.
- vivalarevolución
- formerly prdlm2009
- Location: USA
- Main keyboard: IBM Beam spring
- Main mouse: Kangaroo
- Favorite switch: beam spring
- DT Pro Member: 0097
Thank you, that is a useful simplification.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.
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
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.
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.
- need
- Location: United Kingdom
- DT Pro Member: -
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 ?
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
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.}
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.}
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
BTW, I should say - I really like what you guys made with the PCB. You're the best!
- need
- Location: United Kingdom
- DT Pro Member: -
I'm trying to flash the new keymap on win7, and I got winusb installed.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).
However for the second step, I got this error:
(dfu-til-static.exe is on my Desktop)
- need
- Location: United Kingdom
- DT Pro Member: -
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.
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.
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
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).
- need
- Location: United Kingdom
- DT Pro Member: -
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.
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.
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
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.
- vivalarevolución
- formerly prdlm2009
- Location: USA
- Main keyboard: IBM Beam spring
- Main mouse: Kangaroo
- Favorite switch: beam spring
- DT Pro Member: 0097
I took this for a ride and can confirm that it is super easy to use rather than having to move and rename folders.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.
-
- Location: CA, USA.
- Main keyboard: Poker 2
- Main mouse: MX518
- Favorite switch: Brown
- DT Pro Member: -
I just want to check before I try flashing the firmware (not sure if I can break it or not):
So the command
Gives the error:
Listing the devices gives:
Should I be using ?
So the command
Code: Select all
dfu-util -a 0 -s 0x8000000 -D default-fw.bin
Code: Select all
dfu-util: Invalid DFU suffix signature
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"
Code: Select all
-s FFFFFFFEFFFF or 0x08000000/032*0001Kg
- flabbergast
- Location: Southampton, UK
- DT Pro Member: 0120
- Contact:
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):
Code: Select all
-d 0483:df11
-
- Location: CA, USA.
- Main keyboard: Poker 2
- Main mouse: MX518
- Favorite switch: Brown
- DT Pro Member: -
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.
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.
- chuckdee
- Location: USA
- Main keyboard: Clueboard/RS Ver.B
- Main mouse: Logitech g900
- Favorite switch: Cherry MX Brown
- DT Pro Member: 0151
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?
https://drive.google.com/file/d/0B2tKyf ... hHU2M/view
Flabbergast, did you have a keyboard-layout-editor layout for this board?