Blog Posts

iSCSI Virtual Disk

Flok works with big, expensive IBM iSCSI (Internet Small Computer System Interface) boxes, so the thought occurred: what about the opposite extreme with a microcontroller and SD card? This experiment on Teensy and other boards yielded interesting benchmark results.

Usually benchmarks measure performance of 1 subsysten. But iSCSI requires simultaneous performance from networking and storage systems. Even if each can perform well on its own, what matters is how well they perform when used together.

Based on a Teensy 4.1 with Ethernet, the system yields speeds of up to 6MB/s while reading the SD card, significantly faster than other widely used microcontrollers as shown in the results below.

The device can be used as a SAN (Storage Area Network) by a remotely-connected PC via iSCSI, allowing, for example, the booting of a VMWare cluster from a SD card. Of course a microcontroller and SD card aren’t practical for real-world SAN usage. This project is really only useful as an academic exercise and way to benchmark the relative performance of microcontroller platforms when used with a demanding application which requires simultaneous networking and storage performance.

More information can be found on the project’s web page, with source available on GitHub.

Soft Breakout Board and Touch Reactive Fabric Art

Salil Parekh has been using Teensy LC for e-textile projects, but found it difficult to use while testing and debugging due to its small size, which gave birth to the Soft Breakout Board for Teensy LC.

Similar to a regular breakout board, the Soft Breakout Board brings all of the Teensy pins out for easy access, but rather than an FR-4 PCB, is made of denim.

This breakout was then used to develop this touch reactive art piece.

Magnet wire connects the real pins to large snaps in place of vias, which can then easily be connected to with alligator clips during prototyping. Copper tape can be affixed to the snaps for a more robust solution, then removed and rearranged in subsequent projects. See it in action on Salil’s blog.

RV Leveling Helper

Sometimes the simplest solutions are the best. KD5RXT (Mark)’s “fairly simple” Teensy RV Leveling Helper (TRLH) may not be uncomplicated as a spirit level, it’s a clever solution to a common problem for RV owners.

The helper is placed on RV’s counter to measure whether the surface is level enough. Adjustment info is sent wirelessly to another unit outside, used to adjust the leveling ramps.

Based around a Bosch BMA400 accelerometer, ILI9341 touchscreen display, and a Teensy 4.0, this simple system takes the guesswork out of leveling your RV.

Using vector information from the accelerometer, the pitch and roll angles are then calculated, in turn providing the number of inches that each wheel on the RV (or wheel and hitch on a trailer) needs to be raised or lowered. A built-in LiPo battery with Adafruit PowerBoost 1000 USB charger ensures portability. A new update even allows two units to cooperate inside and outside of the vehicle using nRF24L01 wireless modules. Source, schematics, CAD files and more can be found on the project’s GitHub repo.

Modded MIDI Foot Controller

Behringer’s 2001 FCB1010 “MIDI Foot Controller” is a curious device. Ten assignable control pedals and expression pedals let you do — well, anything that you can do using MIDI, from controlling instruments, to lighting and effects, to automation.

But what if it could do even more? This was the question the PJRC forum user Expensive Notes asked themselves as they hatched a plan to gut and replace the internals with a Teensy 4.1 and Teensy Audio Adaptor Board.

The project’s forum thread and accompanying videos detail its evolution into a mono synth, drum machine, and sequencer with SD storage. More detail and generously-documented code can be found in the project’s GitHub repository.

Node Web GUI

DragonSF has created a Web GUI for Teensy 4.1 with a focus on audio projects. The system consists of a Node server (with some HTML/JS/CSS magic) and a Teensy library, which communicate via Ethernet to allow interactions with the GUI to affect firmware on the Teensy board.

As such, the project requires the Ethernet Kit for Teensy 4.1, as well as 8MB PSRAM and our USB Host Cable for MIDI. The web server and library code can be found on GitHub, and an example implementation, TMSidekick2, is also available on GitHub, including source code and schematics.

Loop Pedal with Procedurally Generated Beats

Marius4560 created a pretty rad project for their Human-Computer Interaction course assignment: a Teensy 4.0-based looping pedal that even provides its own unique ideas for beats!

The Audio Adaptor Board-based project generates random rhythms and drum sounds, plus lets the user record a chord progression to jam along to. An HTML template generator expands options even further. The video below gives a great overview of its usage, and the GitHub repo contains not just source code, but also more detail on the project.

Engelbart Chording Keyset

Douglas Engelbart gave “The Mother of All Demos” in 1968, introducing concepts such as the computer mouse, highlighting text, and hyperlinking documents, which profoundly impacted computing.

Less well-remembered, however, was Engelbart’s chording keyset, a five-button keyboard-like device that allows the input of characters when pressed in specific combinations. Russ Nelson wanted to bring awareness to the forgotten device with his entry in the Odd Inputs and Peculiar Peripherals contest.

Consisting of a Teensy 4.1, a custom PCB, and five mechanical key switches, all wrapped up in a custom enclosure housing the five keys, the hardware is actually quite simple. The Teensy’s USB Host capabilities are leveraged to incorporate mouse inputs before passing fused key codes to a PC, expanding the 5 buttons’ 32 combinations (enough for A-Z) to 256 thanks to the three additional buttons on the mouse. Further information, as well as source code and schematics can be found on the project’s Hackaday page.

Debugging with Visual Micro

Visual Micro, creators of a Visual Studio extension that enables Arduino development in the powerful Microsoft IDE, have created a serial debugging tool compatible with the Teensyduino platform.

The plug-in allows you to use breakpoints for step-by-step execution, monitor execution time between breakpoints, and set conditional breakpoints based on data or hit count.

The software, which works with Teensy boards, also allows variable monitoring and value setting at runtime, automatic visual pin monitoring, and easy-to-use charting. It works by injecting serial statements based on breakpoint configuration, when in debug mode. More information can be found on the Visual Micro web site, and a walkthrough of installation and setup can be found in the video below.

Mini MIDI Controller

Nick Culbertson, aka Moby Pixel on YouTube, recently acquired a Teensy 4.0 and some tiny breadboards. Nick liked the aesthetics of the Teensy/tiny combo so much that it turned into a “world’s smallest MIDI controller” attempt!

Nick had been eyeing Teenage Engineering’s new EP-133 K.O. II sampler, but decided to put some of those funds toward a Teensy DIY project instead (note that the K.O. costs about as much as twelve and a half Teensy 4.0s, so there should be enough left for nearly a dozen more DIY Pocket Operators!). The code uses the Control Surface Arduino library for building MIDI controllers and control surfaces, plus USB MIDI. A couple of buttons and jumper wires complete the hardware setup. Two buttons doesn’t give a ton of expression, but the sound that Nick creates with them in the video is pretty impressive — and then, for an even more diminutive setup, the breadboard is removed, and the Teensy’s headers themselves are played with a jumper wire, creating the ultimate minimalist MIDI rig! See it in action below, and grab the code from Nick’s GitHub gist.