Posts with «arduino» label

An Open Hardware Automatic Spinning Machine

The team at the Berlin-based Studio HILO has been working on ideas and tools around developing a more open approach to small-scale textile production environments. Leveraging open-source platforms and tools, the team has come up with a simple open hardware spinning machine that can be used for interactive yarn production, right on the desktop. The frame is built with 3030 profile aluminium extrusions, with a handful of 3D printed, and a smidge of laser cut parts. Motion is thanks to, you guessed it, NEMA 17 stepper motors and the once ubiquitous Arduino Mega 2560 plus RAMPS 1.4 combination that many people will be very familiar with.

The project really shines on the documentation side of things, with the project GitLab positively dripping with well-organised information. One minor niggle is that you’ll need access to a polyjet or very accurate multi-material 3D printer to run off the drive wheel and the associated trailing wheel. We’re sure there’s a simple enough way to do it without those tools, for those sufficiently motivated.

We liked the use of Arduino for the firmware, keeping things simple, and in the same vein, Processing for the user interface. That makes sending values from the on-screen slider controls over the USB a piece of cake. Processing doesn’t seem to pop up on these pages too often, which is a shame as it’s a great tool to have at one’s disposal. On the subject of the user interface, it looks like for now only basic parameters can be tweaked on the fly, with some more subtle parameters needing fixing at firmware compilation time. With a bit more time, we’re sure the project will flesh out a bit more, and that area will be improved.

Of course, if you only have raw fibers, that are not appropriately aligned, you need a carder, like this one maybe?

Thanks [Daniel] for the tip!

RP2040 DMA Hack Makes Another ‘CPU Core’

[Bruce Land] of Cornell University will be a familiar name to many Hackaday readers, searching the site for ‘ECE4760′ will bring up many interesting topics around embedded programming. Every year [Bruce] releases yet more of the students’ work out into the wild to our great delight. This RP2040-based project is a bit more abstract than some previous work and shows yet another implementation of an older hack to utilise the DMA hardware of the RP2040 as another CPU core. While the primary focus of the RP2040 DMA subsystem is moving data between memory spaces, with minimal CPU intervention, the DMA control blocks have some fairly complex behaviour. This allows for a Turing-complete CPU to be implemented purely with the DMA hardware and a sprinkling of memory.

The method ties up three of the twelve DMA channels, and is estimated to have a similar performance to ‘an Arduino’ but [Bruce] doesn’t specify which one of the varied models that could be. But who cares anyway? Programming the CPU is a matter of leveraging the behaviour of the hardware, which is all memory mapped and targetable by the DMA. For example, the CPU can waggle GPIO pins by using the DMA to write values to the peripheral address space. The basic flow can be seen in the image above. DMA0 is used as the program counter, which points DMA1 to an array of DMA control blocks, a sequence of which codes for some of the ‘opcodes’ of the CPU model. DMA0 chains to (hands over control to) DMA1 which reads the control blocks and configures itself accordingly. DMA1 performs whatever data move is programmed, chains to DMA2, which in turn reprograms the DMA0 program counter to point to the next block in the list to be executed by DMA1.

By also using DMA1 to modify subsequent DMA1 control blocks (that’s self-modifying code happening there!) the system can implement more useful operations such as addition, logical operations, and conditional branching. Transport-triggered operations in certain shadow registers enable atomic set, reset, and XOR operations. All clever stuff, and a wonderful student project to have been involved with. [Bruce] points out a paper (using the Pi2) from the WOOT 2015 workshop which might offer a better explanation of this whole process.

If you’re still wondering who [Bruce Land] is and want a bit of a primer on some of these topics, then check out our previous coverage. If this theoretical stuff is a bit heavy (i.e. boring) then some of the projects have a more practical bent, such as the critical task of colour-sorting skittles.

Thumbnail image: Thomas Glau, CC BY-SA 4.0.

Hack a Day 21 Jan 03:00

Arduino-Powered Info Display For Your Windows Computer

If you’ve been pining for a retro-chic 16×2 LCD display to enhance your Windows computing experience, then [mircemk] has got you covered with their neat Windows-based LCD Info Panel.

Your everyday garden variety Arduino is the hero here, sitting between the computer’s USB port and the display to make the magic happen. Using the ‘LCD Smartie‘ software, the display can serve up some of your typical PC stats such as CPU and network utilization, storage capacity etc. It can also display information from BBC World News, email clients, various computer games and a world of other sources using plugins.

