Posts with «arduino hacks» label

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]

Arduino Pedometer Counts Your Steps

There’s a trend in corporate America that has employees wear a step counter — technically a pedometer — and compete in teams to see who can get the most number of steps. We wonder how many people attach the device to an electric drill and win the competition easily. However if you want to do your own measurements, [Ashish Choudhary] has plans for making a pedometer with an Arduino. The device isn’t tiny, but as you can see in the video below it seems to work.

For the extra size, you do get some features. For one, there is a 16×2 LCD display and an ADXL335 accelerometer, and you can probably imagine some other cool features for such a device.

The Arduino computes the magnitude of the acceleration, and if it exceeds a certain threshold it adds a step to the step count. Honestly, this is a fun project but it cries out for a more compact form factor. An ESP8266 for example could ditch the display and connect via WiFi to your phone. Then again, your phone can probably do the same job, as could not to mention many smartwatches. But those don’t have nearly as much geek cred as this project.

This is a little large for a hamster. On the other hand, there’s plenty you can do with the accelerometer after you’ve had enough fun counting steps.

Arduino Wristwatch Has LED Hands

When you read “Arduino wristwatch”, you fall into the trap of envisioning an Arduino UNO clumsily strapped to someone’s wrist. [Marijo Blažević’s] creation is much more polished than that. A round circuit board holds two surface mount ICs and 12 LEDs. The whole thing looks nice fit snugly inside of a watch body. It isn’t a Rolex, but it does have considerable geek cred without being unwearable in polite company.

Once IC is an AVR micro, of course. The other is a DS3231 real time clock with built-in crystal. A CR2032 keeps it all running. The main body, the outer ring, the bottom, and the buttons are 3D printed in PLA. The crystal and the band are the only mechanical parts not printed. The bill of materials shows a 36mm crystal and even provides links for all the parts.

You don’t want to run LEDs all the time because it is bad on the battery. When you press the button once, you get one of the LEDs to light to show the hours. Another press reads the minutes in units of 5 minutes. A third press shows you one of five LEDs to show how many minutes to add. For example, if the time is 9:26 you’d get LED 9 (hours), LED 5 for 25 minutes, and the third press would show LED 1 for 1 extra minute. If either of the minute indicators show 12 o’clock, that indicates zero minutes.

The exciting thing, of course, is that you can program it beyond the code on GitHub. Already it can tell time and display the temperature. You don’t have a lot of I/O, but you ought to be able to get some more options and maybe some flashy LED blinking patterns in if you try.

Hack a Day 05 Jan 09:01

Baby’s First Jukebox is Fun for Parents, Too

Believe it or not, there’s a $400 toy mp3 player out there for kids. It looks pretty nice, with colorful buttons and a wood console and all, but those features don’t really justify the price tag. [DerThes] wanted one for his 2-year-old anyway, so he made his own ruggedized version for a whole lot less.

The simple and kid-friendly interface lets [DerThes Jr.] choose from one of nine albums to play by pushing one of the candy-colored buttons. The bottom row of buttons handle play/pause and moving through the track list. When mom and dad get tired of listening to whatever the kids are into these days, they can enter the special god mode code to access 99 of their favorite albums.

This baby boombox is built with an Arduino Uno and an Adafruit music maker shield. [DerThes] etched his own PCB to hold the buttons and the pair of shift registers needed to interface them with the Uno. If you’ve never etched before, here’s a good chance to dip your toe in the ferric chloride, because [DerThes] has the transparency in his repo and a line on a nice instructional video.

If you don’t think your toddler is ready to respect a field of momentaries, you could make a jukebox with NFC blocks.

[via Arduino blog]

Hacking An Arduino NFC Reader With WebUSB

When [gdarchen] wanted to read some NFC tags, he went through several iterations. First, he tried an Electron application, and then a client-server architecture. But his final iteration was to make a standalone reader with an Arduino and use WebUSB to connect to the application on the PC.

This sounds easy, but there were quite a few tricks required to make it work. He had to hack the board to get the NFC reader’s interrupt connected correctly because he was using a Leonardo board. But the biggest problem was enabling WebUSB support. There’s a library, but you have to change over your Arduino to use USB 2.1. It turns out that’s not hard, but there’s a caveat: Once you make this change you will need the WebUSB library in all your programs or Windows will refuse to recognize the Arduino and you won’t be able to easily reprogram it.

