A Command-Line Stepper Library With All The Frills

When you already know exactly where and how you’d like your motor to behave, a code-compile-flash-run-debug cycle can work just fine. But if you want to play around with a stepper motor, there’s nothing like a live interface. [BrendaEM]’s RDL is a generic stepper motor driver environment that you can flash into an Arduino. RDL talks to your computer or cell phone over serial, and can command a stepper-driver IC to move the motor in three modes: rotary, divisions of a circle, and linear. (Hence the acronumical name.) Best of all, the entire system is interactive. Have a peek at the video below.

The software has quite a range of capabilities. Typing “?” gets you a list of commands, typing “@” tells you where the motor thinks it is, and “h” moves the motor back to its home position. Rotating by turns, degrees, or to a particular position are simple. It can also read from an analog joystick, which will control the rotation speed forward and backward in real time.

Division mode carves the pie up into a number of slices, and the motor spins to these particular locations. Twelve, or sixty, divisions gives you a clock, for instance. Acceleration and deceleration profiles are built in, but tweakable. You can change microstepping on the fly, and tweak many parameters of the drive, and then save all of the results to EEPROM. If you’re playing around with a new motor, and don’t know how quickly it can accelerate, or what speeds it’s capable of, nothing beats playing around with it interactively.

Continue reading “A Command-Line Stepper Library With All The Frills”

Reading The Unreadable SROM: Inside The PSoC4

Wow. [Dmitry Grinberg] just broke into the SROM on Cypress’ PSoC 4 chips. The supervisory read-only memory (SROM) in question is a region of proprietary code that runs when the chip starts up, and in privileged mode. It’s exactly the kind of black box that’s a little bit creepy and a horribly useful target for hackers if the black box can be broken open. What’s inside? In the manual it says “The user has no access to read or modify the SROM code.” Nobody outside of Cypress knows. Until now.

This matters because the PSoC 4000 chips are among the cheapest ARM Cortex-M0 parts out there. Consequently they’re inside countless consumer devices. Among [Dmitry]’s other tricks, he’s figured out how to write into the SROM, which opens the door for creating an undetectable rootkit on the chip that runs out of each reset. That’s the scary part.

The cool parts are scattered throughout [Dmitry]’s long and detailed writeup. He also found that the chips that have 8 K of flash actually have 16 K, and access to the rest of the memory is enabled by setting a single bit. This works because flash is written using routines that live in SROM, rather than the usual hardware-level write-to-register-and-wait procedure that we’re accustomed to with other micros. Of course, because it’s all done in software, you can brick the flash too by writing the wrong checksums. [Dmitry] did that twice. Good thing the chips are inexpensive.

The nitty-gritty on the ROP (return oriented programming) tricks that [Dmitry] had to pull, and a good look into the design of the system itself, are all up on [Dmitry]’s blog. We can’t wait to see what other buried treasure he’s going to find as he continues to play around with these chips. And in case you’re wondering what type of mad genius it takes to pull this off, consider that [Dmitry] runs Linux on AVRs, fools nRF24 chips into transmitting Bluetooth LE beacons, and re-writes his own airplane’s GPS.

[Main image is a PSoC4200 dev kit, and [Dmitry] has only been working with the 4000 and 4100 series. Just so you know.]

Glitchy Synthesizer Meets Honeycomb LED Matrix

Don’t watch [Jason Hotchkiss]’s video if flashing lights or bleepy-bloopy synthesizer noises give you seizures. Do watch, however, if you’re interested in a big honeycomb-shaped LED matrix being driven at audio frequencies through a dedicated square-wave synthesizer that’s built in.

The LED panel in question is housed in a snazzy laser-cut, honeycomb-shaped bezel: a nice change from the standard square in our opinion. The lights are 1/2 watt (whoa!) whites, and the rows and columns are driven by transistor drivers that are in turn controlled by shift registers. We’re not entirely sure how the matrix is driven — we’d love to see a circuit diagram — but it looks like it’s some kind of strange, non-scanning mode where all of the column and row drives are on at once. Whatever, it’s art.

