Experimental MicroMod "T3.2" board

luni

Well-known member
Since there where rumors that we might get a MicroMod compatible T4 I read a bit into this platform and like it very much since it would make integrating Teensies in custom boards much nicer.
So, I spent the rainy weekend designing a quick and hacky board (hopefully) compatible to the Teensy 3.2. https://github.com/luni64/MicroMod_3.2

After decades of using EAGLE this is my first real KiCad board. So, forgive me if the data in the repo are not as they should be. Still don't fully understand how the library system is supposed to work.

I was able to do the layout on a 2 layer board. However, I wasn't able to do it with the usual 6/6mil rules but needed go down to 5/5mil which, unfortunately is a bit more expensive.

3d_top.jpg 3d_bottom.jpg
Schematic: View attachment schematic.zip

Features:
  • 8bit bus: PTD0 - PTD7 (D2, D14, D7, D8, D6, D20, D21, D5)
  • Differential AD (A10, A11 / A12, A3) (however, only very primitive reference voltage generation)
  • Serial1, Serial2 (D0, D1, / D9/D10)
  • CAN (D3, D4)
  • SPI (D11, D12, D13, D15)
  • LED on D16
  • SWD_DIO, SWD_CK (JTAG) (bootloader chip can be disabled by a solder bridge)

The connector would allow for much more signals but since this is just a quick experiment I did't spend additional hours in routing those.

Here a few links to general micromod info
Description: https://learn.sparkfun.com/tutorials/designing-with-micromod
Pinout: https://cdn.sparkfun.com/assets/lea...icroMod_Interface_v1.0_-_Pin_Descriptions.pdf

Any comments/feedback very welcome
 
Terrific!

I'm sure you're thinking about these, but I noticed:

- Why not hook up the BATT_VIN/3 pin to one of the free analog input pins?

- G8 appears to not be connected to anything and doesn't have an X indication. Could it be connected to one of the free digital GPIO pins?

- G11, D0 and D1 do have an X connection, but couldn't they also be connected to free digital GPIO pins?

- I wonder if it makes sense to put the LED on D13 like the T3.2.

- If you wanted to add the RTS and CTS support, I think this could be accomplished by moving the SDA/SCL pins to the alternates (and moving the LED as above.)

I haven't tried to make a table to see if all of these changes are possible at once (nor to see if they are routable), but even as it is, I think it's super useful.
 
Thanks for the feedback, I try to route a few more signals from your list today and fix the ERC errors. But, without paying much more for a 4/4mil design or a 4 layer board it will be difficult (at least for my limited routing capabilities) to squeeze in additional tracks.
Regarding the LED: I never liked the LED on the SPI_SCK signal and usually switch SCK to D14. But here I need D14 for the contiguous 8 bit bus, so I decided to have the LED on another pin.
Anyway, this is just supposed to be a quick test board to have something to play until we (hopefully) get some fully blown MicroMod Teensy from PJRC :)
 
If you're not familiar with it yet, I suggest you check out JLCPCB.com. They have cheap 4-layer boards, cheap and fast SMT assembly, and affordable worldwide shipping including fast shipping with DHL. Unfortunately the MK20DX256 isn't in stock right now, and I can't tell if that's temporary or not. Some parts listed in their SMT Parts Library seem to be consistently out of stock. It has a modern interface for getting a quote and verifying your board and parts placement, and their support section includes docs for generating files from popular software, including KiCad. They happen to have most of the parts I need for my designs in stock, so my prototype boards are arriving assembled now which really speeds things up.
 
Didn't find any design spec at JLCPCB. I need 5/5mil and 12/20mil vias.

I currently plan to do this board at SeedStudio https://www.seeedstudio.com/fusion_pcb.html.

Quotes (0.8mm thickness)
10pcs 6/6mil 2 layer: $16.90 // just for info
10pcs 5/5mil 2 layer: $36.37 // currently planned
10pcs 6/6mil 4 layer: $51.90 // might be an alternative. Maybe I spend some time to reroute. Should also be possible to add more pins with a 4 layer board

So far, I had good experience with them.

I plan to hand solder the boards. The MKL02 might be challenging but, no risk no fun ...
 
Last edited:
@embeded-creations. I meanwhile found the JLCPC spec. Looks very good, I think I'll give them a try. The price seems to be some super offer ($7 for 10 pcs 4layer boards). Do you know what they regularly charge for such boards?
 
Has anyone verified that grounding PTA1 (or more likely PTA3) on the MKL02 disables it properly?
 
Has anyone verified that grounding PTA1 (or more likely PTA3) on the MKL02 disables it properly?

E.g.
https://forum.pjrc.com/threads/42728-Debugging-strategies?p=153104&viewfull=1#post153104
https://medium.com/@mattmatic/preparing-teensy-3-6-for-swd-b014b0ce2999
https://www.embedded-os.de/de/teensy_swd.shtml

The T3.6 schematic however shows PTA3 as DE (debug enable) pin. Looks like both work.

Edit:
There is also this:
Screenshot 2020-12-14 163637.jpg

