suggestion for the pjrc documentation

jwteensy

Member
Hello there,
Can I suggest that an additional item is listed in the pjrc web page, showing how to connect the spi port and i2c ports.
For instance, in the existing pin assignment diagram for the Teensy3.5 the port information is somewhat confusing.
The diagram lists info as follows for example:

MISO 0 is listed on pins 8, 12 and 39 - which should be used.
SCK 0 is shown on pins 13, 14 and 27 - which should be used

Best
John
 
Apparently, you did not fully study the documentation and the hardware reference manual...

The pin multiplexer inside the Teensy MCUs allows to connect internally the different signals of the building blocks like I2C, SPI, FlexTimer, and so on, to different pins. So, the question is not “which pins should be used?” but “which pins can be used?” and depends on your project, and on your engineering and coding skills. If for example you need absolutely to have a PWM signal on pin 23, but you want to use I2S at the same time, you’d have to look at chapter 10 of the reference manual how to route that I2S signal to another pin.

On the pin layout cards, the default pins for SPI, I2C and so on are shown for people who don’t know how to really write Teensy code, but want to use the corresponding Arduino style libraries with the default settings. There are also some alternative settings which are supported by these libraries shown in greyed letters. But that’s not exhaustive. Each pin can have up to eight different alternative functions which you can select depending on your project specifications, circuit board layout considerations, and so on. Defining your project specifications and thorough studying of the documentation before you start building and coding helps a lot.
 
To add to Theremingenieur's note - the BOLD marked items are the typical library defaults for each indicated bus. The other ( more gray) are the alternates that are generally usable. That is default MISO0 for SPI is pin 12 and SCK0 for SPI is 13 unless other wise specified when using SPI and the device library. The same BOLD applies to the i2c, CAN and other like Serial1,2,3,4,5,6 when applicable - including the bottom pads on the back of the card.
 
Thanks for the reply.
Below is the list on the pjrc website and there is no reference to the hardware reference manual/ documentation.
I am happy to study the documentation if I can find it.
The Teensy appeals to me because of speed, onboard rtc, sd card slot and number of i/o facilities.
However, the Teensy is supposed to be compatible with most Arduino software.
I have even designed and had made a printed circuit board for the Teensy.
A sketch which works on the Uno and the Pro Trinket 5v (temperature sensor) will not even compile on the Teensy.
I have never had a problem with any sketches on the Pro Trinket which I use a lot.
I cannot get the SPI 0 port to work with an Adafruit tft display.
That is why I wrote the post.
I expect to have some teething problems when using a new controller, but when I did a search for the hardware reference manual, all that came up
was the datasheet for the processor itself.
All the best
J


PJRC Store
Full Product List
Teensy 32 bit
Teensy 3.2
Teensy 3.2 Pins
Teensy-LC
Teensy-LC Pins
selected Teensy 3.5
Teensy 3.5 Pins
Teensy 3.6
Teensy 3.6 Pins
Color Touchscreen
Prop Shield
Prop Shield Lowcost
Pins 14x1
Pins 24x1
Socket 14x1
Socket 24x1
USB Micro-B Cable
USB Micro-B to Panel
USB Host Cable
Audio Adaptor
Microphone
Audio Tutorial
Audio Tutorial Parts
Audio Ground Isolator
PT8211 Audio Kit
Wiz820+SD Adaptor
OctoWS2811 Adaptor
MKL02/04 Chip
Tutorial Kit
RGB LED
Pot, 25K
Pins 14x1-D
Breadboard
Teensy 8 bit
MP3 Player
8051 Dev Board
Discontinued
Payment Options
Privacy Policy
 
Shall I lend you my reading glasses? ;)

pjrc.com => Teensy => Reference => Datasheet : https://www.pjrc.com/teensy/datasheets.html

On that web page, here are (naturally) data sheets (not so interesting) and manuals (very interesting) which contain all the programming information, i.e.

Teensy LC : MKL26Z64 Manual
Teensy 3.2 : MK20DX256 Manual
Teensy 3.5 : MK64FX512 Manual
Teensy 3.6 : MK66FX1M0 Manual

