Posts with «arduino hacks» label

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”.

A Robotic Arm For Those Who Like Their Kinematics Both Ways

A robotic arm is an excellent idea if you’re looking to get started with electromechanical projects. There’s linkages to design, and motors to drive, but there’s also the matter of control. This is referred to as “kinematics”, and can be considered in both the forward and inverse sense. [aerdronix] built a robotic arm build that works in both ways.

The brains of the build is an Arduino Yun, which receives commands over the USB interface. Control is realised through the Blynk app, which allows IoT projects to easily build apps for smartphones that can be published to the usual platforms.

The arm’s position is controlled in two fashions. When configured to use inverse kinematics, the user commands an end effector position, and the arm figures out the necessary position of the linkages to make it happen. However, the arm can also be used in a forward kinematics mode, where the individual joint positions are commanded, which then determine the end effector’s final position.

Overall, it’s a well-documented build that lays out everything from the basic mechanical design to the software and source code required to control the system. It’s an excellent learning resource for the newcomer, and such an arm could readily be used in more complex projects.

We see plenty of robotic arms around these parts, like this fantastic build based on an IKEA lamp. If you’ve got one, be sure to hit up the tip line. Video after the break.

Hack a Day 19 Oct 12:00

Flash: Arduino Vidor FPGA Instructions Hit France

If you speak French and you have an Arduino Vidor 4000, you are in luck because there’s some good news. The good news is there’s finally some inside information about how to configure the onboard FPGA yourself. The bad news though is that it is pretty sparse. If your high school French isn’t up to the task, there’s always Google Translate.

We knew some of this already. You’ll need Quartus, the FPGA design tool from Altera — er, Intel — and we know about the sample project on GitHub, too. Instead of using conventional Verilog or VHDL, the new information uses schematic capture, but that’s OK. All the design entry winds up in the same place, so it should be easy to adapt to the language of your choice. In fact, in part 2 they show both some schematics and some Verilog. Google Translate does have a little trouble with code comments, though. If you want something even stouter, there’s an example that uses Verilog to output a video frame.

The real question has been: how do you get the bitstream into the FPGA without surgery on the board? There’s a Java application (Zip download) that builds a .H file for you. Including that in your sketch will cause the Arduino to load the FPGA for you. There are still not a lot of details about how that works — we think there’s almost an FPGA bootloader that stays loaded and then gets the rest of the configuration like this.

In addition, there is a warning at the end:

Under no circumstances should you reconfigure the PA20 port of the SAMD21 output. This one is already used as output by the FPGA.

We can imagine that there are other gotchas, so if you start experimenting you are taking some chance of blowing up or bricking your Arduino.

Still, this is great news! We’ve been itching to play with the onboard FPGA and this should answer enough questions to work out the rest of the details. All the examples, including a DVI output example, are linked on one download page.

If you are wanting to learn more about the hardware, we covered it. We also have some FPGA boot camps that would help you get started with FPGAs in general.

Hack a Day 14 Oct 15:00
arduino  arduino hacks  fpga  max10  news  quartus  vidor  

A New Tilt on RC Car Controllers

If you are a lover of all-things remote-conteolled, it’s likely that you know a thing or two about controllers. You’ll have one or two of the things, both the familiar two-joystick type and the pistol-grip variety. But had you ever considered that there m ight be another means to do it? [Andrei] over at ELECTRONOOBS has posted a guide to a tilt-controlled RC car. It is a good example of how simple parts can be linked together to make something novel and entertaining, and a great starter project for an aspiring hacker.

An Arduino Nano reads from an accelerometer over an I2C bus, and sends commands over a wireless link, courtesy of a pair of HC-12 wireless modules.  Another Nano mounted to the car decodes the commands, and uses a pair of H-bridges, which we’ve covered in detail, to control the motors.

The tutorial is well done, and includes details on the hardware and all the code you need to get rolling.  Check out the build and demo video after the break.

We’d love to see this idea turned up to 11 by using a more capable base vehicle, and finer controls on the steering– A Honda Civic perhaps?

