Zellij 0.42.0: Stacked Resize, Pinned Floating Panes, New Theme Spec, https://zellij.dev/news/stacked-resize-pinned-panes/.
So awesome!
Zellij 0.42.0: Stacked Resize, Pinned Floating Panes, New Theme Spec, https://zellij.dev/news/stacked-resize-pinned-panes/.
So awesome!
Tmux Tutorial: Following Guide
1. Introduction to Tmux
Tmux, short for Terminal Multiplexer, is a powerful tool that allows users to manage multiple terminal sessions within a single window. It enables the creation, access, and control of multiple terminals from a single interface, enhancing productivity for developers and system administrators.
More about this tutorial at: https://machaddr.substack.com/p/tmux-tutorial-following-guide
#tmux #Terminal #Linux #UNIX #Computer #Science #OpenSource #Programming #Multiplexer
Zellij: A terminal workspace with batteries included
https://zellij.dev/
#ycombinator #rust #terminal #multiplexer
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:
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
#74hc4067 #esp32 #multiplexer #mux #pcb #potentiometer #tda5072
Tool of the day: Zellij.
I've just switched from tmux with a bunch of plugins and over a hundred lines of configuration to @zellij, which only required half a dozen lines of setup. Zellij not only replicates all the functionalities of my previous tmux setup but also adds some impressive new features. It's a game-changer for terminal multiplexing. Highly recommend.
This takes the Arduino Nano Mozzi Experimenter Shield PCB and swaps out three of the pots for the optional use of the following:
This is in addition to the remaining three potentiometers, the MIDI interface and the audio filter output.
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
The Build Guide is available here: Nano Audio Experimenter Sheild PCB Build Guide.
If you are new to Arduino, see the Getting Started pages.
The Circuit
The board includes a 5V MIDI IN and unbuffered MIDI OUT. It includes a barrel jack for power directly into the Arduino Nano’s raw input.
It includes pin headers for an SSD1306 display and MCP4725 DAC and headers to allow connection to an analog multiplexer such as a 4051 (8-way) or 4067 (16 way). This is connected to A3.
There is also an audio output filter stage that can be switched between D3 or D9 for PWM output or the DAC.
The following Arduino pins are used in total:
PCB Design
Key aspects of the design:
Closing Thoughts
I believe it is possible to use both the SSD1306 display and the MCP4725 DAC whilst servicing the other IO on the board, but I can’t imagine it would yield any practical or useful function to do so!
This is a board with options that aren’t necessarily meant to all be used at the same time. It is the latest in my line of “experimenter” boards, essentially designed for messing about with audio on the Arduino Nano.
The only thing I wished I’d added was some test points for an oscilloscope probe.
Kevin
https://diyelectromusic.wordpress.com/2023/11/12/nano-audio-experimenter-sheild-pcb/
#74hc4067 #arduinoNano #cd4051 #mcp4725 #midi #multiplexer #mux #pcb #pwm #ssd1306
tmate: Instantly Share Terminal Session With Other Linux Users
https://linuxhandbook.com/tmate/
#tmate #terminal #multiplexer #tmux #fork
tmate: Instantly Share Terminal Session With Other Linux Users
https://linuxhandbook.com/tmate/
#tmate #terminal #multiplexer #tmux #fork
Definitely recommending checking out this video about configuring #tmux! If you don't know what is Tmux, it's a terminal multiplexer allowing multiple terminal sessions to be accessed simultaneously in a single window and more. Tmux is really awesome.
https://zellij.dev/
It’s a terminal multiplexer (sort of like a modern-day tmux/screen) with the goal of being extendable, cross-platform and user friendly.
I personally very like the project, it's true about being user friendly !
Btw , the author's name is Aram, but I don't know if he has Armenian roots or not.
tmate: Instantly Share Terminal Session With Other Linux Users
https://linuxhandbook.com/tmate/
#tmate #terminal #multiplexer #tmux #fork
The lovely @imsnif et al. have just released a new version of Zellij (a terminal workspace with split panes and much more).
The latest version brings stacked panes, auto and swap layouts, and floating panes in layouts.
https://zellij.dev/news/stacked-panes-swap-layouts/
(My favourite Zellij feature apart from the panes? You can open the output of the last command run in your favourite editor so you can copy/paste, etc., without using your mouse… if that’s your sort of thing.)
Started playing around with @zellij and I'm already hooked. This is just the thing for all of us #terminal people… saves me from individually setting up seven-ty-thou-sand #i3wm windows for a single debug session or a course demo. Epic shout out to @imsnif ! Also for that excellent user guide. 📚👍
Gotta say, I’m a little in love with the layouts feature of Zellij¹.
(This is going to come in very handy when doing live demos/streams of Kitten².)
Âą https://zellij.dev/tutorials/layouts/
² https://codeberg.org/kitten/app
#terminal #dev #multiplexer #workspace #linux #foss #zellij #kitten
tmate: Instantly Share Terminal Session With Other Linux Users
https://linuxhandbook.com/tmate/
#tmate #terminal #multiplexer #tmux #fork
Zellij, https://zellij.dev/.
It’s a terminal workspace with battery included.
It’s basically tmux but simpler and with a better UI by default. And it’s written in Rust. With plugins.
See the roadmap, https://zellij.dev/roadmap/.
tmate: Instantly Share Terminal Session With Other Linux Users
https://linuxhandbook.com/tmate/
#tmate #terminal #multiplexer #tmux #fork
tmate: Instantly Share Terminal Session With Other Linux Users
https://linuxhandbook.com/tmate/
#tmate #terminal #multiplexer #tmux #fork
So, das Platinchen ist fertig.
Links in Blau, die Schraubklemmen fĂĽr die Sensoren.
Rechts der #Arduino #esp8266 mit Status Led (blinkt mit 1Hz)
unten links ein #Multiplexer Ic CD 4051B
unten rechts der 4 Kanal #operationsverstärker LM324N als Impedanzwandler, Differenzierer und Verstärker
Aufgelötet auf einer Steeifenplatine