Can we design the teensy alternative for keyboards?
-
- Location: Finland
- Main keyboard: ergoDox
- Main mouse: zowie ec2
- Favorite switch: brown
- DT Pro Member: -
I guess that the risk is just in setting the security flags correctly in the binary file?
I'm not sure if we can have our own bootloader flashed to ROM without placing a stupid large order to NXP. We could build a smaller one on top of it in flash though, if that is what you meant.
I'm not sure if we can have our own bootloader flashed to ROM without placing a stupid large order to NXP. We could build a smaller one on top of it in flash though, if that is what you meant.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
have to check with the manufacturer about that
-
- Location: Finland
- Main keyboard: ergoDox
- Main mouse: zowie ec2
- Favorite switch: brown
- DT Pro Member: -
I'm fairly certain that haata's kiibohd bootloader resides in the flash area as well. The first 4k to be exact. And the manufacturer can just give the boards as is. The default bootloader (which is in ROM) can be used to load haata's one in as required.
The K20 processors kiibohd has run before do not have a ROM bootloader in place, but rather rely on flash bootloaders completely and can be bricked as well if given wrong flash security settings as part of the binary.
The K20 processors kiibohd has run before do not have a ROM bootloader in place, but rather rely on flash bootloaders completely and can be bricked as well if given wrong flash security settings as part of the binary.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
got it
- hasu
- Location: Japan
- Main keyboard: HHKB
- Main mouse: HHKB
- Favorite switch: Topre
- DT Pro Member: -
IIRC, ROM Bootloader can masserase and recover from FSEC corruption as long as you can access it. But ROM Bootloader can also change Bootloader Configuration Area (BCA) and corrupted BCA can prevent you from getting access ROM Bootloader. "Brick" I meant is this situation. I had to use SWD programmer to recover BCA.pomk wrote: ↑I guess that the risk is just in setting the security flags correctly in the binary file?
ROM Bootloader allows users even to update Flash Bootloader themselve, this would be great if they are just careful with good instruction when using it. And it is safer option that users usually use Falsh Bootloader to update keyboard firmware.
IIRC, Haata's kiibohd bootloader writes firmware elaborately keeping FSEC address untouched so that users cannot brick their keyboard. Our bootloader will have to keep away from BCA in addition to FSEC.
- hasu
- Location: Japan
- Main keyboard: HHKB
- Main mouse: HHKB
- Favorite switch: Topre
- DT Pro Member: -
Maybe I'm too anxious, after check-in app note again I think it is too difficult to config BCA accidentally. And people in the loop of keyboard community like DT, GH and r/mk are not kind of consumers. We can be optimists for initial batches at least.
Though, someone should check documents of kinetis bootloader and tool before we decide it.
Sent from my Nexus 5X
Though, someone should check documents of kinetis bootloader and tool before we decide it.
Sent from my Nexus 5X
-
- Location: Finland
- Main keyboard: ergoDox
- Main mouse: zowie ec2
- Favorite switch: brown
- DT Pro Member: -
The kinetis bootloader tool is a bit tedious to use. It comes only as a command line tool and you have to type at least 4 phrases every time you wish to upload a new firmware. It's still pretty easy, but the kiibohd bootloader is easier. You can of course use both! The BL button invokes the ROM bootloader (press and hold while plugging the USB cable), while the RESET button invokes the flash bootloader (similarly to how it happens on white fox etc.), if present.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
boards are in production... ETA 2-3 weeks
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
These would be the gerber files as modified by the fab for production.
pomk is already checking them, but I guess an additional pair of eyes wouldn't hurt.
pomk is already checking them, but I guess an additional pair of eyes wouldn't hurt.
- Attachments
-
- ok.zip
- (705.45 KiB) Downloaded 157 times
- vsev
- Location: France
- Main keyboard: G80-1861HAF/1987' M
- Main mouse: large scroll wheel ones
- Favorite switch: mx blue/ Buckling Spring
- DT Pro Member: -
Didn't took time to read from beginning, would that thing be ready to run whatever keyboard pcb to plug in through somehow specific code ?
Great project indeed !
Great project indeed !
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
samples are ready! will be shipped to me soon
- Ray
- Location: Germany
- Main mouse: touchpad
- DT Pro Member: -
"that thing" is hardware in the first place. It will run firmware, not keyboard pcbs.vsev wrote: ↑Didn't took time to read from beginning, would that thing be ready to run whatever keyboard pcb to plug in through somehow specific code ?
Great project indeed !
If you have specific code, good for you. Of course they had the usual community firmware in their mind when choosing chips, so it won't be too hard to drive normal keyboard matices.
@matt3o:
great, when do you take orders for the first group buy?
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
as soon as the prototypes are confirmed working
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
Does everything look fine to you?
-
- Location: United States
- Main keyboard: Magicforce 68
- Main mouse: CM Storm Devastator
- Favorite switch: Cherry MX Brown
- DT Pro Member: -
Been watching this thread for a while now and it's exciting to see this come together. Looks awesome!
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
I have a very limited quantity of samples. I will send a couple to hasu, pomk, flabbergast and haata possibly.
If you feel skillful enough to beta test this first batch (knowing that you will likely need to tinker with bootloader and firmware) contact me directly. Please note this might not be the final product, you better wait for the second wave if you want a ready-to-use board.
If you feel skillful enough to beta test this first batch (knowing that you will likely need to tinker with bootloader and firmware) contact me directly. Please note this might not be the final product, you better wait for the second wave if you want a ready-to-use board.
- cookie
- Location: Hamburg, Germany
- Main keyboard: HHKB Pro 2
- Main mouse: MX Master
- Favorite switch: Topre
- DT Pro Member: -
Sadly, my skills are below what is necessary to actually work with the board. I'd love to start fiddeling around with hardware programming but I have no clue
Edit: If you have a spare controller I'd love to try it out and I will send it back to you if needed.
Edit: If you have a spare controller I'd love to try it out and I will send it back to you if needed.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
They are finally here. I had no time yet to play with it but I get a weird output by dmesg
Code: Select all
[34422.565667] usb 1-2: new full-speed USB device number 14 using xhci_hcd
[34422.700298] hid-generic 0003:15A2:0073.000E: hiddev0,hidraw7: USB HID v1.00 Device [Freescale Semiconductor Inc. Kinetis Bootloader] on usb-0000:00:14.0-2/input0
[34424.411211] usb 1-2: USB disconnect, device number 14
-
- Location: Finland
- Main keyboard: ergoDox
- Main mouse: zowie ec2
- Favorite switch: brown
- DT Pro Member: -
I think that is already a pretty good sign that the board itself at least functions, on some level, as it stays active for a pretty long time considering that it manages to do a handshake with the computer. Have you tried pressing the bl and reset buttons simultaneously when the board is plugged in? First push bl, then reset, then raise reset and last raise bl.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
I tried to reset but it just disconnects after few moments, but I have a feeling this is normal for a firmware free board. we have an LED, right? On which pin is it again? I can try to burn a very simple blinking program.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
still fighting with the development environment What do you guys use?
- pandp
- DT Pro Member: -
Teensy Loader, Command Line
https://www.pjrc.com/teensy/loader_cli.html
or
https://www.pjrc.com/teensy/loader.html
https://www.pjrc.com/teensy/loader_cli.html
or
https://www.pjrc.com/teensy/loader.html
-
- Location: Finland
- Main keyboard: ergoDox
- Main mouse: zowie ec2
- Favorite switch: brown
- DT Pro Member: -
This is not a teensypandp wrote: ↑Teensy Loader, Command Line
https://www.pjrc.com/teensy/loader_cli.html
or
https://www.pjrc.com/teensy/loader.html
I have not set up a compilation environment for this board yet, but I prefer a plain arm-gcc setup.matt3o wrote: ↑still fighting with the development environment What do you guys use?
You will probably have to follow one tutorial to set up the compilation environment & compile some example program and another one to use the rom bootloader for flashing. You should take extra care when setting the 'flash configuration area', which is part of the program binary you upload to flash. If the 'flash configuration area' is not set properly, it is possible to brick the chip so that you need a swd debugger to un-brick it.
Last edited by pomk on 18 Nov 2016, 11:14, edited 2 times in total.