Teensy 4.0 Breakout Kit

GOOD NEWS - I HAVE MY USB BACK with the TallDog T4 direct pinned breakout I assembled.

I was thinking if I put flux on my desolder braid I could pull off all the solder and lift the Flex cable - erroneous thought!

I went over it twice - all I ended up with was a small bit of solder in the braid and even nicer looking solder to reflow on the top of the cable!

So rather than get medieval - with too much flux and more effort and a solder sucker. I set the DMM range to test 200, then 2K then 20K ohms and the only sign of connectivity was IIRC 12K on the USB pads - which may be normal. I touched Flex solder to adjacent PAD, then again Flex solder to PCB pins direct for Zero Ohms and then adjacent for overscale at 20K!

So it was time to give it a try to see if I pulled out any excess solder that was bridging and so far so good! T4 powered up running old sketch.

My IDE is BUSY doing a Board Mgr update so I used the last compiled logger_RawWrite.hex from TEMP dir and it was set for USB. I now get light on my USB Dongle and a functional test of the SD card file writing to not one but both of the SD cards here. And it kept the RTC time - as I had to upload with TyCommander that doesn't yet know how to set the time.

:( :confused: - still "Mount: Failed with rc=FR_DISK_ERR." on the TD_Breakout to same SD card plugged in. I put that same SD card onto PJRC Beta breakout PCB and the test runs perfectly fine with a button press to upload the same code. Return card to TD_Breakout and push button to upload fresh and _ERR again :(

Note: I get the same 'Mount: Failed with rc=FR_DISK_ERR.' when I power the T4 with NO SD card present on both TallDog and PJRC breakout - is there a chance messed up the SD socket taking off the cover? The card detect switch or something? Or maybe some of the prior efforts { when the T4 went Dormant } with bridged pads damaged a pin in T4 needed to make this work?

I'll try PinTest'ing tomorrow and see if the 'Pin On' when it should not be happens again showing T4 damage now that I can't detect any bridges/shorts between pins. But USB WORKS! I'll try some Hard drives that run faster - not enough power without adding a powered HUB - even for 2 SSD's tried - and that needs code change.
 
Well have some good news and some bad news.

Using the following approach:

Code:
Put Kapton tape above the sdio pads covering the holes, if any,  and put another piece above the D+/D- pads.  
I started by only soldering the 1 sdio pin and getting that lined up best I could but and heres the catch. 
I moved the cable down a hair leaving a bit of the pads exposed so I could solder over it.  
Then I soldered the D+/D- pins (I pre tined the pads).  
Then I finished soldering the rest of the SDIO pads.  Then checked for shorts and corrected as necessary. 
Then ran the blink any pin sketch - so far only 1 pad doesn't work on the SDIO, pin 38 but it does blink on the connector side.
Not sure of the usb pins yet.
Going to trouble shoot a little more but there has to be a better way.
 
Just got as far as putting PWM to test on 34,35,36 that are Jumpered to 37,38,39 for digital read testing on the PCB edge where I put a female header.

I run a pass of that then swap the halves to go the other way. Does this make sense as explained?

This seems to show my T4 has a defective pin #36 - suspicion is the early shorted solder on the Flex Zapped the pin to some degree. Bottom of post shows array reorder to match pin jumper change and it runs with results noted there.
{edit} : perhaps a short to GND on #36 where soldered to Teensy - but that would give more consistent behavior - if it could ever get to a '1' value ... AFAIK?
{edit 2} : opps - #36 short would be to 3V3 or D- but not to GND. If D- is really going negative that would explain it as Teensy pins don't like negative voltage?

@loglow :: if this is what happened this any many other issues would be resolved if GND and 3V3 were not carried on the FLEX cable as indicated in p#175 ( or #173 ) - and the Flex and PCB layout were changed to put those BLANK pad spaces to minimizes soldering defects as per p#175 where GND and 3V3 were routed directly from elsewhere on the PCB. This makes the FLEX asymmetric and also means the Flex could not go to a daughter board for USB and SDIO without taking GND and 3V3 ( if that were an idea ).
> In the process after losing USB I did learn something useful : after soldering the Flex to PCB a pass with desolder braid ( holding flux ) pulled off excess solder and restored USB, but that won't apply when the Flex is fed to the soldered connector.

I am seeing unexpected results at various frequencies on one pin. As coded below the PWM frequency is 2M and I see this:
Code:
Compile Time:: T:\tCode\T4\TallDog_SDIOpinTest\TallDog_SDIOpinTest.ino Sep 18 2019 01:33:40
0 Cnt=1999826 PWM out =34 Dig Read =37
1 Cnt=1999966 PWM out =35 Dig Read =38
2 [B]Cnt=274722[/B] PWM out =36 Dig Read =39

3 Cnt=1999938 PWM out =37 Dig Read =34
4 Cnt=1999462 PWM out =38 Dig Read =35
5 [B]Cnt=64130[/B] PWM out =39 Dig Read =36

0 Cnt=1998504 PWM out =34 Dig Read =37
1 Cnt=1999966 PWM out =35 Dig Read =38
2 Cnt=150820 PWM out =36 Dig Read =39

3 Cnt=1999962 PWM out =37 Dig Read =34
4 Cnt=1999968 PWM out =38 Dig Read =35

>> HUNG HERE?  It is stuck!!!!

Output this run stopped as above in what would have been :: PWM out =39 Dig Read =36
Code:
      while ( 0 == digitalReadFast( pinsSDIO[nn] ) );
      while ( digitalReadFast( pinsSDIO[nn] ) );
If it is Pin #36 at fault then the digital read is in a failed state ????
> With the Handy PCB switch a power cycle the next time PAUSED on the first not second instance of that combination, then while I was typing this line it continued a full iteration and then stopped on that combo the next pass.
> It does not always HANG - but always seems to miscount where pin #36 is involved


Here is the code { with Edit to show while wait for 0 versus 1 as shown at post end}:
Code:
void setup() {
  Serial.begin(115200);
  while (!Serial && millis() < 4000 );
  Serial.println("Compile Time:: " __FILE__ " " __DATE__ " " __TIME__);
}

uint32_t cnt = 0;
void loop() {
  cnt++;
  sdioTestPWM( cnt );
}


elapsedMillis emiWait;
//uint32_t pinsSDIO[9] = { 34, 35, 36, 37, 38, 39, 34, 35, 36 };
uint32_t pinsSDIO[9] = { 34, 35, 36, 37, 39, 38, 34, 35, 36 };
void sdioTestPWM( uint32_t cnt) {
  int ii, mm, nn;
  if ( cnt % 2 ) mm = 0;
  else mm = 3;
  for ( ii = mm; ii < mm + 3; ii++ ) {
    nn = ii + 3;
    //    pinMode( pinsSDIO[ii], INPUT_DISABLE); // Not required - pin state set on analogWrite
    pinMode( pinsSDIO[nn], INPUT);
  }

  for ( ii = mm; ii < mm + 3; ii++ ) {
    nn = ii + 3;
    //    analogWriteFrequency( pinsSDIO[ii], (nn + (cnt % 4)) * 100000 ); // Similar results on changing or other frequencies
    analogWriteFrequency( pinsSDIO[ii], 2000000 );
    analogWrite( pinsSDIO[ii], 128 );
    delayMicroseconds( 4);
    uint32_t pCnt = 0, Cnt0 = 0, Cnt1 = 0;
    while ( 0 == digitalReadFast( pinsSDIO[nn] ) );
    while ( digitalReadFast( pinsSDIO[nn] ) );
    emiWait = 0;
    while ( emiWait < 500 ) {
      while ( 0 == digitalReadFast( pinsSDIO[nn] ) ) Cnt0++;
      while ( digitalReadFast( pinsSDIO[nn] ) ) Cnt1++;
      pCnt++;
    }
    Serial.print(ii);
    Serial.print(" Cnt=");
    Serial.print(pCnt * 2);
    Serial.print(" PWM out =");
    Serial.print(pinsSDIO[ii]);
    Serial.print(" Dig Read =");
    Serial.print(pinsSDIO[nn]);
    Serial.print(" Cnt0's=");
    Serial.print(Cnt0);
    Serial.print(" Cnt1's=");
    Serial.print(Cnt1);
    Serial.println();
  }
  Serial.println();
}

Other times it runs as it should but that same pin combo does not yield the set frequency - some HIGH some LOW:
Code:
0 Cnt=1999308 PWM out =34 Dig Read =37
1 Cnt=1999968 PWM out =35 Dig Read =38
2 Cnt=2015180 PWM out =36 Dig Read =39

3 Cnt=1999964 PWM out =37 Dig Read =34
4 Cnt=1999968 PWM out =38 Dig Read =35
5 Cnt=843326 PWM out =39 Dig Read =36

0 Cnt=1999528 PWM out =34 Dig Read =37
1 Cnt=1999968 PWM out =35 Dig Read =38
2 Cnt=2299240 PWM out =36 Dig Read =39

3 Cnt=1999964 PWM out =37 Dig Read =34
4 Cnt=1999968 PWM out =38 Dig Read =35
5 Cnt=924524 PWM out =39 Dig Read =36

I see this given this cable and array swap of 39, 38:: uint32_t pinsSDIO[9] = { 34, 35, 36, 37, 39, 38, 34, 35, 36 };
Code:
0 Cnt=1999928 PWM out =34 Dig Read =37
1 Cnt=1999966 PWM out =35 Dig Read =39
2 [B]Cnt=3443452[/B] PWM out =36 Dig Read =38

3 Cnt=1999964 PWM out =37 Dig Read =34
4 Cnt=1999968 PWM out =39 Dig Read =35
5 [B]Cnt=474784[/B] PWM out =38 Dig Read =36

Not sure what this adds - but a quick code add shows it is not spending as much time in the while wait for Zero's as it does waiting for One's - so the pin won't drive HIGH too well:
Code:
4 Cnt=1999962 PWM out =39 Dig Read =35 Cnt0's=14999223 Cnt1's=13397242
5 Cnt=1645562 PWM out =38 Dig Read =36 Cnt0's=[COLOR="#FF0000"]3613763 [/COLOR]Cnt1's=[B]23983135
[/B]

Very Curious count result was just noticed:
Code:
1 Cnt=1999964 PWM out =35 Dig Read =39 Cnt0's=14997380 Cnt1's=13398915
2 Cnt=618470 PWM out =36 Dig Read =38 [B]Cnt0's=3554[/B] [COLOR="#FF0000"]Cnt1's=29171653[/COLOR]
 
Last edited:
@defragster - As usual you do a far better and thorough testing than I have been able (and most of the time willing) to do!

Great stuff..

EDIT: FYI - as I mentioned I will see if I can solder on jumpers to USB pads, to see if I can at least test to see if I get any USB output...

As you can see I did not do an overly clean removal of the flex cable:
IMG_0883.jpg
 
Last edited:
Update to previous post, where I showed the bottom pads that were either the pads were ripped off or parts of flex cable still sort of there.

I did quickly just put some solder over the USB pads, cut a female/female connector in half and soldered on, and then plugged them into top of USB+- pins of breakout board. I used extra long pins on the board so I can do stuff with both top and bottom...

I then compiled the USBHost_t36 mouse example and plugged in a mouse and ...

Code:
USB Host Testing
960
*** Device HID1 46d:c063 - connected ***
  manufacturer: DELL
  product: DELL USB Laser Mouse
*** HID Device Mouse1 46d:c063 - connected ***
  manufacturer: DELL
  product: DELL USB Laser Mouse
Mouse: buttons = 1,  mouseX = 0,  mouseY = 0,  wheel = 0,  wheelH = 0
Mouse: buttons = 1,  mouseX = 0,  mouseY = 1,  wheel = 0,  wheelH = 0
Mouse: buttons = 1,  mouseX = 2,  mouseY = 6,  wheel = 0,  wheelH = 0
Mouse: buttons = 1,  mouseX = 1,  mouseY = 4,  wheel = 0,  wheelH = 0
Mouse: buttons = 1,  mouseX = 2,  mouseY = 4,  wheel = 0,  wheelH = 0
Mouse: buttons = 1,  mouseX = 1,  mouseY = 4,  wheel = 0,  wheelH = 0
Mouse: buttons = 1,  mouseX = 1,  mouseY = 3,  wheel = 0,  wheelH = 0
Mouse: buttons = 1,  mouseX = 1,  mouseY = 3,  wheel = 0,  wheelH = 0
Mouse: buttons = 0,  mouseX = 0,  mouseY = 0,  wheel = 0,  wheelH = 0
Mouse: buttons = 0,  mouseX = -1,  mouseY = 1,  wheel = 0,  wheelH = 0
Mouse: buttons = 0,  mouseX = -8,  mouseY = 2,  wheel = 0,  wheelH = 0
...
It ain't pretty but at least the USB part is working now. So probably implies I soldered the really really small chip correctly.
 
@defragster - I agree whole heartedly with @KurtE.

Good to hear :)

Funny how it isn't until 1-2AM (sleep time) that I get around to figuring out the next step or the code I want to write …

So that ran overnight and I see a variety of results in the window now:

Code:
[COLOR="#FF0000"]// A string of these: in half second - long wait for 1 and only two of them with no wait on 0's?[/COLOR]
5 Cnt=2 PWM out =38 Dig Read =36 Cnt0's=0 Cnt1's=95307613

...
[COLOR="#FF0000"]// A string of these: Running properly as expected[/COLOR]
[B]0 Cnt=1999962 PWM out =34 Dig Read =37 Cnt0's=14997699 Cnt1's=13398606
1 Cnt=1999964 PWM out =35 Dig Read =39 Cnt0's=14997378 Cnt1's=13398914
2 Cnt=1999962 PWM out =36 Dig Read =38 Cnt0's=14996905 Cnt1's=13399333

3 Cnt=1999960 PWM out =37 Dig Read =34 Cnt0's=14996888 Cnt1's=13399321
4 Cnt=1999962 PWM out =39 Dig Read =35 Cnt0's=14999223 Cnt1's=13397242
5 Cnt=1999962 PWM out =38 Dig Read =36 Cnt0's=14999907 Cnt1's=13396656
[/B]
...
[COLOR="#FF0000"]// and these these in places: Really high #38 reads[/COLOR]
2 Cnt=[B]4073806[/B] PWM out =36 Dig Read =38 Cnt0's=7763552 Cnt1's=16056254

3 Cnt=1999960 PWM out =37 Dig Read =34 Cnt0's=14996888 Cnt1's=13399321
4 Cnt=1999962 PWM out =39 Dig Read =35 Cnt0's=14999223 Cnt1's=13397242
5 Cnt=1383424 PWM out =38 Dig Read =36 Cnt0's=9533979 Cnt1's=19261415
 
Looking at SerMon - it was running many times with proper numbers for counts!
Plug in an SDHC card and it stops on the '5' read of Pin36 ... unplug and it resumes ... plug in and stop cycle repeats ...

So at this point USB and POWER and VBat working - everything test seems to work - but not all pins tested much with focus on Flex finding the issues with what seems to be Pin #36.

Ok finished putting male headers on the breakout and ran @KurtE's any pin. All pins ring out no problem except for the card since I don't have a cable to test with yet. Once I get that I will try more. Now going to try the missing on off pins.

EDIT:
On/Off button: Success it works :)
VBAT: TBD.

