Linus Torvalds e80d37ec67 Make the boost circuit a bit more interesting
The clean boost with some clipping was very boring, both from a sound
and a circuit standpoint.

This one isn't any better from a sound standpoint, but at least it's a
bit more interesting.  Instead of a boost pot and clipping diodes, this
has a pot that affects the biasing of the input JFET, and a fixed 10x
voltage boost with a final volume pot.

End result: it also clips, but the clipping is based on how badly the
input transistor is biased, so now you have a bit more control over the
result.

Useful? No.  But I'm back to using discrete components, because the
whole op-amp thing was just too boring.  If I want to use pre-made
circuits, I can do that on the MCU board, let's keep the analog boards
discrete.

That said, I've made the resistors and capacitors small, because I'll
just use this one for the JLCPCB assembly testing.  I did send off a
copy of the MCU board too, which is probably completely stupid - the
first PCBA board I do shouldn't have been that complex.  But maybe it
works (after I figure out the programming - even if the board is fine,
I'll have to do the SW side too to even test it).

Anyway, this one I can have assembled - and test - without then having
to write any code for various i2s things that I have no idea about.

Oh, and I still call this a "1590LB" boost board, even though I actually
ended up deciding that I'll just 3D-print the enclosure.  So it's not
really a 1590LB, it's a 45x50mm board that I'll just print a custom
enclosure for.  I actually really liked how one of my test enclosures
ended up looking, and not being limited to standard aluminum boxes is
liberating.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2025-12-03 18:33:27 -08:00

103 lines
2.2 KiB
Plaintext

{
"last_sch_text_sim_command": "",
"tabs": [
{
"analysis": "TRAN",
"commands": [
".tran 1u 1 0 10u",
".kicad adjustpaths",
".save all",
".kicad esavenone"
],
"dottedSecondary": true,
"margins": {
"bottom": 45,
"left": 70,
"right": 70,
"top": 30
},
"measurements": [],
"showGrid": true,
"traces": [
{
"color": "rgb(166, 86, 40)",
"signal": "V(BUFFERED)",
"trace_type": 257
},
{
"color": "rgb(55, 126, 184)",
"cursor1": {
"position": 7.8300021568153415,
"x_format": "3~s",
"y_format": "3~V"
},
"cursor2": {
"position": 7.8550289664075335,
"x_format": "3~s",
"y_format": "3~V"
},
"cursorD": {
"x_format": "3~s",
"y_format": "3~V"
},
"signal": "V(INCONN)",
"trace_type": 257
},
{
"color": "rgb(166, 216, 84)",
"signal": "V(OUTCONN)",
"trace_type": 257
}
]
},
{
"analysis": "OP",
"commands": [
".op",
".kicad adjustpaths",
".save all",
".probe alli",
".probe allp"
]
},
{
"analysis": "AC",
"commands": [
".ac dec 100 10 40k",
".kicad adjustpaths",
".save all",
".probe alli",
".probe allp"
],
"dottedSecondary": true,
"margins": {
"bottom": 45,
"left": 70,
"right": 70,
"top": 30
},
"measurements": [],
"showGrid": true,
"traces": [
{
"color": "rgb(228, 26, 28)",
"signal": "V(BUFFERED) (gain)",
"trace_type": 521
},
{
"color": "rgb(77, 175, 74)",
"signal": "V(OUTCONN) (gain)",
"trace_type": 521
},
{
"color": "rgb(55, 126, 184)",
"signal": "V(OUTPUT) (gain)",
"trace_type": 521
}
]
}
],
"user_defined_signals": [],
"version": 6
}