USB-C Programmable Power Supply For Any Project

USB-C Power Delivery 3.0 (PD3.0) introduces a new Programmable Power Supply (PPS) mode, which allows a device to negotiate any supply of 3.3-21 V in 20 mV steps, and up to 5 A of current in 50 mA steps. To make use of this new standard, [Ryan Ma] create the PD Micro, an Arduino-compatible development board, and a self-contained software library to allow easy integration of PD3.0 and the older PD2.0 into projects.

The dev board is built around an ATMega32U4 microcontroller and FUSB302 USB-C PHY. The four-layer PCB is densely packed on both sides to fit in the Arduino Pro Micro Form factor. The board can deliver up to 100W (20 V at 5 A) from an appropriate power source and shows visual feedback on the PD status through a set of LEDs.

The primary goal of the project is actually in the software. [Ryan] found that existing software libraries for PD take up a lot of memory, and are difficult to integrate into small projects. Working from the PD specifications and PD PHY chip data sheet, he created a lighter weight and self-contained software library which consumes less than 8 K of flash and 1 K of RAM. This is less than half the Flash and RAM available on the ATmega32U4.

[Ryan] is running a Crowd Supply campaign (video after the break) to get some of these powerful boards out in the wild, and has released all the source code and schematics on GitHub. The PCB design files will be released during the last week of the campaign, around 25 January 2021.

USB-C and power delivery are not simple standards, but the ability to add a high-speed data interface and a programmable power supply into almost any project has real potential.

Continue reading “USB-C Programmable Power Supply For Any Project”

Remote Control Robot Deals Dominoes

Oh, dominoes — the fun of knocking them down is inversely proportional to the pain of setting them all up again. [DIY Machines] is saving loads of time by automating the boring part with a remote control domino-laying machine. If only it could pick them back up.

This machine can be driven directly over Bluetooth like an R/C car, or programmed to follow a predetermined path via Arduino code. Here’s how it works: an Arduino Uno drives two servos and one motor. The 1:90 geared motor drives the robot around using a 180° servo to steer. A continuous servo turns the carousel, which holds nearly 140 dominoes. We love that the carousel is designed to be hot-swappable, so you can keep a spare ready to go.

[DIY Machines] really thought of everything. Every dozen or so dominoes, the machine leaves a gap in case one of the dominoes is tipped prematurely. There are also a couple of accessories for it, like a speedy domino loading stick and a fun little staircase bridge to add to your domino creations. Though all the machine files are freely available, [DIY Machines] requests a small donation for the accessories files. Check out the complete build video after the break, followed by a bonus video that focuses on upgrading the machine with an HM10 Bluetooth module for controlling it directly with a phone.

This certainly isn’t the first domino-laying device we’ve seen, though it might be the most accessorized. [Matthias Wandel]’s version uses only one motor to move and deal the dominoes.

Continue reading “Remote Control Robot Deals Dominoes”

Make Room For A New Arduino Competitor – With Native Brainf*ck!

With so many smaller and more capable microcontroller boards on the market it’s now fairly safe to say that the classic Arduino footprint and form factor is rather outdated. That’s not to say that there’s no fight left in the old contender though, and to prove it here’s a new platform in the familiar style set by the venerable Atmel-based board. [Eduardo Corpeño]’s Brainfuino is an Arduino competitor that runs everyone’s favourite esoteric programming language, Brainf*ck. (Keeping it SFW, folks.)

And in case you mistake it for a Brainf*ck emulator on a PCB then stand ready to be corrected, for this board runs the language natively in a Brainf*ck softcore on a Lattice MachXO2 FPGA. This is the real deal, on which only a true genius or masochist would dare to code.

The board itself is very neatly executed with a graphical style that presents more than a nod to the original Arduino. On this board is the FPGA, 256 kB ROM and 138 kB RAM, an STM32 to provide a USB serial port and an analogue input, and a level shifter to provide Arduino-style 5 V logic on the pins. We can see it’ll provide hours of fun to anyone interested in learning Brainf*ck, but besides that it has potential as an Arduino-shaped FPGA board. We like the joke, we like the graphical and engineering design, but underneath that lies quite the technical achievement.

Brainf*ck has made it to Hackaday before, not least in this jaw-dropping relay computer.

Rhythm Game Controller Can’t Be Beat

There’s this whole class of vertically scrolling rhythm games that take both hands and look really fun to play, albeit hard on the joints. You can buy specialized controllers for them, but they’re ridiculously expensive for what they are — just a handful of switches and two knobs. It’s exactly the kind of thing you should build to your taste for far less money.