here are a couple of pics on how I would use it.
View attachment 17585

@mjs513 - where did you get those standoffs? What is the sizing info? I got some with a larger screw end too big for these holes - they work great on the FrankB Teensy64.
 
Update to previous post, where I showed the bottom pads that were either the pads were ripped off or parts of flex cable still sort of there.

I did quickly just put some solder over the USB pads, cut a female/female connector in half and soldered on, and then plugged them into top of USB+- pins of breakout board. I used extra long pins on the board so I can do stuff with both top and bottom...

I then compiled the USBHost_t36 mouse example and plugged in a mouse and ...

Code:
It ain't pretty but at least the USB part is working now. So probably implies I soldered the really really small chip correctly.[/QUOTE]

@KurtE - thanks that reminds me.  That TPD chip is really hard to solder, at least for me - think I may have messed it up.  

Dan - You might want to think about using the TPS chip that Paul used on his breakout board.  It has been working for me with out a problem and a bit easier to solder
 
@defragster - @KurtE

Have a good one for you. If I use the blink sketch and test the edge pins only pin 38 does not blink. So I removed the SD Connector cover and tested the pins on the SD connector itself. Each pin rang out and blinked the T4. Even checked the 3v line - it did lite up the LED.

Even with all that if I put in a SD card and use CardInfo and change CS to BUILTIN_SDCARD I keep getting initialization failed.

