Posts with «arduino hacks» label

Espresso Machine Now Powers Plants

This thing has what plants crave! No, not electrolytes exactly — just water, light, and moisture polling every 30 minutes. We think it’s fitting to take something that once manufactured liquid liveliness for humans and turn it into a smart garden that does the same thing for plants.

So let’s just get this out of the way: the espresso machine was abandoned because it was leaking water from a gasket. [The Plant Bot] cleaned it up, replaced the gasket, and got it brewing, and then it started leaking hot water again from the same gasket. We might have gone Office Space on this beautiful machine at that point, but not [The Plant Bot].

Down in the dirt, there’s a soil moisture sensor that’s polling every 30 minutes. If the moisture level falls below the threshold set appropriately at a life-sustaining 42%, the Arduino is triggered to water the plant through a relay board using the espresso machine’s original pump. If the plant is dry, the machine will pump water for two seconds every minute until the threshold is met. [The Plant Bot] tied it all together with a nice web interface that shows plant data and allows for changes over Bluetooth.

[The Plant Bot] started by disconnecting the heating element, because plants don’t tend to like hot steam. But if the cup warming tray along the top has a separate heating element, it might be neat to reuse it for something like growing mushrooms, or maintaining a sourdough starter if the temperature is right.

Via r/duino

Nixie Clock Claims to be Simplest Design

[Engineer2you] built a nixie tube clock and claims it is the simplest design. We felt like that was a challenge. In this design, the tubes are set up as a matrix with optoisolators on each row and column. With 60 segments, the matrix allows you to control it all with 16 bits. There are six columns, each corresponding to a digit. That means each row has 10 lines.

The Arduino code reads the clock and produces the output to the tubes fast enough that your eye perceives each digit as being always on, even though it isn’t.

It may be semantics, but part of what makes the design simple isn’t that it is simple on its own, but that it does use a small number of dense modules. For example, the clock is a DS3231, and there is a DC step up board to generate 390V for the tubes. So instead of minimizing part count, this design really minimizes how many parts you have to connect by employing modules, including the Arduino. That’s still something, though.

It looks as though the nixie tubes used are of Soviet origin. They need no more than 170V to ignite and at least 120V to stay lit. Not a problem with a simple DC to DC converter since the current is very low — on the order of 2.5 mA or so.

We suppose one day the stock of nixie tubes will be gone. But there are still people making them. Or you can do a modern version with light pipes.

Hack a Day 15 Feb 06:00

Arduino Drives a 600-Character Display

[Peterthinks] admits he’s no cabinet maker, so his projects use a lot of hot glue. He also admits he’s no video editor. However, his latest video uses some a MAX7219 to create a 600 character scrolling LED sign. You can see a video of the thing, below. Spoiler alert: not all characters are visible at once.

The heart of the project is a MAX7219 4-in-1 LED display that costs well under $10. The board has four LED arrays resulting in a display of 8×32 LEDs. The MAX7219 takes a 16-bit data word over a 10 MHz serial bus, so programming is pretty easy.

The MAX chip can decode for seven-segment displays or just allow you to light up the outputs directly, which is what the code here does. You can cascade the chips, so it is possible to string more than one of these modules together.

The code is available on Dropbox. The code is extremely simple due to the use of the Parola library and a MAX72XX library. We’ve seen a number of projects based around this chip. Some of the uses are pretty novel.

All Band Radio Uses Arduino and Si4730

It is getting harder and harder to tell homemade projects from commercial ones. A good case in point is [Mirko’s] all band radio which you can see in the video below the break. On the outside, it has a good looking case. On the inside, it uses a Si4730 radio which has excellent performance that would be hard to get with discrete components.

The chip contains two RF strips with AGC, built-in converters to go from analog to digital and back and also has a DSP onboard. The chip will do FM 64 to 108 MHz and can demodulate AM signals ranging from 153 kHz to 279 kHz, 520 kHz to 1.71 MHz, and 2.3 MHz to 26.1 MHz. It can even read RDS and RBDS for station information. The output can be digital (in several formats) or analog.

The radio takes serial (I2C) commands, and the Arduino converts the user interface so that you can control it. The chip comes in several flavors, each with slightly different features. For example, the Si4731 and Si4735 have the RDS/RBDS decoder, and the shortwave mode is available on Si4734 and Si4735. Confused? Page 2 of the programming guide should help. According to [Mirko], he used a 4730, but it still did shortwave with the 4735 library.

Breakout boards with the chip are just a few bucks. It appears the chip has the technical capability to receive single sideband, but it requires a poorly documented patch. It is in recent versions of this library, though.

We always smile when we think that AM is still alive and kicking. Perhaps this is the modern take on that first crystal radio project.

Hack a Day 13 Feb 03:00

Tool Writes Your PWM Code for You

The good thing about computers is they do your work for you, right? If you are a programmer, that doesn’t always seem to be a true statement. [Runtimemicro] has the answer, at least if you are writing PWM code for the Arduino. Their free application lets you set a few parameters, visually see the results, and then generates code for you. You can see a video of the tool in operation, below.

