Tiny Function Generator On The ATtiny85, Complete With OLED

It’s easy to have a soft spot for “mini” yet perfectly functional versions of electronic workbench tools, like [David Johnson-Davies]’s Tiny Function Generator which uses an ATtiny85 to generate different waveforms at up to 5 kHz. It’s complete with a small OLED display to show the waveform and frequency selected. One of the reasons projects like this are great is not only because they tend to show off some software, but because they are great examples of the kind of fantastic possibilities that are open to anyone who wants to develop an idea. For example, it wasn’t all that long ago that OLEDs were exotic beasts. Today, they’re available off the shelf with simple interfaces and sample code.

The Tiny Function Generator uses a method called DDS (Direct Digital Synthesis) on an ATtiny85 microcontroller, which [David] wrote up in an earlier post of his about waveform generation on an ATtiny85. With a few extra components like a rotary encoder and OLED display, the Tiny Function Generator fits on a small breadboard. He goes into detail regarding the waveform generation as well as making big text on the small OLED and reading the rotary encoder reliably. His schematic and source code are both available from his site.

Small but functional microcontroller-based electronic equipment are nifty projects, and other examples include the xprotolab and the AVR-based Transistor Tester (which as a project has evolved into a general purpose part identifier.)

Lamp’s Ghostly Glow Benefits From Happy Mistake

[cyborgworkshop]’s youngest sister is a fan of a character in a popular video game (Thresh from League of Legends) who wields an iconic lantern with a mystical green glow. He resolved to make a replica of that lantern. Perhaps as a gift for the cherished family member? Certainly not! [cyborgworkshop]’s goal was the simple joy of having something “to lord over her.” Ah, ain’t siblings grand?

Why the glow powder turned pink in clear varnish is a bit of a mystery.

There were some interesting things learned in the process of making the ghostly green lamp. The first part of the build log is all about post-processing the lantern model, which was 3D printed at a chunky 0.48 mm layer height, but the rest is about getting the ghostly green glow to come out the way it did. [cyborgworkshop] used both glow in the dark paint and glow in the dark powder to really make the object pop, but the process involved some trial and error. Originally he mixed the glow powder into some clear varnish, and despite the mixture turning pink for some mysterious reason, a small sample spot appeared to turn out fine. However, after applying to the lantern and waiting, the varnish remained goopy and the glow powder settled out of the mixture. He ended up having to remove it as best he could and tried a heavy application of the glow paint instead. This ended up being a real blessing in disguise, because the combination resulted in a gritty stone-like texture that glowed brightly! As [cyborgworkshop] observes, sometimes mistakes end up being the highlight of a piece.

After more glow powder for highlighting, the finishing touches were a thin black wash to mute the powder’s whiteness, and a clear coat. The result looks great and a short video is embedded below. Oh, and if anyone has an idea why glow powder would turn pink when mixed into varnish, let us know in the comments!

Continue reading “Lamp’s Ghostly Glow Benefits From Happy Mistake”

Debugging With Serial Print At 5333333 Baud

Debugging with printf is something [StorePeter] has always found super handy, and as a result he’s always been interested in tweaking the process for improvements. This kind of debugging usually has microcontrollers sending messages over a serial port, but in embedded development there isn’t always a hardware UART, or it might already be in use. His preferred method of avoiding those problems is to use a USB to Serial adapter and bit-bang the serial on the microcontroller side. It was during this process that it occurred to [StorePeter] that there was a lot of streamlining he could be doing, and thanks to serial terminal programs that support arbitrary baud rates, he’s reliably sending debug messages over serial at 5.3 Mbit/sec, or 5333333 Baud. His code is available for download from his site, and works perfectly in the Arduino IDE.

The whole thing consists of some simple, easily ported code to implement a bare minimum bit-banged serial communication. This is output only, no feedback, and timing consists of just sending bits as quickly as the CPU can handle, leaving it up to the USB Serial adapter and rest of the world to handle whatever that speed turns out to be. On a 16 MHz AVR, transmitting one bit can be done in three instructions, which comes out to about 5333333 baud or roughly 5.3 Mbit/sec. Set a terminal program to 5333333 baud, and you can get a “Hello world” in about 20 microseconds compared to 1 millisecond at 115200 baud.