Not sure what to else to do with the SD card to get it working. Any suggestions.
 
@defragster - @KurtE

Have a good one for you. If I use the blink sketch and test the edge pins only pin 38 does not blink. So I removed the SD Connector cover and tested the pins on the SD connector itself. Each pin rang out and blinked the T4. Even checked the 3v line - it did lite up the LED.

Even with all that if I put in a SD card and use CardInfo and change CS to BUILTIN_SDCARD I keep getting initialization failed.

Not sure what to else to do with the SD card to get it working. Any suggestions.

I put my SD cover plate on and hit with solder - will see if I can wick it off. @mjs513 - does the cover plate fit on and off with the Flex connector installed? It is close - but since I soldered it first I couldn't check. I notice mine is not on perfectly straight.

I did notice the clearance to the shield is close with the spring pins up with no card installed - not sure if anything could shift it to short to a pin?

My sketch from MSC thread reports only the error shown - I didn't try alternate sketch to get that or other 'init fail' message.

With #36 pin seemingly out of commission mine will never work with this unsocketed T4 pinned direct to the PCB. I could cut the side pins and clean up PCB&T4 for reuse with some time - but the central 10 pads with 2x5 pins would probably result in T4 still bound or damaged if I tried as those pins are too far in to cut and even the cool heated solder sucker MichaelM linked the KurtE and I bought not likely to remove everything for easy removal with 10 pins. So mine won't work without a new T4 on a fresh PCB AFAIK.

