The (Probably) Most Thoroughly Commented Linker Script For The SAM D21 MCU

Linker scripts are one of those things which nobody who does software development really wants to deal with, but like many things in life sometimes they are inevitable to make things work. Although one could keep pretending linker scripts do not exist and let IDEs handle such pesky details, some of us suffer from this unfortunate condition called ‘curiosity’ and just have to know. People like [Thea].

Recently, [Thea] wrote a blog post on exactly what the linker script generated by the Microchip IDE for a Cortex-M-based SAM D21 project does. The result is a nicely annotated overview of the file’s contents, accompanied by links to the Arm and GCC documentation as well as other references where appropriate. The entire linker script (.ld file) can be viewed on GitHub. With the SAM D21 being a popular choice for Arduino and Arduino-compatible board, this article is a good starting point to understanding what a linker script does and how it affects one’s project.

For other (Cortex-M) MCUs this linker script is also useful as a starting point. Especially knowing which sections are required and what changing them affects in the final (ELF) binary and the firmware that is ultimately written to the MCU. We recently covered linker scripts for Cortex-M as well, along with the concept of memory-mapped I/O.

Cura Plugin Offers Custom Support

[Chuck] likes the ability of Simplify3D to add support to parts of a model manually. However, not everyone wants to spend $150 for a slicer, so he’s shared how to install a plugin that allows you to do the same trick in Cura.

The plugin is “Cylindric Custom Support.” That doesn’t sound very exciting, but you get five choices of shapes you can create custom supports easily. There are also size and angle parameters you can use to customize the effect.

Continue reading “Cura Plugin Offers Custom Support”

Pen Plotter Draws Maps Directly On The Wall

For map-lovers like [Christopher Getschmann], poring over a quality map can be as satisfying as reading a good book. Good maps can be hard to come by, though, especially at a scale worth looking at, or worth using as adornment on a dull, lifeless wall. The solution is obvious: build a wall-mount CNC plotter to draw maps directly on the wall.

[Christopher] began his map quest by scraping world map data from a number of sources, including OpenStreetMap, Natural Earth, and GEBCO. This gave him data for coastlines, terrain, and bathymetry — enough for a map of the world large enough to fill a wall. Since the scale of the map would preclude the use of even a large-format inkjet printer, [Christopher] set about building a wall-covering pen-plotter to render the map. The CoreXY-style plotter is large, but still light enough to hang on the wall while it works, and to be repositioned to cover a larger area.

The plotter runs on steppers driven by ultra-quiet Trinamic TMC5160 drivers, so the plotter wouldn’t be a nuisance while it worked. The map was plotted on eight pieces of cardboard mounted directly to the wall, filling the 2- x 3-meter space almost entirely. Landmasses and elevation contours were plotted as continuous lines in black ink, while bathymetric data was rendered in blue ink as cross-hatching with variable spacing, to make deeper oceans darker blue.

We find [Christopher]’s map breathtaking, all the more so considering the work that went into making it. It would be interesting to find alternate uses for the plotter, which reminds us a little of a cross between a draw-bot and a Maslow vertical CNC router, now that it’s done with its cartographic duties.

Homebrew Relay Computer Looks Like It Could Be A Commercial Product

You may not have noticed, but we here at Hackaday really love our clicky stuff. Clicky mechanical keyboards, unnecessarily noisy flip-dot displays, and pretty much anything made with a lot of relays — they all grab our attention, in more ways than one. So it’s with no small surprise that we appear to have entirely missed perhaps the clickiest build of all: a fully operational 8-bit computer using nothing but relays.

What’s even more amazing about our failure to find and feature [Paul Law]’s excellent work is that he has been at it for the better part of a decade now. The first post on his very detailed and very well-crafted blog describing the build dates from 2013, when he was just testing LEDs in the arithmetic-logic unit (ALU). Since then, [Paul] has made incredible progress, building module after module, each containing a small portion of the computer’s functionality. The modules plug into card cages with backplanes to connect them, and the whole thing lives in an enclosure made from aluminum extrusion and glossy black panels for a truly sleek look. The computer is incredibly compact for something that uses 400+ DPDT relays to do its thinking.

In addition to the blog, [Paul] has a criminally undersubscribed YouTube channel with a quite recent series going over the computer in depth. We included the overall tour below, but you should really check out the rest of the videos to appreciate how much work went into this build. We’ve seen relay computers ranging in size from single-board to just plain ludicrous, but this one really takes the prize for fit and finish as well as functionality.

Continue reading “Homebrew Relay Computer Looks Like It Could Be A Commercial Product”

Remoticon Video: Learning The Basics Of Software-Defined Radio (SDR)

Have you dipped your toe into the SDR ocean? While hacker software-defined radio has been a hot topic for years now, it can be a little daunting to try it out for the first time. Here’s your change to get your legs under you with the SDR overview workshop presented by Josh Conway during the 2020 Hackaday Remoticon.

