pysense: why a coprocessor
i am wondering why there is a need for the coprocessor on the pysense board. is there any specific reason why the pcyom modules could not interface with the sensors directly?
@jcaron thanks for pointing to this informative thread! I've looked through the library code as well, very informative. In addition, I spent half a day reverse engineering the connections and looking up cryptic SMT markings for the undocumented parts on the board (TPS78233 LDO, BQ24040 Lipo charger, TT8J13 dual P channel FET).
Thankfully I don't need the low power capabilities of this board (I need an active WiFi connection), I only need the sensors, so this simplifies things.
Let's hope Pycom releases the secrecy around this board and published PIC source code and schematics.
@martinnn The source code of the Pysense library will tell you quite a few things, as well as the data sheets of the various components.
You'll find a bit more information on the internal wiring of the PIC in this old thread: https://forum.pycom.io/topic/1673/pysense-pinout-wake-on-pin/17
Is there any documentation on this? The pysense spec sheet is extremely meager.
@tmcolby Can't speak for Pycom, but my understanding is that the PIC provides the USB/serial communication (that was probably the main reason). It also includes battery voltage measurement, control of the power to the sensors. It also helps switching the module to programming mode purely by software.
It has also helped with early versions of the modules (LoPy, SiPy, WiPy 2) to manage deep sleep, including ways to wake up (timer, wake on pin, wake on interrupt), though this is more or less successful.
As far as I remember, most communication between the modules and the sensors does not actually go through the PIC, though.