Teensy 4.0

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Winston

Lorenzo von Matterhorn
Joined
Jan 31, 2009
Messages
9,560
Reaction score
1,748
Amazing how much power you can get so cheap these days.

New Teensy 4.0 blows away benchmarks, implements self-recovery, returns to smaller form


https://hackaday.com/2019/08/07/new...ements-self-recovery-returns-to-smaller-form/

Excerpts:

Paul Stoffregen did it again: the Teensy 4.0 has been released. The latest in the Teensy microcontroller development board line, the 4.0 returns to the smaller form-factor last seen with the 3.2, as opposed to the larger 3.5 and 3.6 boards.

Don’t let the smaller size fool you; the 4.0 is based on an ARM Cortex M7 running at 600 MHz (!), the fastest microcontroller you can get in 2019, and testing on real-world examples shows it executing code more than five times faster than the Teensy 3.6, and fifteen times faster than the Teensy 3.2. Of course, the new board is also packed with periperals, including two 480 Mbps USB ports, 3 digital audio interfaces, 3 CAN busses, and multiple SPI/I2C/serial interfaces backed with integrated FIFOs. Programming? Easy: there’s an add-on to the Arduino IDE called Teensyduino that “just works”. And it rings up at an MSRP of just $19.95; a welcomed price point, but not unexpected for a microcontroller breakout board.

SPEC SHEET

Despite its size, there’s a lot to this board and the chip it carries, so here’s condensed spec list:

ARM Cortex-M7 at 600 MHz
1024K RAM (512K is tightly coupled)
2048K Flash (64K reserved for recovery & EEPROM emulation)
2 USB ports, both 480 MBit/sec
3 CAN Bus (1 with CAN FD)
2 I2S Digital Audio
1 S/PDIF Digital Audio
1 SDIO (4 bit) native SD
3 SPI, all with 16 word FIFO
3 I2C, all with 4 byte FIFO
7 Serial, all with 4 byte FIFO
32 general purpose DMA channels
31 PWM pins
40 digital pins, all interrupt capable
14 analog pins, 2 ADCs on chip
Cryptographic Acceleration
Random Number Generator
RTC for date/time
Programmable FlexIO
Pixel Processing Pipeline
Peripheral cross triggering
Power On/Off management

The board consumes around 100 mA with a 600 MHz clock.


15 SECONDS TO SANITY

One of the new features of the Teensy 4.0 is the automatic recovery process, which restores the board to a known good state without the need for a PC connection. If you press and hold the reset button for 15 seconds, the red LED will flash to indicate you’ve entered restore mode. Once you release the button, the red LED will illuminate while the flash memory is erased and re-written with the traditional Arduino “blink” program. Once the re-write is complete, the blink program is run and the orange LED begins blinking, just like on every Arduino-compatible for the past decade and a half. It’s DFU mode without the need for host computer or known-working binary. These used to be key components for hardware-based restore and now they’re part of the board itself.

Why would you want to do this? In a nutshell, because USB itself is a train-wreck. On top of an insanely sprawling and complex protocol, there are charge-only cables sans data pins lurking in your junk box, operating system bugs waiting to trip you up (looking at you, Windows 7), and a whole host of other issues that cause serious head-scratching when things stop working. This can be especially confusing with native-USB boards like the Teensy 4.0; while the built-in USB functionality is amazingly powerful, and can be used in a wide variety of ways, when something stops working, you’re not always sure how to get back on track. Now, you are – just press the button.


teensy40-launch-frontandback-thumb.jpg
 
I have no idea what I would use one for. I have few to no tools to work with it.

It’s so cool I feel I still must have one.
 
I have one due to arrive Saturday. It will go into a future homemade altimeter/sensor upgraded setup for a future build.
 
Last edited:
I have one of these ordered with the Sensor board (triaxial accel, gyro and magnetometer) + baro (unfortunately 50 to 110kPa version but can upgrade this)

The fact it is supported in the Arduino platform is quite amazing....

That level of grunt and I/O will be useful for two things in my rocketry project list -

- Sensor fusion and attitude/vehicle dynamics + advanced high altitude recovery
- Telemetry gateway for devices that do not have any radios attached - Teensy 4 has 7 UARTS !!!

Given the performance and the audio processing libraries etc available for this, there might be some very interesting spectral analysis one could perform in real-time within the rocket to be additional feedback for recovery and to telemeter to ground indicating the state of the vehicle.
 
This is an insane amount of cpu processing in a small package. You could sample everything at 2KHz and do sensor fusion and still take a nap 50% of the time. Impressive.
 
Back
Top