Calculus And A Calculator

Earlier this year, [Dan Maloney] went inside mechanical calculators. Being the practical sort, [Dan] jumped right into the Pascaline invented by Blaise Pascal. It couldn’t multiply or divide. He then went into the arithmometer, which is arguably the first commercially successful mechanical calculator with four functions. That was around 1821 or so. But [Dan] mentions it used a Leibniz wheel. I thought, “Leibniz? He’s the calculus guy, right? He died in 1716.” So I knew there had to be at least a century of backstory to get to the arithmometer. Having a rainy day ahead, I decided to find out exactly where the Leibniz wheel came from and what it was doing for 100 years prior to 1821.

If you’ve taken calculus you’ve probably heard of Gottfried Wilhelm Leibniz (who would have been 372 years old on July 1st, by the way). He’s the guy that gave us the notation we use in modern calculus and oddly was one of two people who apparently figured out calculus, the other being Issac Newton. Both men, by the way, accused each other of stealing, although it is more likely they both built on the same prior work. When you are struggling to learn calculus, it is sometimes amazing that not only did someone think it up, but two people thought it up at one time. However, Leibniz also built what might be the first four function calculator in 1694. His “stepped reckoner” used a drum and some cranks and the underlying mechanism found inside of it lived on until the 1970s in other mechanical calculating devices. Oddly, Leibniz didn’t use the term stepped reckoner but called the machine Instrumentum Arithmeticum.

Many of us remember when a four function electronic calculator was a marvel and not even very inexpensive. Nowadays, you’d have to look hard to find one that only had four functions and simple calculators are cheap enough to give away like ink pens. But in 1694, you didn’t have electronics and integrated circuits necessary to pull that off.

Continue reading “Calculus And A Calculator”

Coolest Way To Watch 3D Printing: Lights, Camera, Octolapse!

Octoprint is a household name for anyone into 3D printing and anyone regularly reading Hackaday. Described by creator Gina Häußge as “the snappy web interface for your 3D printer”, Octoprint allows you to control effectively any desktop 3D printer over the local network or Internet. It even has webcam support so you can watch your printer while it works, meaning you can finally put that video baby monitor back into the crib with Junior.

While the core functionality of Octoprint is fantastic alone, its true power is unlocked through the plugin system and the community that’s sprung up around it. With plugins, Octoprint can do everything from control RGB light strips in your printer’s enclosure to sending status messages via Discord. One particularly popular plugin that has been making the rounds lately is Octolapse by [FormerLurker]. This plugin provides a comprehensive intelligent system for creating time-lapse videos of prints.

What does that mean? Well, instead of simply taking a picture every few seconds like you’d do traditionally, Octolapse actually keeps track of the printer’s motions while its running. It can then take a picture at the opportune moment to create a number of user-selected effects. More importantly, it can even take control of the printer directly; moving the hotend away from the print before taking a picture. The effect is that the print simply “grows” out of the bed.

I thought it would be interesting to take a closer look at Octolapse and see just what it takes to create one of those awesome time-lapse videos. It turned out to be somewhat trickier than I anticipated, but the end results are so fantastic I’d say it’s a technique worth mastering.

Continue reading “Coolest Way To Watch 3D Printing: Lights, Camera, Octolapse!”

Is This The World’s Smallest Computer?

How small could you make a computer? In a way, that’s a question that requires that a computer be defined, because you could measure the smallest computer simply in terms of the smallest area of silicon required to create a microprocessor. So perhaps it’s better to talk about a smallest working computer. Recent entries in the race for the smallest machine have defined a computer as a complete computer system which holds onto its program and data upon power-down, but this remains one that is hotly debated. You might for instance debate as to whether that definition would exclude machines such as the crop of 1980s home computers that didn’t store their programs and data, was your Sinclair Spectrum not a computer?

At the University of Michigan they have opted for the simpler definition with their latest entry in the race to be the tiniest. Their latest machine packs an ARM Cortex M0 into a 0.3mm cube, along with photoreceptors and LEDs for programming, data throughput, and power. It is designed to be a temperature sensor and logger for medical implantation, but it stands more as a demonstration of technological prowess than as a usable product.

Pictures of a tiny computer “dwarfed by a grain of rice” make for good mass media consumption but where’s the relevance for us? The interesting part comes from the tantalizing glimpse of its construction: this is a hybrid device upon which we can see the optoelectronic components have been wire-bonded. Unfortunately the paper, catchily titled “A 0.04mm3 16nW Wireless and Batteryless Sensor System with Integrated Cortex-M0+ Processor and Optical Communication for Cellular Temperature Measurement” does not appear to be free-to-view online, so we don’t have any more information. We wish that such feats were possible within our community, but suspect those days are still pretty far away.

Buttery Smooth Fades With The Power Of HSV

In firmware-land we usually refer to colors using RGB. This is intuitively pleasing with a little background on color theory and an understanding of how multicolor LEDs work. Most of the colorful LEDs we are use not actually a single diode. They are red, green, and blue diodes shoved together in tight quarters. (Though interestingly very high end LEDs use even more colors than that, but that’s a topic for another article.) When all three light up at once the emitted light munges together into a single color which your brain perceives. Appropriately the schematic symbol for an RGB LED without an onboard controller typically depicts three discrete LEDs all together. So it’s clear why representing an RGB LED in code as three individual values {R, G, B} makes sense. But binding our representation of color in firmware to the physical system we accidentally limit ourselves.

