Why
Because it can be done, it's an opportunity for me to learn, and it opens up the possibility for someone to do something unexpected.
BradWii doesn't offer much over the original firmware. In fact it takes away the trick flip features of the original. The features it does bring are mostly lost on the Hubsan Q4. The Q4 is too small for any significant payload, so using it to add GPS, magnetometer, or cameras isn't practical.
Don't do this to your Q4 if you think it's an upgrade. You'll be disappointed at best.
How
Most of the process is in the logs even though I was mostly done when I posted this to http://hackaday.io.
As of now there's a 3D printed SWD pogo pin jig, openocd setup to unlock and flash the micro, bradwii modified to build under GCC using make, and my Q4 flies about as well as stock to my untrained thumbs.
The Future
I'm done with this project. Not enough time, too many other projects.
If anyone wants to pick this up, here's what's left of my todo list:
- Put OpenOCD patch and target script in separate github
- Document:
- setting up build env
- setting up OpenOCD
- building the jig (done)
- building fw
- flashing fw
- using semihosting
- Find a better way for arm/disarm that works w/ the original 4ch remote
Ideas:
- Configure with UART-less MultiWii protocol over
- semihosting
- Unused RF protocol channel
- with high-end TX training port
- to PC with simultaneously paired radio module
- Servo control with PC camera tracking, using LED patterns as fiducials
- Add heading hold
also, is it possible to program it using an arduino uno? Thanks again