It's been a long time since I made some programmer, so it's time to look at the market what's new here.
Silabs is manufacturing interesting microcontrollers - EFM8. It's cheap, based on venerable 8051 core and its programming interface is described in appnotes, SDCC will do the job as compiler, so why not?
Friend of mine discovered the new EFM8 are quite cheap micros with nice set of peripherals, though having 8051 core. The core isn't most powerful one, but it's been around for decades, with lot of development tools for. If you exclude paid (and expensive) commercial compilers, you can use the SDCC, so this new kid got already very usable software support. Teh onyl thing about EFM8 I really don't like are the names - do you really need to name your micro "Laser bee"? What the gefro ghalvh. It sounds more stupid than Ubuntu codenames.
Silabs took classic "big company" line of thinking - here you got IDE with crippled compiler (though you can ask them to generate one-machine key to unlock the compiler, at least today) and closed source programmer/debugger. Fortunately, the programming interface is documented relatively good.
Being not happy with this approach, I decided to build my own programmer, to get really open-source toolchain.
I took PIC16F1825 and built simple hardware on piece of perfboard
The bottom side is my classic messy point to point soldering job
By the way, the EFM8 micro is soldered on one of my universal adapters from #Breakout board set I made time ago
I reused serial command parser from my #Microchip PIC Arduino based programmer project, added bitbanged C2 interface protocol support and the first micro was programmed after one evening of work. It should work on Windows and Linux. I strongly believe it should be easy to compile for Mac too, but I can't prove it.
The programming speed isn't much awesome now - 2kb/s for programming or 1kb/s for both programming/verify - but I expect it to get better with new revisions of firmware and software.
I bought some more EFM8 chips and plan to add support for them, so stay tuned. Resources are - as usual - on github, take a look here.