Edit: The Arduino Uno and the Pro Trinket 5V are both deprecated, old, and asthmatic 8bit AVR MCUs, using 5V technology while all the Teensy 3.x are modern 32bit ARM MCUs using 3.3V technology. Although some are still 5V tolerant on their digital inputs, the GPIO output level will always be 3.3V.

This means that you'll have to make sure that you use the library variants which come with the Teensyduino installation for 32bit ARM compatibility, and modern peripherals which can be driven with 3.3V logic levels.
 
The PJRC website is far from ideal, and that's all my fault. Well, except for the relatively new blog section. Robin deserves the credit for making a blog post every other day to show someone's project. Everything else on the site it my doing.

Most of these matters really are documented on the website. But just because they exist *somewhere* doesn't necessarily mean beginners (or even experts) can find them. For example, the SPI pins and SPI library usage are explained here:

https://www.pjrc.com/teensy/td_libs_SPI.html

For years we've been planning to massively redesign the website. We've also been planning to migrate this forum from vbulletin to xenforo. I've also long planned a number of software features, some partially implemented and perpetually "experimental" (like EventResponder), others so far untouched (like native Ethernet on Teensy 3.5 & 3.6), and still more pretty well implemented not yet documented beyond library examples & readme files (like USBHost_t36 & WS2812Serial).

The harsh reality is there are never enough hours & funding to do everything. :(

The other reality of websites & documentation in general, which is becoming a bigger issue as 32 bit microcontrollers become ever more capable, is how to make the right info discoverable when there are so many topics & details to cover.

My optimistic hope is to spend serious time on the website after Teensy 4 is released. Realistically, there will be several months of fairly urgent software work to do, since we're switching to a completely new chip. PJRC is probably also going to have to make at least 1 or 2 other very similar products, and a few more accessory shields... all of which will eat up precious time. If we don't focus our effects first on keeping Teensy competitive in the crowded market for dev boards & tools, then there won't be any viable business model to keep all this going. Even the very best case scenario is looking like 2020 before really serious work can happen on redesigning the website.


Another huge ongoing challenge, which I believe we're also seeing manifest in this thread, is how to encourage beginners to ask effective questions. Recently I wrote this article and made this graphic... as the first step in a long-planned process. Eventually we're going to replace the "Forum Rule" with some version of this, and revamp how we communicate with customers throughout the sale process (and maybe try to affect similar changes with the many distributors), and, well... I still don't know all the answers, but somehow we've just got to get this message across to people *before* they ask for help:

tech_support.jpg

I believe it's fair to say, in this particular case, things have gone off the rails on all 3 of these.

The last thing I want to do is deny the website needs work. It does. These complaints about lack of documentation, even if they're technically incorrect, are indeed valid in a practical sense if the information isn't discoverable.

But in terms of making a good first impression, well, maybe venting this frustration with the website isn't the best way to get help with a specific problem.

Likewise, to actually help you get that Adafruit display working, we need to know details. Which specific product and how you've actually connected the wires is the bare minimum. A photo of the connections is usually needed. I see you already started a thread about the display problem. Like the website, your post is far from ideal. I'm going to comment on it right now. Let's focus on getting your display issue solved. Eventually I will redesign the website, but that's going to come much farther in the future...
 
Thank you Paul. You have helped me before and I do understand that there are only so many hours in the day. I appreciate the fact you are trying your best.

Mildly sarcastic comments from Theremingenieur detract from the otherwise helpful post. It is interesting how many times people on forums post sarcastic comments.
I would make one statement about his negative comments on the Arduino and Pro Trinket which are still sold in thousands.
I have many parts which only will work on 5V. I do not want to scrap them, so I find it very useful that I can use the 3.5 on 5V. So once I have worked out the bugs I am sure I will buy many Teensy products.

To Paul, my posts were not intended to be critical of the web site. The intention was to get the site improved.
Kind regards
John
 
I didn’t mean to be sarcastic. Actually, 3.3V is the current industry standard which is already slowly moving down to 1.8V. And if one starts to design a project today, one would have to make sure that all components will be available for the next 5 or 10 years. And that is the point where the 5V technology risks to be definitively obsolete.
 
Back
Top