Jeremy Cook's strandbeest kit RC conversion

Stepper Motor And Key Fob Controlled Strandbeest

We never tire of watching Strandbeests with their multitude of legs walking around, and especially enjoy the RC ones. [Jeremy Cook], prolific Strandbeest maker, just made one by motorizing and adding remote control to a small, plastic wind-powered kit.

We’ve seen a Strandbeest kit conversion like this before, such as this DC motor one but it’s always interesting to see how it can be done differently. In [Jeremy’s], he’s gone with two inexpensive $2.00 stepper motors. The RC is done using a keyfob transmitter with a receiver board wired into an Arduino Nano’s analog pins. He tried driving it directly off the LiPo batteries but had issues which he solved by adding a 5-volt regulator. Check out his build and the modified Strandbeest walking around in the video below.

Continue reading “Stepper Motor And Key Fob Controlled Strandbeest”

Push It To The Limit: SSD1306 At 150 FPS

A good deal of the projects we cover here at Hackaday are not, in the strictest sense, practical endeavors. If we required that everything which graced our digital pages had a clear end result, the site would be in a rather sad state of affairs. Sometimes it’s enough just to do something for the challenge of it. But more often than not, you’ll learn something in the process which you can use down the line.

That’s precisely what pushed [Larry Bank] to see how well he could optimize the frame rate on the popular SSD1306 OLED display. After several iterations of his code, he was able to achieve a blistering 151.5 FPS, with apparently still some room for improvement if he’s feeling up to the challenge. But considering his first attempt was only running at 5.5 FPS, we’d say he’s already more than earned his hacker cred on this one.

A few different tricks were used to achieve such incredible performance gains. To start with, while the official I2C specification says you’re supposed to wait for an acknowledgment back from the device when communicating with it, [Larry] realized the SSD1306 didn’t actually care. He could continuously blast commands at the display without bothering to wait for an acknowledgment. He admits there are problems with this method, but you can’t argue with the results.

To really wring all the performance out of the system he could, [Larry] donned his Assembly Cap and examined how the Arduino IDE compiler was interpreting his code. He identified a few areas where changing his C code would force the compiler to generate faster output. He notes that this wouldn’t normally be required when working with more advanced compilers, but that the Arduino toolchain needs its hand held occasionally.

This isn’t the first time we’ve seen somebody try and push more pixels through the very same OLED display, and it’s interesting to see the two very different approaches to the same goal.

Stomping On Microcontrollers: Arduino Mega Guitar Effects Pedal

Effects pedals: for some an object of overwhelming addiction, but for many, an opportunity to hack. Anyone who plays guitar (or buys presents for someone who does) knows of the infinite choice of pedals available. There are so many pedals because nailing the tone you hear in your head is an addictive quest, an itch that must be scratched. Rising to meet this challenge are a generation of programmable pedals that can tweak effects in clever ways.

With this in mind, [ElectroSmash] are back at it with another open source offering: the pedalSHIELD MEGA. Aimed at musicians and hackers who want to learn more about audio, DSP and programming, this is an open-hardware/open-software shield for the Arduino MEGA which transforms it into an effects pedal.

The hardware consists of an analog input stage which amplifies and filters the incoming signal before passing it to the Arduino, as well as an output stage which does the DAC-ing from the Arduino’s PWM outputs, and some more filtering/amplifying. Two 8-bit PWM outputs are used simultaneously to make pseudo 16-bit resolution — a technique you can read more about in their handy forum guide.

The list of effects currently implemented covers all the basics you’d expect, and provides a good starting point for writing custom effects. Perhaps a library for some of the commonly used config/operations would be useful? Naturally, there are some computational constraints when using an Arduino for DSP, though it’s up to you whether this is a frustrating fact, or an opportunity to write some nicely optimised code.

[ElectroSmash] don’t just do pedals either: here’s their open source guitar amp.

Continue reading “Stomping On Microcontrollers: Arduino Mega Guitar Effects Pedal”

We Couldn’t Resist This CNC Batik Bot

Batik is an ancient form of dyeing textiles in which hot wax is applied to a piece of cloth in some design. When the cloth is submerged in a dye bath, the parts covered with wax resist the pigment. After dyeing, the wax is either boiled or scraped away to reveal the design.

