Closed klardotsh closed 6 years ago
I guess there's also the Teensy 3.2 to consider, which has a MicroPython port that lacks USB HID support. Another port that we could revive in either source tree, though to what use, I'm not entirely sure - that chip isn't particularly amazing compared to our other supported boards, unless one just has a pile of them laying around.
Teensy 3.5/3.6 is a better technical target, but more expensive and absolutely huge physically, and requires out-of-tree MicroPython patches.
It's likely also worth noting that our Pyboard support has been dwindling - currently HID only works on Linux boxes (haven't tested our CircuitPython targets on Windows yet, though), and only supports 5KRO rather than 6. This is likely because of some bug on my end.
For the time being, I would agree to remove micropython from the officially supported list, though as a community maintainer, and not as a core maintainer of this project, continue to ensure support for at least micropython. Where there are no boards that really fit the description of being a good "Keyboard PCB" I would argue that there may be later, and with stronger chips. So with that said, to ease the burden of adding new features, for the time being at least, we should drop micropython "officially" with the intention of adding backofficial support when and if boards that are more suitable for keyboards were to surface.
This is made mostly official in #62, so I'm going to consider this decided and closed (since I agree with the recommendation, and we have a council size of a whopping two people right now. DEMOCRACY!)
Right now our supported boards list consists of the PyBoard v1.1 (STM32/MPY), and two Adafruit boards (the Feather and ItsyBitsy M4 Expresses, both SAMD51/CPY). Our pipeline for supported devices right now includes the NRF52840 (NRF/CPY), Planck Rev6 (no existing port, most feasible is likely MicroPython to STM32F303), and possibly the Proton, which if I had to guess is likely to be similar to the Planck r6.
The common pattern here is that our best-supported, most economical, and most feature-complete boards are CircuitPython-based. We effectively support MicroPython for one expensive, RAM-constrained STM32 chip (and hold out hope for a future extremely-flash-constrained chip). It's worth deciding if the technical weight of this port is actually worthwhile: a single Python target would be much easier to reason about.
It's also entirely possible to have our cake and eat it too, preserving device support while moving to target CircuitPython exclusively, by reviving the
stm32
port in CircuitPython's source tree, though it's deviated very heavily from upstream MicroPython at this point and that refactor would not be small.Some factors to consider in this: with extremely economical options such as the Feather and ItsyBitsy available, and more feature-filled devices such as the NRF Feathers available for similar or lower pricepoints to the PyBoard, will that port actually be used enough to justify the support? Is porting to STM32F3 a worthwhile endeavor to add support for the Planck? Will the Proton perhaps be a bit less contsrained than the Planck, and thus a more worthwhile porting target (and thus another reason to keep the MPY tree around)?