bricked teensy 3.2... any way to fix it?

Status
Not open for further replies.

th8a

Member
Hello. Hours after getting my teensy in the mail, I was continuing forward with a project that involves DAC chips to drive oscillators for synths etc. Everything was working well, when suddenly, my code compiled and uploaded even though there were errors still in the code that normally would not allow it to compile (OSX Yosemite.) I am not sure how or why this happened, but the teensy is completely dead. There is no LED light, no USB communication - nothing. With a volt meter, I was able to determine that the pins are all outputting the proper voltages etc, but other than that i can get no read from the board at all. I even tried hard reset in the command line version of the teensy loader - nothing. I had read somewhere that brushing the 3v pin could instantly destroy a teensy, but I was only using usb power and no pin was attached to the 3v pin. I had wires soldered to the i2c pads on the bottom of the board and one fell off somehow (even though i had not even touched the board at the time this happened.) Do you think there is a chance that loose wire tapped the 3v pin? would that matter if i was not using any external power?
I was just recovering from an unfortunate accident with a previous teensy in which the usb jack got torn off, and after much effort to save it, i pronounced it dead and ordered a new one. I was finally making progress on this huge crazy project when hours after just starting to use the board, it seemingly just died out of nowhere... I suppose i must go ahead an just order my third (and hopefully final) board for this project... but if there was any way I could get this one revived and running i would be most happy and maybe use it to start checking out that audio library!

Any help would be much appreciated. Regardless, many thanks for developing a great board with musicians in mind.
Cheers!
~th8a
 
Hello th8a. Same here but with a 3.1 version also USB powered. The loader froze while in the "erasing" step. After that the board is not recognized by the computer (tried with 3 different PCs ). I tried all the troubleshooting steps listed in the help files and forums, with no luck. All voltages seem to be fine but the RESET pad reads 0V. What I do no know if it is driven down by the MINI or it really shorted. Since there is no apparent hardware damage I think the boot code is spoiled but I do not know if it can be fixed or not. Luckily I have a second Teensy I'm using at the time so I can continue my work. The product is great, very powerful and does exactly what I need it to do, tough I did find many issues when trying to use libraries for other products as Wifi cards, SD readers, etc. Arduino complains a lot indicating progmem issues, unfortunately, I am kind of new to Arduino so I cannot correct the code yet :(

Cheers,


Cheers.
 
Hello th8a. I just brought it back o life, it turned out to be the contact on the RESET pad that was not ideal... I followed this thread:

https://forum.pjrc.com/threads/31518-Can-t-communicate-with-Teensy-3-2-through-Teensyduino?p=88073&viewfull=1#post88073.

That actually fixed it after a couple of tries, perhaps it will work for you as well.
Please let me know how it goes.

Cheers.

Awesome - glad that worked! I've had it take a couple tries as well. I just added a couple general purpose setup and a link to standard troubleshooting notes to that post.
 
So,*I ordered another board just to be safe, as i have put so much into this project and just want it to be stellar upon its completion.. that said, I actually did manage to improve the situation a great deal!

I'll go check the link you sent me when I'm done replying here, but so far I actually managed to bring it back to life by hooking up one of those $2 arduino nano chinese clones I had laying around and use it to drive the reset function. Im pretty sure that the method I used is highly unorthodox, but hey, at that point i was seriously about to cry at the thought of having to halt the project right when Ijust got up and runningg again, and in an all but desperate wild swing, I saw the LED flash and it was back up and running. At the risk of amusing the experts, i can make a post on how I did it if it catches any interest.

So its back up and running once again and Ive been working tirelessly over here. What is strange is that the board will still freeze once in a while and I will have to do the trick again. It seems like it freezes when my code is left running idle for too long. The LED on pin 13 just stays lit and the usb connection takes a nap til my chinese friend gives it a kung fu electric kick. I am wondering if there is something going on with the hardware, or if it is just my code that needs improvement, but an even less polished version of my code ran without issues on the last (sadly no longer with us) t3.2 i had.

Also, I messed up a bit and didnt take the pads on the under side of the board for as fragile as they are and kinda lost em. The i2c pads on the bottom are kinda gone now... would that effect the reset pin at all?

Im a little confused about the reset pin thing. The button on the teensy is to program - not exactly reset like an arduino. The only reset anything i can find is the llttle round pad near the usb connection on the under side of the board, and im afraid to solder anything to those based on how easily they can get pulled off! Any sound advice on this would be beneficial for all.

That about covers it I suppose.
Cheers and thanks for the replies!
 
The card should confirm what you see as "R" or "RST" on the bottom. Indeed button is Program only. I've not had to resort to Reset usage yet - power cycle and re-plug yes. More/Spare boards is better as PJRC wwould no doubt confirm ;-)

The link in p#3 & #4 has simple blink code - it should run forever blinking and putting out USB dots if your board is good.

