CortexProg Is A Real ARM-Twister

We’ve got a small box of microcontroller programmers on our desktop. AVR, PIC, and ARM, or at least the STMicro version of ARM. Why? Some program faster, some debug better, some have nicer cables, and others, well, we’re just sentimental about. Don’t judge.

[Dmitry Grinberg], on the other hand, is searching for the One Ring. Or at least the One Ring for ARM microcontrollers. You see, while all ARM chips have the same core, and thus the same SWD debugging interface, they all write to flash differently. So if you do ARM development with offerings from different chip vendors, you need to have a box full of programmers or shell out for an expensive J-Link. Until now.

[Dmitry] keeps his options open by loading up the flash-specific portion of the code as a plugin, which lets the programmer figure out what chip it’s dealing with and then lookup the appropriate block size and flash memory procedures. One Ring. He also implements a fast printf-style debugging aid that he calls “ZeroWire Trace” that we’d like to hear more about. Programming and debugging are scriptable in Lua, and it can do batch programming based on reading chip IDs.

You can build your own CortexProg from an ATtiny85, two diodes, and two current-limiting resistors: the standard V-USB setup. The downside of the DIY? Slow upload speed, but at least it’ll get you going. He’s also developed a number of fancier versions that improve on this. Version four of the hardware is just now up on Kickstarter, if you’re interested.

If you’re just using one vendor’s chips or don’t mind having a drawer full of programmers, you might also look into the Black Magic Probe. It embeds a GDB server in the debugger itself, which is both a cool trick and the reason that you have to re-flash the programmer to work with a different vendor’s chips. Since the BMP firmware is open, you can make your own for the cost of a sacrificial ST-Link clone, about $4.

On the other hand, if you want a programmer that works across chip families, is scriptable, and can do batch uploads, CortexProg looks like a caviar programmer on a fish-bait budget. We’re going to try one out soon.

Oh and if you think [Dmitry Grinberg] sounds familiar, you might like his sweet Dreamcast VRU hack, his investigations into the Cypress PSOCs, or his epic AVR-based Linux machine.

Stepper Motor? Encoder? It’s Both!

We always think it is interesting that a regular DC motor and a generator are about the same thing. Sure, each is optimized for its purpose, but inefficiencies aside, you can use electricity to rotate a shaft or use a rotating shaft to generate electricity. [Andriyf1] has a slightly different trick. He shows how to use a stepper motor as an encoder. You can see a video of the setup below.

It makes sense. If the coils in the stepper can move the shaft, then moving the shaft should induce a current in the coils. He does note that at slow speeds you can miss pulses, however. Again, the device isn’t really optimized for this type of operation.

The circuit uses an opamp-based differential amplifier to read the pulses from the coil. Two opamps on two coils produce a quadrature signal just like a normal encoder. When the shaft turns in one direction, one pulse will lead the other. In the other direction, the lead pulse will be reversed.

There’s code to let an Arduino read the pulses. And here’s plenty of code that will read quadrature on an Arduino or other processors. We’ve seen similar hacks done with hard drive motors which are quite similar, by the way.

Continue reading “Stepper Motor? Encoder? It’s Both!”

Mademoiselle Pinball Table Gets Rock ‘n Roll Makeover

Once upon a time, there was a music venue/artist collective/effects pedal company that helped redefine industry in Williamsburg, Brooklyn. That place was called Death By Audio. In 2014, it suffered a death by gentrification when Vice Media bought the building that DBA had worked so hard to transform. From the ashes rose the Death By Audio Arcade, which showcases DIY pinball cabinets made by indie artists.

Their most recent creation is called A Place To Bury Strangers (APTBS). It’s built on a 1959 Gottlieb Mademoiselle table and themed around a local noise/shoegaze band of the same name that was deeply connected to Death By Audio. According to [Mark Kleeb], this table is an homage to APTBS’s whiz-bang pinball-like performance style of total sensory overload. Hardly a sense is spared when playing this table, which features strobe lights, black lights, video and audio clips of APTBS, and a fog machine. Yeah.

[Mark] picked up this project from a friend, who had already cut some wires and started hacking on it. Nearly every bit of the table’s guts had to be upgraded with OEM parts or else replaced entirely. Now there’s a Teensy running the bumpers, and another Teensy on the switches. An Arduino drives the NeoPixel strips that light up the playfield, and a second Uno displays the score on those sweet VFD tubes. All four micros are tied together with Python and a Raspi 3.

If you’re anywhere near NYC, you can play the glow-in-the-dark ball yourself on July 15th at Le Poisson Rouge. If not, don’t flip—just nudge that break to see her in action. Did we mention there’s a strobe light? Consider yourself warned.

Want to get into DIY pinball on a smaller scale? Build yourself a sandbox and start playing.

Continue reading “Mademoiselle Pinball Table Gets Rock ‘n Roll Makeover”

Supersize DIY R/C Servos From Windscreen Wipers

We’re all familiar with the experience of buying hobby servos. The market is awash with cheap clones which have inflated specs and poor performance. Even branded servos often fail to deliver, and sometimes you just can’t get the required torque or speed from the small form factor of the typical hobby servo.