from the kick starter page. Think I'll change it to PTA3... Thanks for spotting this
 
Depending on volume, I'd try hard to have all parts on the same side (which appears to be possible in this case).

After being fooled too many times about solder bridges, I stopped connecting adjacent pads directly (eg, your MK20 pins 13 and 14).

USB lines should be a differential pair with resistors.
 
JLCPCB capabilities - https://jlcpcb.com/capabilities/Capabilities
They do 5 mil traces and .2/.45 vias. I've used them quite a bit for both 2L and 4L boards.

If you can use them, their 4L boards are much cheaper.

I switched from Free Eagle to Kicad recently, glad I did as 4L boards make everything so much easier. Just wish Kicad didn't make libraries so complex.
 
Terrific!

I'm sure you're thinking about these, but I noticed:

- Why not hook up the BATT_VIN/3 pin to one of the free analog input pins?
- G8 appears to not be connected to anything and doesn't have an X indication. Could it be connected to one of the free digital GPIO pins?
- G11, D0 and D1 do have an X connection, but couldn't they also be connected to free digital GPIO pins?
- I wonder if it makes sense to put the LED on D13 like the T3.2.
- If you wanted to add the RTS and CTS support, I think this could be accomplished by moving the SDA/SCL pins to the alternates (and moving the LED as above.)

I haven't tried to make a table to see if all of these changes are possible at once (nor to see if they are routable), but even as it is, I think it's super useful.

Thanks again for the input, I switched to a 4 layer design and implemented your suggestions. The LED PIN can now be chosen from D13 (default) and D23 by a solder bridge. All reasonably matchable MicroMod pins are connected to Teensy pins. JTAG debugging can be enabled using PTA3 or PTA1 of the bootloader chip.

jonr said:
Depending on volume, I'd try hard to have all parts on the same side (which appears to be possible in this case).
After being fooled too many times about solder bridges, I stopped connecting adjacent pads directly (eg, your MK20 pins 13 and 14).
USB lines should be a differential pair with resistors.

Actually I don't intend any volume (just need something keeping me busy during the new lockdown). Anyway, I did place all parts on the top layer. There is one pad pair left which is connected directly but this is done by the gnd filling, can't prevent this with reasonable effort.
However, I didn't add the series resistors to the usb lines since they are supposed to be on the carrier. Are you sure that a real differential line makes any difference on a USB2 bus? It's only 12Mhz? I routed them on the inner gnd layer.

V2.0 Pictures.jpg

Design files are in the GitHub repo: https://github.com/luni64/MicroMod_3.2
pdf Schematic and pinout are here: https://github.com/luni64/MicroMod_3.2/tree/main/Documentation
 
NICE!

I see that you have a note that says "RTC Not Yet Implemented".

That would be my only suggestion left!

(Could be like the T3.2 with an optional through-hole footprint. Also, the VBAT pin would need to be brought to the RTC_3V pad.)
 
Just noticed one more (tiny) thing. There is solder mask between the pads on the jumpers. Was this intended? This might make it hard to cut the trace and/or jump the pins.
 
Does it make sense to put a void in the fill beneath the User Cut Jumpers? Some recent posts on user issues cutting T_3.2 trace. If the board layer is cut through and metal pushes down it could tie to 3v3 layer?

Is there to be a default trace connect on the JP1 pad? Maybe not - but it has an arrow like JP2 suggesting 'default' connect?
 
I'll see if I can squeeze the crystal in somehow. Do you have any experience if those 32kHz crystals can be placed farther away from the pins? VBat will also need two diodes to protect the battery. Hm, probably on the bottom plane.
Good catch with the solder mask. I just took a library part. I try to fix this.
 
Does it make sense to put a void in the fill beneath the User Cut Jumpers? Some recent posts on user issues cutting T_3.2 trace. If the board layer is cut through and metal pushes down it could tie to 3v3 layer?

Is there to be a default trace connect on the JP1 pad? Maybe not - but it has an arrow like JP2 suggesting 'default' connect?

There is only the 3v3 plane under the pad no signal layer. But the board is only 0.8mm thick, so, the layers will be not very thick. The lib also contains a solder bridge version with two thinner wires might be easier to cut.
 
I'll see if I can squeeze the crystal in somehow. Do you have any experience if those 32kHz crystals can be placed farther away from the pins? VBat will also need two diodes to protect the battery. Hm, probably on the bottom plane.
Sorry, I don't have any experience laying out this part, but it looks like there might be room right next to the 19/20 pins there!

It does look like you'll need the diodes, to ensure that there is power to the VBAT pin when no battery is present.
 
A question. At the top end of the board the screw is mounted - is that correct? Is there enough space to Y1? The screw head should not touch the crystal.
 
Placed the crystal and the diode at the bottom.

Anmerkung 2020-12-16 231535.jpg Anmerkung 2020-12-16 231950.jpg

That 32kHz crystal directly over the pads of the MK20 looks bad, but it is as it is... I also removed the solder mask from the jumpers and replaced the thick bridge by two tiny ones for easy cutting.
Need to clean up the traces tomorrow, I got squared eyes already :)
 
Back
Top