Blog Posts

Wooblizer – Acoustic Note to Wave Synthesizer

French digital-analog musician Emmanuel Presselin has created a synthesizer capable of taking in acoustic notes from instruments, keys, or vocals using an attached microphone and translating them into waves.

The synthesizer–which he calls the Wooblizer–uses a Teensy 3.6 and the Teensy audio library’s Yin algorithm to translate sound input into frequencies then apply the synth’s three oscillators and effects. Using the synth’s control panel shown below, users can EQ and filter the input, manipulate the envelope, or add LFO among other options. As Presselin explains in his post to our forum, the synth works best for treble instruments like flutes, violins and trumpets but not as well with low pitch instruments due to some latency he is still hoping to address in future versions of the project. Presselin shared the source code for the project to the forum for anyone who is interested in testing it out. Presselin demonstrates the synth in action in the following video using live input from a guitar and a flute.

Foone Turing’s Single-Knob Keyboard

Foone Turing is a Python programmer from California who likes to make strange and wonderful USB keyboards in his spare time.

In a recent project posted to Twitter, Foone used one button, one knob, an 8-segment display  and a Teensy to make an extremely minimal and inefficient approach to keyboard user interface design.

Foone’s single-knob keyboard uses a potentiometer to select ASCII characters based on degrees and an enter button to select the character. The selection is visualized in an 8-segment display  and all components are driven by a Teensy LC. In the video below, Foone writes his first “hello world” for the project with a post to Twitter.

Foone further demonstrates his design at work in a recorded game of Zork, but cautions that it may not be the most ergonomic of products saying, “I recorded 5 minutes of it and now my hand hurts.” Some Twitter users pointed out that the design is reminiscent of the iPod click wheel designed by Apple in 1998 and used in the iPod Classic and the iPod Shuffle.

Aside from this design, Foone has made many unusual keyboards including one which has faux fur in lieu of keys and another which uses 7 switches and a button to allow users to select alphanumeric characters by inputting binary. Foone’s keyboard designs, which you can explore more of on his website, are a playful exploration of human computer interaction and user experience that makers and designers alike can delight in.

Model Rocket Flight Computer for 74mm Airframes

Sacramento-based Peregrine Developments has engineered a flight computer called the Randall FC using the Teensy 4.1.

Although rocket design has roots going back to thirteenth century China, modern model rockets have been a source of fascination for hobbyists and professionals alike since the 1950s. Early model rockets consisted of a simple 3″ motor built from a nozzle, case, propellant, delay charge, ejection charge and an end cap that amounted to a single-use engine. Today, model rockets can include complex assemblies such as onboard computer systems that allow users to steer and control rockets with great precision.

The system, which was designed for 74mm airframes, provides for the control of two 9g servo motors and two 4-amp pyro channels to control the flight of thrust vectoring-enabled model rockets. The system also has a system of onboard sensors for measuring orientation, acceleration, humidity, pressure, and temperature as well as four spare I/O connectors available for use. You can read more about the project and see the schematic and PCB layout on Google Docs.

Obstacle Avoidance Using An iPad and LIDAR

Shane Wighton, the designer behind the well-known basketball hoop that won’t let you miss, has created a system for obstacle detection that uses the new iPad’s built-in LIDAR scanner.

The LIDAR system works by taking regular readings of a room by sending out tiny pulses of light at targets and measuring the time it takes to return a reflection. In this way, a scan can be taken of an entire room to accurately determine the location of objects and obstructions.

Wighton used the technology to make an app which not only harnesses data from the LIDAR scans at regular intervals but visualizes the data as an augmented reality overlay color coded to show the relative distance of objects. When paired with a custom 3D-printed tactile interface that attaches to the back of the iPad, the data can be translated through a mechanism that depresses or exposes a set of pins as an indicator of obstacle presence. In a video posted to YouTube, Wighton discusses his design process including how he decided to use the iPad’s LIDAR system and how he built the tactile feedback mechanism which uses two stepper motors driven by a Teensy 3.6. He also discusses the parts of the project he feels could be improved as well as his hopes for future iterations, especially if LIDAR were to be released for the iPhone. You can view Wighton’s other projects on his website and his YouTube channel Stuff Made Here.

 

Binaural Beat Synthesizer

Instrument maker and artist Greg Francke recently shared a project on Hackaday that uses binaural recording in combination with the Teensy audio library to produce a six channel wave synthesizer capable of generating “complex aural soundscapes.”

Binaural recording is a process that makes use of two microphones strategically located to create a 3-D stereo experience for the listener that replicates the experience of being in a room with a live sound performance.

The project features a TFT display GUI showing options for sound manipulation that include modulation frequency, waveform, duty cycle, center frequency, beat frequency, beat waveform, and beat duty cycle.

In his project posting on Hackaday, Francke mentions that his original plan for the synth was to use analog potentiometers for control but found that noise levels were too high leading him to scrap this feature.

Francke’s blog includes many other projects which explore everything from J.G. Ballard-inspired robots to USB-powered “Tesla Stress Relief” devices.

 

 

 

F°LUEX: A Smart Thermometer

Few people are able to distinguish between a flu and a cold based on symptoms alone, but what if a device could do it for you? F°LUEX is an automated medical diagnostics device that uses the Teensy 3.2.

