Это действительно расплывчато, так как это действительно зависит от деталей кода / оборудования / навыка (ваших), но она - мои мысли об этом.
Это действительно зависит от качества существующего кода. Если это не так уж и плохо, я сначала попытался бы портировать его, а затем, вероятно, настроить его после того, как я его запустил.
Но если вы думаете, что сможете сделать хорошую / лучшую работу (возможно, потому что вы очень хорошо знакомы с аппаратным обеспечением) в разумные сроки, вы можете написать свою собственную.