Are there any programmable microcontrollers or add-on boards that contain an IMU, or ESCs? I've looked at the arducopter but this board's code is not open source, and I need something that can be programmed.
For drones you may check out the PixHawk, whose schematics and software (ArduPilot) are open-source and expandable. If you prefer you can also connect a companion computer via MAVlink and perform heavy-duty tasks on it, such as computer vision or obstacle avoidance. Apart from that, there are countless IMU boards which can be easily interfaced with popular uC like Arduino simply using I²C or SPI, from Chinese low-cost modules to thousand dollars ones used for advanced INS and dead reckoning.