Inexpensive OLED displays with I2C interfaces abound, but there is a catch: they tend to be stuck on I2C address 0x3C. Some have a jumper or solder pads to select an alternate (usually 0x3D), but they lack any other method. Since an I2C bus expects every device to have a unique address, this limits the number of displays per bus to one (or two, at best.) That is all still true, but what [Larry Bank] discovered is a way to get multiple OLED displays working with considerably fewer microcontroller pins than usually needed.
While bit-banging I2C to host one display per bus on the same microcontroller, an idea occurred to him. The I2C start signal requires both clock (SCL) and data (SDA) to be brought low together, but what would happen if the displays shared a single clock line? To be clear, each OLED would — logically speaking — still be on its own I2C bus with its own data line, but they would share a clock signal. Would a shared clock cause attached devices to activate unintentionally?
A quick test consisting of four OLED displays (all with address 0x3C) showed that it was indeed possible to address each display with no interference if they shared a clock. Those four individually controlled displays needed only five I/O lines (four SDA, one shared SCL) instead of eight. The Multi_OLED library is available on GitHub, and in case it is useful for devices other than OLED displays, bit-banged I2C with support for shared clock lines is available separately.
There’s more to do with OLEDs than get clever with signals: check out these slick number-change animations, and that even looks to be a project that could benefit from a few saved GPIO pins, since it uses one small display per digit.
Most of us are aware that charlieplexing can drive a large number of LEDs from a relatively small number of I/O pins, but [David Johnson-Davies] demonstrates adding another dimension to that method to create individually controlled PWM outputs as well. His ATtiny85 has twelve LEDs, each with individually-set brightness levels, and uses only four of the five I/O pins on the device.
Each LED can be assigned a brightness between 0 (fully off) and 63 (fully on). The PWM is done by using one of the timers in the ATtiny85 to generate a periodic interrupt, and the ISR for the interrupt takes care of setting the necessary ratios of on and off times for each charlieplexed output. The result? Twelve flicker-free LEDs with individually addressable brightness levels, using an 8-pin microcontroller and just a few passive components on a tiny breadboard. There’s even one I/O pin left on the ATtiny85, for accepting commands or reading a sensor.
[David] really wrings a lot out of the ATtiny series of microcontrollers with his compact projects, like his Tiny Function Generator (which recently got an update.) He also demonstrated that while charlieplexing is usually used with LEDs, charlieplexing can be used with switches just as easily.
First Person View (or First Person Video) in RC refers to piloting a remote-controlled vehicle or aircraft via a video link, and while serious racers will mount the camera in whatever way offers the best advantage, it’s always fun to mount the camera where a miniature pilot’s head would be, and therefore obtain a more immersive view of the action. [SupermotoXL] is clearly a fan of this approach, and shared downloadable designs for 3D printed cockpit kits for a few models of RC cars, including a more generic assembly for use with other vehicles. The models provide a dash, steering wheel, and even allow for using a small servo to make the steering wheel’s motions match the actual control signals sent. The whole effect is improved further by adding another servo to allow the viewer to pan the camera around.
Check out the video embedded below to see it in action. There are more videos on the project’s page, and check out the project’s photo gallery for more detailed images of the builds.
Continue reading “Downloadable 3D Cockpits Enhance FPV Racing”
[Ben] made an interesting discovery during the FIFA World Cup in 2018, and used it to grant himself the power to call goals before they happened. Well, before they happened on live TV or live streaming, anyway. It was possible because of the broadcast delay on “live” broadcasts, combined with the sports betting industry’s need for timely and detailed game state tracking.
He discovered that a company named Running Ball provides fairly detailed game statistics in digital form, which are generated from inside the stadium as events occur. An obvious consumer of this data are sports betting services, and [Ben] found a UK betting site that exposed that information in full inside their web app. By polling this data, he measured a minimum of 4 seconds between an event (such as a goal) being reported in the data and the event occurring on live TV. The delay was much higher — up to minutes — for live streaming. [Ben] found it quite interesting to measure how the broadcast delay on otherwise “live” events could sometimes be quite significant.
Knowing broadcast delays exist is one thing, but it’s a neat trick to use it to predict goals before they occur on “live” television. This isn’t the first time we’ve seen evidence of [Ben]’s special interest in data and using it in unusual ways; he once set up a program to play Battleship over the Border Gateway Protocol (BGP), making it very probably the first board game played over BGP.
One thing 3D printers excel at is being able to easily create objects that would be daunting by other methods, something that also allows for rapid design iteration. That’s apparent in [Canino]’s palm-sized, gatling-style, motorized 32-elastic launcher.
The cannon has a rotary barrel driven by a small motor, and a clever sear design uses the rotation of the barrels like a worm gear. The rotating barrel has a spiral formation of hooks which anchor the stretched elastic bands. A small ramp rides that spiral gap, lifting ends of stretched bands one at a time as the assembly turns. This movement (and therefore the firing control) is done with a small continuous rotation servo. While in theory any motor would do, using a servo has the advantage of being a standardized shape, and therefore easy to integrate into the design. A video is embedded below in which you can see it work, along with some close-ups of the action.
Continue reading “Palm-Sized Gatling Gun Has 32 Mini Elastics With Your Name On Them”
Pivots for e-textiles can seem like a trivial problem. After all, wires and fabrics bend and flex just fine. However, things that are worn on a body can have trickier needs. Snap connectors are the usual way to get both an electrical connection and a pivot point, but they provide only a single conductor. When [KOBAKANT] had a need for a pivoting connection with three electrical conductors, they came up with a design that did exactly that by using a flexible circuit board integrated to a single button snap.
This interesting design is part of a solution to a specific requirement, which is to accurately measure hand movements. The photo shows two strips connected together, which pivot as one. The metal disk near the center is a magnet, and underneath it is a Hall effect sensor. When the wrist bends, the magnet is moved nearer or further from the sensor and the unit flexes and pivots smoothly in response. The brief videos embedded below make it clear how the whole thing works.
Continue reading “Three-Conductor Pivot for E-Textiles is Better Than Wires”
[Black Beard Projects] sealed some pine cones in colored resin, then cut them in half and polished them up. The results look great, but what’s really good about this project is that it clearly demonstrates the necessary steps and techniques from beginning to end. He even employs some homemade equipment, to boot.
Briefly, the process is to first bake the pine cones to remove any moisture. Then they get coated in a heat-activated resin for stabilizing, which is a process that infuses and pre-seals the pine cones for better casting results. The prepped pine cones go into molds, clear resin is mixed with coloring and poured in. The resin cures inside a pressure chamber, which helps ensure that it gets into every nook and cranny while also causing any small air bubbles introduced during mixing and pouring to shrink so small that they can’t really be seen. After that is cutting, then sanding and polishing. It’s an excellent overview of the entire process.
The video (which is embedded below) also has an outstanding depth of information in the details section. Not only is there an overview of the process and links to related information, but there’s a complete time-coded index to every action taken in the entire video. Now that’s some attention to detail.
Continue reading “How To Make Bisected Pine Cones Look Great, Step-by-Step”