Odyssey J41x5 GPIO drive strength

Hi!

I’m trying to use the WM1302 SPI LoRa concentrator and its RPi Hat with the Odyssey J4125 (v1). I appreciate there are some chip-select differences for SPI with the way the SPI devs are setup on the Odyssey, but that’s a separate issue. So far SPI comms with the SX1302 works, I2C to the temperature sensor works, and so does the GPS over UART.

The issue I’m having is that I’m unable to drive the reset pin (pin 11) high (3.3V) to reset. A Raspberry Pi is able to, but the Odyssey only drives to ~1.7V when the WM1302 is attached, suggesting either the WM1302 has a strong pull-down or the Odyssey is weak at driving. This result is that the WM1302 only initialises properly from a cold boot.

I’ve tried various drive modes with no joy.

Does anyone have any suggestions?

Thanks!

Thank you for your feedback. We will follow up on this issue.

Thanks Bruce,

Just to contribute one more thing. I’m not so familiar with x86 and ACPI, but did wonder if the drive strength was configurable for Gemini Lake and its refresh and perhaps could be done through an ACPI table like the SPI interfaces are.

@skj We has tested and confirmed that the board has a compatibility issue, you can make a little change of the Hat: connecting a resistor (1-3Kohm)in series between the 3.3V (pin 1) and Reset (pin 11) to enhance pin 11 Pull current capacity.

Thanks Bruce,

We’ll give a pull-up resistor a try.

I would also note that the SPI chip-select pinout is different on the Odyssey from the Pi, and I don’t think there’s a way to re-map it via ACPI table? This means pin 26 on the Odyssey needs re-routing to pin 31 on the WM1302 hat for SX1262 chip select. We’ve bodged something for that, but haven’t really tested it yet due to the reset issue.

Regards,
Steve.

Looking forward to hearing good news from you. :grinning:

Hi @Bruce.Qin,

Just got back from annual leave and I’m pleased to say that the fixes appear to work. Board can reset and chip select for the SX1262 works too. I’ll share the modified code and some instructions in due course in a later post here.

Thanks!

Hi @Bruce.Qin,

I’ve uploaded a fork of the sx1302_hal code with some small changes and additional documentation on making the WM1302 SPI & its hat compatible with Odyssey. It can be found here: readme.odyssey.md · odyssey · HIoT Blockchain / Sx1302 Hal · GitLab

In addition to the pull-up resistor on the reset pin, I added a current-limiting resistor between pins 26 and 31, to allow either to be used as chip-select, without a damaging short occurring if both are driven at the same time.

So the SX1302 & SX1250s work, as does the SX1261, GPS and temperature sensor, although our use case doesn’t actually need any of the last three.

Thanks again for your help. I hope the docs are useful to anyone else who happens to have this hardware combination.

Thank you so much for generously sharing your knowledge and skills. :grinning:

While I working with the Seeed Studio WM1302 SPI LoRa concentrator and its RPi Hat on my Odyssey J4125 (v1). Despite successful SPI communication with the SX1302, I2C functionality with the temperature sensor, and smooth UART communication with the GPS module, I’m encountering a unique problem with the reset pin (pin 11) of the WM1302. When attached to my Odyssey, boating safety the reset pin only reaches around 1.7V, rather than the expected 3.3V.