I am using a pre-assembled board from Deal Extreme which comes with the chip, a temperature sensor, light sensor, variable resistor and LED. This provides a simple showcase for the chip and more importantly, it has a light sensor which is important to my project. The board was only a few dollars http://dx.com/p/pcf8591-8-bit-a-d-d-a-converter-module-150190 there are also other similar boards on there.
![]() |
PCF8591 demo board. GPIO pins are visible on the right. |
The first step is to physically hook up the board. Mine came with the required cables (often called dupont cables) which is also a handy way to start. The cables must be connected to the Raspberry Pi GPIO pins nominated for I2C. These have the required 'pull up resistors' already installed. (These are what make the wires operate like a bus). The pins are
- P1-01 +3.3v (VCC)
- P1-03 Data (SDA)
- P1-05 Clock (SCL)
- P1-09 Ground (GND)
![]() |
Raspberry Pi showing GPIO cables connected. |
My demo board has a red power indicator LED which came on once I powered up.
The next big test is to see if the i2c driver can talk to your chip. The Raspberry Pi actually comes configured with two I2C buses and for reasons unknown, on my system the bus labelled I2C0 is allocated the Linux device i2c-1.
Scanning both buses won't hurt.
jnewbigin@raspberrypi:~$ i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
You can see here that a device has been detected at address 0x48. This is the expected address for my chip so that means we are in business.
Reading and writing to the chip is quite straight forward but the chip does have a few nuances. The first read after power on will return 0x80. The analog to digital conversion is performed when you make a read request but the read will return the previous sample so it is always one sample behind. This is not too confusing unless you are switching to read a different input.
I will show how to read the data using the command line tools i2cget and i2cset. In another blog post I will show how you can interface with the chip from c code.
All these commands take a parameter 1 to specify which i2c bus and I pass -y which skips the safety warning. (We know what we are doing so this is OK. On other hardware such as your PC, things can and do go wrong by using these commands).
The most basic read is the default channel (input 0).
jnewbigin@raspberrypi:~$ i2cget -y 1 0x48
0x80
That is the power on status code. Now we read again
jnewbigin@raspberrypi:~$ i2cget -y 1 0x48
0xd2
That is the value that was sampled when we made our first read (the one that returned 0x80).Now cover up the light sensor and read again
jnewbigin@raspberrypi:~$ i2cget -y 1 0x48
0xd2
Yep, no change. The new value has been sampled so now we read it
jnewbigin@raspberrypi:~$ i2cget -y 1 0x48
0xeb
Now we get the new value.Now, switch to read another input, input number 1
jnewbigin@raspberrypi:~$ i2cset -y 1 0x48 0x01
jnewbigin@raspberrypi:~$ i2cget -y 1 0x48
0xeb
First we get an old value.
jnewbigin@raspberrypi:~$ i2cget -y 1 0x48
0xcf
Then the new valueWe can repeat to select channel 2 and 3.
We can enable the analog output by adding bit 0x40 to the set command and then specify a value for the DAC
jnewbigin@raspberrypi:~$ i2cset -y 1 0x48 0x41 0xff
And the indicator LED turns on
jnewbigin@raspberrypi:~$ i2cset -y 1 0x48 0x41 0x00
And the indicator LED turns off. You can of course set it to any value between 0x00 and 0xff and see the LED dim and turn off. (You can also see why LEDs don't make good analog indicators).
I have the same board as you and trying to find out how to deal with the jumpers, LDR, thermistor and potentiometer.
ReplyDeleteDid you figure it out?
I found needed information at http://brainfyre.wordpress.com/2012/10/25/pcf8591-yl-40-ad-da-module-review/
Delete"We can enable the analog output by adding bit 0x40 to the set command and then specify a value for the ADC"
ReplyDelete...I think you mean setting the value for the DAC.
Mr T.
Yes indeed. I have updated the post.
DeleteJohn.
Hi there
ReplyDeleteI need to operate 4 DAC channels in parallel.
Can this be done with one RasPi and 4 of the DX modules?
Thanx -Didi
Sure. The PCF8591 has a 3 bit address which allows you to use up to 8 of these on one bus.
DeleteI am not sure what is required to change the address on the DX demo board. You may have to cut some tracks on the PCB. Check out the data sheet to see which pins are used for addressing.
There may be other boards which have jumpers for addressing which might be easier.
To anyone else who has used these YL-40 modules: have you managed to get any "useful" (I know, it's only 8-bit, but still) data from the integrated thermistor?
ReplyDeleteOn mine, everything else seems to work just fine (on-board sensors as well as all using external, at least w/a trimpot wired to each, and the output seems appropriate), but the built-in thermistor doesn't seem to respond, much.
For a ~25°F (~15°C) temperature drop, it doesn't give more than a few "bits" increase on the data channel to the RaspPi (~211 up to ~216). I've also measured the voltage through AIN1 (seems appropriate relative to Vcc), as well as the resistance while powered off (not entirely sure this measurement is "valid"): the YL-40's thermistor (same conditions as previously mentioned) only increases by about 350ohms; for comparison, an old Radio-Shack thermistor (10Kohm, also "bead" type, unfortunately no longer sold, but you could look it up #271-0110) jumps almost 15Kohms !
So, I'm thinking I've either got a YL-40 with a "bad" thermistor, or the thermistor is just completely "not suitable" for this "application" ...
Again, is ANYONE getting "reasonable" data from the thermistor on a YL-40 ?
If so, am I missing something? As I mentioned, I can get "data" (such as it is, but "responsive") for everything else except the thermistor (using either the I2CTools used in John's post here, or my own Python scripts
Thanks in advance for any help!
Mike
If your still having trouble getting valid thermistor reading, checkout my C based helpers at https://github.com/skoona/skn_rpi-display-services. There is a client in that package that reads all the inputs with valid results.
ReplyDeleteI have the same module but the Raspberry Pi, but then I execute:
ReplyDeletei2cget -y 1 0x48
or i2cget -y 1 0x48 0x01 or i2cget -y 1 0x48 0x02 or i2cget -y 1 0x48 0x03 i am always receve:
0x00
Why?
Sorry, Raspberry Pi 2
ReplyDeleteThe datasheet for the chip provides a good reference: http://www.nxp.com/documents/data_sheet/PCF8591.pdf
ReplyDeleteThis article is very interesting. Sara
ReplyDeleteI found a lot of information here to create this actually best for all newbie here tweak box apkxyz. Thank you for this information.
ReplyDeleteRapid Essay https://rapidessay.com/research-paper-writing-service.html is a research paper writing service that works on every single order from scratch for you to submit original essays and avoid accusations of plagiarism. Our writing company follows your guidelines and deadlines. Every completed order meets your expectations and is relevant to the topic assigned to you.
ReplyDeleteWant to know how to write a scholarship essay? Writing a scholarship essay may cause stress and frustration for an individual. No wonder, they need to study the requirements set by an educational institution in order to meet them precisely.
ReplyDeleteEdumagnate https://www.edumagnate.com/ is a online paper help company where you can ask write to write an dissertation or research paper based on analog and digital converter. They have team of paper helper to serve on time.
ReplyDeletethanks for sharing
ReplyDeleteCheck your price with HIGS!
Most professionalized and passionate research paper writers at an affordable price! Grab it now for the best offers & discounts! Check your price quotes by clicking
Research paper writing service
Hi, QuickBooks is one of the best and essential accounting software in the business world, but it has some common errors which needs a solution for its proper working,one of the common error is quickbooks error 1334 repair,to know about this error in detail you can visit the given site.
ReplyDeleteNice Blog. Thanks for sharing with us. Such amazing information.
ReplyDeleteMyBlogger Club
Guest Posting Site
Best Guest Blogging Site
Guest Blogger
Guest Blogging Site
That is a informative post! Thanks for posting.
ReplyDeleteConverting quicken to quickbooks was never so easy as it is now with all new Quickbooks tool. Just by using a tool you can upgrade to new software within few hours if you have a large business. Don't loose your files, convert now.
To rock the world, you first have to finish your homework, and we as a source of computer science assignment help are here to help you with that: programminggeeks
ReplyDeleteNice Blog !
ReplyDeleteAll of us have been affected by this pandemic in some way or another. In such challenging hours, we at QuickBooks Customer Service assure you that you will get the best service for QuickBooks.
Good article! Thank you!
ReplyDeletehttps://programminggeeks.net
if you're looking this "error 15241 quickbooks" type of error fixing method than click below
ReplyDeletecom error quickbooks 2017 This error can happen anytime but mostly if you are accessing the QuickBooks software or exiting it then faced it
ReplyDeleteThanks for sharing such informative article. At our writing company, we understand the ordeal of DNP nursing scholars. This is why we have professional DNP coursework writing help at their disposal.
ReplyDeletequickbooks database server manager (QBDBMS) is an astonishing utility part by Intuit. These mechanical assembly abilities to assemble the QuickBooks laborer envelope for multi-customer mode. It helps in profiting by multi-customer mode.
ReplyDeleteThis mistake can take place whenever but mostly in case you are having access to the quickbooks software program or exiting it then faced it thank you for can someone write my assignment UK for me quick sharing such an informative weblog. A dnp capstone task is pretty an extended academic report.
ReplyDeleteThanks for the detailed instructions, I am an author and it is very difficult for me to cope with technical problems.
ReplyDeleteYaro, eduloh
Great Blog.
ReplyDeletegarage cleaning
Visit
ReplyDeletewww.hp.com/go/wirelessprinting and open the door to the world of HP smart printing solutions. HP wireless printer is a versatile printing device that helps you print, scan, copy and fax your documents as per the requirement.
Visit ij.start.canon | ij.start canon and find out the best way to download Canon printer drivers. Canon printers are ideal for every situation wherever you need a document, paper, or photo print or even if you wish to scan, fax, and do more ijstart.canon will make you learn how to set up a canon printer to get advanced printing features.
Canon IJ Network Tool is a toolkit software with the options to keep a check on most of your Canon printer network settings and adjust them according to your requirements. The Canon IJ Network tool will get you through the network settings uninterruptedly. Canon IJ Printer Utility is a complete software package meant to adjust and modify the configurations of your printer device as per the requirement.
ReplyDeleteهذه الشركة توفر خدمات تسليك و تنظيف مواسير الصرف الصحي ، و كذلك توفر أيضا خدمات تنظيف البيارات و غرف التفتيش ، مع الاعتماد على مواد حديثة تعمل على إزابة التكتلات الموجودة بالصرف و التي أدت إلى الانسداد ، و كذلك تقنيات و أجهزة توفر الكشف عن مكان التعطل ، هذا مع توفير إمكانية شفط القاذورات المتراكمة في المكان الذي أصيب بالانسداد ، و تفير خدمات الكشف عن اختلاط الصرف بالمياه
ReplyDeleteشركة تسليك مجاري بالرياض
المسبح من أهم الأشياء التي تستخدم ربما كشكل ديكوري بداخل المنزل ، أو أنها تستخدم لمزيد من المتعة داخل المنزل ، و لابد من الاهتمام بتنظيفها بشكل دوري حتى لا تكون سببا في نقل الميكروبات و الأمراض ، و هناك العديد من الشركات التي تعمل على تنظيف المسابح بالرياض بأعلى مستوى و منها على سبيل شركة أرض الانجاز
شركة تنظيف مسابح بالرياض
الخزانات من أهم الأشياء التي لابد من وجودها في المنزل ، و ذلك لأنها تعمل على حفظ المياه باستمرار في وقت انقطاعها ، و كذلك تعمل على حفظها بجودة عالية ، و هناك العديد من الشركات التي توفر خدمات عزل الخزانات بالرياض و منها على سبيل المثال شركة أرض الانجاز
شركة عزل خزانات بالرياض
Read Newspaper Onlinelist sorted by Countries and by languages. A huge collection of newspaper or epapers online from all over the world in various languages. Epaper hub contains Print edition epaper that you read Online and grab your news through internet. Here you can find any number of epaper in different language, from different cities, different countries and cities. So don’t wait and search you daily newspaper and enjoy news from all over the world online.
ReplyDeleteThanks for sharing this great blog. check here
ReplyDeleteYoure so cool! I dont suppose Ive read anything like this before. So nice to find somebody with some original thoughts on this subject. realy thank you for starting this up. this website is something that is needed on the web, someone with a little originality. useful job for bringing something new to the internet!
ReplyDeleteMetal-archives.com
Information
Click Here
Visit Web
Nice Blog. Thanks for sharing with us. Such amazing information.
ReplyDeleteOnly Blog
Guest Blogger
Guest Blogging Site
Guest Blogging Website
Guest Posting Site
Great work. Thanks for sharing.
ReplyDeletehttps://www.excavationla.com/
https://www.concretesanluisobispo.com/
Great work. Thanks for sharing.
ReplyDeleteHeavy Equipment
Heavy Equipment
We will do your essay as we offer quality online paper help, and we are the best if you’re searching to take online paper help or philosophy paper writing
ReplyDeleteCanon IJ Network Tool will get you through the network settings uninterruptedly. It is essentially required when you are attempting to get your printer connected to a different network because a new network tends to reset the printer’s existing network settings.The Canon IJ Printer Utility can be used to keep a check on your printer’s ink levels and cartridges and clean the ink tanks and paper feed rollers. Also, you can make adjustments to your Canon printer’s power settings.
ReplyDeleteMake sure the surface where you are placing the printer is clean and close to Pc or laptop.Check the shipped components with your inkjet printer
ReplyDeletehttp //ij.start.canon,
https //ij.start.cannon
Allows you to download, install, and configure setup on your PC, Mac and smartphones as well. Canon ij setup is the software to install Canon printer wirelessly.
ReplyDeleteij.start.canon,
ij.start canon
ij.start.canon
ReplyDeleteis the manufacturer site to download Canon printer drivers. Install and set up Canon Printer from https: //ij.start.canon and obtain high-quality printing documents straightforwardly.
https//ij.start.cannon is actually the official site of ij start canon that helps you install the latest printer drivers and software. Visiting http //ij.start.cannon
provides you a complete list of all canon printers where you’ve to select your printer model and download the correct setup file
Canon IJ Network Tool is a toolkit software with the options to keep a check on most of your Canon printer network settings and adjust them according to your requirements.
ReplyDeleteCanon IJ Printer Utility is a complete software package meant to adjust and modify the configurations of your printer device as per the requirement. It is one of the essential utility software offered by Canon to ease your printer configuration alteration using a few clicks.
Canon.com/ijsetup/mg2500
is the Canon support link to get you the latest printer drivers and software to set up your PIXMA MG2500 or MG2520.
Once you are done with the driver setup via canon.com/ijsetup , you will have to insert a pile of pages into the printer tray for printing the documents..
ReplyDeleteVisit ij.start.canon | ij.start canon and find out the best way to download Canon printer drivers.
All-in-one Canon Inkjet printers are suitable for home, business, school, and others to improve productivity. You can easily set up your Canon printer through drivers from Canon.com/ijsetup , wireless connection, USB, and a few components.
We offer the required data to configure, utilize and install your Canon products on your Windows PC.canon is completely safe and secure. ij.start.canon |
ReplyDeleteij.start.cannon
Nice posting, I will share it with my contacts. Thank you very much for this post.
ReplyDeleteij.start.canon
ij.start.canon
Amazing article, thank you! Enjoy my site yarkoweb.casino
ReplyDeleteThis is very nice and this article is very helpful for everyone. I like it very much please keep doing this amazing work. Eid ul Fitr 2022 SMS
ReplyDeletefastest electric unicycle
ReplyDeleteThis is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. drywall patching
ReplyDeleteYour sharing in the article is very meaningful, the content is very rich and contains good things. Insulation Pros of Coquitlam
ReplyDeleteYou can store, manage, and interact with Ethereum-based assets and apps using MetaMask, a digital wallet. To avoid unauthorized access to your wallet, it's crucial to regularly Change Metamask Password and maintain it secure. You may contribute to the security and protection of your digital assets by regularly updating the MetaMask password.
ReplyDelete