specialist383 Posted September 14, 2017 Posted September 14, 2017 Last year I started a solar-sensing project with the Orange-Pi-Zero (256k), Armbian5.25, legacy kernel and made it work after a while. The Wifi funktion was rather poor and deteriorating, so I ordered a new OpiZero-Plus2-H3, same physical shape and connectors (I thought). Now the -P2 Armbian image 5.30 for the new board loaded perfectly, the Wifi function is really improved due to better hardware. The python part of the code works (still) perfectly. Only (most of) the gpio-functions of my project do not work any more with the new board attached. I use PA07, PA13 and PA14 for bit-bang gpio and a 1-wire sensor via the kernel. I modified the OPi-P2 fex file, shipped with Armbian, turning off hdmi and SPI functions the same way as before, setting min clk to 408 MHz and max clk to 1200 MHz. Powersaving seems much improved. I checked the fex file for other connections to my nodes - nothing. I loaded the kernel drivers as before. But the result is: PA13 and PA14 work as before, the PA7 input pin does not see any levels (open), the 1-wire device is not recognized, neither the old or a brand-new component. I am pretty stuck - the alternative pin PA16 cannot be activated because it is not mapped in the pyA20-H3 driver. The author duxingkei33 writes the mapping can be expanded, but I could not find enough information how to define the extra parameters. The SPI built-in interface would use PA 13,14,16 but they are not all included in the pin mapping. Q: is the 1-wire function in the new Armbian for OpiZero-P2 already a tested function? Is there something new with the gpio-connector? Is there any more information available about the pin and connectors mappings for the pyA20-H3 driver? Is there already any other I/O-experience with the new Zero-P2 board around ? After quite some hours I am running out of ideas to fix it. I added the modified/reduced fex file. orangepizeroplus2-h3.fex
martinayotte Posted September 14, 2017 Posted September 14, 2017 Double check both OPiZero and OPiZeroPlus2 schematic : The PA7 pin on OPiZero is IO1 on the header, the same pin on OPiZeroPlus2 is now PD11.
Larry Bank Posted September 14, 2017 Posted September 14, 2017 Please see my forum post here: I mapped the majority of the pins on the OPZ+2 (H3). The GPIO numbers are quite different from the OPZ. Let me know if you have any questions 1
specialist383 Posted September 15, 2017 Author Posted September 15, 2017 [Solved] With the above input I finally made the OpiZero2Plus board work like the standard OpiZero board with legacy kernel. The 2Plus board requires in the fex file ... [w1_para] w1_used = 1 w1_gpio = 110 to attach the 1-wire sense line to pin (GPIO-conn) 26 The gpio pins PD11 and PA16 are not defined in the pyA20 mapping. As an alternative I use [gpio_para] gpio_used = 1 gpio_num = 3 gpio_pin_0 = port:PA13<1><1><1> => pin GPIO-conn 23 out gpio_pin_1 = port:PA14<1><1><1> => pin GPIO-conn 24 out gpio_pin_2 = port:PA18<0><default><default><1> => pin GPIO-conn 18 in these used as SPI-CSEL, SPI-CLK and SPI-DATA with a MCP3201 A/D converter. When using these pins, some other H3 functions need to be disabled in the .fex/.bin file to avoid a double functional assignement. To disable hdmi, bluetooth etc (if not needed) helps to save power. The kernel CPU temp is now correct. Below is a text file with the required changes in ....fex/bin to support a standalone monitor/control device. Maybe this helps. opizeroplus2-h3.fexinfo.txt
Recommended Posts