For a number of years I’ve had some older analog oscilloscopes without storage capabilities, paired with a Saleae Logic, which has done well for my use cases in general, but there are some limitations. If a signal was faster than the Logic could capture, or not perfectly repeating to be visible on the non-storage analog scopes, it wasn’t something I could easily capture.
Recent years have seen a number of inexpensive but very capable entry level DSOs (Digital Storage Oscilloscopes) enter the market including the widely discussed Rigol DS1054Z.
I recently had an occasion to try and capture a very fast, but not frequently repeating signal in the phase comparator circuit of my homebrew GPSDO boards, and it wasn’t a good match for either my analog scopes or the Logic, so I took it as the impetus to finally pick up a DSO. The Rigol DS1054Z is a few years old at this point, and while there’s a firmware tweak to enable 100MHz operation, more recent options with a few years of advancement means that the Rigol is competing with newer, faster scopes, with more features in the same price bracket.
I ended up picking up the Siglent SDS1202X-E, which is a 200MHz, two channel scope. While I’m not any real reviewer, and am not going to touch the surface on the features, I will say I’m pleased with how it’s working. It was able to illuminate the signals I was interested in within a matter of minutes after getting it out of the box. I look forward to being able to get a better view of signals in my projects that I had avoided or worked around during testing in the past.
For the last several years I’ve had a storage shelf attached to my home server supporting roughly 30TB of redundant storage making use of ZFS, which I’ve been quite pleased with. I use it to store all my various media, and back up all of my other computers to it. As part of my backup scheme I also back up some of the data from the array to a remote array in another location.
Unfortunately as the years have passed the data stored has grown and the array has been nearing full for quite some time. I’ve put off expanding the array as there’s always more pressing/interesting things to spend project money on, and a bit of a battle with myself about *really* needing more than 30TB of storage.
Finally a deal came along on disks that was too good to resist, and I ordered twelve more 6TB disks to complement the eight I had already. As is always the way it goes, this also necessitated changing out the storage shelf I had to accommodate the additional disks as well. Fortunately a friend was swapping some of their storage hardware at the same time and had some HP D2600 storage shelves they gave to me for a good price.
Racking up two of them, and plugging them in to my HBA was pretty quick and painless. After which comes installing all the drives, and configuring the ZFS pools.
With only a minor hiccup, in that ZFS needs the same level of redundancy for each sub-pool, I couldn’t add the new twelve disks as a new sub-pool to the existing eight. I needed to create a new, separate, ten disk pool, move the data over, destroy the old pool, and create a new sub-pool with the original eight plus the two left over from the twelve. With all that done I’ve now got a bit more than 80TB usable space and plenty of room for growth so I can forget about it for the next few years.
Some friends and I recently spoke about understanding our home energy usage better, and implementing data collection for various circuits in which we had little real visibility into the actual usage and how they contributed to our energy bills.
We found an open source project making metering boards that would handle the sensing, provided with external clamp-on current transformers. Some searching, and a group bulk order later, we had a sensor board stack based on the ESP32 and a bunch of transformer cores to start working with.
We found a library for CircuitPython that had the start of what we needed, but appeared to be abandoned for some time, and needed some additional help to do everything we needed it to. After reaching out to the prior creator, we forked the repo and have been making a fair number of improvements/additions.
The new code is working well, and I have it tied into my general monitoring system, providing nice graphs. Here are some example graphs, with a longer timescale one covering several days, where we can see the heat pump usage as it works harder during the night as temperatures fall, and usage drops during the day as the temperatures come up. As well as a shorter timescale graph covering just 24 hours were we can see the individual cycles the system is running that the graphing system averages out over the longer timescale.
In doing some recent repair and testing work on a few GPSDOs (GPS Disciplined Oscillators), I was looking to have multiple devices running at the same time without switching antennas.
There are of course generic splitters, which can be a reasonable choice in some cases, but the high frequency (1.575.42 MHz), and most GPS receivers using powered active antennas makes some traditional splitters problematic. Of course, commercial options are available targeted at GPS usage, but cost can be prohibitive, or may not have the specific combination of features you may need in your environment.
I decided to quickly throw together a design for a distribution amplifier which DC isolates all the outputs, has onboard 5V or 3.3V regulation for the powered active antenna, SAW filtering, and an amplifier to offset the losses from the four way split.
It’s a fairly simple design, with few parts, and is inexpensive to put together. I plan to 3D print a case for it and wrap the case in foil tape for some RF shielding, but it seems to be working well as is.
Now with a simplified antenna system I can feed up to four GPSDO devices for repair/testing/comparison measurements.
Recently I picked up a second hand Fully brand sit/stand desk and modified it with a larger table top to replace my old sitting-only desk. Unfortunately it didn’t come with the memory controller, and trying to get it back to the right spot each time I switched between sitting and standing was a pain. Additionally, I wasn’t able to find any memory controllers for sale either direct or on ebay.
In some googling, I did stumble across a repo where someone had reverse engineered the pinout between the desk electronics and the controller, and this interface was the same whether the desk had the ‘dumb’ controller or the memory controller. This was an excellent resource and the starting point I needed to build my own memory controller.
I decided to experiment this time with an OLED display, and using the capacitive touch sensing functions of the ESP32, which closely mimics the factory supplied memory controller’s functionality.
There is some minor serial communications between the desk and the controller to establish that the more capable controller is being used, and for configuring some settings like height or force limits. However, most of the control happens via simple pin pulldowns in various combinations that tell the desk to store a memory, or recall a particular memory position, which made the design of the circuit board quite simple to implement.