[Eugenia Morpurgo] has created a portable, open-source batik bot that rolls along the floor and draws with wax, CNC-style, on a potentially infinite expanse of cloth. The hardware should be familiar: an Arduino Mega and a RAMPS 1.4 board driving NEMA 17 steppers up and down extruded aluminium.

Traditionally, batik wax is applied with a canting, a pen-like object that holds a small amount of hot wax and distributes it through a small opening. The batik bot’s pen combines parts from an electric canting tool with the thermistor, heater block, and heater cartridge from an E3D V6 hot end. [Eugenia] built the Z-axis from scrap and re-used the mechanical endstops from an old plotter. Check out the GitHub for step-by-step instructions with a ton of clear pictures and the project’s site for even more pictures and information. Oh, and don’t resist the chance to see it in action after the break.

We love a good art bot around here, even if the work disappears with the tide.

Continue reading “We Couldn’t Resist This CNC Batik Bot”

Waking Up To Classic Soundgarden Screaming

In a project that was really only slighly less creepy before the singer’s untimely death in 2017, this alarm clock built by [Rafael Mizrahi] awakens its user to a random selection of Chris Cornell’s signature screams. Not content to be limited to just the audio component of the experience, he contained all of the hardware within a styrofoam head complete with a printed out facsimile of the singer’s face.

An Arduino Uno coupled with a seven segment LED display provides the clock itself, which is located in the base. There’s no RTC module, so the Arduino is doing its best to keep time by counting milliseconds. This means the clock will drift around quite a bit, but given that there’s also no provision for setting the time or changing when the alarm goes off short of editing the source code, it seems like accurate timekeeping was not hugely important for this project.

Audio is provided by an Adafruit VS1053, which contains a microSD card full of MP3 samples of Cornell’s singing. This is connected to an X-Mini portable capsule speaker which has been installed in a hollowed out section of the foam.

Unconventional alarm clocks are something of a staple here at Hackaday. From ones which physically assault you to mimicking sunrise with OLEDs, we thought we had seen it all. We were wrong.

Continue reading “Waking Up To Classic Soundgarden Screaming”

Double The Resolution, From An Arduino ADC

Analog-to-digital converters, or ADCs, are somewhat monolithic devices for most users, a black box that you ask nicely for the value on its input, and receive a number in return. For most readers, they will be built into whatever microcontroller is their platform of choice, and their resolution will be immutable, set by whatever circuitry is included upon the die. There are a few tricks that can be employed to get a bit more from a stock ADC though, and [Neris] has taken a look at a couple of them.

The first circuit doubles the resolution of an ADC, in this case, that of the Atmel chip in an Arduino, by converting its output from an integer to a signed integer. It performs this task with a precision rectifier, rectifying around a zero-crossing point half-way through the range of the analog value to be read and supplying a sign bit to the Arduino. The Arduino measures the rectified analog value to an integer, and applies the appropriate sign from the supplied bit value.

The second circuit takes a variation on the same technique but with two ADCs instead of one. A pair of PIC chips are used with their voltage references stacked one above the other, by taking both readings in combination a result with double the resolution can be derived.

You might ask why bother with these techniques. After all, there are plenty of higher-resolution ADCs on the market. But they’re useful techniques to know, should you ever need to extract the proverbial quart from a pint pot.

If ADCs are a mystery to you, you’re in luck. [Bil Herd] gave us a comprehensive introduction to the subject.

Simple Home-built Projection Clock Projects Time

There are plenty of cheap projection clocks available, but as [Thomas Pototschnig] points out in this project, where’s the fun in just buying something? He set out to build a cheap projection clock using a small LCD screen, a cheap LED backlight, and a cheap lens. Cheap is the order of the day here, and [Thomas] succeeded admirably, creating a design that can be made with a couple of cheap PCBs, a 3D printer and the other parts mentioned above. He does a nice job of laying out his thinking in this design, showing how he calculated the projection path and made other decisions. His project has room to grow as well: it runs from an Arduino compatible STM32 that could handle many things other than showing the time if you were inclined to expand the project further.

Continue reading “Simple Home-built Projection Clock Projects Time”