According to their site, the tool works for timers 1 through 5 on an Arduino Nano, Uno, or Mega2560. The app appears to work on Windows, but it doesn’t look like it would have any trouble running under Wine on other platforms.

There are only a few inputs: the clock speed, which timer you want to use, and the mode. You also have to specify the frequency in Hz or the period in milliseconds. You can also select a few options, including if you want interrupt code generated.

Once the timer shows up in the graphical display, you can adjust some sliders to get the exact PWM duty cycle you want. Of course, you can also skip the PWM code and just use the timer interrupts for timing.

It isn’t that the timer code or PWM isn’t workable without a tool. But then again, you don’t really need an assembler or a compiler — it just makes things easier. There are a few nuances, though. If you want to dig through the generated code, you might find [Jack’s] video interesting.

Hack a Day 06 Feb 19:30

Home Safety Monitoring With IoT

Home automation is a popular project to undertake but its complexity can quickly become daunting, especially if you go further than controlling a few lights (or if you’re a renter). To test the waters you may want to start with something like this home safety monitor, which is an IoT device based on an Arduino. It allows remote monitoring of a home for things such as temperature, toxic gasses, light, and other variables, which is valuable even if you don’t need or want to control anything.

The device is built around an Arduino Nano 33 IOT which has WiFi and Bluetooth capabilities as well as some integrated security features. This build features a number of sensors including pressure/humidity, a gas/smoke detector, and a light sensor. To report all of the information it gathers around the home, an interface with Ubidots is configured to allow easy (and secure) access to the data gathered by the device.

The PCB and code for the project are all provided on the project page, and there are a number of other options available if Ubidots isn’t your preferred method of interfacing with the Internet of Things. You might even give Mozilla’s WebThings a shot if you’re so inclined.

A Simple App Controlled Door Lock

[Adnan.R.Khan] had a sliding door latch plus an Arduino, and hacked together this cool but simple app controlled door lock.

Mechanically the lock consists of a Solarbotics GM3 motor, some Meccano, and a servo arm. A string is tied between two pulleys and looped around the slide of a barrel latch. When the motor moves back and forth it’s enough to slide the lock in and out. Electronically an Arduino and a Bluetooth module provide the electronics. The system runs from a 9V battery, and we’re interested to know whether there were any tricks pulled to make the battery last.

The system’s software is a simple program built in MIT App Inventor. Still, it’s pretty cool that you can get functionally close to a production product with parts that are very much lying around. It also makes us think of maybe keeping our childhood Meccano sets a little closer to the bench!

Hack a Day 17 Jan 06:00

New Part Day: Arduino Goes Pro with the Portenta H7

The Consumer Electronics Show in Las Vegas is traditionally where the big names in tech show off their upcoming products, and the 2020 show was no different. There were new smartphones, TVs, and home automation devices from all the usual suspects. Even a few electric vehicles snuck in there. But mixed in among flashy presentations from the electronics giants was a considerably more restrained announcement from a company near and dear to the readers of Hackaday: Arduino is going pro.

While Arduino has been focused on the DIY and educational market since their inception, the newly unveiled Portenta H7 is designed for professional users who want to rapidly develop robust hardware suitable for industrial applications. With built-in wireless hardware and the ability to run Python and JavaScript out of the box, the powerful dual-core board comes with a similarly professional price tag; currently for preorder at $99 USD a pop, the Portenta is priced well outside of the company’s traditional DIY and educational markets. With increased competition from other low-cost microcontrollers, it seems that Arduino is looking to expand out of its comfort zone and find new revenue streams.

That’s a Lot of Pins

The Portenta H7 is obviously a far cry from the relatively dinky 8-bit Arduinos that we’ve all got filling up our parts drawers. Developed for high performance edge computing applications, the new board is powered by a 32-bit STM32H747XI that utilizes both an ARM Cortex M7 and an M4 running at 480 MHz and 240 MHz respectively. The two cores can work independently, allowing for example one core to run interpreted Python while the other runs code compiled in the Arduino IDE. When they need to work together, the cores can communicate with each other via a Remote Procedure Call (RPC) mechanism.

The new 80-pin connectors on the Portenta

Outwardly, the new board doesn’t look far removed from the modern Arduino form factor we’re used to. The USB connector has been upgraded to a Type-C, but the Portenta still retains the dual rows of pads ready for hand-soldered headers — that’s their more recent pinout that they call the Arduino MKR form factor.

If you look on the back of the board however, you’ll see that they’ve added two 80-pin high density connectors. According to the product page, these are intended to allow the Portenta to simply be plugged into a device as a removable module. The idea being that devices in the field can easily have their Portenta swapped out for an upgraded model. Some digging into the product page documentation section turns up a schematic that lists the connectors as Hirose DF40C-80DP-0.4V(51).

The base model Portenta features 8 MB SDRAM and 16 MB NOR flash, but it can be custom ordered with up to 64 MB of memory and 128 MB of flash should you need it. It’s also possible to delete various interfaces from the board when ordering, so if you don’t want network connectivity or the NXP SE050C2 crypto chip, they can simply be left off. However as of this writing it is unclear as to what minimum order quantity is necessary to unlock this level of customization, or or how much these modifications will change the unit cost.

