The compass and temperature overhead display in my 2007 Toyota Tacoma had stopped working a couple of years ago. I called the dealership and found out that they don't fix that issue - they just replace the unit. A new compass unit, and the replacement time, costs about $300 (at least it did a couple years ago). I didn't want to pay that much, so I just left it alone.
Recently I found a YouTube video that shows someone repairing the unit. The issue that the repair video was addressing is that some of the resistors have weak solder connections, and re-soldering the resistors with poor contact will fix the issue. It turned out to be that easy for me, and I was happy to have a video as a guide. The person who made the video warned against putting too much stress on some of the plastic tabs, and that warning kept me from breaking tabs.
I removed the overhead display, removed the display from the housing, and inspected the resistors. There were a number of surface mount resistors, but only two resistors (the ones marked 510) looked like they might not be making good contact. I used a multimeter to check all of the resistors on the board to make sure they were okay. Perhaps that was overkill - I wouldn't expect that the resistors would be bad - but it gave me an excuse to use the multimeter and that was good enough for me. Next, I heated up the existing solder with my soldering iron. I figured that would restore good contact between the board and the resistors. Then I added a tiny amount of solder to ensure that the connection was good. I rechecked the resistors with the multimeter, and then reinstalled the overhead display. I started the truck, and nothing displayed. I was pretty disappointed for a second, but I pushed the button on the display and there it was - temperature and compass direction! After two years or so of not having a functioning display I had forgotten that the button cycles between Celsius, Fahrenheit, and turning the display off.
Everything worked great, and I saved $300!