1. I found a critical bug almost immediately, but Andreas fixed it within 24 hours, and was super helpful.
2. Once the issue was resolved, it was surprisingly straight forward to get it running. I started by wrapping the arduino libs, and quickly shifted to wrapping the AVR libraries directly.
One take away was: Nim (and Julia) are likely really nice languages to run in these sort of low-level environments.
Another take away: there's an opportunity to develop a low-level C-based library to better support efforts like this. Both AVR and Arduino libraries weren't designed to be wrapped in something like Nim. And the Arduino codebase could use a healthy refactoring.