Once you fix those things, the rest is pretty easy. The PC side uses node.js. If you back up a level in the GitHub repository, you can see the earlier non-Arduino versions of the code, as well.

If you want to understand all the logic that went into the design, the author also included a slide show that discusses the three versions and their pros and cons. He did mention that he wanted a short-range solution so barcodes and QR codes were out. He also decided against RFID but didn’t really say why.

NFC business cards are a thing. You can also use them to catch some public transportation.

Need Hackable Melodies? Here’s The TETRIS Theme and More

[Robson Couto] started to get interested in musical projects and as a side effect created downloadable code with simple notation for a good variety of themes, songs, and melodies. They are all for the Arduino and use only the built-in tone() function, but don’t let that distract you. If you look past that, you’ll see that each sketch is a melody that consists of single notes and durations; easily adapted to other purposes or simply used as-is. After all, [Robson] wanted the source of each tune to be easily understood, easily modified, and to have no external dependencies.

All that may sound a bit like MIDI, but MIDI has much more in common with hardware events than music notation because it includes (among other things) note starts and note ends as separate elements. Converting MIDI into a more usable format was a big part of a project that fed Bach music to a neural network and got surprisingly good results.

When doing music projects, sometimes having a recognizable melody represented very simply as notes and durations with only one note at a time can be an awfully handy resource, and you can find them on GitHub. There’s a brief video of the Tetris theme (actual name: Korobeiniki) being played after the break.

Hack a Day 25 Dec 18:00

Arduino Polygraph Shows How It’s Done

Sometimes, a project comes along that makes a good reference design for anyone doing similar work. In this particular case, it’s a DIY USB polygraph-like machine by [Juangg] using an Arduino and sensors on the hardware side, and a Python front end for data visualization. It’s even complete with 3D printed enclosure and sensor elements.

[Juangg] designed it to use three sensors: a pulse sensor, a breath sensor, and one to measure Galvanic Skin Response (GSR). The pulse sensor uses a piezo element pressed against a fingertip to detect changes in pressure resulting from blood flow. It can be picky about placement, but finding sweet spot can yield remarkably good readings. The breath sensor works on a similar principle but uses a 3D printed fixture to hold the sensor between a strap and the subject’s chest, so that breathing in and out can be detected. The GSR sensor is a voltage divider used to measure small changes in skin conductivity. How well does it all work? That depends on what one is looking to get out of it, but the documentation and design files are available from the project page and the GitHub repository if anyone wants a reference for similar work.

The polygraph may have a mixed reputation, but it makes a good project that demonstrates just how messy biometrics can be from an engineering perspective. And in case you missed it, here’s a reminder that Wonder Woman and the polygraph have much more in common than you might realize.

Minimalist Mate Maker Keeps You Caffeinated

Americans love their coffee. The Brits adore their tea. In South America, the number one way to get through the day is with yerba mate, a tea made from the yerba plant. It is typically shared in a social setting, with one person preparing the beverage for everyone to enjoy. Although caffeine certainly deserves a ceremony, it never needs one. Hit the streets and you’ll see people everywhere with a thermos under one arm, keeping water hot and ready to refill the cup of mate in their hand.

The Stanley vacuum thermos is quite a popular choice for drinkers on the go, but the Argentinian government recently placed new restrictions foreign imports. [Roni Bandini] decided to build a minimum viable mate machine so he always has perfectly hot water on tap.

An Arduino Nano heats the water and displays the rising temperature on an LCD screen. When the temperature is just right, the display asks for your cup. An ultrasonic sensor detects the cup and dispenses a certain amount of water determined in the sketch. Yerba leaves can be used a few times before losing their flavor, so the machine keeps track and lets him know when it’s time to replace them. You can sip on a brief demo after the break.

Let’s say you don’t have perfectly-prepared mate, and it always comes out too hot. That’s better than too cold, but still not ideal. Why not make a temperature-sensing coaster that alerts you when it has cooled to perfection?