Call to arms | Teensy + SDRAM = true

That would be great.
Just programmed it with variant DB5 Code4Code @582 MHz and it's running happily with the enhanced MCU Volt clockspeed.
Code:
15028110 nor ns: @582 Completed CASCADE Count 4000        deg  C=46    Pass#77
Cascading took 5880247 us [3400431752 piCycles] : net 37581 us
Direct calls took 5849642 us [3403198224 piCycles] : net 2223 us

Got two labels and prepped a box - just noticed not 4PM - local shop will take it to town ... off I go

- back 18 minutes later ...will get to Post Office today in time to head processing to be on the way ...
 
Last edited:
Been slowly testing the cameras - so far only 3 tested since we have both CSI and FLEX. Will add to this list as I go through them


CameraFlexCSI
OV5640WorksWorks
OV7675WorksOnly 'n' option works reliably, Video Pixelates fast like bytes are swapped every other frame
OV2640NONO
New for 7/11/24
HM0360YES'f'-snapshot have to hit twice to capture, 'm and M' works but issues with SDRAM usage,
GC2145FAILS TO START?'f'-have to hit a couple of times to grab image, 'm/M' works but every other image looks like bytes are swapped, 'n' works [happens whether using sdram or not]
Note: 'V' doesn't work at all in case anyone whats to know.
 
Last edited:
Has anybody tried to get USBHost working yet? I see three pads by the UBC connector that are unconnected. One outer pad seems to go to USB OTG connector and the outer pad on the other side seems to the power supply next to the blue connector. Am I correct in assuming I need to jumper the center pad to one of the outer pads the get USBHost power?
 
I bridged the OTG pad and center pad, Tested wireless mouse, keyboard and USB stick. All seem to work as expected. Copying files between two USB drives and SD card times are about the same as the T4.1 and MicroMod...
 
@Dogbone06 did you make any updates to accomodate this comment?

I'm looking at what I believe is the last version of the schematic/pcb posted, but I think i need to connect cc1, cc2, dp, and dm from L10 (the IP6520) to USB2 as in this schematic found elsewhere on the net:
View attachment 35002
That said, I have no idea where the 50k pullups mentioned in this comment are supposed to go:

For reference, I tried deciphering the datasheet from the component's custom properties but the language barrier is proving to be problematic, and I don't see any pullups on the "simplified application schematic" from the datasheet:
View attachment 35005
Finally, regarding the SD card, do you think it makes sense to add the additional components as shown in the MIMXRT1060_EVK Design files?
View attachment 35003

Seems like lots of additional complexity if what you already have is working fine, but figured I'd ask while I'm tweaking things. In my experience with sd cards I've had some success and some failures, so I'm just hoping to get it right this time around.

Thanks for any help, and sorry to keep pestering you.
The CC pins human error was fixed on the Gen5 board. It's just that CC1 and CC2 on the IP6510 and the USB-C needs to be connected together.
 
@jmarsh - Finally got to test your latest USBHost library on the MicroMod and DevBoard 5 with device type set to Micromod in Arduino. It works on both boards:D
Code:
LUN 0: 241660916 sectors of 512 bytes each
LUN 0: 241660916 sectors of 512 bytes each
Testing Kingston DataTraveler 3.0 LUN 0, please wait approx. 10 seconds...Testing Kingston DataTraveler 3.0 LUN 0, pl
Test complete, read 255655936 bytes in 10000ms (24.38 MB/s)

