This is exactly the solution we’re implementing in the next Farmduino:
The coprocessor will live alongside the Arduino MCU and communicate with it over SPI. It is an STM32 processor with timers, which, as you mentioned, should make the sampling rate a non-issue. In the future, it is possible we might eliminate the Arduino MCU and shove the whole firmware into the STM32 for simplicity and cost reasons. Though we’ll need to determine if it is worth doing that and sacrificing being in the Arduino family.
The first (current) Farmduino was primarily designed to have a better board layout and connectors that are more optimized for FarmBot rather than 3D printers. This makes setup of the v1.3 electronics much easier, which was a pain point for v1.2 people who had RAMPS. The first Farmduino didn’t significantly improve performance over RAMPS, only the ease of use.
The next Farmduino aims to increase performance through the features mentioned above.
As with the development of any project, we must tackle issues in stages. Even with the next Farmduino, and the ones after that, there will be things to improve. Each iteration will get better (more performant, more reliable, lower cost, smaller size, easier to work with, etc), but we can only improve so much with each version because we have to continue shipping products and releasing new designs frequently.
Thanks for the good response @roryaronson, great to see the future plans for Farmduino. As a user I have different requirements from a supplier/developer, so thanks also for putting things in perspective from your side!
It will also eliminate needs for encoders (and encoder cables, board connectors, less computational power needed, etc…). Trinamic looks like responsive and cooperative company in regards of opensource projects.
I am trying to decide to buy the existing v1.3 kit or wait for the v1.4. Is it known yet what improvements will make it into the 1.4 kit. Seeing that there is only 2/3 months till the 1.4 ships I feel that there should be a good estimation of what upgrades discussed in this thread will make it in the kit. Also is it going to be possible to easily upgraded the 1.3 once these parts are available?
I want to piggy back on CM843’s comment here. I’m still mulling over jumping to v1.4 even though I literally just purchased the v1.3 upgrade kit. While mulling this over, a part of the upgrade calculus is "What do I do with the old hardware?" One idea I had was to build another Farmbot for less ‘mission’ critical’ farming adventures (spices, succulents, maybe indoor plants in the winter). This will require some level of software support (from myself, from FarmBot, Inc, the FarmBot community, some combination thereof). This ‘recycled/upcycled hardware’ scenario would be a very interesting second tier use case that fits in with FB’s ethos of sustainable farming. Is there a roadmap for software support for legacy hardware? Even if that roadmap is “It’s all open source and on GitHub; go knock yourself out!” I know FarmBot is aware of Microsoft’s legacy issues with Windows and at some point, the software just needs to move on. As Farmbot moves away from general purpose hardware, the associated software will begin to suffer from this legacy support conundrum. Having a communicated plan is much better than not having a plan at all, even if the plan is to ‘let it die’.
The latest software can be installed and used on older hardware by selecting the FarmBot Genesis kit version in the FarmBot OS Configurator hardware dropdown menu.
New versions are added to the menu as they are released, and previous versions remain available for selection for those with a previous kit version.
Excellent. Is this the forever plan? Meaning, when version 3.14 of the hardware is released running a snapdragon processor/Farmduino, my trusty 1.2 version of the hardware running a Pi/RAMPS will still be able to run the latest software available (e.g. version 9.8) assuming it has that piece of abstract hardware (e.g. say a future ‘pause’ button but not say, controlling a new rototiller attachment)?