The bottom pads are only so robust - can lift on soldering or get yanked off with too much heat or force. I've only soldered one mini OneHorse board with solder paste to those pins and it went well for me - it was flat in contact and the paste was easier to apply and melt.
 
So,*I ordered another board just to be safe, as i have put so much into this project and just want it to be stellar upon its completion.. that said, I actually did manage to improve the situation a great deal!

I'll go check the link you sent me when I'm done replying here, but so far I actually managed to bring it back to life by hooking up one of those $2 arduino nano chinese clones I had laying around and use it to drive the reset function. Im pretty sure that the method I used is highly unorthodox, but hey, at that point i was seriously about to cry at the thought of having to halt the project right when Ijust got up and runningg again, and in an all but desperate wild swing, I saw the LED flash and it was back up and running. At the risk of amusing the experts, i can make a post on how I did it if it catches any interest.

So its back up and running once again and Ive been working tirelessly over here. What is strange is that the board will still freeze once in a while and I will have to do the trick again. It seems like it freezes when my code is left running idle for too long. The LED on pin 13 just stays lit and the usb connection takes a nap til my chinese friend gives it a kung fu electric kick. I am wondering if there is something going on with the hardware, or if it is just my code that needs improvement, but an even less polished version of my code ran without issues on the last (sadly no longer with us) t3.2 i had.

Also, I messed up a bit and didnt take the pads on the under side of the board for as fragile as they are and kinda lost em. The i2c pads on the bottom are kinda gone now... would that effect the reset pin at all?

Im a little confused about the reset pin thing. The button on the teensy is to program - not exactly reset like an arduino. The only reset anything i can find is the llttle round pad near the usb connection on the under side of the board, and im afraid to solder anything to those based on how easily they can get pulled off! Any sound advice on this would be beneficial for all.

That about covers it I suppose.
Cheers and thanks for the replies!


I forgot to mention... I did use the RESET pad, just ran a wire from GND to the pad, held it down together with the program button, waited for the loader to fail to find Teensy, then plugged Teensy to the USB port and released both the reset pad and the program button. I waited for Windows to fail to find the drivers and install the default ones, then pressed the program button again. That actually worked and loaded the blinking program.

I've also noticed that sometimes the code bricks, at least partially, Tensy. Just a few minutes ago I added noInterrupts(), followed by interrupts() to my code to speed up a function I'm writing and that actually made Teensy to stop responding, I had to press the program button and program it again after removing the noInterrupts() andinterrupts() functions. This never happened to me when using Arduino Uno or Mega, but of course, teensy is not Arduino, in fact is quite more advanced and powerful.

The removal of the I2C pads should not affect anything unless they are shorting something else, with some patience you could solder a couple of stripped wires from whatever is left from the original tracks to the through hole, a hair thin wire will actually do.

Cheers
 
That is all kind of what I was thinking, and its good to have some confirmation. I tried sanding off the mask and soldering lines to the through holes of the i2c pins... but alas, its all so tiny and fragile. Unless you plan a circcuit that is permanently fixed in place, the wires are likely to fall off as soon as you go bread boarding. Fortunately theres more i2c pins if i2c is a must. I just liked having two dedicated wires. The last teensy i had was soldered with the i2c wires in this way and went great. I think where i screwed upp this time was using too heavy a gauge of wire to do the same job. Oh well, as of now all is well. My circuit is finally done, all my extra chips are coded properly, running smoothly and putting out 8 channels of 12bit CV 0 - 5v, stepped up to up to 20v using the ICL7660, no external power supply necessary, but obviously i still wired one up with a 5v regulator to make sure everything has the necessary amps to run. Teensy is definitely more powerful and versatile than your common arduino, though I find that the little arduino nanos are great and cost effective solutions for various tasks, or even to serve as a slave device to the teensy and expand the number of pins etc.


Once my code was debugged a bit, the crashes stopped happening, and i got a spare teensy in the mail on its way here as we speak.... so all is well that ends well, I suppose. Im actually a total newb to analog electronics, and have been at it now for about three months of very little sleep and intense learning curves. For any music producers out there who are interested in building homebrew analog synthesizers, I notice that there are no complete tutorials on the web that i could find that tell you exactly how to build a circuit with midi controlled DACs, digital potentiometers etc. My work has been a slow and gradual process over the last few months of learning bits and pieces of what is needed to build such a device from countless tutorials and forum posts just like this one. Im very stoked to say that after an incredibly long 3 months, The first working version of my MIDI to CV control circuit is complete, and now its time to wire up whatever fun chips or oscillator circuits i want and play them with my midi devices. To supplement the lack of clear, complete and comprehensive tutorials on this exact feat that is geared towards the complete beginner who wishes to mac-guyver together true analog synths, I plan to soon release a tutorial complete with schematics, code and a MAX MSP patch that will hopefully make it easier for those who are truly passionate about their sound design to make this happen without going through the intense learning curve all by themselves. I suppose thats my way of saying thanks to the community who answers forums and posts tutorials, which made any of this possible for me.