As far as @mjs513's SD card ? - can you jumper 34>37, 35>38, 36>39 and see posted code work at any attempted freq? If that works then you may have the needed pin function, if not it will never work. But Pin 38 could only have shorted to 37 or 39 - that would be 'harmless' compared to applying D- neg voltage ( if that is what happened here ).

I was going to have it cycle through freq's on successive calls {actually that commented line was first but I was seeing stupid results and had to step back to see #36 effect} with CNT, maybe a unique freq each pin on each call - but I found errors right off so didn't develop that portion further. It did just occur to me that at the end of each pin test before the next I should shut the pin down to make sure one pin isn't feeding the other - which of course opens up the test to need to fire up each pin in a pass with a unique freq to make sure they are isolated or unbridged … but again mine is DOA so my test there would be blind or only on 2 pins - though I could cheat and wire to another pin like #23 in the array to replace #36. I could update the code with cnt%4 to decide if pins were left ON or OFF during test of other pins where cnt%2 decides test direction, cnt%4 could leave passes [0,1] as is {and disable after pin test} and [2,3] could set all three out freq's active to unique freq {not the test freq} before testing any pin and then put that pin back to that unique freq after.


FUN NOTE: the PWM pin test is back to looking perfect as it should - all those while loop counts on 6 pins getting similar counts like 1999962 at this time for the 2 MHz PWM signal being set from the other half in turn.

