Pinned by CGrover
In the process of learning to use synthio, it was a challenge to understand the myriad of possible connections between modules. As a result, project design notes and sketches became a rat's nest of entangled symbols and wiring. Although simple single-voice designs without filters or LFOs were easy to deploy and document, it became clear that there was more to discover inside the extensive versatility of synthio.
Perhaps a set of symbols with consistent notation (and color-coded arrows, of course) would be useful to further learn about synthio and to develop project conceptual diagrams.
Here's the beginning of some symbols for synthio objects with class properties and methods together with data types. Essential tools such as audiomixer and audiobusio are also included.
This note describes the process of searching for a way to output Eurorack CV (control voltage) signals from synthio via an I2S DAC that is connected to a UM FeatherS2.
Problem Statement: When using a CV-like object in synthio such as Envelope and LFO to control a Note's
amplitude, the resultant output is placed above the baseline voltage and only responds to positive control values. For example, a sine-wave LFO created to span negative and positive values to modulate a note's
frequencyis rectified if used to modulate a note's
amplitude. This becomes important when an analog output of just the Envelope or LFO is needed rather than the modulated sound of the Note oscillator.
Here's the test setup:
- Create a wave shape table containing the maximum wave value (16-bit signed). Set the wave shape oscillator to an arbitrary frequency value such as 440Hz.
- Define the ADSR envelope or LFO.
- Define a
synthio.Noteobject where the
amplitudeparameter is controlled by the ADSR envelope or LFO.
- "Press" the note to output the ADSR envelope or LFO signal via the I2S DAC connection.
Also successfully tested creating the CV signal using
audioioto connect to PWM and analog output pins on a Qt PY RP2040 and Grand Central M4 Express board.
An I2S stereo audio DAC with an internal master clock PLL and a charge pump for direct-coupled ground-centered audio output.
The TV Backlight illuminates the wall behind the TV display to reduce eye strain. The backlight extends the background of the screen image by watching the color near an edge of the display. To reduce distraction, the color and brightness are integrated over time to avoid sudden changes.
The project code reads the AS7341 spectrometer sensor's eight visible light channels to determine the backlight target color. Using a Euclidean "color distance" comparison, the backlight color is slowly changed to match the target color, within a specified tolerance.
The spectrometer sensor settings are adjusted for relatively low display light levels. The sensor's internal amplifier gain is set to maximum and the integration step and time values are adjusted to maintain a moderately fast conversion rate. Also, rather than just analyzing red, green, and blue components, all eight visible light channels are used to increase the accuracy and resolution of color measurements.
In this configuration, just one of the sensor's channels can reach a count value of near 13k, producing a composite 8-channel resolution that approaches 8x1032 color combinations, much larger than the 17x106 (24-bit) color resolution of the NeoPixel strip. A color count to RGB converter helper reads the three primary color sensor channels, scales the count, and produces an RGB888 (24-bit) color value that's compatible with NeoPixels.
To assist in finding a position near the TV screen for the sensor, the Feather M4's on-board NeoPixel mimics the readings in real-time, albeit at a slightly lower brightness than the illumination strip NeoPixels.
Test video: https://youtu.be/yFqbalF0FGw
- Build a camouflaged enclosure and vertical mounting wands for the NeoPixel strips.
- Investigate animating the NeoPixel strip color change.
- For home security, enable the NotFlix (Fake TV) code when the TV display is dark for 5 minutes or more.
This page of notes was used to develop BNo055 9-DoF sensor algorithms for the PowerWash project and discusses three essential characteristics of the sensor.
First, the relative and absolute calibration of the sensor can be performed to improve initial sensor stability and positioning. Stand-alone sensor calibrator code is shown and was submitted to the driver library's examples folder. The sensor calibration procedure is not well described in existing documentation, so an update to the BNo055 ReadTheDocs page and the primary Learning Guide would be beneficial.
Next we'll talk about how to measure and adjust for user position orientation without changing the sensor's absolute position calibration.
Finally, since tap detection is not native to the BNo055 chip, an example of how to detect single and double-taps with the accelerometer component of the sensor is described.
Since the PowerWash project also included a Nunchuck controller, a brief discussion of tap detection for its slightly less-sensitive accelerometer is included.
We live in a breezy area that abuses flags, wind socks, and our patio garden wind chime collection. To keep the collection of wind chimes working, we are always looking for better materials for the annual chime repair ritual.
We recently ditched the UV-resistant nylon fishing line that was usually used for repairs. Despite the UV rating, the nylon line would decay in the sun after a few months. We tried something new (to us) this season; replaced the nylon line with 1/32” stainless steel cable and aluminum crimp ferrules. We're expecting it to stay strong and last a great deal longer.
For lightweight loads such as the hangers for individual chime tubes, the ferrules were sliced in half with a utility knife. The cable was cut to length and ferrules were crimped in place using a ratcheting crimping pliers' 28AWG die. The crimping pliers (Adafruit PID#1213) have a combination die for 28AWG, so only the larger portion of the die was used. Crimping pliers designed specifically for this purpose are available.
The Ibanez FL9 Flanger Service Guide was compiled from a collection of original and obsolete information to create a useful guide for maintaining this unique guitar pedal. Credit must be given to the authors of the original 1980s era Service Manual NO. 002 that was used as a template for this updated guide.
A CircuitPython Community Bundle color palette and list brightness setter and normalizer tool.