[Thanks to Baldpower for the tip!]

Hack a Day 03 Oct 06:00

A Better Battery Arduino

We’ve seen [Johan]’s AA-battery-sized Arduino/battery crossover before, but soon (we hope!) there will be a new version with more MIPS in the same unique form factor! The original Aarduino adhered to classic Arduino part choices and was designed to run as the third “cell” in a 3 cell battery holder to relay temperature readings via a HopeRF RFM69CW. But as [Johan] noticed, it turns out that ARM development tools are cheap now. In some cases very cheap and very open source. So why not update an outstanding design to something with a little more horsepower?

The Aarduino Zero uses the same big PTH battery terminals and follows the same pattern as the original design; the user sticks it in a battery holder for power and it uses an RFM69CW for wireless communication. But now the core is an STM32L052, a neat low power Cortex-M0+ with a little EEPROM onboard. [Johan] has also added a medium size serial flash to facilitate offline data logging or OTA firmware update. Plus there’s a slick new test fixture to go along with it all.

So how do you get one? Well… that’s the rub. It looks like when this was originally posted at the end of 2017 [Johan] was planning to launch a Crowd Supply campaign that hasn’t quite materialized yet. Until that launches the software sources for the Zero are available, and there are always the sources from the original Aarduino to check out.

Maker Faire NY: Developing for the Final Frontier

The cost of getting a piece of hardware into space is now cheaper than ever, thanks in no small part to the rapid progress that’s been made by commercial launch providers such as SpaceX. In the near future, as more low-cost providers come online, it should get even cheaper. Within a few years, we could be seeing per kilogram costs to low Earth orbit that are 1/10th what they were on the Space Shuttle. To be sure, this is a very exciting time to be in the business of designing and building spacecraft.

But no matter how cheap launches to orbit get, it’ll never be cheaper than simply emailing some source code up to the International Space Station (ISS). With that in mind, there are several programs which offer students the closest thing to booking passage on a Falcon 9: the chance to develop software that can be run aboard the Station. At the 2018 World Maker Faire in New York we got a chance to get up close and personal with functional replicas of the hardware that’s already on orbit, known in space parlance as “ground units”.

On display was a replica of one of the SPHERES free-flying satellites that have been on the ISS since 2006. They are roughly the size of a soccer ball and utilize CO2 thrusters and ultrasonic sensors to move around inside of the Station. Designed by MIT as a way to study spaceflight techniques such as docking and navigation without the expense and risk of using a full scale vehicle, the SPHERES satellites are perhaps the only operational spacecraft to have never been exposed to space itself.

MIT now runs the annual “Zero Robotics” competition, which tasks middle and high school students with solving a specific challenge using the SPHERES satellites. Competitors run their programs on simulators until the finals, which are conducted using the real hardware on the ISS and live-streamed to schools.

We also saw hardware from “Quest for Space”, which is a company offering curricula for elementary through high school students which include not only the ground units, but training and technical support when and if the school decides to send the code to the matching hardware on the Station. For an additional fee, they will even work with the school to design, launch, and recover a custom hardware experiment.

Their standard hardware is based on off-the-shelf platforms such as Arduino and LEGO Mindstorms EV3, which makes for an easy transition for school’s existing STEM programs. The current hardware in orbit is setup for experiments dealing with heat absorption, humidity, and convection, but “Quest for Space” notes they change out the hardware every two years to provide different experiment opportunities.

Projects such as these, along with previous efforts such as the ArduSat, offer a unique way for the masses to connect with space in ways which would have been unthinkable before the turn of the 21st century. It’s still up for debate if anyone reading Hackaday in 2018 will personally get a chance to slip Earth’s surly bonds, but at least you can rest easy knowing your software bugs can hitch a ride off the planet.

DIY Puff-Suck Interface Aims for Faster Text Input

Puff and Suck (or Sip and Puff) systems allow people with little to no arm mobility to more easily interact with computers by using a straw-like unit as an input device. [Ana] tells us that the usual way these devices are used to input text involves a screen-based keyboard; a cursor is moved to a letter using some method (joystick, mouse emulator, buttons, or eye tracking) and that letter is selected with a sip or puff into a tube.

