USB 3D Gauss Meter
A USB 3D-Gauss Meter based on Texas Instrument's TMAG5170 Hall Sensor.
A USB 3D-Gauss Meter based on Texas Instrument's TMAG5170 Hall Sensor.
The 74HC595 is one of the most common logic ICs out there, especially in the Arduino community. It is often utilised to drive multiple LEDs with serial input. A project of mine used it drive multiple LEDs. I found that the LED brightness reduces when too many of them are on. This made me wonder how much current can this IC actually supply. I measured the IV curve of the output of the 74HC595 last year. But I found that the measurement was kind of flawed. Therefore, I measured it again in this blog and documented the details in my setup.
I accidentally bricked my STM32 when uploading compiled binaries to it. I used a Raspberry Pi Pico 2 and the official CMSIS-DAP firmware with OpenOCD. After some messing around, I found the way to un-brick it and how to prevent bricking.
I was working on controlling some stepper motors on a robot. I wanted to control them with an STM32. The STM32 is controlled by a Raspberry Pi 5 with SPI. To generate the periodic signal for the stepper driver, I used the timer peripheral on the STM32. I this blog, I will go through the basics of the timer peripheral and how I set it up for this usage.
I was working with the ST7735 screen in a project at NTHUEE 822 Maker Space. We were controlling the screen with an STM32F103C8T6 Blue Pill and Adafruit's ST7735 & ST7789 library. And we ran into a very interesting bug, which was caused by the value of "pins" in the STM32 Arduino core. In this article, I will explain the cause of the bug and the workaround for current version of the libraries.
The 74HC595 shift register is one of the most popular 74 series IC these days. It is often used to convert serial data into parallel and drive LEDs. A project of mine used it drive multiple LEDs. This made me wonder how much current can this IC actually supply. Therefore, I did some testing on the driving capability of the 74HC595 shift register.
An electronic, re-settable fuse module to protect your circuit from drawing too much current.
It always bothers be to connect a row of LEDs and current limiting resistors on a breadboard. Therefore, I came up with the idea of making a display module to display 8-bit buses on a breadboard. Also, sometimes it makes life a lot easier if the bus data is displayed in hexadecimal. In the end, I decided to make a 8-bit hexadecimal display that will fit on a breadboard.
New laptops with 2880x1800 OLED screens look great. However, I prefer setting the fractional scaling to 175% to fit more content on the screen. Currently on Ubuntu(22.04 & 24.04 in my case), the fractional scaling process cause some applications to become blurry. In this article, I will show you the workarounds to get VSCode and Microsoft Edge look sharp again. However, there are still other apps that I unfortunately don't have a fix(Kicad, Rawtherapee to name a few). Also, I'll show you how to modify the laucher .desktop file so that the flags we added later will be applied when you click the icon in the laucher.
ADS1115 is a 16-bit delta-sigma analogue to digital converter(ADC) designed by Texas Instruments. It has a maximum sampling rate of 860 samples per second. However, the maximum sampling rate can only be achieved in continuous mode. This article provides an Arduino example of how to interface the ADS1115 in continuous mode.