Inspired by a pocket version of the Voltex controller that is also pretty darned expensive, [OmniSaiRen] set out to make their own on the cheap by building an awesome little macro keyboard that’s smaller and easier to use than the specialized controller. Inside there’s an Arduino Pro Micro taking input from eight Cherry MX switches and two optical encoders. The game treats the encoders as vertical and horizontal mouse movements, so [OmniSaiRen]’s code scans the encoders for their positions.

[OmniSaiRen] wrote their own matrix code and says it’s ugly, but it works well enough to play the game. What more can you ask for? A cool sticker to go on the top? Done. It’s too cold outside to paint, anyway. If it’s a one-handed game pad you need, check out this sweet little thing.

Via r/duino

A Tubular Fairy Tale You Control With Your Phone

At first glance, this might appear to be a Rube Goldberg machine made of toys. The truth isn’t far off — it’s a remote-control animatronic story machine driven by its spectators and their phones. [Niklas Roy] and a team of volunteers built it in just two weeks for Phaenomenale, a festival centered around art and digital culture that takes place every other year.

A view of the tubes without the toys.

A red ball travels through a network of clear acrylic tubes using 3D printed Venturi air movers, gravity, and toys to help it travel. Spectators can change the ball’s path with their phones via a local website with a big picture of the installation. The ball triggers animations along its path using break beam detection and weaves a different story each time depending on the toys it interacts with.

Here’s how it works: a Raspberry Pi 4 is responsible for releasing the ball at the beginning of the track and for controlling the track switches. The Pi also hosts a server for smartphones and the 25 Arduino Nanos that control the LEDs and servos of the animatronics. As a bonus animatronic, there’s a giant whiteboard that rotates and switches between displaying the kids’ drawings and the team’s plans and schematics. Take a brief but up-close tour after the break.

This awesome art project was a huge collaborative effort that involved the people of Wolfsburg, Germany — families in the community donated their used and abandoned toys, groups of elementary school kids were brought in to create stories for the toys, and several high school kids and other collaborators realized these drawings with animatronics.

Toys can teach valuable lessons, too. Take this body-positive sushi-snarfing Barbie for example, or this dollhouse of horrors designed to burn fire safety into children’s brains.

Continue reading “A Tubular Fairy Tale You Control With Your Phone”

Never Forget To Turn On The Cooker Hood Again

The cooker hood is a wonderful invention for removing excess fumes and steam from the kitchen. But like all electrically-powered devices, it only works when it is turned on. This was the problem facing [Peter], whose family are enthusiastic cooks who frequently forget to hit that switch. His solution? An automatic cooker hood switch that comes on when the cooker is in use, and stays on long enough afterwards to fully dissipate the fumes.

At its heart is a current transformer on the 3-phase stove power line, and we’re treated to a lesson in reading from these devices with an Arduino. They have a shunt resistor across which to produce a voltage, and their AC output is placed upon a reference DC voltage to supply the microcontroller pin. The impedance is quite high, so when the sensor had to be placed a distance from the microcontroller it necessitated an op-amp buffer. The readings then cause the Arduino to trigger a pair of relays to switch on or off the cooker hood. We can imagine that the family kitchen is thus a much pleasanter environment for it.

Cookers can also provide quite a hazard when they are left on. To that end, we’ve also featured a cooker alarm in the past.

Header image: Pbroks13, CC BY-SA 3.0.

An Arduino And A CD-ROM Drive Makes A CD Player

In an age of streaming media it’s easy to forget the audio CD, but they still remain as a physical format from the days when the “Play” button was not yet the “Pay” button. A CD player may no longer be the prized possession it once was, but it’s still possible to dabble in the world of 120 mm polycarbonate discs if you have a fancy for it. It’s something [Daniel1111] has done with his Arduino CD player, which uses the little microcontroller board to control a CD-ROM drive via its IDE bus.

The project draws heavily from the work of previous experimenters, notably ATAPIDUINO, but it extends them by taking its audio from the drive’s S/PDIF output. A port expander drives the IDE interface, while a Cirrus Logic WM8805 S/PDIF transceiver handles the digital audio and converts it to an I2S stream. That in turn is fed to a Texas Instruments PCM5102 DAC, which provides a line-level audio output. All the code and schematic can be found in a GitHub repository.

To anyone who worked in the CD-ROM business back in the 1990s this project presses quite a few buttons, though perhaps not enough to dig out all those CDs again. It would be interesting to see whether the I2S stream could be lifted from inside the drive directly, or even if the audio data could be received via the IDE bus. If you’d like to know a bit more about I2S , we have an article for you.