Im open to collaboration on this project as well. Anyone out there who would like a MIDI > CV board that can drive any oscillator you throw at it with a user friendly GUI interface and fully modular capabilities, hit me up! here is a screen shot of the GUI i am currently designing in max to control the circuit. Its still a work in progress, but coming along nicely and already driving a 555 timer synth and a couple 40106 schmitt triggers.

Cheers and thanks all!

Screen Shot 2015-12-23 at 6.27.40 AM.jpg
 
If you upload to the Teensy a really faulty program's code, the Teensy will power-up and run that and crash. Now the normal programming won't work - the Teensy won't respond as it is off in the hinterlands of bad code.
So the reset pin, just touched to ground for an instant, is the cure.

Of course, zapping the hardware with a miscue in jumpers or slip of the fingers, is a different story.

Always good to have a couple of spares in known-good state.
 
If you upload to the Teensy a really faulty program's code, the Teensy will power-up and run that and crash. Now the normal programming won't work - the Teensy won't respond as it is off in the hinterlands of bad code.
So the reset pin, just touched to ground for an instant, is the cure..
The first time the thing bricked, somehow the arduino IDE actually compiled and uploaded to the board an unfinished code that I was fairly sure had errors. Ive never seen an IDE compile a code with errors that it normally would never let slip, but it did, and then went right back to showing complaints about the exact same code! some kinda glitch in the IDE i think... but that would totally explain the initial cause. At first, it was dead to everything - even the reset pin! I was trying to diagnose the problem with another arduino hooked up to it running the "arduino as IDE" sketch. I'm pretty sure it was hooked up wrong, but after just tinkering with that setup, I saw the LED blink, and when I plugged the usb back in to the teensy, low and behold: it worked.

Now what I am curious about is the reasoning as to why this method worked while all other methods seemed to have no effect?

The wiring between the arduino and the teensy was as follows
Screen Shot 2015-12-23 at 11.47.18 AM.png

The power was running via usb to the nano. The LED on the teensy blinked when i pushed the reset button on the nano in this configuration. did I stumble onto something or is this a known trick? Im just wanting to learn how or why that worked, just for better understanding of how it all works generally.

many thanks!
 
@stevech (Paul): With a button press plug in and release to load code, that prevents any user code from running correct? And starts the Teensy from a fresh loss of power state - if only USB powered.

@th8a: Is there any chance you had a second IDE 1.6.6+ session open that had a valid compiled HEX that first time? If not I've never had the IDE provide TeensyLoader with a HEX after a failed compile <except when UI says - Using prior version>, and if the TL isn't handed a link to a file I've not seen it use any other during the button process. The IDE 1.6.6+ now keeps multiple TEMP directories for their own session - before that a single TEMP was used across any open IDE's and touching one dumped the other.

I've never lost a Teensy - never hooked much up with any trouble - except a hand wired touch TFT9341 board (with SD card and RTC battery) that seems to have gotten something lose and made it act oddly touching it to upload or touch screen. That resulted in a few intense sessions of PLUG on button press and my steps in Post#4. Beyond that the only thing that seemed to help was plugging in a WORKING Teeensy for the system to connect with - I assumed that was re-teaching Windows how to talk to a Teensy with the right driver and perhaps unstuck USB from an odd state it had been driven into - but I don't see how your Nano connect would do that - unless there was a reboot in there that just happened to make it work.
 
that all makes sense.. .i may havve had multiple ide sessions open on accident...

So the board was working great all day, tikl suddenly once again it wasnt. Tried lots and lots of things, but it was totally bricked again! Finally i wa able to get it to show up on the loader app again, but I notice now that the chip runs really hot! Right now its just the blink sketch n there at 24mhz, and the chip is heating up noticeably. I thought something was wrong with my code etc, but this is pointing to hardware problems i would imagine. I am nervous to plug it back in for fear of it burning out completely until I at least have some idea what is wrong with it! Is there some damaged hardware component? can it be fixed or is that pretty much it for this board? Its all so strange; the last teensy i had handled everything I threw at it in stride. This one has seemingly been finicky and problematic since the first hour. Do you think something is defective? should I try to send it back for a replacement?
'
Cheers!
 
An overheating chip usually means something has gone terribly wrong with the power, or something is shorting out and causing massive current flow.

Not good. :(
 
An overheating chip usually means something has gone terribly wrong with the power, or something is shorting out and causing massive current flow.

Not good. :(


yea... I suppose thats not a surprise. Is there any fix, or is it probably toast?
Much appreciated
 
Status
Not open for further replies.
Back
Top