Blog Posts

737-300 FlightSim

Robert Archer has made an amazingly realistic 737-300 flight sim based on the IXEG 733 and X-Plane

Many Teensy’s are used in this build to preform various functions from simple switch inputs and stepper driver signals to more complex ARINC 429 data output.  This incredible flight simulator is controlled with only 1 PC with 40 USB devices and two 50″ 4k TVs!

Robert has some great videos of the flight sim in action on his You Tube channel, including videos like this one showing a behind the scene look at the sim

This video shows Robert on the sim flying from Las Vegas to Santa Barbara.  It’s hard to believe it’s not a real flight! It’s a long video, but the take off and landing are pretty cool to watch.

 

Teensyduino 1.43 Released

Today PJRC is releasing Teensyduino version 1.43.

The 1.43 installers are available now at the downloads page.

Arduino 1.8.6 Support

The main new feature in 1.43 is support for Arduino 1.8.6.  The main reason to upgrade is 1.8.6 can compile your code significantly faster.

Arduino 1.8.6 is the first non-beta Arduino IDE to support parallel compile.  If your computer has a quad-core processor, when rebuilding all files, Arduino may compile up to 4 pieces of code at the same time.  Usually the speed increase is much less than 4 times faster, but still it manages to compile code in much less time than running every compiler process 1 at a time.

When you change boards or settings, a full rebuild of all libraries files must be done for all library files your code uses.  Arduino 1.8.2 to 1.8.5 would often do this full rebuild unnecessarily, especially if you edited any of the library files (not in the Arduino IDE’s editor).  1.8.6 fixes this unnecessary rebuilding.

However, not everything is perfect with 1.8.6.  Several bugs were discovered after release which cause 1.8.6 to crash, especially if certain data files are corrupted.  Teensyduino 1.43 includes fixes for a couple of these bugs.  The rest will be fixed in Arduino 1.8.7, which may appear soon.  When it does, of course we’ll release Teensyduino 1.44 to support it.

Headless Install

The installer now support a “headless” command line install.  This can be useful if you wish to create scripts to automatically install Teensyduino.  The main intended use is for Continuous Integration testing with systems such as Travis-CI.

Run the installer with –dir=<directory> to specify the Arduino install location.  Using this option cases the installer to run automatically without the GUI.

Adafruit has offered to include Teensy in their automated testing script.  Soon this will allow Teensy to be automatically tested (at least to verify libraries compile without error) for all of Adafruit’s libraries!

Bugs Fixed