It’s clear that the intention here was to include the display inside your typical PC drive bay, but as you can see in the video below, this display can just about fit anywhere. It’s not uncommon to see similar displays on expensive ‘gamer’ peripherals, so this might be an inexpensive way for someone to bring that same LED-lit charm to their next PC build. You probably have these parts sitting in your desk drawer right now.

If you want to get started building your own, there’s more info over on the Hackaday.io page. And if PC notifications aren’t your jam, it’s worth remembering that these 16×2 displays are good for just about anything, like playing Space Invaders.

Get Pumped for This Miniature Gym

[Duncan McIntyre] lives in the UK but participated in a secret Santa gift exchange for his Dutch friends’ Sinterklaas celebration. In traditional maker fashion, [Duncan] went overboard and created a miniature gym gift box, complete with flashing lights, music and a motorized lid.

[Duncan] used [TanyaAkinora]’s 3D printed tiny gym to outfit the box with tiny equipment, with a tiny mirror added to round out the tiny room. An ATmega328P was used as the main microcontroller to drive the MP3 player module and A4988 stepper motor controller. The stepper motor was attached to a drawer slide via a GT2 timing belt and pulley to actuate the lid. Power is provided through an 18V, 2A power supply with an LM7805 providing power to the ATmega328P and supporting logical elements. As an extra flourish, [Duncan] added some hardware audio signal peak detection, fed from the speaker output, which was then sampled by the ATmega328P to be able to flash the lights in time with the playing music. A micro switch detects when the front miniature door is opened to begin the sequence of lights, song and lid opening.

[Duncan] provides source on GitHub for those curious about the Arduino code and schematics. We’re fans of miniature pieces of ephemera and we’ve featured projects ranging from tiny 3D printed tiny escalators to tiny arcade cabinets.

Video after the break!

Arduino Synthesizer Uses Modified Slide Pots

There comes a point in every Arduino’s life where, if it’s lucky, it becomes a permanent fixture in a project. We can’t think of too many better forever homes for an Arduino than inside of a 3D-printed synthesizer such as this 17-key number by [ignargomez] et al.

While there are myriad ways to synthesizer, this one uses the tried-and-true method of FM synthesis courtesy of an Arduino Nano R3. In addition to the 17 keys, there are eight potentiometers here — four are used for FM synthesis control, and the other four are dedicated to attack/delay/sustain/release (ADSR) control of the sound envelope.

One of the interesting things here is that [ignargomez] and their team were short a few regular pots and modified a couple of slide pots for circular use — we wish there was more information on that. As a result, the 3D printed enclosure underwent several iterations. Be sure to check out the brief demo after the break.

Don’t have any spare Arduinos? The BBC Micro:bit likes to make noise, too.

Mouse Enjoys Its Freedom

Although it took a little while to standardize on the two-button-with-scroll-wheel setup, most computers have used a mouse or mouse-like device to point at objects on the screen since the 80s. But beyond the standard “point and click” features of the mouse, there have been very few ground-breaking innovations beyond creature comforts. At least, until the “Space Mushroom” mouse from [Shinsaku Hiura] hit our tips line.

This mouse throws away most of the features a typical mouse might have in favor of a joystick-like interface that gives it six degrees of freedom instead of the usual two — while still being about mouse-sized and held in the hand. It doesn’t even have a way of mapping motion directly to movements on the screen. Instead, it maps each degree of freedom to a similar movement of the mouse itself using these three joystick sensors physically linked together, with some underlying programming to translate each movement into the expected movement on the screen.

While this might not replace a standard mouse for every use case anytime soon, it does seem to have tremendous benefit in 3D modeling software, CAD, or anything where orienting a virtual object is the primary goal. Plus, since there’s no limit to the number of mice that can be attached to a computer (beyond USB limitations) this mouse could easily be used in conjunction with a normal mouse much like macro keyboards being used alongside traditional ones.

Thanks to [Rez] for the tip!

Kids’ Jukebox Based on Arduino with RFID

Consumer electronics aimed at young children tend to be quite janky and cheap-looking, and they often have to be to survive the extreme stress-testing normal use in this situation. You could buy a higher quality item intended for normal use, but this carries the risk of burning a hole in the pockets of the parents. To thread the needle on this dilemma for a child’s audiobook player, [Turi] built the Grimmboy for a relative of his.

Taking its name from the Brothers Grimm, the player is able of playing a number of children’s stories and fables in multiple languages, with each physically represented by a small cassette tape likeness with an RFID tag hidden in each one. A tape can be selected and placed in the player, and the Arduino at the center of it will recognize the tag and play the corresponding MP3 file stored locally on an SD card. There are simple controls and all the circuitry to support its lithium battery as well. All of the source code that [Turi] used to build this is available on the project’s GitHub page.