Anyhow - off to remove the SD socket cover ...
 
defgragster said:
I put my SD cover plate on and hit with solder - will see if I can wick it off. @mjs513 - does the cover plate fit on and off with the Flex connector installed? It is close - but since I soldered it first I couldn't check. I notice mine is not on perfectly straight.

I did notice the clearance to the shield is close with the spring pins up with no card installed - not sure if anything could shift it to short to a pin?

The way I set mine up I have just enough room to slide the cover on and off - did have to unsolder it though. And yeah the pins are close that is why I slide a dummy card in :). Will have to ring out again with the card installed to see what happens - yes my cover is crooked too.

Oh I also put a piece of thin heavy weight card stock between the cover and pins jus as a precaution.

EDIT: Oops - I forgot - I have no connectivity to pin 38 when I ran it out with blink so not sure how good your sketch will work with that pin but I will give your sketch a go either later if I can't sleep or first thing in the morning.
 
@...

SDCard

Can not test it on mine, as I sort of killed that flex cable...

@loglow - As mentioned the TPD chip that was on the breakout boards is a little easier for old eyes to work on...
https://www.digikey.com/product-detail/en/texas-instruments/TPS2055AD/296-3418-5-ND/372203


Also as I mentioned for me it would be good if the SDCard adapter soldered on from the front of it instead of the back. So you can easily solder in your ribbon connector and then when that is working, you can then position the SD Card adapter and solder it in from the edge of the board. Also where the pins are more readily visible. But

