Hands On With The Arduino FPGA

All of the tools you need to work with the FPGA Arduino — the Vidor — are now in the wild!

We reported earlier that a series of French blog posts finally showed how all the pieces fit together to program the FPGA on the Arduino MKR4000 Vidor board. Of course, I wasn’t content to just read the Google translation, I had to break out the board and try myself.

I created a very simple starter template, a tool in C to do the bitstream conversion, required, and bundled it all together in one place. Here’s how you can use my starter kit to do your own FPGA designs using the Vidor. I’m going to assume you know about FPGA basics and Verilog. If you don’t, why not check out the FPGA boot camps first?

The first thing you’ll want to do is grab my GitHub repo. You’ll also need the Arduino IDE (a recent copy) and Intel’s Quartus software. Inside, you’ll find three directories, two of which contain slightly modified copies of original Arduino files. But before you start digging in, let’s get the high-level overview of the process.

Continue reading “Hands On With The Arduino FPGA”

Spooky Animated Eyes For Your Frightening Needs

Unless you have an incredibly well-stocked parts bin, it’s probably too late to build these spooky animated eyes to scare off the neighborhood kiddies this year. But next year…

It’s pretty clear that Halloween decorating has gone over the top recently. It may not be as extreme as some Christmas displays, but plenty of folks like to up the scare-factor, and [wermy] seems to number himself among those with the spirit of the season. Like Christmas lights, these eyes are deployed as a string, but rather than just blink lights, they blink creepy eyes from various kinds of creatures. The eyes are displayed on individual backlit TFT-LCD displays housed in 3D-printed enclosures. Two pairs of eyes can be driven by the SPI interface of one ItsyBitsy M0 Express; driving more displays works, but the frame rate drops to an unacceptable level if you stretch it too far. Strung together on scraps of black ethernet cable, the peepers can live in the shrubs next to the front door or lining the walk, and with surprisingly modest power needs, you’ll get a full night of frights from a USB battery bank.

We like the look of these, and maybe we’ll do something about it next year. If you’re still in the mood to scare and don’t have the time for animated eyes this year, try these simple Arduino blinky eyes for a quick hit.

Continue reading “Spooky Animated Eyes For Your Frightening Needs”

Want To Learn Ethernet? Write Your Own Darn AVR Bootloader!

There’s a school of thought that says that to fully understand something, you need to build it yourself. OK, we’re not sure it’s really a school of thought, but that describes a heck of a lot of projects around these parts.

[Tim] aka [mitxela] wrote kiloboot partly because he wanted an Ethernet-capable Trivial File Transfer Protocol (TFTP) bootloader for an ATMega-powered project, and partly because he wanted to understand the Internet. See, if you’re writing a bootloader, you’ve got a limited amount of space and no device drivers or libraries of any kind to fall back on, so you’re going to learn your topic of choice the hard way.

[Tim]’s writeup of the odyssey of cramming so much into 1,000 bytes of code is fantastic. While explaining the Internet takes significantly more space than the Ethernet-capable bootloader itself, we’d wager that you’ll enjoy the compressed overview of UDP, IP, TFTP, and AVR bootloader wizardry as much as we did. And yes, at the end of the day, you’ve also got an Internet-flashable Arduino, which is just what the doctor ordered if you’re building a simple wired IoT device and you get tired of running down to the basement to upload new firmware.

Oh, and in case you hadn’t noticed, cramming an Ethernet bootloader into 1 kB is amazing.

Speaking of bootloaders, if you’re building an I2C slave device out of an ATtiny85¸ you’ll want to check out this bootloader that runs on the tiny chip.

Burn Some Time With This Arduino Reddit Browser

If you’re like us, you probably spend more time browsing Reddit than you’d like to admit to your friends/family/boss/therapist. A seemingly endless supply of knowledge, wisdom, and memes; getting stuck on Reddit is not unlike looking something up on Wikipedia and somehow managing to spend the next couple hours just clicking through to new pages. But we’re willing to bet that none of us love browsing Reddit quite as much as [Saad] does.

He writes in to tell us about the handheld device he constructed which lets him view random posts from the popular /r/showerthoughts sub. Each press of the big red button delivers another slice of indispensable Internet wisdom, making it a perfect desk toy to fiddle with when you need a little extra push to get you through the day. Like one of those “Word a Day” calendars, but one that you’ll actually read.

For those curious as to how [Saad] is scraping Reddit with an Arduino, the short answer is that he isn’t. Posts are pulled from Reddit using an online tool created for the project by his wife (/r/relationshipgoals/), and dumped into a text file that can be placed on the device’s SD card. With 1500 of the all-time highest rated posts from /r/showerthoughts onboard, he should be good on content for awhile.

[Saad] has done an excellent job documenting the hardware side of this build, providing plenty of pictures as well as a list of the parts he used and a few tips to help make assembly easier. Overall it’s not that complex a project, but his documentation is a big help for those who might not live and breathe this kind of thing.

