home.social

#potentiometer — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #potentiometer, aggregated by home.social.

fetched live
  1. #Werbung #Reklame in eigener Sache:

    Liebe #vintagehifi Freunde:
    Sicherlich kennt Ihr das auch:
    Du hast ein tolles Radio, aber es fehlen die Bedienknöpfe.
    Statt dessen ragt nur die nackte Welle aus dem Gerät,
    wie auf dem Bild ganz links.

    Nun sind Potentiometerköpfe recht leicht zu bekommen, wenn die Welle einen Durchmesser von 6mm hat.
    Die Kofferradios haben aber Wellen von 4,5mm mit einer D förmigen Aussparung.
    Um dies Problem zu lösen haben wir einen Adapter gezeichnet und gedruckt der es erlaubt auf 4,5mm D Wellen einen Potiknopf mit 6mm (glatt) Innendurchmesser zu montieren.

    Auf diese Weie könnt Ihr sogar Potiköpfe von E-Gitarren auf Eure Kofferradios montieren.

    Hier könnt Ihr den Adapter kaufen:
    neufeldt-kuhnke.de/shop/Wellen

    #kofferradio #bedienknöpfe #upcycling #restomod #madeingermany #madeinkiel #madeineu #hifi #vintagehifigear #recycling #potikopf
    #potentiometer #ersatzteile

  2. This is one of the precision potentiometers I'll be using in my tube preamp build. They are stepped (like 24 or 27 steps) made with precision film resistors on a small circuit board in there with the stepping mechanism.

    I want to get rid of the little nubby sticking up on each pot. I don't have the tools to do this anymore so I'm looking for any suggestions that you might have. I want to get rid of the nubby without damaging the rest of these beautiful things.

    #Potentiometer #Help #Suggestions

  3. A detailed view of one of my mixing consoles {Yamaha}

    Composed in 85F warming light using my Philips Spot Light which I've had since I was a 17 years old teenager!

    #Yamaha #JOYO #Console #mixing #faders #potentiometer #AUX #Auxiliary #BUS #gain #Phantom #Power #48V #technology #Audio #music #signal #flow

  4. Atari 2600 Controller Shield PCB Revisited – Part 3

    Following on from Atari 2600 Controller Shield PCB Revisited – Part 2 someone on Mastodon made the point that the reason they tended to use RC circuits to read paddles “back in the day” was due to the expense of ADCs.

    Which triggered a bit of an “oh yeah” moment.

    The whole point was not to worry about the analog levels at all, and just measure the time it takes for the pin to read HIGH again.

    So this looks back at removing the whole ADC thing with a simple “if (digitalRead(pin))” condition!

    Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

    If you are new to Arduino, see the Getting Started pages.

    The Code

    The overarching principles are the same as for Atari 2600 Controller Shield PCB Revisited – Part 2 but instead of all the bespoke code to read the analog to digital converter, I’m relying on the following:

    • A digital input pin has a threshold for which the input is considered HIGH.
    • We can wait for the input reading to register as HIGH instead of looking for absolute thresholds of an analog value.
    • For an ATMega328P the threshold is 0.6 x VCC or around 3V. This is equivalent to just over 610 on a 0 to 1023 scale of an equivalent analog reading.

    Taking this into account and using largely the same ideas as before, I can reuse most of the code but with the following timing and threshold values instead:

    • Start scaling (the 0 point): 10
    • End scaling (the 1023 point): 350

    The timer TICK is still 100uS and the “breakout” point is still 1000.

    When it comes to reading the digital INPUT, I’m using PORT IO once again for speed and expediency.

    for (int i=0; i<4; i++) {
    if ((PINC & (1<<i)) == 0) {
    // Still not HIGH yet
    }
    }

    Here is the complete, now greatly simplified, basic code:

    #include <TimerOne.h>

    #define RAW_START 10
    #define RAW_END 350
    #define RAW_BREAK 1000
    #define RAW_TICK 100

    unsigned padState;
    unsigned padCount[4];
    unsigned atariValue[4];

    void atariAnalogSetup() {
    Timer1.initialize(RAW_TICK);
    Timer1.attachInterrupt(atariAnalogScan);
    padState = 0;
    }

    void atariAnalogScan (void) {
    if (padState == 0) {
    DDRC = DDRC | 0x0F; // A0-A3 set to OUTPUT
    PORTC = PORTC & ~(0x0F); // A0-A3 set to LOW (0)
    padState++;
    } else if (padState == 1) {
    DDRC = DDRC & ~(0x0F); // A0-A3 set to INPUT
    for (int i=0; i<4; i++) {
    padCount[i] = 0;
    }
    padState++;
    } else if (padState > RAW_BREAK) {
    for (int i=0; i<4; i++) {
    atariValue[i] = 1023 - map(constrain(padCount[i],RAW_START,RAW_END),RAW_START,RAW_END,0,1023);
    }
    padState = 0;
    } else {
    for (int i=0; i<4; i++) {
    if ((PINC & (1<<i)) == 0) {
    padCount[i]++;
    }
    }
    padState++;
    }
    }

    int atariAnalogRead (int pin) {
    return atariValue[pin-A0];
    }

    void setup() {
    Serial.begin(9600);
    atariAnalogSetup();
    }

    void loop() {
    Serial.print(padState);
    Serial.print("\t[ ");
    for (int i=0; i<4; i++) {
    Serial.print(atariAnalogRead(A0+i));
    Serial.print("\t");
    Serial.print(padCount[i]);
    Serial.print("\t][ ");
    }
    Serial.print("\n");
    }

    Closing Thoughts

    Sometimes one really can’t see the “wood for the trees” and this was one of those occasions. I was so took up with thinking about how a modern system might think about a problem without thinking about the original reason for the particular solution.

    It makes so much more sense thinking about it in these terms now. All it took was an observation from another, namely:

    “So I know the RC timer is the classic way to sense analog paddles but they also didn’t have cheap ADCs back then.”

    Many thanks “Chip” for that observation 🙂

    Kevin

    #arduinoUno #atari #atari2600 #include #potentiometer #TICKs

  5. Everything you ever (or never) wanted to know about Potentiometers in this >200 pages Handbook by Bourns from 1975.
    Fun, how it changes from serious to comic style in chapter 9: TO KILL A POTENTIOMETER

    bourns.com/docs/technical-docu

    #electronics #potentiometer #historical #book #handbook #guide

  6. Forbidden Planet “Krell” Display – MIDI CC Controller – Part 2

    This revisits my Forbidden Planet “Krell” Display – MIDI CC Controller using my Forbidden Planet “Krell” Display PCB with a Waveshare RP2040 to create more of a “all in one” device.

    Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

    If you are new to Arduino, see the Getting Started pages.

    Parts list

    PCB

    This requires a built of the Forbidden Planet “Krell” Display PCB with the following:

    • 2 potentiometers
    • MIDI IN and OUT

    I’ve used potentiometers that are their own knob, as they only poke through the casing by around 5mm or so.

    If it you are able to get longer shaft pots, then that would probably be worthwhile.

    Updated 3D Printed Case

    This requires the following from the Krell Display 3D Printed Case:

    This requires the following options in the OpenSCAD code:

    show_frame = 1;
    show_quadframe = 0;
    show_insert = 1;
    show_support = 0;
    show_quadsupport = 0;
    show_eurorack = 0;
    show_eurorack_support = 1;

    alg_pot1 = 1;
    alg_pot2 = 1;
    alg_cv = 0;

    The frame does not really take into account the PCB at present, but I’ve reached the “good enough I want to do something else” stage, so I’ve just added a couple of small cut-outs (using a hacksaw) for the two MIDI sockets, and am content that the components stick out a bit from the back.

    This cutout has to be 10.5mm from the end, 6mm wide, and 5mm deep.

    At some point I might go back and design a deeper frame that has the cut-outs included and some kind of snap-on back to make it a self-contained box.

    But for now, this is left as an exercise for, well, anyone else 🙂

    Construction

    I’ve used four brass 6mm spacers to screw into the mounting holes in the frame. Then the PCB can be inserted, taking care to squeeze in the 3D printed support around the LEDs and pots, and fixed with 20mm spacers which will also act as “legs”.

    The Code

    I’ve used a Waveshare Zero RP2040 and Circuitpython for this build. This is a combination of some of the test code used for the Forbidden Planet “Krell” Display PCB but with added MIDI.

    The code supports both Serial and USB MIDI.

    I wanted an equivalent of the Arduino map() and constrain() functions and didn’t immediate spot them in Circuitpython so wrote my own:

    def algmap(val, minin, maxin, minout, maxout):
    if (val < minin):
    val = minin
    if (val > maxin):
    val = maxin
    return minout + (((val - minin) * (maxout - minout)) / (maxin - minin))

    This allows me to map the analog read values (0 to 65535) down to MIDI CC values (0 to 127) whilst also allowing for some inaccuracies (I’ve treated anything below 256 as zero for example):

    alg1cc = int(algmap(alg1_in.value,256,65530,0,127))

    I’ve used the Adafruit MIDI library, which I’m still not really a fan of, but I wanted to include MIDI THRU functionality to allow the controller to sit inline with an existing MIDI stream. But it doesn’t seem to work very well.

    I was already only updating the LEDs/MIDI CC if the pot values had changed, to cut down on the number of Neopixel writes required.

    I experimented with changing the scheduling of the analog reads and MIDI but that didn’t seem to help very much. In the end I made sure that all MIDI messages queued up in the system would be read at the same time before going back to checking the pots.

        msg = midiuart.receive()
    while (msg is not None):
    if (not isinstance(msg, MIDIUnknownEvent)):
    midiuart.send(msg)
    msg = midiuart.receive()

    It will do for now. Moving forward, I might try the Winterbloom SmolMIDI library. If that still doesn’t give me some useful performance then I might have to switch over to Arduino C.

    Find it on GitHub here.

    Closing Thoughts

    The MIDI throughput is disappointing, but then I’ve never really gotten on with the Adafruit MIDI library. I use it as USB MIDI on Circuitpython is so easy, so will need to do something about that.

    I’m still deciding on the PCB-sized supports too. The original seemed to have nicer diffusion of the LEDs, but that could have been the difference between 5mm SMT neopixels and these THT APA106s which seem more directional in the first place.

    And I really ought to finish the 3D printed case properly too.

    So this is “that will do” for now, but I ought to come back and finish it off properly at some point.

    Kevin

    #APA106 #circuitpython #ForbiddenPlanet #Krell #midi #midiController #NeoPixel #potentiometer #rp2040 #WaveshareZero

  7. #Drilling holes and test fitting the #enclosure for my 10 step #sequencer
    On the front slope, there are ten #potentiometer, LEDs, and toggle switches. The LED fixtures are still missing.
    On the top, unsloped part will be the step selector, inputs and outputs.
    At the back side will be the power connector and the power switch.
    #diysynth #synthesizer

  8. I was able to repair my trusty Cyber-Accoustics 2.1 CA-3310 #speakers 🔈 💻 Its volume control was behaving badly and messed the #audio I had to redo the bottom cover of the right speaker, since the cover needs to be destroyed to access the main electronics (the main issue with the design).
    A clean #potentiometer and a bolted wooden replacement bottom cover did the trick.
    I used it several years, as its fits in my desktop.

  9. For the context of this PCB design, see: Educational DIY Synth Thing.

    Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

    The Circuit

    The key design decisions have already been documented here: Educational DIY Synth Thing – Part 2 so I won’t go over the details again now.

    In considering the schematic, there are several key sections, each of which has been discussed in the above mentioned post.

    Potentiometers and Multiplexer

    There are three unused potentiometer inputs to the 4067 MUX so I’ve broken them out to header pins. These can be left as future expansion if required.

    Trigger and Gate Inputs

    There are four identical circuits for the trigger and gate inputs. Recall that the actual signal received by the microcontroller is inverted, so has to be treated as an active LOW signal.

    Conrtol Voltage Inputs

    These inputs should be able to cope with over or under voltage inputs whilst ensuring only a 0-3V3 signal is received by the ESP32.

    PWM Oscillator Outputs

    Recall that each PWM output stage uses a 470Ω resistor and 68nF capacitor for a frequency cutoff of around 5kHz. I might leave the capacitors off the two square wave outputs though (see previous discussion).

    Amplifier

    A speaker and line-out option has been left in the circuit, but it remains to be seen if the speaker output will be of any use or not. I am expecting to really only use the line out at this stage.

    There is a simple volume control on the line out but not the speaker.

    Rest of the Circuit

    The remaining elements cover the ESP32 module itself, the MIDI IN circuit and the power supply.

    PCB Design

    The PCB design has had to follow the initial layout for the panel (as described in the previous post) so that has limited the options somewhat, but I seem to have been able to get everything in that I wanted.

    This is actually a fourth or fifth iteration. As I’ve been testing the individual circuit components, the design has evolved somewhat.

    Key features:

    • Rather than single-pin header inputs, there are dual inputs. This is both for the practical reason that dual-pin headers can be bought in bulk, but single pin header sockets can’t; but also that it leaves an additional pin header that could be used for an oscilloscope connection.
    • The board has included dual 3V3 and a single 5V (all plus GND) connection off to the right that can be used to power a solderless breadboard to encourage experimentation.
    • All external connections (MIDI, audio, power, power switch, etc) have been left as pin headers to be connected to an appropriate socket affixed in an appropriate place – e.g. the side of a box or enclosure; or additional panel.
    • I’ve done my best to position things accurately and neatly, including on the silkscreen.
    • The silkscreen shows component values to aid construction, but also has enough detail for the inputs and outputs to be used without a front panel if necessary.
    • The ESP32 and 7805 regulator are to be mounted on the underside of the board.

    Unfortunately, the footprint for the 4067 is wrong! I’ve used a narrow 24-pin DIP socket rather than a wide 24-pin DIP. Doh! Massively annoying, but I’ll come back to that in a moment.

    Panel Design

    I took a copy of the PCB once laid out and pasted the pots and header pin sockets over into a new KiCAD project. This allowed me to use them as the reference for positioning the cutouts and holes for a panel design:

    The pot holes are the MountingHole_8.4mm_M8_Pad footprint but I edited it to make the pad thinner. My initial thought was to allow a connection to the metal body of a potentiometer and have it screwed down.

    But having ordered some pots that don’t require nuts (deliberately so – they have black shafts that can be used directly), with hindsight I’d have probably kept the solder mask on the top layer right up to the edge of the hole

    The cutouts for the pin headers are made using edge cuts in the normal way. Inputs have a thin line around them – outputs have a thick line around them.

    There is also a 3mm cutout for the power LED.

    4067 24-pin DIP Footprint Error

    As mentioned above, I made a mistake with the 4067 footprint. This was largely as I started with a 4051, 8-way multiplexer, which has the narrow footprint and when I moved to the 4067 to get more outputs, I changed the footprint for the increased number of pins without thinking it might be of a different width.

    Whenever I’ve used a 4067, it has always been the SOIC version on one of those cheap breakout boards. It was only when I realised I didn’t actually have any chips and went to order some that I spotted they were only available as wide DIP packages.

    Unfortunately a simple “stick it at an angle and extend the pins” bodge won’t work as it would probably make the chip too high for installation between the two rows of ADSR pots whilst remaining under the panel. This also means a stripboard converter is not an option either as there is no room on the topside of the PCB between the pots.

    Annoyingly, in an earlier iteration I had the 4067 mounted on the underside of the PCB and swapped it as I decided there was no need!

    In the end I designed and ordered a converter PCB to both extend and reverse the pinouts. I’ve made a PCB with three of them on, to be cut apart once received.

    This will hopefully allow me to install the 4067 on the underside of the PCB instead. This will allow me to get on and test the board and possibly even use it “as is” without needing a rework straight away.

    Naturally at some point I’ll rework everything, but if I do I might rework it to use one of those cheaply available 4067 breakouts instead anyway.

    Closing Thoughts

    Given how many times I was careful about the placing of components and silkscreen and then how many more times I reworked the board as I found out something else about the circuit, I still can’t believe I got something so fundamental as the DIP footprint wrong for the 4067.

    Oh well, these things happen.

    Apart from that, as a design activity, I’m quite pleased with how this has turned out so far.

    Of course, I won’t actually know until I have a board in my hand, populated with components, and powered up with no magic smoke.

    To be continued…

    Kevin

    https://diyelectromusic.wordpress.com/2024/05/07/esp32-wroom-educational-modular-synth-thing-pcb-design/

    #74hc4067 #esp32 #multiplexer #mux #pcb #potentiometer #tda5072

  10. DIY Pocket PONG Breaks the Mobile Spell - [Minikk], aka [Athul] is about to enter 10th grade and reports that they and their... - hackaday.com/2024/03/18/diy-po #meltingplastic #potentiometer #esp32-c3 #buzzer #games #pong

  11. Pimp My Pot Redux, Now Cheaper and Even Better - If there’s one thing we like around here more than seeing an improved version of a... - hackaday.com/2024/02/10/pimp-m #potentiometer #ringlight #ledhacks #encoder #max7219 #rotary #pcba #eda #pot #smd

  12. The last module of my #diysynth that I had on breadboard is now soldered to a #perfboard. It's a #LFO with triangle and square wave output, with shape #potentiometer that changes the triangle wave towards sawtooth or ramp, and the duty cycle of the square wave between 5% and 95%.
    It has two speed settings with 0.12 to 5.3 Hz, or 1/80th to 0.5 Hz frequency. I might build a second one with different capacitors for higher frequencies.
    #soldering #synthesizer #oscillator #electronics