Several issues are fixed in version 1.43.

  • Fix default Ethernet CS pins on Teensy 2.0 & Teensy++ 2.0.  Old versions of Ethernet would default to the “SS” pin on AVR chips, and if you wanted any other pin your only option was to edit the Ethernet library code!  With the addition of Ethernet.init(pin), you could choose which pin to use, but this change also caused the default to become pin 10, even if SS was a different pin on your board (as it is with Teensy 2.0 & Teensy++ 2.0).  Now the default is restored to the actual SS pin, and you can use Ethernet.init(pin).
  • Fix USB Keyboard ‘#’ for UK & Irish layouts.
  • Generic UDP class support beginMulticast.  Some libraries using multicast need this defined in the board’s core library.
  • Fix USB MIDI hogging transmit buffers.  If you used USB MIDI together with USB Serial or other USB communication, and you transmit USB MIDI messages faster than your computer can process, previously the MIDI message could consume all the USB buffer memory.  This fix prevents MIDI from hogging all the buffers, so the other non-MIDI communication (hopefully) will not stall.
  • Fix FreqCount for use at high frequencies.  A bug which caused very infrequent errors when measuring very high frequencies has been fixed.
  • Fix SerialPlotter for Ports(Teensy).  Previously Arduino’s Serial Plotter would only work if you had selected Tools > Ports from the “Serial” section of the menu.  Now the “Teensy” ports section is fully supported.  When using a “Teensy” port, board disconnect and reconnect are supported.  The plot restarts from zero when you plug the cable in.  Proper stop and restart is also supported when you upload new code.
  • USBHost_t36 fix for Gigabyte keyboard (thanks KurtE).  These special gaming keyboards with “N Key Rollover” should now work.
  • OctoWS2811 update movie2serial.pde for compatibility with Processing 3.4.  This program streams video to large LED projects.  Minor updates were needed to work with the newest version of Processing and its video library.
  • Remove BYTE define.  This was previously included in Teensyduino for pre-1.0 Arduino compatibility.  But some libraries and code tend to use “BYTE” for their own constants and variables, causing a conflict.  This feature for compatibility with ancient Arduino libraries was causing more harm than good.  It’s been removed.
  • Update WS2812Serial documentation.  A mistake in the documentation showed an extra pin, which was never actually supported and can’t work due to hardware limitation.
  • Improve installer help dialog on Windows.  The “Windows App” incompatible with Teensyduino.  The installer now mentions this in the “?” help dialog.
  • Workaround a rare USB buffering issue.  During sustained fast data transfer from a PC to Teensy, a rare bug could cause wrong data to be received after many megabytes of transfer.  A workaround was added to prevent this problem.  Special thanks to Trammell Hudson for providing a test case.
  • Fix for Arduino 1.8.6 startup (Arduino issue #7917).  If any library you have installed has a version number which Arduino 1.8.6 can’t understand, the IDE crashes at startup.  A fix for this problem is included, so you aren’t left with the software unable to run if you have a “bad” library installed.
  • Add Arduino’s fix for slow 1.8.6 menus on Mac (Arduino issue #7935).  Newer versions of Java on Macintosh are much slower to create menus.  The Arduino developers worked around this problem by creating the menus only once, and they’re merely modified when changes are needed.  Teensyduino 1.43 adds this fix to your copy of 1.8.6.

 

 

Megapixel OctoLuminate Controller

Chris Rees has made the Megapixel Controller, a DIY pixel controller.

The MegaPixel  is a DMX controller host board.  It features 8 SPI feeds supporting up 32 universes or 5,440 pixels at at least 40 frames per second.  This controller is a great tool for your holiday light show,  LED stage shows, and more.

Code for the project is available on GitHub

The PCBs are a being made available on the MegaPixel lighting website.

Here’s a great video of a holiday light show using the MegaPixel controller

MIDI Enabled Vintage Organ Pedals

Charlie Williams re-purposed pedals from a 1970s Vicount Bahia organ to turn them into a MIDI controller.

The vintage pedals were turned into controller using MIDI over USB or DIN-5 outputs and has some impressive capabilities.  It’s packaged up into a beautiful custom case making it easily portable.

It was covered by HackaDay here.  You can also read more about the project on this project page.

Code for the project has been published on GitHub.

DIN-Uino

kbdhog created DIN-Uino, a prototyping and packaging project that makes your Teensy project into a neat, DIN-rail compatible device.

This board design works for the Teensy 3.6 and Teensy 3.5 and brings out all of the I/O pins to a DIN-rail compatible PCB.

Some of the features include:

* Industrial-compatible 24VDC (I’m aiming for a 12-25V safe operating range) power input with 5V/3.3V output. Connections via a 2-pin Phoenix 3.81mm header.

* Room at front edge of PCB for a maximum of 48 pluggable screw-terminals (Phoenix 3.81mm pitch).

* You can use single or double-stacked Phoenix-compatible headers, vertical or right-angle.

* Uncommitted right-angle pushbutton switch. You can wire it to RESET, or use it for some other function.

* 4-layer PCB design, with internal GND and POWER planes for power distribution.

* The POWER plane can be connected to 3.3V (default) or 5V (optional).

* Distributed power-vias allow easy access to the internal GND/PWR planes.

* On-board USB-A(host) or USB-B(device) connector, already wired to the Teensy’s native 5-pin USB header. The USB connectors are positioned at the edge, easily accessible even if an enclosed DIN-mount enclosure is utilized.

* Of course, this DIN-Uino Proto4 board is compatible with the related DIN-Uino mounting hardware and enclosure system.

The Hackaday.IO project page includes a schematic file you can download.

Kynetic 3D Printing Motion Control Software

Phillip Schmidt has written, from the ground up, 3D printing software using the Teensy 3.5.

Inspired by modern microcontrollers, Phillip wondered “With all of that processing power, could I create from the ground up a completely new 32bit 3D print engine that would improve upon the capabilities of the current 8 bit printer controllers?”  This lead to the development of the Kynetic CNC  software

Some of the current features include:

* Works with Delta, Cartesion and CoreXY machine configurations
* Stepper pulse rate at 100kHz
* Machine inverse kinematics computed at 4kHz
* My own trajectory planner with 100 block adaptive look ahead
* Program execution from SD card
* CPU usage is currently around 40% while printing on a Delta machine (Cartesian and CoreXY are roughly half of that)
* Reads code from any standard slicer

 

This YouTube video shows the software in action

Code for the project can be found on GitHub

 

Plastic Pitch Plus Microtonal MIDI Machine

Sonoclast created Plastic Pitch Plus, a microtonal MIDI machine.

The Plastic Pitch Plus is a device for experimenting with microtonality. It uses MIDI to map keys to microtonal pitches.

There are two basic scale modes available, a twelve-tone scale mode in which the twelve knobs are used to tune each of the twelve notes in a scale; and an equal divisions per octave mode.  Both modes are implemented in two ways – MIDI pitch bend, which works with all MIDI synthesizers and the MIDI tuning standard which works with newer hardware synthesizers.

This video demonstrates the functionality.

The Plastic Pitch Plus is available on Tindie.

The code is available on GitHub.

Beacon Notification System

Michael Niles developed and made the Beacon notification system.

Beacon is a hardware device and computer software built for the sole purpose of notifying one or more persons of user-defined events.  It can be used for anything that can execute a command line application when something happens such as email clients, software monitoring, and task scheduling.  The device utilizes similar methods to cell phones for notification (sounds, flashing lights, and vibration).  Beacon connects to a computer via USB

DSLR Camera Microphone Monitor

Kris Kasprzak built a microphone monitor to set audio levels during video recording on a DSLR camera.

This DIY project displays the spectrum or a microphone input for 32 bands.  Includes a line in for powered microphones, a line out for connection to a camera, and an audio jack to monitor the audio with headphones.  Through the touch screen display you can adjust the audio levels as well as display settings.  All the settings are saved so that when you turn the unit back on, the settings will come back just as you last had them.

Code for the project can be found here.

What are you blinking about – Art at Create:Fixate Los Angeles

Mads Christensen designed and made What are You Blinking about, a light art installation first shown at Create:Fixate Los Angeles

Each of the three 40″x40″ panels contain 900 WS2812B LEDs driven by a Teensy 3. The Teensys stay in sync with each other using a serial connection. The red/blue light sequences are generated algorithmically at up to 100 frames per second, creating subtle moire and interference patterns on the viewer’s retinas due to the interplay between rods and cones in the human eye.