However when I select "Teensy DevBoard V5.0" variant in the IDE 2.3.2 I get this which is probably expected:
Code:
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/arm-none-eabi-gcc -O2 -Wl,--gc-sections,--relax -T/home/wwatson/Arduino/hardware/teensy-dev/avr/variants/DevBrd5/imxrt1062_mm_sdram.ld -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/speedtest.ino.elf /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/sketch/speedtest.ino.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/drivers/ch341_serial.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/drivers/mass_storage.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/drivers/mass_storage_fat.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/drivers/mouse.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/drivers/rndis.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/device.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/driver.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/endpoint_iso.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/endpoint_qh.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/host.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/hub.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/hub_driver.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/ehci/periodicscheduler.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/teensy4_usbhost-master/teensy4_usbhost.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atom_newlib_locks.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atomkernel.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atommutex.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atomport-asm.S.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atomport.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atomqueue.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atomsem.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atomtimer.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatDbg.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatFile.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatFilePrint.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatFileWrite.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatFormatter.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatName.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatPartition.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/ExFatVolume.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/ExFatLib/upcase.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatDbg.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatFile.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatFileLFN.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatFilePrint.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatFileSFN.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatFormatter.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatName.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatPartition.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FatLib/FatVolume.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FreeStack.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FsLib/FsFile.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FsLib/FsNew.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/FsLib/FsVolume.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/MinimumSerial.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SdCard/SdCardInfo.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SdCard/SdSpiCard.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SdCard/SdioTeensy.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiArtemis.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiChipSelect.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiDue.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiESP.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiParticle.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiSTM32.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiSTM32Core.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/SpiDriver/SdSpiTeensy3.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/FmtNumber.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/FsCache.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/FsDateTime.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/FsName.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/FsStructs.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/FsUtf.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/PrintBasic.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/common/upcase.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/iostream/StdioStream.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/iostream/StreamBaseClass.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/iostream/istream.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SdFat/iostream/ostream.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/SPI/SPI.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/core/clockspeed.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/core/variant.c.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/core/variant_cpp.cpp.o /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/../../cores/d4d377a83c7b027000dcddaed4f0bde6/core.a -L/tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC -larm_cortexM7lfsp_math -lm -lstdc++
/tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/core/variant.c.o: in function `sdram_begin':
/home/wwatson/Arduino/hardware/teensy-dev/avr/variants/DevBrd5/variant.c:499: multiple definition of `startup_middle_hook'; /tmp/arduino/sketches/277E863B4044E534E1B73676352DD6EC/libraries/TeensyAtomThreads-master/atomport.cpp.o:/home/wwatson/Arduino/libraries/TeensyAtomThreads-master/atomport.cpp:109: first defined here
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(new_opant.o):(.ARM.extab.text._ZnwjSt11align_val_tRKSt9nothrow_t+0x0): relocation truncated to fit: R_ARM_PREL31 against symbol `__gxx_personality_v0' defined in .text.__gxx_personality_v0 section in /home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(eh_personality.o)
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(new_opant.o):(.ARM.exidx.text._ZnwjSt11align_val_tRKSt9nothrow_t+0x4): relocation truncated to fit: R_ARM_PREL31 against `.ARM.extab.text._ZnwjSt11align_val_tRKSt9nothrow_t'
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(new_opnt.o):(.ARM.extab.text._ZnwjRKSt9nothrow_t+0x0): relocation truncated to fit: R_ARM_PREL31 against symbol `__gxx_personality_v0' defined in .text.__gxx_personality_v0 section in /home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(eh_personality.o)
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(new_opnt.o):(.ARM.exidx.text._ZnwjRKSt9nothrow_t+0x4): relocation truncated to fit: R_ARM_PREL31 against `.ARM.extab.text._ZnwjRKSt9nothrow_t'
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(functexcept.o):(.ARM.exidx.text.unlikely._ZSt17__throw_bad_allocv+0x4): relocation truncated to fit: R_ARM_PREL31 against `.ARM.extab.text.unlikely._ZSt17__throw_bad_allocv'
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(functexcept.o):(.ARM.exidx.text.unlikely._ZSt28__throw_bad_array_new_lengthv+0x4): relocation truncated to fit: R_ARM_PREL31 against `.ARM.extab.text.unlikely._ZSt28__throw_bad_array_new_lengthv'
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(functexcept.o):(.ARM.extab.text.unlikely._ZSt19__throw_logic_errorPKc+0x0): relocation truncated to fit: R_ARM_PREL31 against symbol `__gxx_personality_v0' defined in .text.__gxx_personality_v0 section in /home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(eh_personality.o)
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(functexcept.o):(.ARM.exidx.text.unlikely._ZSt19__throw_logic_errorPKc+0x4): relocation truncated to fit: R_ARM_PREL31 against `.ARM.extab.text.unlikely._ZSt19__throw_logic_errorPKc'
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(functexcept.o):(.ARM.extab.text.unlikely._ZSt20__throw_length_errorPKc+0x0): relocation truncated to fit: R_ARM_PREL31 against symbol `__gxx_personality_v0' defined in .text.__gxx_personality_v0 section in /home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(eh_personality.o)
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(functexcept.o):(.ARM.exidx.text.unlikely._ZSt20__throw_length_errorPKc+0x4): relocation truncated to fit: R_ARM_PREL31 against `.ARM.extab.text.unlikely._ZSt20__throw_length_errorPKc'
/home/wwatson/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+dp/hard/libstdc++.a(functexcept.o):(.ARM.extab.text.unlikely._ZSt20__throw_out_of_rangePKc+0x0): additional relocation overflows omitted from the output
collect2: error: ld returned 1 exit status