[Ana] saw such systems as effective and intuitive to use, but also limited in speed because there’s only so fast that one can select letters one at a time. That led to trying a new method; one that requires a bit more work on the user’s part, but the reward is faster text entry. The Puff-Suck Interface for Fast Text Input turns a hollow plastic disk and a rubber diaphragm into bipolar pressure switch, able to detect three states: suck, puff, and idle. The unit works by having an IR emitter and receiver pair on each side of a diaphragm (one half of which is shown in the image above). When air is blown into or sucked out of the unit, the diaphragm moves and physically blocks one or the other emitter-receiver pair. The resulting signals are interpreted by an attached Arduino.

How does this enable faster text input? By throwing out the usual “screen keyboard” interface and using Morse code, with puffs as dots and sucks as dashes. The project then acts as a kind of Morse code keyboard. It does require skill on the user’s part, but the reward is much faster text entry. The idea got selected as a finalist in the Human-Computer Interface Challenge portion of the 2018 Hackaday Prize!

Morse code may seem like a strange throwback to some, but not only does the bipolar nature of [Ana]’s puff-suck switch closely resemble that of Morse code input paddles, it’s also easy to learn. Morse code is far from dead; we have pages of projects and news showing its involvement in everything from whimsical projects to solving serious communication needs.

Cat Robot’s Secret to Slim Legs? Banish the Motors!

The first thing to notice about [Bijuo]’s cat-sized quadruped robot designs (link is in Korean, Google translation here) is how slim and sleek the legs are. That’s because unlike most legged robots, the limbs themselves don’t contain any motors. Instead, the motors are in the main body, with one driving a half-circle pulley while another moves the limb as a whole. Power is transferred by a cable acting as a tendon and is offset by spring tension in the joints. The result is light, slim legs that lift and move in a remarkable gait.

[Bijuo] credits the Cheetah_Cub project as their original inspiration, and names their own variation Mini Serval, on account of the ears and in keeping with the feline nomenclature. Embedded below are two videos, the first showing leg and gait detail, and the second demonstrating the robot in motion.

There’s more than one way to make a robot cat, of course, and here’s another design that doesn’t completely evict motors from the limbs, but still manages to keep them looking sleek and nimble.

[via Let’s Make Robots]

SMART Response XE Gets Wireless Bootloader

A few months back we first brought word of the progress being made in unlocking the SMART Response XE, an ATmega128RFA powered handheld computer that allowed teachers to create an interactive curriculum in the days before all the kids got Chromebooks. Featuring 2.4 Ghz wireless communication, a 384×160 LCD, and a full QWERTY keyboard, schools paid around $100 each for them 2010. Now selling for as little as $5 on eBay, these Arduino-compatible devices only need a little coaxing and an external programmer to get your own code running.

The previous post inspired [Larry Bank] to try his hand at hacking the SMART Response XE, and so far he’s made some very impressive progress. Not only has he come up with his own support library, but he’s also created a way to upload Arduino code to the devices through their integrated 802.15.4 radio. With his setup, you no longer need to open the SMART Response XE and attach a programmer, making it much easier to test and deploy software.

[Larry] has written up a very detailed account of his development process, and goes through the trouble of including his ideas that didn’t work. Getting reliable communication between two of these classroom gadgets proved a bit tricky, and it took a bit of circling around until he hit on a protocol that worked.

The trick is that you need to use one SMART Response XE attached to your computer as a “hub” to upload code to other XEs. But given how cheap they are this isn’t that big of a deal, especially considering the boost in productivity it will net you. [Larry] added a 5 x 2 female header to his “hub” XE so he could close the device back up, and also added a physical power switch. In the video after the break, you can see a demonstration of the setup sending a simple program to a nearby XE.

Between this wireless bootloader and the Arduboy compatibility covered previously, we’d suggest you get your SMART Response XE now. We wouldn’t be surprised if the prices of these things start going up like they did with the IM-ME.