Teensy-Arduino Crossover (TAX) Shield

Note: if you just want the technical specifications of the board, see this page.

I can’t believe it’s already been over ten months since my previous update. Time does fly when you’re combining two jobs with an as normal as possible social life, apparently.

Since my previous posts, a lot of people in the comments, mails and on the PJRC support forums have asked me when the Teensy adapter board will be out, if ever. Truth is, the hardware was as good as finished and ready for production if it wasn’t for the bidirectional level shifters. I placed these on the board to perform bidirectional level shifting between the 3.3V Teensy and 5V Arduino shields.

Out with the old

Unfortunately, the TXB0108PWR level shifters aren’t functioning as straightforward as the datasheet wants you to believe. When not all the pins on one side are on the same potential, the pins on the other side start acting strange. Pins that should be at a low logic level float around 3V, the edges of the output signal are skewed, there’s signal noise etc.

After ensuring this odd behavior wasn’t due to my PCB design (by testing the TXB0108PWR ICs directly), I had a lengthy discussion about it with some TI engineers. It didn’t lead to a workable solution. You can’t expect all the pins on one side to be on the same potential, because Teensy users will want to mix and match input and output functions. So I was left looking for an alternative solution, but my other occupations (like writing a PhD and running a small software company), soaked up all my available time.

Then some time ago, Paul from PJRC released the Teensy 3.1 using the MK20DX256 chip instead of the MK20DX128. This chip brings, together with some other nice features such as simultaneously sampled ADC’s and more memory, 5V level tolerance to the table (or should I say: board). This kinda rendered the use of level shifters void. You can directly apply 5V outputs without damaging the chip, and you can drive 5V TTL inputs with the 3.3V output of the chip.

In with the new

My first idea then was to make a revision to the board removing the level shifters, but maintaining other functionality such as the analog scaling. Bringing such a board into production wouldn’t be feasible economically however. In small quantities the board would have to sell around €20 to cover all expenses, so it would cost more than the Teensy 3.1 does!

My second idea then was to just integrate the Teensy into the board. The biggest production cost is actually the PCB and not the components. By putting the MK20DX256 and the Mini54 bootloader chip onboard, the board would gain a lot of functionality without increasing the cost much. I decided to pursue this idea further, and nicknamed it the TAX board: Teensy Arduino crossover (X) board.

TAX does pretty much the same as the previous board, but now without having to solder a Teensy on to it. The digital inputs are 5V tolerant thanks to the MK20DX256 chip. The analog inputs have the same 5V/3.3V voltage divider and retain the buffering opamp resulting in good signal quality and improved speed over regular voltage dividers.

A bonus is the onboard 3.3V voltage regulator, providing a clean supply voltage instead of the sometimes noisy voltage rail on the Teensy board. It also has a higher power output of 750mA. For programming, a USB type B receptacle is used instead of the micro-USB found on the Teensy, giving the board the looks of an Arduino Uno. Some people were complaining about the micro-USB receptacle wearing out pretty fast, but the type B is more robust. Plus you can use all of your Arduino cables!

Some extra pins of the MK20DX256, like the DAC, are tied to an extra header (placed where you would normally find the ISCP header for the USB to serial converter on an Arduino Uno). The dedicated serial header, compatible with the most FTDI boards floating around the web, is present again. You can also power the board through this header.

Talking about power, TAX has an automatic power selector circuit. You can now safely power it by supplying 5V through a header, using a 6-16V power supply connected on the DC barrel connector or by connecting a USB cable. The selector circuit will automatically select one power supply if more than one is connected.

So in short: TAX is a Teensy 3.1 compatible board in the Arduino form factor. You can use it with pretty much all existing Arduino shields and program it through the Arduino IDE (provided you have the Teensy add-on installed). It’s just like an ordinary Arduino Uno, but now with the power of the MK20 chip (72MHz, 264kB flash, 65kB RAM etc.)


Teensy-Arduino Crossover Board

4 Teensy-Arduino Crossover Boards – notice the green wire for testing purposes

I have build a number (four, to be exactly) of prototype boards to test functionality. After a few weeks of testing, everything seems to be in order. The boards behave just like an ordinary Teensy or Arduino would, so that’s good.

Currently (may 2014), a new batch of prototype boards is at the PCB fab. I did some minor routing and pin changes of which I want to be sure it works flawlessly. I expect to have the testing done in a week or four.

Response to my previous adapter shield has been great, so I hope this new version will be able to captivate the same enthusiasm. I think the potential is big enough to put it in limited production, so be sure to check in on this blog for further updates! Also, please leave your comments and feedback in to the comments section. It’s important to know what you guys think and where I could improve the design.