And it’s driven by logic chips making audio-frequency square waves. Two of these are fed into an LFSR and into an R-2R DAC and then into the shift registers. The output is chaos, but the audio and the visuals do seem to influence each other. It’s an audio-visual embodiment of some of my wildest Logic Noise fantasies. Pretty cool. Enjoy the video.

Continue reading “Glitchy Synthesizer Meets Honeycomb LED Matrix”

The Importance Of Electrical Safety

Everything you do bears some risk of getting you hurt or killed. That’s just the way life is. Some people drown in the bath, and others get kilovolt AC across their heart. Knowing the dangers — how drastic and how likely the are — is the first step toward mitigating them. (We’re not saying that you shouldn’t bathe or play with high voltages.)

This third chapter of an e-book on electronics is a good read. It goes through the physiology of getting shocked (DC is more likely to freeze your muscles, but AC is more likely to fibrillate your heart) and the various scenarios that you should be looking out for. There’s a section on safe practices, and safe circuit design. It’s the basics, but it’s also stuff that we probably should have known when we started messing around with electrons in bulk.

Continue reading “The Importance Of Electrical Safety”

Octosonar Is 8X Better Than Monosonar

The HC-SR04 sonar modules are available for a mere pittance and, with some coaxing, can do a pretty decent job of helping your robot measure the distance to the nearest wall. But when sellers on eBay are shipping these things in ten-packs, why would you stop at mounting just one or two on your ‘bot? Octosonar is a hardware and Arduino software library that’ll get you up and running with up to eight sonar sensors in short order.

Octosonar uses an I2C multiplexer to send the “start” trigger pulses, and an eight-way OR gate to return the “echo” signal back to the host microcontroller. The software library then sends the I2C command to select and trigger a sonar module, and a couple of interrupt routines watch the “echo” line to figure out the time of flight, and thus the distance.

Having two sonars on each side of a rectangular robot allows it move parallel to a wall in a straightforward fashion: steer toward or away from the wall until they match. Watch the video below for a demo of this very simple setup. (But also note where the robot’s 45-degree blind spot is: bump-bump-bump!)

Continue reading “Octosonar Is 8X Better Than Monosonar”

Ask Hackaday: Bitten By The Crocodile Clip

I have a love/hate relationship with the crocodile clip. Nothing is so quick to lash together a few half-baked prototype boards on your desk, but nothing ends up in such a tangle so quickly, either. I love the range of pretty colors that crocodiles come in, as well as the easy ability to just clip on to the side of a PCB, or any old loose wire. But they come loose, they can have intermittent contacts, and we’re not even sure if there is such a thing as a current rating for them.

When [WarriorRocker] wrote in asking what we use instead of crocodile clips, he included a photo that sent a chill down my spine, from a review of some clips on Amazon. I’ve seen this one in real life. And what’s worse is the one with the loose wires that sometimes make contact with the spring-clip body and sometimes not.

After an hour-long debugging session about twelve years ago now, such an intermittent croc caused us to make a lifelong vow. All of our croco-clips have been disassembled, manually inspected, and many of them soldered together. When I buy new ones, I check them all before mixing them in with the known-goods. Even thinking about this now makes me want to pull back their little rubber booties just to make sure. Continue reading “Ask Hackaday: Bitten By The Crocodile Clip”

Jean-Luc PYcARD Is A Pocketable Python Development Platform

It’s a good thing that a ridiculous pun and a screenprint of Jean-Luc Picard on the bottom of the board is enough to qualify for the 2017 Hackaday Sci-Fi Contest, because [bobricius]’s Python-plus-Arduino card and environmental sensor potpourri is very cool.

The PCB design itself is great. It’s got a gigantic LED array, cutout for a wrist strap, and an onboard USB plug so you can program it just by sticking it in your computer; it shows up as a USB mass storage device when you plug it in. The files that show up on the “drive” are Micropython code that you can edit, save, and then run directly on the device. You can hardly beat that for convenience.

And there’s a full complement of sensors: not one but two temperature and humidity sensors, including our recent favorite BME280, which also reads barometric pressure. (We suspect that makes it a tri-corder.) There’s a real-time clock, a buzzer, and some buttons. Want to add more sensors? I2C ports are broken out for your convenience.

Besides having Star Trek flair, this board would give the various educational platforms a run for their money: Micro:bit, we’re looking at you. Very cool indeed!