If you are in the habit of seeking out abandoned railways, you may have stood in the shadow of more than one Victorian iron bridge. Massive in construction, these structures have proved to be extremely robust, with many of them still in excellent condition even after years of neglect.
A handsome riveted railway bridge, over the River Avon near Stratford-upon-Avon, UK.
When you examine them closely, an immediate difference emerges between them and any modern counterparts, unlike almost all similar metalwork created today they contain no welded joints. Arc welders like reliable electrical supplies were many decades away when they were constructed, so instead they are held together with hundreds of massive rivets. They would have been prefabricated in sections and transported to the site, where they would have been assembled by a riveting gang with a portable forge.
So for an audience in 2018, what is a rivet? If you’ve immediately thought of a pop rivet then it shares the function of joining two sheets of material by pulling them tightly together, but differs completely in its construction. These rivets start life as pieces of steel bar formed into pins with one end formed into a mushroom-style dome, probably in a hot drop-forging process.
A rivet is heated to red-hot, then placed through pre-aligned holes in the sheets to be joined, and its straight end is hammered to a mushroom shape to match the domed end. The rivet then cools down and contracts, putting it under tension and drawing the two sheets together very tightly. Tightly enough in fact that it can form a seal against water or high-pressure steam, as shown by iron rivets being used in the construction of ships, or high-pressure boilers. How is this possible? Let’s take a look!
Ultrasonic phased arrays are one of the wonders of the moment, with videos of small items being levitated by them shared far and wide. We’ve all seen them and some of us have even wondered about building them, but what about the practical considerations? Just how would you drive a large array of ultrasonic transducers, and how would you maintain a consistent phase relationship between their outputs? It’s a problem [Niklas Fauth] has been grappling with over the three iterations so far of his ultrasonic phased array project, and you can follow his progress on the latest build.
The arrays themselves are a 16 by 16 grid of cheap ultrasonic transducers on a PCB, fed by HV583 high-voltage shift registers. These chips have proven to be particularly problematic, their drivers having a relatively high internal resistance which leaves them prone to overheating.
An interesting solution to a problem comes from the transducers having a polarity, but because it doesn’t matter in their usual application, that polarity not being marked. He’s overcome this by using the STM32 he has managing power alongside his BeagleBone to listen through a sensor as the ‘Bone supplies each transducer in turn with a known phase. An internal map can then be created, such that the appropriate phase can be applied on a transducer-by-transducer basis.
It’s the fascination with the subject that we find appealing, this is version three and version two worked. Most of us would make one and call it a day. It’s something we’ve seen before from [Niklas], after all this is someone who plays with turbomolecular pumps for fun. Meanwhile if you would like to learn more about ultrasonic arrays and acoustic levitation, it was the subject of one of this year’s Hackaday Belgrade talks.
We are surrounded by sensors for all forms of environmental measurement, and a casual browse through an electronics catalogue can see an experimenter tooled up with the whole array for a relatively small outlay. When the environment in question is not the still air of your bench but the turbulence, sand, grit, and mud of a sea floor, that pile of sensors becomes rather useless. [Ellie T] has been addressing this problem as part of the study of hypoxia in marine life, and part of her solution is to create an underwater camera by encasing a Raspberry Pi Zero W and camera in a sturdy enclosure made from PVC pipe. She’s called the project LoBSTAS, which stands for Low-cost Benthic Sensing Trap-Attached System.
The housing is simple enough, the PVC has a transparent acrylic disk mounted in a pipe coupler at one end, with the seal being provided at the other by an expansion plug. A neopixel ring is mounted in the clear end, with the Pi camera mounted in its centre. Meanwhile the Pi itself occupies the body of the unit, with power coming from a USB battery bank. The camera isn’t the only sensor on this build though, and Atlas Scientific oxygen sensor completes the package and is mounted in a hole drilled in the expansion plug and sealed with silicone sealant.
When you have a complex task that would sap the time and energy of your microprocessor, it makes sense to offload it to another piece of hardware. We are all used to this in the form of the graphics chipsets our computers use — specialised processors whose computing power in that specific task easily outshines that of our main CPU. This offloading of tasks is just as relevant at the microcontroller level too. One example is the EM Microelectronics EM7180 motion co-processor. It takes input from a 3-axis gyroscope/accelerometer and magnetometer, acting for all intents and purposes as a fit-and-forget component. Given an EM7810, your host can determine its heading and speed at a simple command, with no need for any hard work.
[Kris Winer] used the EM7810, but frustrated at its shortcomings decided to create a more versatile alternative. The result is a small PCB holding a Maxim MAX32660 ARM Cortex M4F microcontroller and the relevant sensors, with the MAX32660’s increased power and integrated flash easily eclipsing the EM7810.
As a design exercise it’s an interesting read even if you have no need for one. His write-up goes into detail on the state of the motion coprocessor art, and then looks carefully at pushing the limits of what is possible using an inexpensive PCB fabrication house such as OSH Park — you can get this chip as a Wafer-Level Package (WLP) which is definitely off-limits. Even with the TQFN-24 he picked though, the result is a tiny board and we’re happy to see it as an entry in the Return of the Square Inch Project!
It is perhaps surprising how few projects like this one make it into our sphere, as a community we tend to focus upon making one processor do all the hard work. But with the ready availability of inexpensive and powerful devices, perhaps this is an approach that we should reconsider.
If you are in any way connected with radio, you will have encountered the low pass filter as a means to remove unwanted harmonics from the output of your transmitters. It’s a network of capacitors and inductors usually referred to as a pi-network after the rough resemblance of the schematic to a capital Greek letter Pi, and getting them right has traditionally been something of a Black Art. There are tables and formulae, but even after impressive feats of calculation the result can often not match the expectation.
The 30MHz low-pass filter, as QUCS delivered it.
Happily as with so many other fields, in recent decades the advent of affordable high-power computing has brought with it the ability to take the hard work out of filter design, Simply tell some software what the characteristics of your desired filter are, and it will do the rest. The results are good, and anyone can become a filter designer, but as is so often the case there remains a snag. The software calculates ideal inductances and capacitances for the desired cut-off and impedance, and in selecting the closest preferred values we modify the characteristics of the result and possibly even ruin our final filter. So it’s worth taking a look at the process here, and examining the effect of tweaking component values in this way.
The idealised graph produced by QUCS for our filter.
The filter we’re designing is simple enough, a 5th-order Bessel filter, and the software is the easy-to-use QUCS package on an Ubuntu Linux machine. Plug in the required figures and it spits out a circuit diagram, which we can then simulate to show a nice curve with a 3dB point right on 30MHz. It’s an extremely idealised graph, and experience has taught me that real-world filters using these designs have a lower-frequency cut-off point, but for our purposes here it’s a good enough start.
As previously mentioned, the component values are not preferred ones from a commercially available series, so I can’t buy them off the shelf. I can wind my own inductors, but therein lies a whole world of pain of its own and I’d rather not go there. RS, Mouser, Digikey, Farnell et al exist to save me from such pits of electronic doom, why on earth would I do anything else but buy ready-made?
My revised filter circuit with off-the-shelf component values.
So each of the components in the above schematic needs moving up or down a little way to a preferred value. What effect will that have on the performance of my filter? Changing each value and re-running the simulation shows us the graph changing subtly each time, and it can sometimes be a challenge to adjust them without destroying the filter entirely. Particularly with the higher-order filters with more components in the network you can observe the effect of individual components on the gradient at different parts of the graph, but as a rule of thumb making values higher reduces the cut-off frequency and making them lower increases it. In my case I always pick higher values for that reason: my nearest harmonic I wish to filter is at double the frequency so I have quite some headroom to play with.
The revised curve from the filter with preferred values.
Having replaced my component values with preferred ones I can run the simulation again, and I can see from the resulting graph that I’ve been quite fortunate in not damaging its characteristics too much. As expected the cut-off frequency has shifted up a little, but the same curve shape has been preserved without any ripples appearing or it being made shallower.
If I were using this filter with a real transmitter I would ensure that I designed it with a cut-off at least a quarter higher than the transmission frequency. In practice I find the cut-off to be sharper and lower than the simulation leads one to expect, and for example, were I to use this one with a 30 MHz transmitter I’d find it attenuated the carrier by more than I’d consider acceptable. It must also be admitted that changing the component values in this way will also change the impedance of the filter from the calculated 50 ohms, however in practice this does not seem to be significant enough to cause a problem as long as the value changes are modest.
We haven’t made this filter, but in the past we’ve featured another one I did make, and by coincidence it was in the same frequency range. When I wrote a feature on automating oscilloscope readings, the example I used was the characterisation of a 7th-order 30 MHz low-pass filter. It might even be one of the ones in the header image, pulled from my random bag of filter boards for the occasion.
We feature hacks on this site of all levels of complexity. The simplest ones are usually the most elegant of “Why didn’t I think of that!” builds, but just occasionally we find something that is as much a bodge as a hack, a piece of work the sheer audacity of which elicits a reaction that has more of the “How did they get away with that! ” about it.
Such a moment comes today from [Robinlol], who has made an SD card socket. Why would you make an SD card socket when you could buy one is unclear, beyond that he didn’t want to buy one on an Arduino shield and considered manufacture his only option. Taking some pieces of wood, popsicle sticks, and paperclips, he proceeded to create a working SD card of such bodgeworthy briliance that even though it is frankly awful we still can’t help admiring it. It’s an SD card holder, and despite looking like a bunch of bent paperclips stuck in some wood, it works. What more could you want from an SD card holder?
Paperclips are versatile items. If an SD card holder isn’t good enough, how about using them in a CNC build?
There is one thing that unites almost every computer and logic circuit commonly used in the hardware hacking and experimentation arena. No matter what its age, speed, or internal configuration, electronics speak to the world through logic level I/O. A single conductor which is switched between voltage levels to denote a logic 1 or logic zero. This is an interface standard that has survived the decades from the earliest integrated circuit logic output of the 1960s to the latest microcontroller GPIO in 2018.
The effect of this tried and true arrangement is that we can take a 7400 series I/O port on an 8-bit microcomputer from the 1970s and know with absolute confidence that it will interface without too much drama to a modern single-board computer GPIO. When you think about it, this is rather amazing.
It’s tempting to think then that all logic level outputs are the same, right? And of course they are from a certain viewpoint. Sure, you may need to account for level shifting between for example 5V and 3.3V families but otherwise just plug, and go, right? Of course, the real answer isn’t quite that simple. There are subtle electrical differences between the properties of I/O lines of different logic and microcontroller families. In most cases these will never be a problem at all, but can rear their heads as edge cases which the would-be experimenter needs to know something about.