Again not sure what the shortest ones that are easily available are.
There is ones for example from Molex like: https://www.molex.com/pdm_docs/sd/1050270001_sd.pdf

But again I have not tried those out, so don't know how well the work or not...
 
FIRST NOTE: I asked on T4 Beta thread if USB D- is actually NEG voltage and KurtE replied as tested it is differential voltage - but not negative voltage on USB D-. So that doesn't explain my #36 seeming weak/affected.

Cover plate came off okay with solder remove/heat, didn't even disturb the fat CAP there. Reflowed the SD pins and wicked off some solder and left cleaner joints. Running the test hasn't failed yet- at 1 or 2 or 8 MHz, and the //other line with changing values going from 3M to 10Mhz.
> Put cover back on (unsoldered) and retested that and runs fine until a card is inserted then it goes to hanging again in same '5' case of read #36?

MSC sample give same error and 'CardInfo' with BUILTIN_SDCARD gives '... initialization failed', if I remove the card I went back to the TD_SDIOPinTest at 15 MHz and all 6 pins test out at 14998120 to 14998308 cnts! And even less variaence at 18 MHZ - [ 20 must be between values as it give the same # and 24 fails]:: 18747650-74
*Note: FYI - 20 MHz is about the MAX on loop cycle speed but the paired while(digitalReadFast) cnt loops above p#178 work for a reliable 18.7 Mhz


@mjs513 - noticed with cover off the SD adapter is not 100% straight - so that is why my cover looked 'not straight. Also you can run the test against your #38 pin for 'fun' to see if it would be a good assembly test tool perhaps - of course it requires a way to put those 3 jumpers reliably on 6 pins. Still need to re-find Paul's Hz cycle test used for the POGO pin test during T4_Beta - running that allowed using DMM to see each had unique presented voltage.

Also @mjs513 - odd you have a bad #38 and here a bad #36 - not sure what caused it or how to correct to get SDIO card use :(

I managed the USB TPD chip it seems :) - but it is borderline reading the top and soldering the small pins. I need to put the USB Hub code MSC doesn't have and use my powered HUB to make sure it safely works the same as on PJRC breakout - that hub back feeds power once initiated and the USB power is CUT. This doesn't happen on T_3.6 IIRC perhaps the chip used and it having a control pin.

EDIT LAST NOTE: Forgot to 2nd KurtE's suggest of a front solder version of the SD card holder. That space is too tight - and that would be better than growing the board 0.10" for no other reason. And if GND and 3V3 are dropped from FLEX cable that might give more room for routing - though actually maybe not given that wires can't feed from both sides then - though it would then be clear of the bottom pullups pads.
 
@defragster

Ok - having tough time here - where is your TD_SDIOPinTest sketch - cant seem to find it - can you post it here.
 
Wondering, has anyone had success reading an SDCard yet? I assume so, but if I had mine hooked up, the next thing I would check would be to ring out Which pins go where.

That is my first layout of of a board using them, I accidentally reversed the pin order. I assume no one else made that same mistake I did..
 
Wondering, has anyone had success reading an SDCard yet? I assume so, but if I had mine hooked up, the next thing I would check would be to ring out Which pins go where.

That is my first layout of of a board using them, I accidentally reversed the pin order. I assume no one else made that same mistake I did..

Was going back through the thread and didn't really see anyone that had any success.

Yep I checked the connection to the sd card socket using this pinout for the socket: http://elasticsheep.com/wp-content/uploads/2010/01/sd-card-pinout.png. It matches
 
