Schematics and Board review before PCB

Status
Not open for further replies.

ghostintranslation

Well-known member
Hi,

I'm making a board compatible with Teensy 3.2 and Teensy 4.0 and both with the audio board (I left some space around) that provides headers to connect potentiometers, leds, buttons, ..., a dip switch, and a USB connector for the host mode.

I used headers to connect D- and D+ so in case I use a Teensy 3.2 I just don't connect anything there, but in case I use the 4.0 then I would solder the D- and D+ on the Teensy and connect the other end of the wires on the headers. I don't use the spring pins like it's done on the breakout board of Tennsy 4.0 because it's way too expensive to get.

I used headers also for the inputs/outputs so I can reuse the same board for different needs, no interface component soldered directly on the board.
The 3pin headers are meant to connect potentiometers, they are connected to the analog inputs. The 2pin headers are meant to connect either leds either buttons.
There is one 2pin header that is on the tx-rx pins to connect any serial component.

This board is meant to create synthesizers and music instruments, the dip switch is to select the MIDI channel.

I opened another thread to ask about the current limiting chip for the USB connector, to see if there is a through hole alternative but it looks like there is no so that's the only part with an SMD package.

I'd like to get some feedback on the schematics and board before I send it to a PCB manufacturer, maybe you will see mistakes that I didn't spot?

SimpleSynth schematics.jpg

SympleSynth board.jpg

Thanks
 
Ummm, I suspect you are going to need completely separate boards between the Teensy 3.2 and Teensy 4.0, unless you can only use the pins not used by either 3.2 or 4.0. Differences include:
  • The only serial UART that uses the same pins and does not conflict with I2S is Serial1 (i.e. pins 0 & 1). On the Teensy 3.2, the Serial3 pins (7 & 8) are in the spot as as the Teensy 4.0's Serial2 pins, but Teensy 4.0 uses pins 7 & 8 for I2S. The Serial2 pins (9 & 10) on the Teensy 3.2 are not used for Serial devices on the 4.0, and similarly the pins for Serial3 (14 & 15), Serial4 (16 & 17), and Serial5 (20 & 21) do not correspond with serial pins on the 3.2;
  • Most of the I2S pins used the 3.2 (9, 11, 13, 22, and 23) are completely different from the I2S pins on the 4.0 (7, 8, 20, 21, and 23);
  • The I2S pins on the 3.2 required that two of the SPI pins (11 and 13) are relocated to the alternate pins (7 and 14), while the Teensy 4.0 uses the standard pins (and does not support the alternate SPI pins);
  • The D-/D+ pads for the USB on the Teensy 3.2 are not really available on the Teensy 4.0. The D-/D+ pads on the Teensy 4.0 are for the second USB controller (that can be USB host), and not the pads connected to the USB used for programming the Teensy. The pads may be in slightly different configurations between the two.
  • While it is not a difference per se, if you are bringing out the serial pins, you should be bringing out 3.3v and ground in addition to TX/RX.
 
Ummm, I suspect you are going to need completely separate boards between the Teensy 3.2 and Teensy 4.0, unless you can only use the pins not used by either 3.2 or 4.0. Differences include:
  • The only serial UART that uses the same pins and does not conflict with I2S is Serial1 (i.e. pins 0 & 1). On the Teensy 3.2, the Serial3 pins (7 & 8) are in the spot as as the Teensy 4.0's Serial2 pins, but Teensy 4.0 uses pins 7 & 8 for I2S. The Serial2 pins (9 & 10) on the Teensy 3.2 are not used for Serial devices on the 4.0, and similarly the pins for Serial3 (14 & 15), Serial4 (16 & 17), and Serial5 (20 & 21) do not correspond with serial pins on the 3.2;
  • Most of the I2S pins used the 3.2 (9, 11, 13, 22, and 23) are completely different from the I2S pins on the 4.0 (7, 8, 20, 21, and 23);
  • The I2S pins on the 3.2 required that two of the SPI pins (11 and 13) are relocated to the alternate pins (7 and 14), while the Teensy 4.0 uses the standard pins (and does not support the alternate SPI pins);
  • The D-/D+ pads for the USB on the Teensy 3.2 are not really available on the Teensy 4.0. The D-/D+ pads on the Teensy 4.0 are for the second USB controller (that can be USB host), and not the pads connected to the USB used for programming the Teensy. The pads may be in slightly different configurations between the two.
  • While it is not a difference per se, if you are bringing out the serial pins, you should be bringing out 3.3v and ground in addition to TX/RX.


So if I refer to the Teensy 4.0 pins
teensy40_pinout1.png

