geekhack Marketplace >

SixKeyBoard Firmware Update to Easy AVR


Hi folks,

Im new to this world and have recently purchased a sixkeyboard. After a little back and forth with the team at techkeys via email they said flashing it with easy avr would give me more flexibility on the mac (they have been great so far through the process)

Im at the point now where I dont know how to get it into bootloader mode (the guide ive been following is the mac guide shown here

Im using dfu-programmer and the terminal is showing me this

/usr/local/bin/dfu-programmer atmega16u2 erase
dfu-programmer: no device present.
/usr/local/bin/dfu-programmer atmega16u2 flash /Users/newton/Documents/6kb.hex
dfu-programmer: no device present.
/usr/local/bin/dfu-programmer atmega16u2 reset
dfu-programmer: no device present.

Can anyone give me guidance to how I can do this or if I am missing a part of the puzzle?


I'm on Mac too and I had a couple of similar issues to you. Here's how I sorted mine out. Before you go ahead doing any of this, I'm assuming you've installed DFU-Programmer? If you have, crack on with how i sorted it using Easy AVR and Crossover.

First you want to wipe completely:

--- Code: ---sudo dfu-programmer atmega16u2 erase --force
--- End code ---

Which should give you something like:

--- Code: ---Erasing flash...  Success
Checking memory from 0x0 to 0x2FFF...  Empty.

--- End code ---

Then you want to create your .hex file. I used EasyAVR via Crossover. You can do it through a Mac "natively" but I have Crossover installed for other software. There is a free trial for Crossover that you could use to setup your initial firmware but to be honest, it's pretty handy to have in this keyboard world as a lot of the tools and software is made for PC (i've found).

Once you've got your .hex file you want to get the SixKeyBoard into bootloader. To do this, look at the board and with the USB at the top,  look for 2 solder joints on the top right and using tweezers or a jumper, touch those together. You should now be in bootloader.

If you are, go into terminal and do this:

--- Code: ---sudo dfu-programmer atmega16u2 flash /path/to/file/filename.hex --suppress-bootloader-mem
--- End code ---

If it's all good, you should see something like:

--- Code: ---Checking memory from 0x0 to 0x2F7F...  Empty.
0%                            100%  Programming 0x2F80 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
0%                            100%  Reading 0x3000 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
Validating...  Success
0x2F80 bytes written into 0x3000 bytes memory (98.96%).

--- End code ---

Then you want to unplug it and plug it back in again and things should be happy days and work. I don't think you need to unplug it, but my switch LED's only came on once I'd unplugged it and back in again.

If you run into any issues, just give me a shout and i'll see if i can help out any further.

Good luck  :thumb:

I am also trying to flash my sixkeyboard with Easy AVR. I follow the directions above but the board seems to resist being erased or something. I get:

Erasing flash... Success
Checking memory from 00 to 02FFF... Not blank at 01

I thought that looked like bad news, but I still tried flashing. It does not work. If I unplug the board, and plug it back in, the default it came with is still there when it was supposed to have been erased.


[0] Message Index

Go to full version