Posted: 16 Jul 2014, 15:20
I actually couldn't reproduce any delay at all on my own Pro Micro, which is really nice. Even with all of the plugging and unplugging when debugging, my Soarer converter worked instantly.
mechanical keyboard authority
http://www.deskthority.net/
I actually couldn't reproduce any delay at all on my own Pro Micro, which is really nice. Even with all of the plugging and unplugging when debugging, my Soarer converter worked instantly.
problem with SparkFun is import taxes, you can find some of their stuff in EU but they are quite expensive.arbitrarycombination wrote: I’ve been using the SparkFun Pro Micro for a while, and I’m satisfied with it. Biggest plus to me is the Micro-USB connector, since I refuse to buy any more Mini-USB stuff (this is one of my pet peeves). It doesn’t have space for ISP pin headers though. More annoyingly, it does not have any mounting holes
The Arduino Pro Micro is nice as well. Has Micro-USB and ISP pin headers, but comes with the pin rows pre-soldered (at least mine did), so it’s hard to stuff in a keyboard case.
For anyone concerned with bootloader times: if you tinker with AVR processors regularly, I recommend getting an AVR Dragon for about 50€. This allows you to flash anything to a wide range of AVR processors via ISP or JTAG, without worrying about bootloader stuff. Highly recommended if you can justify the expense
Code: Select all
enum function_id {
TEENSY_KEY
};
void action_function(keyrecord_t *event, uint8_t id, uint8_t opt)
{
print("action_function called\n");
print("id = "); phex(id); print("\n");
print("opt = "); phex(opt); print("\n");
if (id == TEENSY_KEY) {
clear_keyboard();
print("\n\nJump to bootloader... ");
_delay_ms(250);
bootloader_jump(); // should not return
print("not supported.\n");
}
}
const uint16_t PROGMEM fn_actions[] = {
ACTION_LAYER_MOMENTARY(1),
ACTION_FUNCTION(TEENSY_KEY)
};
Code: Select all
Johns-MacBook-Pro:~ John$ avrdude -p atmega32u4 -P /dev/cu.usbmodem1451 -c avr109 -U flash:w:/Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex
Connecting to programmer: .avrdude: butterfly_recv(): programmer is not responding
Johns-MacBook-Pro:~ John$ avrdude -p atmega32u4 -P /dev/cu.usbmodem1451 -c avr109 -U flash:w:/Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex
avrdude: ser_open(): can't open device "/dev/cu.usbmodem1451": No such file or directory
Eavrdude: butterfly_recv(): programmer is not responding
Johns-MacBook-Pro:~ John$ avrdude -p atmega32u4 -P /dev/cu.usbmodem1451 -c avr109 -U flash:w:/Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex
Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices:
Device code: 0x44
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9587
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex"
avrdude: input file /Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex auto detected as Intel Hex
avrdude: writing flash (14414 bytes):
Writing | ################################################## | 100% 1.09s
avrdude: 14414 bytes of flash written
avrdude: verifying flash memory against /Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex:
avrdude: load data flash data from input file /Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex:
avrdude: input file /Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex auto detected as Intel Hex
avrdude: input file /Users/John/Dropbox/Keybored/Soarer_Converter_v1.10/firmware/Soarer_at2usb_v1.12_atmega32u4.hex contains 14414 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.12s
avrdude: verifying ...
avrdude: 14414 bytes of flash verified
avrdude: safemode: Fuses OK (H:CB, E:D8, L:FF)
avrdude done. Thank you.
Code: Select all
Johns-MacBook-Pro:10.6 intel John$ ./scwr ../10.5\ ppc/SpaceInvader
scwr v1.10
scwr: looking for Soarer's Converter: found
scwr: reading file: 179 bytes: ok
scwr: sending info request: ok
device: failed to respond
Code: Select all
Johns-MacBook-Pro:10.6 intel John$ ./scboot
scboot v1.10
scboot: looking for Soarer's Converter: found
scboot: sending boot request: ok
device: failed to respond
Code: Select all
Johns-MacBook-Pro:10.6 intel John$ ./scinfo
scinfo v1.10
scinfo: looking for Soarer's Converter: found
scinfo: sending info request: ok
device: failed to respond
Code: Select all
Johns-MacBook-Pro:10.6 intel John$ ./hid_listen
Waiting for device:...
Listening:
wEE
remaining: FFFC
Keyboard ID: 0000
Code Set: 1
Mode: PC/XT
^C
"plx gif moar info!"Igthorn wrote: With Grendel's BootHID bootloader on a blue pro micro, I can get tmk to jump to bootloader with 'magic key'+pause. The same config (adjusted for 4k boot area size) with the bootloader and fuses it came with just reboots.
Using this calc for reference, I changed fuses from 'lfuse:FF - hfuse: D8 - efuse: CB' to 'lfuse:FF - hfuse: D9 - efuse: C3' and hitting 'magic key'+pause jumps to bootloader for 8secs then loads tmk. Since I'm new to all of this I'm not exactly sure what all the fuses do yet. I think bootrst = 1 and HWBE = 0 fuses need to be set.
Code: Select all
#define RESET SS
#define LED_HB 9
not enoughsolarnz wrote: Are you planning on using a board per hand, or one board for both?
If you're planning on using two boards, the Pro Micro should be enough.
I would not recommend the Nano, as it does not use an AtMega32u4 chipset. The Pro Micro does, which means that software that is designed to run on the Teensy 2.0 board can run on it. You will have to look up the Arduino Leonardo / Micro / Pro Micro pin out to map the pin names between what the teensy uses and the Arduino uses, but that is it.
The Pro Micro does indeed not have a reset button, however this is not required.
1) With the default bootloader, it will stay in programming mode for 10 seconds (I think) when it is plugged in before booting the firmware that has been loaded.
2) You can wire your own switch on to it, all you have to do is connect the RESET pin to ground.
An added benefit of the Teensy and it's HalfKay bootloader is that it doesn't spend 10 seconds once it is plugged in to allow for programming. You have to explicitly either press the reset button, or short the reset pin to ground to allow you to program it. This could potentially save you a lot of frustration when trying to use your keyboard in your bios - Imagine being unable to hit the setup key due to your keyboard still booting!
how many pins are owned arduino leonardo r3?Soarer wrote: Teensy 2.0 is still the default go-to board for many projects - it's the smallest of the breakout boards, and a good reliable choice. Needless to say, it's the one the rest are compared with.
But different projects have different requirements, and sometimes the Teensy just isn't quite right for them.
---
To build the smallest converter I could, I used a dongle made by TIAO:
The soldering was difficult and fiddly, and one of the dongles I got didn't work, but I did get one working very nicely in the end![]()
---
Lately the Arduino Leonardo and clones have become highly available, and while they're comparatively large, they are easy to plug bits into and experiment with.
---
Today I spotted a breakout titled "Leonardo Nano Pro Mini ATmega32U4 ..." on eBay
This one looks quite nice - a little bigger than a Teensy, but it has a couple of nice features. The pinout is more regular, with the pins for each port mostly grouped together, so it would be nicer to use for a replacement keyboard controller. Also, it has mounting holes, so it should be easier to secure inside a project box, without having to first solder it to some stripboard.
---
Please post more!
(Please try to upload pictures here rather than link, and if the item is on ebay please try to give enough identification that it might be found again after the listing has expired. Thanks!)