This was also featured at the Arudino blog as well, and we actually featured a similar project a while ago with a slightly different spin. Both are based on ideas from Tonuino, an open source project aimed at turning Arduinos into MP3 players. If you’re looking to build something with a few more features, though, take a look at this custom build based on the RP2040 microcontroller instead.

Hack a Day 17 Dec 06:00

Weasley Clock For Magically Low Cost

For those unfamiliar with the details of the expansive work of fiction of Harry Potter, it did introduce a few ideas that have really stuck in the collective conscious. Besides containing one of the few instances of time travel done properly and introducing a fairly comprehensive magical physics system, the one thing specifically that seems to have had the most impact around here is the Weasley family clock, which shows the location of several of the characters. We’ve seen these built before in non-magical ways, but this latest build seeks to drop the price tag on one substantially.

To do this, the build relies on several low-cost cloud computing solutions and smartphone apps to solve the location-finding problem. The app is called OwnTracks and is an open-source location tracker which can report data to any of a number of services. [Simon] sends the MQTT data to a cloud-based solution called HiveMQCloud, but you could send it anywhere in principle. With the location tracking handled, he turns to some very low-cost Arduinos to control the stepper motors which point the clock hands to the correct locations on the face.

While the build does rely on a 3D printer for some of the internal workings of the clock, this does bring the cost down substantially when compared to other options. Especially when compared to this Weasley family clock which was built into a much larger piece of timekeeping equipment, having an option for a lower-cost location-tracking clock face like this one is certainly welcome.

Tidy POV Display Using The ESP32

Chinese Youtuber [corebb] presents the second version of his POV display. The earlier version used 5050-sized SMT addressable LEDs, which didn’t give great resolution, so he rev’d the design to use a much higher number (160 to be exact) of APA102 LEDs. These are 2mm on the side, making them a little more difficult to handle, so after some initial solder paste wobbles, he decided to use a contract assembly house to do the tricky bit for him. This failed as they didn’t ‘understand’ the part and placed them the wrong way around! Not to be deterred, he had another go with a modified solder stencil, and eventually got the full strip to light up correctly.

Based on an ESP32 (using the Arduino stack) and SDCard for control, and a LiPo cell charged wirelessly, the build is rather tidy. A couple of hall effect switches are mounted at the start of each of the two arms, presumably lining

Real-time video streaming? Check!

up with a magnet on the case somewhere, although this isn’t clear. The schematic and PCB appear to have been designed with JLCEDA, which is a repackaging of EasyEDA. We can see the attraction with the heavy integration of this with the JLC and LCSC services. It appears that he even managed to get streamed video working — showing a live video from a webcam — which is quite an undertaking to pull off when you think how much processing needs to happen in real-time. As he alludes to in the video, trying to increase the resolution beyond this point is not viable with the processing capability of the ESP32.

A resin-printed case finishes off the build, with a screw-thread mount added to the rear, to allow typical camera mounts to be used to hold the thing down. A smart move we think.

We love POV displays around here, this spherical POV display is especially fabulous, but you don’t need fancy hardware if you have a handy ceiling fan and a bit of protoboard spare.

Thanks to [mrx23dot] for the tip!

Hack a Day 24 Nov 00:00

Better Air Quality Sensing with CO2

Measuring air quality, as anyone who has tried to tackle this problem can attest, is not as straightforward as it might seem. Even once the nebulous term “quality” is defined, most sensors use something as a proxy for overall air health. One common method is to use volatile organic compounds (VOCs) as this proxy but as [Larry Bank] found out, using these inside a home with a functional kitchen leads to a lot of inaccurate readings. In the search for a more reliable sensor, he built this project which uses CO2 to help gauge air quality.

Most of the reason that CO2 sensors aren’t used as air quality sensors is cost. They are much more expensive than VOC sensors, but [Larry] recently found one that was more affordable and decided to build this project around it. The prototype used an Arduino communicating over I2C to the sensor and an OLED screen, which he eventually put in a 3D printed case to carry around to sample CO2 concentration in various real-world locations. The final project uses a clever way of interfacing with the e-paper display that we featured earlier.

While CO2 concentration doesn’t tell the full story of air quality in a specific place, it does play a major role. [Larry] found concentrations as high as 3000 ppm in his home, which can cause a drop in cognitive function. He’s made some lifestyle changes as a result which he reports has had a beneficial impact. For human-occupied indoor spaces, CO2 can easily be the main contributor to poor air quality, and we’ve seen at least one other project to address this concern directly.

Hack a Day 22 Nov 03:00