Router on/off control

Hey all, hey Michael @SailorMike, hey Tom @cyberreefguru, hey
Julian @OneCNC

sorry for replying in an old thread, but there is a new user here that spreads the same question all over the older postings instead of clicking on the links in posts I provide him.

The pins of the 25-pin I/O port come directly from the AVR ATXMEGA192A3U microcontroller on the Onefinity’s mainboard, not from the internal Raspberry Pi 3B. See Schematic diagram. So the inputs and outputs of 25-pin I/O port are like described in the AVR’s microcontroller manual: 3.3 V voltage and very few milliampères max. current draw. If you look at the code, most of the pins of the AVR are programmed with the internal pullup resistor enabled.

The internal Raspberry Pi exchanges data with the AVR ATXMEGA192A3U (datasheet) only via I²C Bus (SDA/GPIO2 (pin 3) and SDC/GPIO3 (pin 5)) (which enables the Raspberry Pi to upload code to the AVR and the ATTiny on firmware updates) and over the serial interface (TXD/GPIO14 (pin 8), RXD/GPIO15 (pin 10) and CTS/GPIO16 (pin 36 of Raspberry Pi GPIO header)).

The latter is how the CNC Controller part works, by the bbserial.ko kernel module (See also Deep dive: Hacking the 8-bit AVR – By Joseph Coffland).

Note that there is also a TinyAVR microcontroller on the board which measures and controls current that is connected to the same I²2 bus than the main AVR.

The Raspberry Pi inside the Onefinity Controller, as usual, runs with 5 V.

1 Like