@livius I made a version in which you can control the join behaviour. It is just a handful of code lines. You'll find it here:
https://github.com/robert-hh/pycom-micropython-sigfox/tree/otaa
I added an optional parameter to join.
Edit: While testing it came again to my mind to me that you can achieve the same thing with the standard SW:
step1: do an otaa join
step2: take the parameters from the web console, use them as ABP parameters and use ABP join then with just the single frequency in the list of channels. If you then save the state to nvs_ram, you do not have to call join again. The keys will be restored by nvs_restore(), which you must call anyhow to set the counters.