Enter [James Bruton] and his DIY RC servo from a windscreen wiper motor. Windscreen wiper motors are cheap as chips, and a classic salvage. The motor shaft is connected to a potentiometer via a pulley and some string, providing the necessary closed-loop feedback. Instead of using the traditional analog circuitry found inside a servo, an Arduino provides the brains. This means PID control can be implemented on the ‘duino, and tuned to get the best response from different load characteristics. There’s also the choice of different interfacing options: though [James]’ Arduino code accepts PWM signals for a drop-in R/C servo replacement, the addition of a microcontroller means many other input signal types and protocols are available. In fact, we recently wrote about serial bus servos and their numerous advantages.

We particularly love this because of the price barrier of industrial servomotors; sure, this kind of solution doesn’t have the precision or torque that off-the-shelf products provide, but would be sufficient for many hacks. Incidentally, this is what inspired one of our favourite open source projects: ODrive, which focuses on harnessing the power of cheap brushless motors for industrial use.

Continue reading “Supersize DIY R/C Servos From Windscreen Wipers”

Morphing Digital Clock Will Show You A Good Time

A few weeks ago, [HariFun] set out to emulate a 7-segment display with an LED matrix. Seems easy enough, right? Right. He also wanted to come up with a new way to transition between digits, which is a much harder task. But he did it, and it’s really cool. At a viewer’s suggestion, [Hari] used the transition as the basis for a mesmerizing clock that brings the smooth sweep of an analog second-hand into the digital age.

This is the coolest way to watch the time pass since the hourglass. You can almost hear the light move as one digit slides into the next. Each transition is totally unique, so depending on the digit this involves one or more vertical segments sliding from right to left, or multiple segments moving in a counter-clockwise circle.

You too can watch time glide by with little more than a 64×32 RGB LED matrix, a NodeMCU, and [Hari]’s digit transition code. It only costs about $25 to build, and you really can’t beat the quality of instruction he’s put together. Take a second or two and check it out after the break.

If you prefer OLEDs and vertical transitions, there’s a clock for that, too.

Continue reading “Morphing Digital Clock Will Show You A Good Time”

Vintage Headphones Bluetooth Conversion Goes The Extra Mile

[KaZjjW] wanted to retrofit a pair of nicely styled vintage headphones to be able to play wirelessly over Bluetooth. In principle this is an easy task: simply stick a Bluetooth audio receiver on the line-in, add a battery, and you’re all set. However, [KaZjjW] wanted to keep the aesthetic changes to the headphones at an absolute minimum, retaining the existing casing and volume control, whilst cramming the electronics entirely inside and out of sight.

With the inherent space constraints inside the cups of the headphones, this proved to be quite a challenge. The existing volume potentiometer which hung half outside the case was remounted on an ingenious hinge made of two PCBs, with the pot floating next to a surface mounted switch. This allowed it to not only control the volume, but also act as an on/off switch for the Bluetooth. The only other existing cuts in the casing were a circular hole for the audio cable, and a slit for the cable strain relief. These worked perfectly for an LED status indicator and micro-USB battery charging.

The main chip used for receiving audio over Bluetooth was the BM62 by Microchip. It’s a great all-in-one solution for this kind of project as it has built-in battery charging, an on-board DAC and audio amp, as well as a serial control interface. In part 2 of the project log, the process of programming the BM62 was documented, and it was painful – it’s a shame that the software support lets it down. But a hacker will always find a way, and we’ve seen some pretty neat hacks for reprogramming existing chips in off-the-shelf Bluetooth headphones.

Two PCBs for the pot button hinge, one for the LED and micro-USB connector, as well as one for the Bluetooth receiver and a PIC. That’s four PCBs in a pretty small space, enabled by some commendable design effort both electronically and mechanically. It certainly paid off, as the finished product looks very slick.

Continue reading “Vintage Headphones Bluetooth Conversion Goes The Extra Mile”

A Peek Into a Weed-Eating Robot’s Test Fixtures

When it comes to production, fast is good! But right the first time is better. Anything that helps prevent rework down the line is worth investing in. Some of the best tools to catch problems are good test fixtures. The folks at Tertill (a solar-powered robot for killing weeds that kickstarted last year) took the time to share two brief videos of DIY test fixtures they use to test components before assembly.

The videos are short, but they demonstrate all the things that make a good test: on the motor tester there are no connectors or wires to fiddle with, the test starts automatically, and there is clear feedback via prominent LEDs. The UI board tester also starts automatically and has unambiguous LED feedback, and sports a custom board holder with a recess just the right shape for the PCB. Once the board is in, the sled is pushed like a drawer to make contact with the test hardware and begin the test. The perfectly formed recesses in both units serve another function as well; they act as a go/no-go test for the physical shape of the components and contacts being tested.

Both videos are embedded below; and while there isn’t much detail on the actual test hardware, we do spy a Raspberry Pi and at least two Adafruit logos among other hacker-familiar elements like laser-cut acrylic, 3D printed plastic, pogo pins, and a PVC junction box.

Continue reading “A Peek Into a Weed-Eating Robot’s Test Fixtures”