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”

Heated DryBox Banishes Filament Moisture For Under $20

There has been a lot of activity from [Richard Horne] regarding 3D printing filaments lately; most recently he has shared two useful designs for upping one’s filament storage and monitoring game. The first is for a DIY Heated DryBox for 3D printing filament. It keeps filament dry not just by sealing it into a plastic box with some desiccant, but by incorporating a mild and economical heater intended for reptile habitats inside. Desiccant is great, but a gently heated enclosure can do wonders for driving away humidity in the right environment. The DryBox design also incorporates a handy little temperature and humidity sensor to show how well things are working.

Spool-mounted adapter for temperature and humidity sensor (and desiccant) to monitor storage bag conditions.

The second design is a simple spin-off that we particularly liked: a 3D printed adapter that provides a way to conveniently mount one of the simple temperature and humidity sensors to a filament spool with a desiccant packet. This allows storing a filament spool in a clear plastic bag as usual, but provides a tidy way to monitor the conditions inside the bag at a glance. The designs for everything are on Thingiverse along with the parts for the Heated DryBox itself.

[Richard] kindly shares the magic words to search for on eBay for those seeking the build’s inexpensive key components: “15*28CM Adjustable Temperature Reptile Heating Heater Mat” and “Mini LCD Celsius Digital Thermometer Hygrometer Temperature Humidity Meter Gauge”. There are many vendors selling what are essentially the same parts with minor variations.

Since the DryBox is for dispensing filament as well as storing it, a good spool mounting system is necessary but [Richard] found that the lack of spool standardization made designing a reliable system difficult. He noted that having spool edges roll on bearings is a pretty good solution, but only if one doesn’t intend to use cardboard-sided spools, otherwise it creates troublesome cardboard fluff. In the end, [Richard] went with a fixed stand and 3D printable adapters for the spools themselves. He explains it all in the video, embedded below.

Continue reading “Heated DryBox Banishes Filament Moisture For Under $20”

3D Printering: Printing Sticks For A PLA Hot Glue Gun

When is a hot glue stick not a hot glue stick? When it’s PLA, of course! A glue gun that dispenses molten PLA instead of hot glue turned out to be a handy tool for joining 3D-printed objects together, once I had figured out how to print my own “glue” sticks out of PLA. The result is a bit like a plus-sized 3D-printing pen, but much simpler and capable of much heavier extrusion. But it wasn’t quite as simple as shoving scrap PLA into a hot glue gun and mashing the trigger; a few glitches needed to be ironed out.

Why Use a Glue Gun for PLA?

Some solutions come from no more than looking at two dissimilar things while in the right mindset, and realizing they can be mashed together. In this case I had recently segmented a large, hollow, 3D model into smaller 3D-printer-sized pieces and printed them all out, but found myself with a problem. I now had a large number of curved, thin-walled pieces that needed to be connected flush with one another. These were essentially butt joints on all sides — the weakest kind of joint — offering very little surface for gluing. On top of it all, the curved surfaces meant clamping was impractical, and any movement of the pieces while gluing would result in other pieces not lining up.

An advantage was that only the outside of my hollow model was a presentation surface; the inside could be ugly. A hot glue gun is worth considering for a job like this. The idea would be to hold two pieces with the presentation sides lined up properly with each other, then anchor the seams together by applying melted glue on the inside (non-presentation) side of the joint. Let the hot glue cool and harden, and repeat. It’s a workable process, but I felt that hot glue just wasn’t the right thing to use in this case. Hot glue can be slow to cool completely, and will always have a bit of flexibility to it. I wanted to work fast, and I wanted the joints to be hard and stiff. What I really wanted was melted PLA instead of glue, but I had no way to do it. Friction welding the 3D-printed pieces was a possibility but I doubted how maneuverable my rotary tool would be in awkward orientations. I was considering ordering a 3D-printing pen to use as a small PLA spot welder when I laid eyes on my cheap desktop glue gun.

Continue reading “3D Printering: Printing Sticks For A PLA Hot Glue Gun”