jeffrey ni.
Random projects.
Thursday, September 26, 2024
Monday, February 20, 2023
Photos of 2022
Tuesday, July 26, 2022
Microphone Amplifier: Shielding
My friend owns a ribbon microphone, which have notoriously low output levels even after their internal transformers steps up the output, and always need to crank the gain up to the max and use noise reduction to get anything usable. A common solution is to use an in-line preamp such as the Cloudlifter and the FetHead. I wanted to see if I could make my own amplifier after seeing a small snippet on ribbon microphone amplifiers in the Art of Electronics.
After a little bit of Googling, I came across reverse-engineered schematics for aforementioned amplifiers. They both use JFETs in a differential pair, which allow for the gates to be biased at 0V straight from the microphone, and are powered directly off of phantom power with the phantom power resistors as the load. The Cloudlifter has a cascode configuration of JFETs, while the FetHead is just a single device. Someone already made a FetHead clone, and to keep my project simple I essentially cloned this. I added a few changes to my PCB:
- Added a footprint for a two channel ESD diode device
- Added places for emitter degeneration resistor if one wants to add them
- Used the connector that has the shield separated from ground both the input and the output XLRs
- Added jumpers that allow for configuration on how the shields are connected to each other/to ground
KiCAD Schematic. |
Parts. |
Assembled. |
Sunday, June 12, 2022
CAD Practice: Mini Tripod
Orthographic side view. |
Tuesday, May 3, 2022
iCE40 FPGA Tinkering
- Install APIO
- Generally followed this guide.
- Initialize project with apio init --board iCE40-UP5K -s
- -s allows us to customize the SConstruct file so that we can the build process look into subdirectories for the source files.
- For simulation use apio sim
- Simulates from *_tb.v files
- apio build to build the verilog
- For some reason apio upload would not work for me; I suspect there is a PATH problem with my python setup (error: 'WindowsPath' object is not iterable)
- I just manually uploaded with iceprog -I A [path to bitstream]
Tuesday, January 4, 2022
Switching Buck Regulator: from theory, through simulation, to implementation
I had a much longer introduction written up in my draft document of this but now looking back at it, it's a little unnecessary. To summarize my thoughts; in an attempt to provide some motivating direct applications of what I have learned in classes, I want to begin writing about some projects that directly apply the theory from class to something more tangible. Hopefully they can demonstrate real-world issues that one can run into when implementing these concepts for real. This is also a good excuse for me to refresh my memory on many of these topics and provide a good written reference to hold on to.
Any errors/things that are unclear are on me. Hopefully there aren't too many and I'm not saying anything too wrong. 🤷♂️
Part 1: Basic Buck Converter Theory
Saturday, January 1, 2022
Photos of 2021
Nothing technical about this post; just a recap of some photos I took throughout 2021 that I liked.
Comments: The forest one I like but feel the background should have either been more blurred (would have need a bigger aperture than the f/4 I had) or more in focus; currently it feels half-done both ways and is just a bit mushy. The Christmas one should probably be cropped tighter; the edges are messy. I should have framed the last one a little lower and wish the clouds were a little more dramatic.
I've also been going through some old photos and uploading/backdating a few I like.