Thanks @defragster. This is definitely past my bedtime but had to try it first.

Testing done with the cover off:

Test #1 = jumpers between edge pins, you can see where pin 38 does not work on the edge of the board real clearly with this test:
Code:
0 Cnt=16664334 PWM out =34 Dig Read =37 Cnt0's=1337 Cnt1's=8331328
1 Cnt=16646320 PWM out =35 Dig Read =38 Cnt0's=4946883 Cnt1's=3903583
2 Cnt=16664350 PWM out =36 Dig Read =39 Cnt0's=1337 Cnt1's=8331335

3 Cnt=16664334 PWM out =37 Dig Read =34 Cnt0's=1339 Cnt1's=8331326
4 Cnt=5479156 PWM out =38 Dig Read =35 Cnt0's=23052333 Cnt1's=1924710
5 Cnt=16664352 PWM out =39 Dig Read =36 Cnt0's=1334 Cnt1's=8331340

Test #2 = jumping between edge pin35 and 38 on the flex ribbon cable connector, working fine.
Code:
0 Cnt=16664332 PWM out =34 Dig Read =37 Cnt0's=1346 Cnt1's=8331323
1 Cnt=16664350 PWM out =35 Dig Read =38 Cnt0's=1344 Cnt1's=8331334
2 Cnt=16664354 PWM out =36 Dig Read =39 Cnt0's=1351 Cnt1's=8331327

3 Cnt=16664336 PWM out =37 Dig Read =34 Cnt0's=1340 Cnt1's=8331326
4 Cnt=16664354 PWM out =38 Dig Read =35 Cnt0's=1331 Cnt1's=8331343
5 Cnt=16664354 PWM out =39 Dig Read =36 Cnt0's=1341 Cnt1's=8331334

0 Cnt=16664332 PWM out =34 Dig Read =37 Cnt0's=1346 Cnt1's=8331323
1 Cnt=16664350 PWM out =35 Dig Read =38 Cnt0's=1345 Cnt1's=8331333
2 Cnt=16664354 PWM out =36 Dig Read =39 Cnt0's=1351 Cnt1's=8331327
Gives me some confidence that at least the connection works to board and to the sd socket.
 
@KurtE - @defragster

Got it finally to show some life. I got this once:
Code:
Initializing SD card...Wiring is correct and a card is present.

Card type: SD1
Could not find FAT16/FAT32 partition.
Make sure you've formatted the card
BUT!!!!! if you unplug and plug it back in - you get initialization failed message again.

EDIT: Playing around with the sd card in the holder does help. If you get it just right it works now. Have to remember I don't have the cover soldered on and yes it is a little crooked.

It would definitely help to change the sd card holder to something like @KurtE recommended.
 
After pulling the cover and reflow and wick 'extra' solder from the SD socket pins - I have not seen the 'While() Halt' or any funny numbers since that 'cleanup'.

Thanks @defragster. This is definitely past my bedtime but had to try it first.

Testing done with the cover off:

Test #1 = jumpers between edge pins, you can see where pin 38 does not work on the edge of the board real clearly with this test:

Gives me some confidence that at least the connection works to board and to the sd socket.

Odd - I see #36 has a bottom pad for Pullup - not populated. That doesn't apply to #38.

If SD fails when you get to it again - you might cut the trace going to the edge pin? I don't see other spots where it could be messed up in routing - if so odd my 38 is good and any problem I have is on 38.

> Will update the sketch with a timer_isr at maybe 50ms so I can monitor the wile loop of the read 0 and 1
> also add a simulation of Paul's Freq code turning on the 6 PWM's to read with a DMM.
 
@KurtE - @defragster

Got it finally to show some life. I got this once:
...

Good'ish news. That is the first note I've seen of SD card that close to working.

Cross posted above - took a break between start and finish it seems.

Without soldering the cover tabs I see the inserted card gets sprung up on mine - so must've removed solder from any tabs on base connector.

Putting the card in and holding it down I still fail on both SD tests. I've tried shifting the card position - unless pushed in the last bit the side switch doesn't close - not sure how that fits into card function?
 
Back
Top