1-Wire and 1.8 V on GPIO of iMX8MP-SOM-4GB-IND

Started by ilario, August 28, 2025, 04:35:36 PM

Previous topic - Next topic

ilario

I am planning to use a iMX8MP-SOM-4GB-IND + iMX8MP-SOM-EVB-IND for replacing the A64-OLinuXino and having a modern Debian version.

With the A64-OLinuXino, I was using the GPIO for reading a few DS18B20 thermometers via 1-wire. I described what I am doing here: https://www.olimex.com/forum/index.php?topic=9266.0

The question is whether it is possible to do the same with the iMX8MP board as "Almost all signals have got voltage level of 1.8V!".

According to the DS18B20 datasheet, 1.8 V is not enough.
Do you have idea if using 1-wire will be possible?
Is there any GPIO pin I can use that already has 3.3 V or 5 V?
If all GPIOs are at 1.8 V, can you recommend me a level shifter from 1.8 V to 3.3 or 5 V?

LubOlimex

#1
The pins at the UEXT of iMX8MPLUS-SOM-EVB are at 3.3V. We used translators for SPI and UART and transistors for I2C. Find the UEXT and look to the left to find the translators. If you decide to use GPIO1 pins (which are 1.8V levels) you can use the same translator SN74LVC2T45DCUR(VSSOP-8) to set them to 3.3V, use our usage as template on how we attached them to the signals of the UEXT.

These 8 pins can be used as GPIOs, according to the datasheet of the main chip they can be configured for GPIO usage. The pin #1 and pin #2 of UEXT are the power pins.

Notice that some of the pins at UEXT are inputs other outputs, there are pull ups, etc. This can be inspected in the EVB schematic again.

Technical support and documentation manager at Olimex

ilario

Fantastic idea, thanks!!!

I will use the I2C and the SPI of the UEXT, but I am not planning to use the UART. So I can use the 2 UART pins from the UEXT :D

In the i.MX 8M Plus datasheet, I can see that the "ECSPI1_MOSI" AC20 and the "ECSPI1_SCLK" AF20 (exposed at the UEXT, after level shifting, as UEXT_TDX pin #3 and UEXT_RXD pin #4) have a pull down: "Input with PD".



For 1-wire seems that I have to use a pull up, do you think it is safe if I add a stronger pull up after the UEXT?
From the datasheet, seeeems that the pull-down resistor has a strength of 20-40 kOhm, so maybe I could add a pull-up of something like 2.2 kOhm? Does it sound like a good idea?



What still sounds like complicated is to use one of those pins with a DeviceTree overlay. I should free them from the UART3 before, right?
Should it be enough to set the UART3 to
status = "disabled";in the Device Tree?

Thanks!