I don't think CBinding.jl is an option, since the whole point of the arduino is that the julia runtime can't run there (and doesn't fit in the first place - there's not enough RAM and swapping to the SD seems bad). Linking with C created .o files should work though?
I don't own any ESP32, but if that happens, yes I'd very much like to try!
I think CBinding.jl could be helpful if one wanted to write a target-specific shim library in C and link against it. I would expect that some of the glue is going to be easier to write in C than in Julia, and you can play some tricks with macros to create bare modules [1] within some kind of `@arduino_setup`/`@arduino_loop`-style blocks.
Edit: By the way, those target-specific shims might already exist as part of the Arduino IDE. PlatformIO [2] is also another possible collider of these types of platform-specific glues.
[1]: https://docs.julialang.org/en/v1/manual/modules/#Default-top...
[2]: https://docs.platformio.org/en/latest/boards/index.html
PlatformIO is nice, yes - I've already been suggested linking/using that, but I haven't looked into it yet. I also haven't worked with that before, so it'd be completely new territory for me.
[1]: https://microcontrollerslab.com/use-freertos-arduino/
[2]: https://github.com/analytech-solutions/CBinding.jl
[3]: https://www.mathworks.com/help/supportpkg/arduino/run-on-tar...
[4]: https://github.com/espressif/llvm-project