He’s got additional tips on using serial print debugging as a process, and he’s done a followup where he stress-tests the reliability of a 5.3 MBit/sec serial stream from an ATMega2560 at 16 MHz in his 3D printer, and found no missed packets. That certainly covers using printf as a debugger, so how about a method of using the debugger as printf?

These Small PCBs Are Made For Model Rocketry

Model rocketry hobbyists are familiar with the need to roll their own solutions when putting high-tech features into rockets, and a desire to include a microcontroller in a rocket while still keeping things flexible and modular is what led [concretedog] to design a system using 22 mm diameter stackable PCBs designed to easily fit inside rocket bodies. The system uses a couple of 2 mm threaded rods for robust mounting and provides an ATTiny85 microcontroller, power control, and an optional small prototyping area. Making self-contained modular sleds that fit easily into rocket bodies (or any tube with a roughly one-inch inner diameter) is much easier as a result.

The original goal was to ease the prototyping of microcontroller-driven functions like delayed ignition or altimeter triggers in small Estes rockets, but [concretedog] felt there were probably other uses for the boards as well and made the design files available on GitHub. (Thanks!)

We have seen stackable PCBs for rocketry before with the amazingly polished M3 Avionics project, but [concretedog]’s design is much more accessible to some hobbyist-level tinkering; especially since the ATTiny85 can be programmed using the Arduino IDE and the boards themselves are just an order from OSH Park away.

[via Dangerous Prototypes Blog]

 

TrackRobot Sports Welded Steel, Not Plastic

Don’t let the knee-high size of [Hrastovc]’s creation fool you. TrackRobot weighs in at a monstrous 60 kg (130 lbs) of steel, motors, and battery. It sports two 48V motors in a body and frame made from pieces of finger-jointed sheet steel, and can reach speeds of up to four meters per second with a runtime of up to an hour. The project’s link has more pictures as well as DXF files of the pieces used for the body.

Currently TrackRobot is remote-controlled, but one goal is to turn it into a semi-autonomous snow plow. You can see TrackRobot going through its first steps as well as testing out a plow prototype in the videos embedded below.

Continue reading “TrackRobot Sports Welded Steel, Not Plastic”

Laser Galvo Control Via Microcontroller’s DAC

Mirror galvanometers (‘galvos’ for short) are the worky bits in a laser projector; they are capable of twisting a mirror extremely quickly and accurately. With two of them, a laser beam may be steered in X and Y to form patterns. [bdring] had purchased some laser galvos and decided to roll his own control system with the goal of driving the galvos with the DAC (digital to analog) output of a microcontroller. After that, all that was needed to make it draw some shapes was a laser and a 3D printed fixture to hold everything in the right alignment.

The galvos came with drivers to take care of the low-level interfacing, and [bdring]’s job was to make an interface to translate the 0 V – 5 V output range of his microcontroller’s DAC into the 10 V differential range the driver expects. He succeeded, and a brief video of some test patterns is embedded below.

Continue reading “Laser Galvo Control Via Microcontroller’s DAC”

Plastic Model Emulates The First Untethered Spacewalk

Here’s something really wonderful. [Dave Akerman] wrote up the results of his attempt to use a high-altitude balloon to try to re-create a famous image of NASA’s Bruce McCandless floating freely in space with the Earth in the background. [Dave] did this in celebration of the 34th anniversary of the first untethered spacewalk, even going so far as to launch on the same day as the original event in 1984. He had excellent results, with plenty of video and images recorded by his payload.

80’s “Astronaut with MMU” model kit.

Adhering to the actual day of the spacewalk wasn’t the only hurdle [Dave] jumped to make this happen. He tracked down an old and rare “Astronaut with MMU” (Mobile Maneuvering Unit) plastic model kit made by Revell USA and proceeded to build it and arrange for it to remain in view of the cameras. Raspberry Pi Zero Ws with cameras, LoRA hardware, action cameras, and a UBlox GPS unit all make an appearance in the balloon’s payload.

Sadly, [Bruce McCandless] passed away in late 2017, but this project is a wonderful reminder of that first untethered spacewalk. Details on the build and the payload, as well as the tracking system, are covered here on [Dave]’s blog. Videos of the launch and the inevitable balloon burst are embedded below, but more is available in the summary write-up.

Continue reading “Plastic Model Emulates The First Untethered Spacewalk”