Year of the Arduino Desktop?

The Portenta Carrier Board

The Portenta H7 is an impressive enough piece of hardware on its own, but when it’s plugged into the optional Carrier Board, things really start to get interesting. The Carrier Board provides full size connectors for all of the onboard peripherals, and according to documentation, turns the Portenta into an eNUC-class embedded computer. There’s even support for DisplayPort to connect a monitor, and miniPCI for expansion cards.

With a fully loaded Portenta H7 slotted into the Carrier Board, it would seem you have the makings of a low-power ARM “desktop” computer. Albeit one that wouldn’t outperform the Raspberry Pi Zero, and which costs several times more.

The Arduino press release and product page doesn’t make any mention of what kind of software or operating system said computer would run, so presumably that’s left as an exercise for the customer. While not particularly well suited to it, the ARM Cortex-M family of processors is capable of running the Linux kernel, so spinning up a “real” OS image for it should be possible. Of course with a maximum of just 64 MB of RAM, you’ll want to keep your performance expectations fairly low.

Where Does Portenta Fit?

We can’t even speculate what a maxed out Portenta would cost, and there’s no pricing or release date for the Carrier Board. But even at $99, the base model Portenta H7 would be a tough sell for hackers and makers who are used to buying dual-core ESP32 boards at 1/10 of the price, or the Teensy 4.0 which has a 600 MHz Cortex-M7 at 1/4 of the price. Which is fine, since this board isn’t intended for the traditional core Arduino audience.

Seeing the carrier board, we can’t help but notice some parallels here with the Raspberry Pi Compute Module. With connections broken out to a SODIMM header, the idea of the Computer Module was to help bridge the gap between the DIY community and the commercial one by offering up a Raspberry Pi in a more rugged form factor that would be easier to integrate into end-user products. But since it wasn’t any cheaper than the stock Pi, there wasn’t a whole lot of incentive to switch over. We haven’t seen consumer products advertising “Raspberry Pi Inside!” so it’s hard to tell if there has been any meaningful adoption from industry.

One has to wonder why any company that has the resources to integrate such an expensive board into their products wouldn’t just come up with their own custom design around the Portenta’s STM32H747XI chip, which even in single quantities, can currently be had for less than $15. The difference may end up coming down to the world-renowned community that surrounds the Arduino brand, and the company’s efforts to modernize their toolchain.

Active Suspension R/C Car Really Rocks

When you’re a kid, remote control cars are totally awesome. Even if you can’t go anywhere by yourself, it’s much easier to imagine a nice getaway from the daily grind of elementary school if you have some wheels. And yeah, R/C cars are still awesome once you’re an adult, but actual car-driving experience will probably make you yearn for more realism.

What could be more realistic and fun than an active suspension? Plenty of adults will never get the chance to hit the switches in real car, but after a year of hard work, [snoopybg] is ready to go front and back, side to side, and even drift in this super scale ’63 Oldsmobile Dynamic 88 wagon. We think you’ll agree that [snoopybg] didn’t miss a detail — this thing makes engine noises, and there are LEDs in the dual exhaust pipes to simulate flames.

An Arduino reads data from a triple-axis accelerometer in real time, and adjusts a servo on each wheel accordingly, also in real time, to mimic a real car throwing its weight around on a real suspension system. If that weren’t cool enough, most of the car is printed, including the tires. [snoopybg] started with a drift car chassis, but even that has been hacked and drilled out as needed.

There are a ton of nice pictures on [snoopybg]’s site if you want to see what’s under the hood. We don’t see the code anywhere, but [snoopybg] seems quite open to publishing more details if there is interest out there. Strap yourself in and hold on tight, because we’re gonna take this baby for a spin after the break.

If this is all seems a bit much for you, but you’ve got that R/C itch again, there’s a lot to be said for upgrading the electronics in a stock R/C car.

Via r/duino

Plucky Kalimba Plays Itself

[Gurpreet] fell in love with the peaceful, floaty theme from the Avatar series and bought a kalimba so he could hear it resonate through his fingertips. He soon realized that although it’s nice to play the kalimba, it would be a lot cooler if it played itself. Then he could relax and enjoy the music without wearing out his thumbs.

After doing a bit of experimentation with printing tine-plucking extensions for the servo horns, [Gurpreet] decided to start the design process by mounting the servos on a printed base. The servos are slotted into place by their mounting tabs and secured with hot glue. We think this was a good choice — it’s functional and it looks cool, like a heat sink.

[Gurpreet]’s future plans include more servos to pluck the rest of the tines, and figuring out how feed it MIDI and play it real time. For the demo after the break, [Gurpreet] says he lapel mic’d the kalimba from the back and cut out the servo noise with Audacity, but ultimately wants to figure out how to quiet them directly. He’s going to try lubing the gears and making a sound-dampening enclosure with foam, but if you have any other ideas, let him know down below.

We don’t see too many kalimba projects around here, but here’s one connected to a Teensy-based looper.

Via [r/arduino]