The inside of an RGB LED

Last time we talked about color spaces, we learned about different ways to represent color spatially. The key insight was that these models called color spaces could be used to represent the same colors using different groups of values. And in fact that the grouped values themselves could be used to describe multidimensional spacial coordinates. But that post was missing the punchline. “So what if you can represent colors in a cylinder!” I hear you cry. “Why do I care?” Well, it turns out that using colorspace can make some common firmware tasks easier. Follow on to learn how!

Continue reading “Buttery Smooth Fades With The Power Of HSV”

Unlocking Animal Crossing’s Debug Mode

Originally released on the Nintendo 64 in 2001, Animal Crossing was the first entry into what has become a massively successful franchise. But while the game has appeared on more modern Nintendo consoles, most recently Android and iOS, the version released on the GameCube holds a special place in many fan’s hearts. The GameCube version was the first time those outside of Japan got a taste of the unique community simulation offered by Animal Crossing, and maintains a following nearly 20 years after its release.

[James Chambers] has recently been investigating creating mods for the GameCube version of Animal Crossing, and in the process uncovered some interesting references to a debug mode. That launched a deep dive into the game’s assembly code in an attempt to find what the debug functions did and if they could be enabled without having to patch the game ROM. In the end, he was able to find a push button code that enables debug mode on the retail copy of the game.

[James] starts by using the debugger provided by the Dolphin GameCube emulator to poke around and figure out exactly what flags need to be modified to activate the debug mode. This leads to a few interesting finds, such as being able to pop up a performance monitor graph and some build info. Eventually he finds the proper incantation to bring up a functional debug display in the game, but there was still the mystery of how you do it on the real hardware with a retail copy of the game.

It wouldn’t be unreasonable to think that some special dongle or development version of the GameCube would be required to kick the game into debug mode. But through careful examination of the code path, [James] was able to figure out that hitting a specific combination of buttons on the controller was all that was required to use the debug mode on the stock game. Once the debug mode is started, a controller plugged into the second port allows the user to navigate through options and perform tasks. Not everything is currently understood, but some progress has been made, such as figuring out how to add items to your inventory.

It’s hardly Nintendo’s most popular console, but there’s still a healthy interest in GameCube hacking as the machine approaches its 20th anniversary. We recently saw some impressive work being done to reverse engineer the system’s wireless controllers, though some people are more interested in just cutting the thing in half.

[Thanks to Tim Trzepacz for the tip.]

CalClock Keeps You Tied To The Mast

Now that most of what we do revolves around our phones and/or the internet, it’s nearly impossible to take a short break from work to check the ol’ calendar without being lured by the sirens on the shore of social media. Well, [samvanhook] was tired of being drawn in when all he really needs is a vague idea of what’s coming up for him in the next 12 hours. Enter the CalClock.

Thanks to color-coded segments, [sam] can tell at a glance if he has something coming up soon in Google Calendar, or if he can dive back into work. When nothing is scheduled, the segments are simply unlit.

We love the mid-century minimal look and craftsmanship of CalClock. This beauty runs on a Raspi Zero W, which fetches the 411 through the gooCal API and lights up the appropriate NeoPixels arrayed behind standard clock movement-driven hands.  [sam] could have diffused the NeoPixels with a single sheet of acrylic, but he went the extra mile to route and sand little acrylic ice cubes for all 24 segments.

Want more control of your day? [sam] took the time to upload both the clock face model and the code so you can. If you need help just getting started each day, check out this calendar-polling Raspi alarm clock.

The Tantillus, Reborn

In the beginning, around 2011 or thereabouts, there was an infinite variety of designs available for anyone to build their own 3D printer. There were Mendels, some weirdos were actually trying to build Darwins, and deltas were starting to become a thing. In the years since then, everyone just started buying cheap Prusa clones and wondering why their house burnt down.

One of the most innovative printers of this era was the Tantillus. It was a small printer, with the entire frame fitting in a 250mm square, but still able to print a 100mm cube. You could print the entire printer, and it was adorable. Face it: most of your prints aren’t bigger than 100mm unless you’re purposely printing something huge, and having a low moving mass is good.

The Tantillus has fallen by the wayside, but now it’s back. The Tantillus R — the ‘R’ means ‘reborn’ — is the latest project to take the design goals of the original Tantillus and bring it into the era of the modern RepRap ecosystem. (German, Google Translatrix, but the English translation of all the documentation is in the works),

Of note in this new design, the Tantillus R is still using shafts driven with high-test fishing line, driven by steppers and belts. The R version is getting away from the J-head, but in the interests in keeping the moving mass down, the hotend is a Merlin. This might seem an especially odd choice in the age of all-metal hotends, but again the goal is to keep moving mass down. As you would expect from a modern 3D printer, there’s support for a heated bed, you can plug a Raspberry Pi into it for Octoprint, and in true RepRap fashion, most of the parts are printable.

While the era of self-build 3D printers is probably over — you can’t compete with the cheap Chinese firestarters on price — the Tantillus R is a great project that retains the spirit of the RepRap projects while adding a few modern niceties and can still produce some impressive prints.