Linux Adds CH341 GPIO

There was a time when USB to serial hardware meant one company: FTDI. But today there are quite a few to choose from and one of the most common ones is the WCH CH341. There’s been support for these chips in Linux for a while, but only for use as a communication port. The device actually has RS232, I2C, SPI, and 8 general purpose I/O (GPIO) pins. [ZooBaB] took an out-of-tree driver that exposes the GPIO, and got it working with some frightening-looking CH341 boards.

He had to make a slight mod to the driver to get six GPIOs in …read more

Continue reading Linux Adds CH341 GPIO

Blast From the Past with Space Station PROM Reader

The Ursa Major Space Station SST282 is a dinosaur of a digital reverb.  Okay, so maybe 1978 isn’t ancient yet, but it is getting to the point where one has to worry about the possibility of component failure.  At least that’s what [Obsoletetechnology] thought when they created a backup of its memory contents.

As can be seen from some of Hackaday’s previous articles, a part does not have to be an older one to fail.  However, there is no such thing as being too paranoid when it comes to older parts reaching their lifetime.  Especially when there is valuable …read more

Continue reading Blast From the Past with Space Station PROM Reader

Know the Load with this Simple Microcontroller CPU Meter

How do you tell how much load is on a CPU? On a desktop or laptop, the OS usually has some kind of gadget to display the basics. On a microcontroller, though, you’ll have to roll your own CPU load meter with a few parts, some code, and a voltmeter.

We like [Dave Marples]’s simple approach to quantifying something as complex as CPU load. His technique relies on the fact that most embedded controllers are just looping endlessly waiting for something to do. By strategically placing commands that latch an output on while the CPU is busy and then turn …read more

Continue reading Know the Load with this Simple Microcontroller CPU Meter

Driving 16 WS2812B Strips with GPIOs and DMA

[Martin Hubáček] wrote in with his WS2812 LED library for the STM32F3 series processors. [Martin]’s library takes the same approach as [Paul Stoffregen]’s OctoWS2811 for the Teensy, and [Erich Styger]’s for the Freescale FRDM-K64F board. That is, it uses three DMA channels to get the signal out as fast as possible.

He has a good overview of the method that you can check out for details, but it goes something like this. The WS2812 uses a PWM-like encoding to transfer data. If the signal is high for 1/3 of the time, it’s a zero, and if it’s high for 2/3 …read more

Continue reading Driving 16 WS2812B Strips with GPIOs and DMA