© 2018 by Zack Smith. All rights reserved.
Why build the AVR toolchain at all?
- You could download a precompiled AVR toolchain.
- You could build it yourself.
The problem with downloading binaries is that there's always the risk they might contain malware. You typically won't know who compiled it and what their motives were. You may think you downloaded a compiler but actually it's a compiler+spyware.
Why update your keyboard firmware?
There are four possible gains:
- Programming a better layout e.g. swapping Alt and Windows keys to be like a Mac keyboard.
- Achieving funkier LED light effects.
- Alleviating firmware bugs.
- Avoiding malware risks.
A malicious USB device can do more mischief than you'd expect.
- It can change its USB device type to network, which your computer will automatically connect to. It can then receive and send a copy of all your network traffic to a faraway server.
- It can serve as a key logger, storing your usernames and passwords and eventually uploading those to someone's server.
- It can potentially attack other USB devices, overwriting their firmware with malicious code.
After much honing and fixing, I got the AVR toolchain to compile on MacOS 10.14 Mojave. The following script should just work:
WARNING! If you write the
.bin file to your keyboard using a Mac,
you must remove the extra files that MacOS adds, or you will brick your keyboard.
Press ESC to unmount.