Over at Sparkfun, [Alex] shared an OLED clock project that’s currently in progress but has a couple interesting twists. The first is the use of a small OLED screen for each digit, to which [Alex] added a stylistic touch. Digits transition by having segments slide vertically in a smooth animated motion. It’s an attractive effect, and the code is available on his github repository for anyone who wants to try it out.
[Alex] also found that by using an ESP32 microcontroller and synchronizing the clock via NTP over WiFi, the added cost of implementing a real-time clock in hardware becomes unnecessary. Without an RTC, time would drift by a few seconds every day and require a reset. At the moment the clock requires the SSID and password to be hardcoded, but [Alex] would prefer to allow this to be configured via a web page and could use some help. If you have implemented a web server on the ESP32, [Alex] would like to know how you handled multiple pages. “I’ve been scratching my head throughout the build on how to get this done,” he writes. “With the ESP8266, there’s
on(const String &uri, handler function), but that seems to have been removed on the ESP32.” If you can point [Alex] in the right direction, be sure to pipe up.
OLED displays and clocks often go together, as we have seen with projects like the DIY OLED Smart Watch, but it’s nice to see someone using the OLED’s strengths to add some visual flair to an otherwise plain display.
Spot welding should easier than it looks. After all, it’s just a lot of current in a short time through a small space. But it’s the control that can make the difference between consistently high-quality welds and poor performance, or maybe even a fire.
Control is where [WeAreTheWatt]’s next-level battery tab spot welder shines. The fact that there’s not a microwave oven transformer to be seen is a benefit to anyone sheepish about the usual mains-powered spot welders we usually see, even those designed with safety in mind. [WeAreTheWatt] chose to power his spot welder from a high-capacity RC battery pack, but we’d bet just about any high-current source would do. The controller itself is a very sturdy looking PCB with wide traces and nicely machined brass buss bars backing up an array of MOSFETs. A microcontroller performs quite a few functions; aside from timing the pulse, it can control the energy delivered, read the resistance of the 8AWG leads for calibration purposes, and even detect bad welds. The welder normally runs off a foot switch, but it can also detect when the leads are shorted and automatically apply a pulse — perfect for high-volume production. See it in action below.
There may be bigger welders, and ones with a little more fit and finish, but this one looks like a nicely engineered solution.
Continue reading “A Battery-Tab Welder with Real Control Issues”
Those with small garages might be familiar with the method of hanging a tennis ball from a ceiling to make sure they don’t hit the back wall with their car. If the car isn’t in the garage, though, the tennis ball dangling from a string tends to get in the way. To alleviate this problem, [asaucet] created a distance sensor that can tell him when his car is the perfect distance from the garage wall.
At the heart of the distance sensor is an HC-SR04 ultrasonic rangefinder and a PIC16F88 microcontroller. [asaucet] uses a set of four LEDs to alert the driver how close they are to the garage wall. [asaucet] also goes into great detail about how to use an LCD with this microcontroller for setting up the project, and the amount of detail should be enough to get anyone started on a similar project.
While this isn’t a new idea, the details that [asaucet] goes into in setting up the microcontroller, using the distance sensor, and using an LCD are definitely worth looking into. Even without this exact application in mind, you’re sure to find some helpful information on the project page.
Continue reading “Garage Distance Sensor Kicks Tennis Ball To Curb”
How do you tell how much load is on a CPU? On a desktop or laptop, the OS usually has some kind of gadget to display the basics. On a microcontroller, though, you’ll have to roll your own CPU load meter with a few parts, some code, and a voltmeter.
We like [Dave Marples]’s simple approach to quantifying something as complex as CPU load. His technique relies on the fact that most embedded controllers are just looping endlessly waiting for something to do. By strategically placing commands that latch an output on while the CPU is busy and then turn it off again when idle, a PWM signal with a duty cycle proportional to the CPU load is created. A voltage divider then scales the maximum output to 1.0 volt, and a capacitor smooths out the signal so the load is represented by a value between 0 and 1 volt. How you display the load is your own choice; [Dave] just used a voltmeter, but anything from an LED strip to some kind of audio feedback would work too.
Still just looking for a load meter for your desktop? Take your pick: an LED matrix, old-time meters, or even Dekatrons.
The invention of the transistor ushered in a lot of technologies that we now take for granted, and one of the less-thought-about areas that it improved living conditions worldwide was by making the touch-tone phone possible. No longer would the world have to fuss with dials to make phone calls, they could simply push some buttons. This technology is still in use today, and it is possible to build external phone dialers that use these tones to make phone calls, as [SunFounder] demonstrates with his latest project.
The tones that a phone makes when a button is pressed correlate with specific frequencies for each number. Automatic dialers like this one help when there are multiple carriers (like different long-distance carriers, for example) where different prefixes can be used to make calls cheaper depending on the destination of the call. A preprogrammed dialer can take all of this complication out of making phone calls. [SunFounder] is able to make a simple dialer from scratch, using an Arduino, its “tone” library, and a speaker that is simply held up to the phone that the call will be placed on.
[SunFounder] points out that he built this more because he’s interested in the inner workings of phones, and not because he needed a purpose-built dialer. It’s a good demonstration of how phones continue to use DTMF though, and how easy it is to interface with such a system. It might also suit a beginner as an introduction to the world of phreaking.
While most of us will never set foot in a fighter jet, some of us can still try to get as close as possible. One of the most eye-catching features of a fighter jet (at least from the pilot’s point-of-view) is the heads-up display, so that’s exactly what [Frank] decided to build into his car to give it that touch of fighter jet style.
Heads-up displays use the small reflectivity of a transparent surface to work. In this case, [Frank] uses an LED strip placed on the dashboard to shine up into the windshield. A small amount of light is reflected back to the driver which is able to communicate vehicle statues without obscuring view of the road. [Frank]’s system is able to display information reported over the CAN bus, including voltage, engine RPM, and speed.
This display seems to account for all the issues we could think up. It automatically cycles through modes depending on driving style (revving the engine at a stoplight switches it to engine RPM mode, for example), the LEDs automatically dim at night to avoid blinding the driver, and it interfaces with the CAN bus which means the ability to display any other information in the future should be relatively straightforward. [Frank] does note some rough edges, though, namely with the power supply and the fact that there’s a large amount of data on the CAN bus that the Teensy microcontroller has a hard time sorting out.
That being said, the build is well polished and definitely adds a fighter jet quality to the car. And if [Frank] ever wants even more aviation cred for his ground transportation, he should be able to make use of a 747 controller for something on the dashboard, too.
If there was one downside to 8-bit computers like the Commodore 64, it’s that they weren’t exactly portable. Even ignoring their physical size, the power requirements would likely have required a prohibitively large power bank of some sort to lug around as well. The problem of portability has been solved since the late ’70s, but if you still want that 8-bit goodness in a more modern package you’ll have to look at something like retrocomputing madman [Jack Eisenmann]’s DUO Travel computer.
The computer is based around the ubiquitous ATmega328 which should make the ease at which it is programmable apparent. Even so, its 14-button keypad makes it programmable even without another computer. While it has slightly less memory than a standard C-64, it’s still enough for most tasks. And, since its powered by a 9-volt battery it doesn’t require any external power sources either.
The most impressive part of the build, however, is the custom programming language specifically tailored for this platform. After all, a 14-button keypad wouldn’t be a great choice if you had to program in Perl or C all the time. There is some example code on the project page for anyone interested in this specific implementation. While it’s not the most minimal computer [Jack] has ever built, it’s certain to be much more practical.
Continue reading “8-bit Computer for On-The-Go Programming”