Building a custom USB audio mixer

With the rising numbers of COVID-19 cases during the first wave of the pandemic in 2020, I was working remotely a lot. At home I have some decent audio gear (beyderdynamic DT 297 PV MK II, Shure SM7B, beyderdynamic DT 770 PRO, and Yamaha HS 5) connected to my Mac via USB audio interfaces (Focusrite Scarlett 2i2 and MOTU M2).

As I wanted to use the same audio devices for my corporate video conferences I needed a convenient way to connect them to my corporate computer as well. My first idea was to use an USB switch like the ATEN US234, but this had two downsides: First I wasn't able to use them on both PCs at the same time, e.g. hearing music from my private Mac while having a conference call with the corporate PC. Secondly switching the audio interfaces always results in a very loud clicking noise which was really annoying, especially when having the monitor speakers switched on.
Continue reading

Comparison of multiple SCD30 CO₂ sensor

PCB with eight sensors

PCB with eight sensors

Building a custom CO₂ sensor has become a popular hobby project in the last weeks due to the COVID-19 pandemic. For that reason I ordered multiple Sensirion SCD30 CO₂ sensors. Sensirion claims an accuracy of ± (30 ppm + 3% MV) at 25 °C and the sensor supports an Automatic Self-Calibration (ASC) (see section 1.4.6 of datasheet).

As I noticed quite some difference between measurements of different sensors, I was curious about the accuracy and self-calibration. Therefore I build a custom PCB, which hosts eight sensors in vicinity, a Bosch BMP280 pressure sensor for pressure calibration, a I2C multiplexer and an ESP32 for low-level communication with the sensors. Continue reading

Using the iCEBreaker with an Open Source FPGA toolchain on OS X

iCEBreaker

iCEBreaker

When I used FPGAs in the past, e.g. for my LED Display, I was using Xilinx FPGAs with their proprietary software which unfortunately runs only under Windows or Linux. This was very inconvenient and in addition the software was slow as hell.

Fortunately a new era has begun: Open-Source FPGA toolchains! It was started some time back by Clifford Wolf, who first wrote a synthesis tool called Yosys and later reverse-engineered the bitstream format for Lattice iCE-40 FPGAs. Recently a new place-and-route tool called nextpnr was developed as well. Continue reading

USB charging adapter for bench power supplies

USB charging adapter

USB charging adapter

Many gadgets and tools nowadays run from 5 V and incorporate an USB port for that purpose. When developing those devices powering them from a bench power supply is usual very handy as current can be easy monitored and limited. For that purpose I wanted to create a small adapter which plugs into my bench power supplies and offers an USB type A plug.

The power and current a device may draw from an USB port is limited and follows complex rules depending on the state of USB enumeration. Many devices ignore those rules and just draw 100 mA or 500 mA independently of USB enumerate state. This works for most power providing devices and almost all USB chargers/power supplies. If more current is needed the power supply needs to signal extra capability to the device. As most USB chargers are rather dump a simple solution, or to be exact many simple solutions were invented. The device that wants to draw current checks the status of the D+ and D- signal lines immediately after attach. Continue reading

LED Display

LED display @ Maker Faire

LED display @ Maker Faire

Last year I mentioned a long term project I'm working on: A huge LED display built out of 32x32 LED RGB matrix modules driven by a BeagleBone Black, which could drive the display like a usual monitor using a framebuffer driver. After many months and just right before Maker Faire 2015 in Hanover I managed to bring the project in a presentable state. This article shall give an overview over the project. Continue reading