and Teensy 3.2 pins
teensy32_front_pinout.png

- Pins 0 and 1 are RX1 and TX1 on both
- Pins 2 to 13 are digital pins on both
- Pins 14 to 23 are analog inputs on both

And the D+ and D- like I said I would use it only with Teensy 4.0, to do that I have a 2pin headers that I can connect with wires that I would solder to the Teensy 4 only.

Or did I get something wrong reading these images?
 
Looks like you are having some fun. I enjoy hacking up some of my own boards, which are only for my own Hobby usage...

Again others will probably have different takes on how to design boards, But in the end, it is whatever works for you.

When ever I put on 3 pin headers with power, ground and an IO pin, I typically always sort of follow the old Servo (hitech) wiring standard, of it being in the order (GND, PWR, SIGNAL). One of the main reasons is then even if you plug in a cable backwards, you won't put the voltage on a pin or ground connection... I also sort of follow the old Lynxmotion board standard of trying to always have the GND pins near the edge of the board.

Example here is a board that I had fabricated by pcbway.com that got here late last week, which I will hopefully assemble one in the next few days, when my order from Digikey arrives. It is using FRDM.. T4 to T3.6 like footprint...
T4-T36-breakout.jpg

But one of my problems is that I often make it such that I can put the whole kitchen sink on them. (Optional Power, with 5V VR, plus 3 or 4 different options for 3.3v, Sparkfun qwiic connectors, Robotis servo connections, buzzer....), Note: the 3D image I used my T3.6 image, which the T4 with the FRDM extension is pretty similar.

But as I mentioned I usually put all of the primary three pin headers toward the outside of the board with GND on the outside...

As for USB - I am using the SMT part for power connection, however there are at least two versions of them. One is quite a bit smaller than the other, I use the larger of the two (digikey part# 296-3418-5-ND) which you can see on my picture to the right of the USB connector.

Good luck and have some fun!
 
So if I refer to the Teensy 4.0 pins
- Pins 0 and 1 are RX1 and TX1 on both
- Pins 2 to 13 are digital pins on both
- Pins 14 to 23 are analog inputs on both

And the D+ and D- like I said I would use it only with Teensy 4.0, to do that I have a 2pin headers that I can connect with wires that I would solder to the Teensy 4 only.
Or did I get something wrong reading these images?
Yes, the digital pins (0 - 23) are the same, as are the analog pins (14 - 23). The primary I2C pins (18 - 19) are the same. The pins for the first UART (0 - 1) are the same. If you don't use the audio board, the 3 SPI (11 - 13) pins are the same, as is the primary CS pin (10).

You mentioned using the audio board, and it is the I2S connections used by the audio board that causes the differences. The 3.2 page does not list the pins used for I2S. Notice that there are separate audio boards for Teensy 3.2, 3.5, and 3.6 (revisions B & C) compared to the audio board for Teensy 4.0 (revision D), because the two boards have to use different pins for the connections.

Look at the audio board page to see what the differences are.
 
I think I see what you mean.

I'll have multiple of this board, most of them with the audio board, some without. In case I use the audio board, I'll use of course the right one according to the Teensy.

But what you mean is I should not connect anything on pins that are already used by the audio board, and those pins are different according to the Teensy version.
Is that what you say?

So my board is flexible enough I think because I can just unplug things according to the setup and I will change the code accordingly.

I hope I understood right this time :)
 
But what you mean is I should not connect anything on pins that are already used by the audio board, and those pins are different according to the Teensy version.
Is that what you say?

So my board is flexible enough I think because I can just unplug things according to the setup and I will change the code accordingly.

I hope I understood right this time :)
Yes. For each of the two audio boards, you should not use the pins used by that audio board for anything else, with these exceptions:
  • You can use the I2C pins (18/19) to connect to other I2C devices that don't conflict with the two I2C devices on the audio board (0x0a and 0x1a) -- you must use pins 18/19 for I2C and not for anything else;
  • Due to the extra capacitors, resistors on the audio board, you probably should not use pin 15/A1 as a digital pin, only use it as an audio pin;
  • The SPI pins (6/7/10/12/14 in the case of 3.2 or 6/10/11/12/13 in the Teensy can share the 3 SPI main pins (7/12/14 or 11/12/13) can share the SPI bus with other devices, providing you use different CS pins than 6 or 10. You may need pull-up resistors on each of the CS pins and explicitly set pins 6 and 10 high. If you are unlucky, you might need to deal with the other SPI device not properly handling tri-state on the MISO pin:
  • https://www.pjrc.com/better-spi-bus-design-in-3-steps
 
Status
Not open for further replies.
Back
Top