For the high-level summary: it uses an Arduino Pro Mini, a ILI9341 screen, and a 3.3 V regulator to step down 5 V USB instead of using batteries. A bit of perfboard, a 3D printed case, and a suitably irresistible big red button pulls the whole thing together.

We’ve seen a similar concept done in a picture frame a couple of years back, but if that’s not interactive enough you could always build yourself a Reddit “controller”.

Kinetic Sculpture Achieves Balance Through Machine Learning

We all know how important it is to achieve balance in life, or at least so the self-help industry tells us. How exactly to achieve balance is generally left as an exercise to the individual, however, with varying results. But what about our machines? Will there come a day when artificial intelligences and their robotic bodies become so stressed that they too will search for an elusive and ill-defined sense of balance?

We kid, but only a little; who knows what the future field of machine psychology will discover? Until then, this kinetic sculpture that achieves literal balance might hold lessons for human and machine alike. Dubbed In Medio Stat Virtus, or “In the middle stands virtue,” [Astrid Kraniger]’s kinetic sculpture explores how a simple system can find a stable equilibrium with machine learning. The task seems easy: keep a ball centered on a track suspended by two cables. The length of the cables is varied by stepper motors, while the position of the ball is detected by the difference in weight between the two cables using load cells scavenged from luggage scales. The motors raise and lower each side to even out the forces on each, eventually achieving balance.

The twist here is that rather than a simple PID loop or another control algorithm, [Astrid] chose to apply machine learning to the problem using the Q-Behave library. The system detects when the difference between the two weights is decreasing and “rewards” the algorithm so that it learns what is required of it. The result is a system that gently settles into equilibrium. Check out the video below; it’s strangely soothing.

We’ve seen self-balancing systems before, from ball-balancing Stewart platforms to Segway-like two-wheel balancers. One wonders if machine learning could be applied to these systems as well.

Continue reading “Kinetic Sculpture Achieves Balance Through Machine Learning”

Faux Walkie-Talkie For Comedy Walking Tour Is A Rapid Prototyping Win

Chances are good that a fair number of us have been roped into “one of those” projects before. You know the type: vague specs, limited budget, and of course they need it yesterday. But you know 3D-printers and Raspberduinos and whatnot; surely you can wizard something together quickly. Pretty please?

He might not have been quite that constrained, but when [Sean Hodgins] got tapped to help a friend out with an unusual project, rapid prototyping skills helped him create this GPS-enabled faux-walkie talkie audio player. It’s an unusual device with an unusual purpose: a comedic walking tour of Vancouver “haunted houses” where his friend’s funny ghost stories are prompted by location. The hardware to support this is based around [Sean]’s useful HCC module, an Arduino-compatible development board. With a GPS module for localization and a VS1053 codec, SD card reader, and a small power amp for the audio end, the device can recognize when the user is within 50 meters of a location and play the right audio clip. The housing is a 3D-printed replica of an old toy walkie-talkie, complete with non-functional rubber ducky antenna.

[Sean]’s build looks great and does the job, although we don’t get to hear any of the funny stuff in the video below; guess we’ll have to head up to BC for that. That it only took two weeks start to finish is impressive, but watch out – once they know you’re a wizard, they’ll keep coming back. Continue reading “Faux Walkie-Talkie For Comedy Walking Tour Is A Rapid Prototyping Win”

Building An Electric Scooter That’s Street Legal, Even In Germany

Sometimes a successful project isn’t only about making sure all the electrons are in the right place at the right time, or building something that won’t collapse under its own weight. A lot of projects involve a fair amount of social engineering to be counted as a success, especially those that might result in arrest and incarceration if built as originally planned. Such projects are often referred to as “the fun ones.”

For the past few months, we’ve been following [Bitluni]’s DIY electric scooter build, which had been following the usual trajectory for these things – take a stock unpowered scooter, replace the rear wheel with a 250 W hub motor, add an ESC, battery, and throttle, and away you go. Things took a very interesting turn, however, when his street testing ran afoul of German law, which limits small electric vehicles to a yawn-inducing 6 kph. Unwilling to bore himself to death thus, [Bitluni] found a workaround: vehicles that are only assisted by an electric motor have a much more reasonable speed limit of 25 kph. So he added an Arduino with a gyro and accelerometer module and wrote a program to only power the wheel after the rider has kicked the scooter along a few times – no throttle needed. The motor stops after a bit, needing another push or two to kick it back on. A brake lever kills the motor, as does laying the scooter on its side. It’s quite a clever design, and while it might not keep the Polizei at bay, you can’t say he didn’t try.

[Bitluni] has quite a range of builds, from software-defined television to bad 3D-scanners to precision wine glass whacking. You should check out his stuff. Continue reading “Building An Electric Scooter That’s Street Legal, Even In Germany”