Designed by engineer and actual rocket scientist M. Bindhammer, F°LUEX is an automated medical diagnostics device that incorporates a medical-grade MLX90614 infrared thermometer to read human body temperature with an accuracy of ±0.2˚C. Following the reading, the patient is asked a series of questions displayed on an OLED screen about their symptoms. Based on their temperature reading and the patient’s responses which are input using the device’s controls, the thermometer is able to distinguish cold from flu within a certain probability based upon the same Bayesian statistic analysis process that is frequently used among modern medical practitioners. The device is powered by two 1.5 V AA alkaline batteries and all electronics including display, inputs (soft power switch and miniature joystick), and sensor are driven by a Teensy 3.2.

M. Bindhammer created the project to support his 8 year old daughter who frequently contracts the flu and whose pediatrician is often unavailable on the weekends when she usually becomes ill. In his design, he strove to use only a few easy-to-obtain components in combination with a 3D printed case so that others could replicate the project at home. The project is a winner of a 2020 Hackaday Prize and the full project description can be viewed on Hackaday.

PCM1802 Breakout Board Needs Small Hack

PCM1802 is an impressive audio A/D converter, specified for 105 dB signal to noise (A weighted).  But people have reported problems using very cheap PCM1802 breakout boards.  Today I made it work.

The cheap PCM1802 boards are sold my many Chinese companies, usually for just a few dollars.  The PCM1802 tested in this article came from this AliExpress vendor.

The main issue with these PCM1802 boards involves configuring the data format.  Teensy and most microcontrollers use I2S format.  The board comes with no documentation, but the PCM1802 datasheet shows how to configure the chip in table 6.

On the bottom side of the PCM1802 breakout are little solder pads with names that match up with the datasheet.

If you power the board, the FMT0 and FMT1 pads measure 0 volts.  Without power, the also measure about 9K ohms to GND.

To configure for I2S, you would expect to just solder the 2 pads next to FTM0 together.  But there is a problem…

These 5 pads labeled “+” connect to each other, but they do NOT connect to 3.3V or anything else on the circuit board!  Soldering the FTM0 pads together has no effect.

To make this work, I soldered a wire to those pads.

There is no location on the bottom of the board to access 3.3V power.  I considered using the OSR pad.  But the pullup resistor is only 10K.  The PCM1802 has 50K pulldown resistors, according to the datasheet.  Indeed with power applied, I measured 2.8 volts at the OSR pad.

So to get 3.3V, I ran the wire to the top side and soldered it to the 3.3V pin.

The SOT23 part in the lower left corner of this photo is a 3.3V regulator.  This 3.3V pin is an output, not an input, which I also verified with my voltmeter.

Fortunately, all of the other pins in this PCM1802 board are wired correctly for use with Teensy’s I2S.  In its default mode, only DOUT is an output.  All of the other signals are inputs.

These are the required connections between Teensy 3.6 and the PCM1802 breakout board.

PCM1802 Teensy 3.6
   +5V               VIN
   3.3V
   GND              GND
   DOUT            DIN (13)
   BCK               BCLK (9)
   FSY               3.3V
   LRCK             LRCLK (23)
   POW              3.3V
   SCK               MCLK (11)

The POW pin is the only name which doesn’t match up with the PCM1802 datasheet.  I used my ohmmeter to verify it really is connected to the PDWM pin.

The FSY pin (connected to FSYNC) is also a bit unusual.  PCM1802 expects it to be logic high while you transmit data, so just connect to 3.3V.  In the other modes, it sends a signal on this pin which is high during data bits and low during the zero padding bits.  But it does not require that signal as input.  FSYNC just connects to 3.3V to use PCM1802 with Teensy.

For a simple test, I programmed Teensy 3.6 with minimal code to just route the I2S input data to the two DAC pins.

#include <Audio.h>

AudioInputI2S i2s1; //xy=152,100
AudioOutputAnalogStereo dacs1; //xy=316,117
AudioConnection patchCord1(i2s1, 0, dacs1, 0);
AudioConnection patchCord2(i2s1, 1, dacs1, 1);

void setup() {
 AudioMemory(10);
}

void loop() {
}

With FMT0 correctly configured using a mod wire, and those connections, PCM1802 works great with Teensy.  Here are closer photos of the wiring.

 

If you need a high quality audio A/D and you can find these cheap PCM1802 breakout boards, hopefully this tip about the FTM0 hack and known-good wiring can save you from some frustration and get your project up and running quickly.

1 Bit Video on Sharp Memory LCD

Nic Magnier created this 1 bit dithered video player using a Sharp Memory LCD.

Normally memory displays aren’t known for speed.  Nic explains that the display actually allow you to update only specific lines.  His approach uses a conversion of video with blue noise dithering and some forward diffusion to avoid pixel moving too much between frame.  Then the video is encoded to a custom format, with only the lines which change between frames.

Nic’s video conversion tool, written in Lua using Dear Imgui for the user interface, was designed to quickly experiment with dithering and tweaking values with side-by-side comparison of results.

 

 

Nic started with Adafruit’s library and added optimizations for good performance when running on Teensy 3.5.  Using this dithering technique and crafty optimizations results in impressive looking video on these displays not normally considered capable of such feats.  Awesome work Nic!