DS1820 on wire temp sensor using U-boot, kernel 4.14.71-ti-r80

I am getting back in to hands-on instrumentation and controls after a long, long hiatus and struggling a bit. I have the DS1820 one wire temperature sensor and I’m trying to understand how to get it to work with the BBB. I’m not very experienced with Linux so I think my main struggle is with the device tree and getting all that right with U- Boot (which appears to be new.). Most of what I can fine online refers to the deprecated method and I’d prefer not to use something that is going away for this application. Here are some specific questions…

  1. Can a device tree overly file developed for use the old way (with capemgr) be used with U-Boot?
  2. If so, where do I place the compiled file so that it is loaded at boot?
  3. Do I need to edit anything to make sure it gets loaded?
  4. How can I be sure it loaded?
  5. How do I call it in Node.js?

If I can’t use the device tree overlay file developed for the old way, what do I need to do to get this going? I’m trying to use P8_11 as the input from the sensor.

One more question - can you recommend a really good resource for learning embedded Linux for absolute beginners? I think I need to get back to the basics and get grounded/re-grounded in this!

Thanks for helping this newbie out!


When using the libpruw1 driver you won’t need any device tree overlay . This driver uses libpruio for pinmuxing. Specify any (free) header pin in your source code for the W1 bus. The driver handles more than a single DS18S20 at this bus. Multiple sensors can measure simultanuosly. The driver also provides a logging feature to measure the bus state over a certain time period (for wiring tests). Examples are included in GIT repo.


If you decide instead to try to get 1 W working with drivers, we failed at it on 4.14. Something changed on the way to 4.19 and we got it working there. If I had notes to share I would…if I find them.


Thanks! I’ll check this out!

Jim - I think it would be a good exercise to do it with the drivers too. I compiled a dtbo file but I am such a novice at this. Where do I put that file so it loads on boot? Is there anything else I need to do to get it to load and how can I confirm that it loaded? (

It’s been two decades since I did this kind of work and a lot has changed to say the least!)