I recently got the Orangutan X2, and it gets really hot (and I’m not sourcing any current to motors or any other high power devices). Any program, even a blinking onboard LED with no external wires, causes it to get hot enough on the bottom that I can’t touch it. This is the stock board, I have done no midifications or soldering. I’m worried that it is a defective board and that there is a short somewhere.
I just noticed that my program does not respond properly after the board gets hot. If I let it cool it goes back to normal, but once it’s hot agian (just a few minutes) it begins functioning incorrectly again.
I’m sorry to hear about your problems. Has the board been doing this the entire time you’ve had it? What do you have connected to your X2? Can you post a picture of your setup? Do you have a multimeter that you can use to see how much current the board is drawing? Can you figure out approximately which component (or region) on the board is getting hot? (Be careful not to burn yourself!)
As a first test, can you disconnect everything from your X2 except for power and see if the problem is still there? If this doesn’t make the problem go away, can you try erasing the program from the microcontroller to see if anything changes?
Yes it has been doing it since I got it. I noticed it the second or third time I used it. It heats up with just a battery connected (it does have to be on). I don’t know how to post a picture, I can tell you it is conected to a 12V battery (about 6x3x2 inches, not a car battery) through some thick wires.
I was letting it heat up so I can find exacly where it gets hot. The entire bottom gets generally warm, but it seems to be the warmest about a half inch above where it says PB4. I noticed it wasn’t getting as hot as before, so I tried connecting the LCD screen again, and the whole left half of the board (where the IO pins are) gets quite hot, and particularly hot above and around PB4 (hot enough to cause a burn reflex). There are no commands going to the LCD screen.
I should be able to get a multimeter, I’m going to try to get one right now.
I used a multimeter and got
36mA without LCD
97mA with LCD
I checked the LCD data sheet, and it is only supposed to be using 1.2mA typical, not 60mA.
Out of curiosity, can you use a multimeter to measure the voltage of your battery pack? If it’s freshly charged, I suspect it could be closer to 14V.
The currents you measured are in line with what a standard X2 draws, so I don’t think your X2 is defective. You’ll find that the bulk of the current drawn by the LCD is going to power the backlight LEDs. The 1.2 mA typical draw you read about in the datasheet does not include the backlight current.
The Orangutan X2 uses a linear regulator to get the 5V used by the on-board logic. The regulator must dissipate power equivalent to
Pdis = (VIN - 5V) * i = ~1W if VIN is 14V and i is 100mA
where i is the current the regulator is delivering. As VIN and/or i increase, the power dissipated by the regulator increases, and you’ll notice the regulator getting warmer and warmer. This is not necessarily a bad thing (many electronics components can tolerate temperatures that would burn us), but it can lead to problems if the regulator gets too hot and its thermal protection kicks in. When you connect the LCD, the output current of the regulator goes up significantly (it essentially triples, according to your measurements) in order to power the LCD’s backlight, which greatly increases the power dissipated by the regulator (causing it to get quite hot in the process when VIN is so much more than 5V).
There are a few ways for you to deal with the regulator’s power dissipation issues:
- Decrease your input voltage. The closer you get to an input voltage of 6V, the less power you will waste through the regulator and the less heat the regulator will generate. Could you get by with a 9V battery pack?
- Disable the LCD backlight to decrease the 5V current draw. You can accomplish this by driving the LCD LED pin low (this pin is right next to the LCD header and labeled on the underside of the board). You could even PWM this pin between high and low to achieve a variable LCD backlight brightness that reaches a happy medium between current draw and LCD visibility.
- Add a heat sink to the regulator to keep it from overheating.
My project will be attached to the electrical system of a truck and will be powered by the 12V car battery. The motors it will be driving are also 12V so there’s no option to step down the voltage. I measured the voltage at about 12.4V.
The heat is actually causing the OX2 to operate incorrectly. My current program reads a PS2 controller (you helped me a few days ago with that), but after the OX2 gets hot, the read bytes become unstable and it starts reading button presses that aren’t there. If I let it cool it returns to normal operation.
The data sheet says the 5V regulator is good for 500mA, that’s 2.5watts. I’m pulling about half of that and it’s overheating. I’ll lower or turn off the backlight, but I ultimately expected to hook up some sensors. I’ll have to change the jumpers on the IO pins to vin so that the sensors will pull their power directly from the power source and the 5V regulator wont get any hotter.
Adding a heat sink may or may not be an issue; there is a height constraint for my project that I’ll have to check on. Are there any heat sinks that are recommended for the OX2?
According to the datasheet for the regulator, it can dissipate around 1.3W at an ambient temperature of 30°C, and, if your measurements are correct, it looks like you’re dissipation is closer to 0.8W. Was the Play Station controller current draw part of your 97mA measurement? You’re getting close to the realm where it’s not surprising to have the regulator get hot, but I wouldn’t expect it to trigger a thermal shutdown at 0.8W. We’ve run the X2 at 12V before and had no problems, so it’s possible there is a problem with the regulator. If you’d like, we can try replacing the regulator on your X2.
If you want to take the heat sink route, I don’t have any specific recommendations. You basically just want something that will conduct heat away from the regulator package; the more heat you can conduct away, the better. Perhaps something as simple as affixing the bottom of your X2 to an aluminum panel could work, though you need to be very careful not to short anything out if you do this! There are several adhesives out there that don’t conduct electrically but do conduct thermally. You can use these to bond a heat sink to the regulator package, or you could just use them to increase the surface area of the package. Also, the more you can power directly from the battery, the better.
I’ve deactivated the LED backlight. It no longer gets hot enough to burn, but it still gets hot and begins operating incorrectly. I’ve found that placing my hand on the back acts enough as a heat sink to return it to normal operation, but as soon as I remove my hand it begins reading false button presses. I’m going to keep working with it, but I’m almost certain that something is wrong. Its only pulling about 62mA now. Is there a warranty on the OX2, I think I’ve had it just over a month.
We don’t have explicit warranties on our products, but we try to be reasonable in our handling of situations like this. If you send the unit back to us, we’d be happy to take a look at it and replace the regulator. Alternatively, if you have SMT reworking experience and access to reworking tools such as a hot-air gun, we could send you a replacement regulator.
Do you have access to an oscilloscope? It would be interesting to see what happens to the 5V line as the regulator heats up.
If your hand is enough of a heat sink to keep the device from malfunctioning, could you mount the X2 to something that can duplicate the sinking you’re getting out of your hand?
I was thinking that it is strange that the OX2 is still sending commands to the PS2 controller properly (otherwise it wouldn’t be reading back anything), but I’m not sure why it would start reading back incorrectly. The OX2 seems to be reading two consecutive bits when only one is actually activated (ex for 1 button pressed it should read something like 00000001, but it actually reads 00000011). It would make me think that there is an error in the code, except that this only happens when it gets hot, it reads perfectly when it is cooler. I increased the delay between reading the PS2 controller bits, and this seemed to help (except that it constantly reads that the select button is pressed when hot). I have access to some microcontroller experts on my end that I am going to consult.
It really would sound to me like a software issue if not for the fact that this problem only arises when the regulator gets hot. This is why it would be very helpful to see what the 5V line is doing. If the regulator reacts to getting hot by decreasing the output voltage, limiting the output current, or just putting extra noise on the line, then this could cause weird glitches in the Orangutan’s and PS controller’s MCUs, and any number of strange behaviors could arise. Do you know how much current your PS controller draws?
Do you have an alternate 5V source you could temporarily use to power your PS controller? I think this could make an interesting and potentially informative test (just don’t forget to make sure the PS controller and X2 have a common ground).
Out of curiosity, did your X2 come with the SMT jumpers for the I/O power banks pre-soldered to 5V, or did you have to solder those yourself?
All of the jumpers were soldered already, I have made no modifications to the board.
The current draw is as follows:
OX2 (alone) 34mA
LCD Backlight 45mA
With the backlight disabled, it pulls 63mA, thats 12V*0.063A = 0.756 Watts going in.