Using library teensy4_usbhost at version 1.0 in folder: /home/wwatson/Arduino/libraries/teensy4_usbhost-master
Using library TeensyAtomThreads-master in folder: /home/wwatson/Arduino/libraries/TeensyAtomThreads-master (legacy)
Using library SdFat at version 2.1.2 in folder: /home/wwatson/.arduino15/packages/teensy/hardware/avr/1.59.0/libraries/SdFat
Using library SPI at version 1.0 in folder: /home/wwatson/.arduino15/packages/teensy/hardware/avr/1.59.0/libraries/SPI
exit status 1

Probably a little premature for the variant...
 
It's because both the threading library and the sdram library use startup_middle_hook. I submitted a PR for this (to allow multiple hooks) and was told libraries shouldn't use the startup hooks at all, but there is no other feasible option to initialize an OS kernel when static objects potentially rely on it.
 
The .arm.extab and .arm.exidx relocation issues aren't related - that looks like Kurt has them in the wrong memory section in the linker script.
 
The .arm.extab and .arm.exidx relocation issues aren't related - that looks like Kurt has them in the wrong memory section in the linker script.
I believe I just copied the linker script from what your earlier stuff was... If there is an error with it, if there is a problem with it
or something was updated after that point, let me know,,,
 
I might have posted a linker script that I use in PIO somewhere in this thread.
Basically took the T4.1 linker script, changed flash size to 16mb to build for a T_MM and changed the ERAM start address to 0x80000000 for use with SDRAM, instead of 0x70000000 that was used for PSRAM
 
Ran into a problem with the DB5 and @KurtE DB5 shield :(
On the DB5 the long female headers have two 28 pin and two 4 pin connectors. On each side is a 28 pin and a 4 pin connector. Unfortunately the point where the two connector housings meet was not shaved down so the 4 pin connector is bent out away from the 28 pin connector causing a gap between them. This is actually bending the DB5 PCB. Here is a picture:
DB5_connector_problem.jpg


You can see the problem in the lower right off the image. I won't be able to mount the shield to this DB5...
 
You can see the problem in the lower right off the image. I won't be able to mount the shield to this DB5...
Been there... Done that.....

IMG_0680.jpeg


What I did was to start the header pins like you, but don't push them all the way in. Then position the shield. Then sort of force the 4 pin parts into the proper place to get into the holes.... Then push the whole thing done flush and solder them in...

Ain't perfect, but worked for me.... This is showing it on the first DB5 that went south..
 
Been there... Done that.....

View attachment 35269

What I did was to start the header pins like you, but don't push them all the way in. Then position the shield. Then sort of force the 4 pin parts into the proper place to get into the holes.... Then push the whole thing done flush and solder them in...

Ain't perfect, but worked for me.... This is showing it on the first DB5 that went south..
If it worked for you it will work for me:D Thanks Kurt. I new I should not have been so quick to wire it back up again:oops:
Been working on 32-bit color...
 
Ran into a problem with the DB5 and @KurtE DB5 shield :(
On the DB5 the long female headers have two 28 pin and two 4 pin connectors. On each side is a 28 pin and a 4 pin connector. Unfortunately the point where the two connector housings meet was not shaved down so the 4 pin connector is bent out away from the 28 pin connector causing a gap between them. This is actually bending the DB5 PCB. Here is a picture:
View attachment 35268

You can see the problem in the lower right off the image. I won't be able to mount the shield to this DB5...
Reason there's a long and a short one is that the full length was out of stock when ordering these Gen5 boards.
 
Reason there's a long and a short one is that the full length was out of stock when ordering these Gen5 boards.
I've been a fan of the Samtec SSQ line of sockets for a couple decades now. When I started ordering more than a few parts, I found Samtec to be very small-business-friendly. I still have a few dozen socket strips left from production runs that ended about 15 years ago. When I need a row of sockets that doesn't match the connectors on hand, I usually opt to cut off or pull pins from a longer socket. That avoids having to stress the pins or grind down the ends of shorter connectors. That happened just yesterday when I was putting together a prototype camera board with a T4.1. I had lots of 10-row socket strips and some 25-row strips. I opted to use the 25-row sockets and pull out the last pins and cut off the last position on each side.

If you use socket strips like these, be sure to order the low-insertion-force version. I'm always nervous when it comes time to plug in or remove the T4.1 with standard socket strips. In the old days, I had some boards with 90 pins in (two 20x2 and one 25x2) To insert the board in standard sockets practically required lining up the pins, putting it on the floor and stepping on it! Removing a board took several minutes of prying up the edges a half millimeter at a time!
 
Reason there's a long and a short one is that the full length was out of stock when ordering these Gen5 boards.
So lengths of 32 are available? I assumed 28+4 was used because the run of pins was shortened (from ~40 or whatever the earlier boards had) and those were the only lengths available to make up the required size.
 
Back
Top