Josh’s presentation starts with a straightforward definition of SDR before moving to an overview of the hardware and software that’s out there. Hardware designs for radios can be quite simple to build, but they’ll be limited to a single protocol — for instance, an FM radio can’t listen in on 433 Mhz wireless doorbell. SDR breaks out of that by moving to a piece of radio hardware that can be reconfigured to work with protocols merely by making changes to the software that controls it. This makes the radio hardware more expensive, but also means you can listen (and sometimes transmit) to a wide range of devices like that wireless doorbell or automotive tire pressure sensors, but also radio-based infrastructure like airplane transponders and weather satellites.

This is the quickstart you want since it explains  a lot of topis at just the right depth. The hardware overview covers RTL-SDR, ADALM-PLUTO, HackRF, KerberosSDR, and BladeRF (which we just featured over the weekend used on the WiFi procotol). For software, Josh recaps GQRX, SDR#, SDRAngel, ShinySDR, Universal Radio Hacker, Inspectrum, SigDigger, RPITX, GnuRadio Companion, and REDHAWK. He also takes us through a wide swath of the antenna types that are out there before turning to questions from the workshop attendees.

If SDR is still absent in your toolbox, now’s a great time to give it another look. Once you’ve made it through the ‘hello world’ stage, there’s plenty to explore like those awesome RF Emissions testing tricks we as in another Remoticon talk.

Continue reading “Remoticon Video: Learning The Basics Of Software-Defined Radio (SDR)”

A New Era Of Spacecraft Delivers Science On Time

When the Space Shuttle Atlantis rolled to a stop on its final mission in 2011, it was truly the end of an era. Few could deny that the program had become too complex and expensive to keep running, but even still, humanity’s ability to do useful work in low Earth orbit took a serious hit with the retirement of the Shuttle fleet. Worse, there was no indication of when or if another spacecraft would be developed that could truly rival the capabilities of the winged orbiters first conceived in the late 1960s.

While its primary function was to carry large payloads such as satellites into orbit, the Shuttle’s ability to retrieve objects from space and bring them back was arguably just as important. Throughout its storied career, sensitive experiments conducted at the International Space Station or aboard the Orbiter itself were returned gently to Earth thanks to the craft’s unique design. Unlike traditional spacecraft that ended their flight with a rough splashdown in the open ocean, the Shuttle eased itself down to the tarmac like an airplane. Once landed, experiments could be quickly unloaded and transferred to the nearby Space Station Processing Facility where science teams would be waiting to perform further processing or analysis.

Atlantis is towed from the runway for payload processing.

For 30 years, the Space Shuttle and its assorted facilities at Kennedy Space Center provided a reliable way to deliver fragile or time-sensitive scientific experiments into the hands of researchers just a few hours after leaving orbit. It was a valuable service that simply didn’t exist before the Shuttle, and one that scientists have been deprived of ever since its retirement.

Until now. With the successful splashdown of the first Cargo Dragon 2 off the coast of Florida, NASA is one step closer to regaining a critical capability it hasn’t had for a decade. While it’s still not quite as convenient as simply rolling the Shuttle into the Orbiter Processing Facility after a mission, the fact that SpaceX can guide their capsule down into the waters near the Space Coast greatly reduces the time required to return experiments to the researchers who designed them.

Continue reading “A New Era Of Spacecraft Delivers Science On Time”

ExpressLRS: Open Source, Low Latency, Long Range RC Protocol

One of the major choices a newcomer to the RC flying hobby must make is on the RC link protocol. To add the list of choices (or confusion) there is now a new open-source, low latency, and long-range protocol named ExpressLRS.

ExpressLRS’s claim to fame is high packet rates of up to 500 Hz, with plans for 1000 Hz, and latency as low as 5 ms. Long-range testing has pushed it out to 30 km with a flying wing (video below), but this is not unheard of for other protocols. Most modern RC protocols run either in the 2.4 GHz or 915/868 MHz bands, with the latter having a definite advantage in terms of range.

ExpressLRS has options to run on either band, using Semtech SX127x (915/868 MHz) or SX1280 (2.4 GHz) LoRa transceivers, connected to STM32, ESP32, or ESP8285 microcontrollers. The ESP microcontrollers also allow software updates over Wi-Fi.

We’re excited to see an open-source competitor to the proprietary protocols currently dominating the market, but several open-source protocols have come and gone over the years. Hardware availability and compatibility is a deciding factor for a new protocol’s success, and ExpressLRS already has an advantage in this regard. Existing Frsky R9 transmitters and receivers, and Immersion RC Ghost receivers are compatible with the firmware. There are also DIY options available, and the GitHub page claims that several manufacturers are working on official ExpressLRS hardware.

If you’re already into the RC hobby, and you have compatible hardware lying around, be sure to give it a try and give some feedback to the developers! One scenario we would like to see tested is high interference and congested band conditions, like at RC flying events.

All the source code and hardware designs are available on GitHub, and there are active community discussions on Discord. Continue reading “ExpressLRS: Open Source, Low Latency, Long Range RC Protocol”