Posts with «arduino hacks» label

Supersize DIY R/C Servos From Windscreen Wipers

We’re all familiar with the experience of buying hobby servos. The market is awash with cheap clones which have inflated specs and poor performance. Even branded servos often fail to deliver, and sometimes you just can’t get the required torque or speed from the small form factor of the typical hobby servo.

Enter [James Bruton] and his DIY RC servo from a windscreen wiper motor. Windscreen wiper motors are cheap as chips, and a classic salvage. The motor shaft is connected to a potentiometer via a pulley and some string, providing the necessary closed-loop feedback. Instead of using the traditional analog circuitry found inside a servo, an Arduino provides the brains. This means PID control can be implemented on the ‘duino, and tuned to get the best response from different load characteristics. There’s also the choice of different interfacing options: though [James]’ Arduino code accepts PWM signals for a drop-in R/C servo replacement, the addition of a microcontroller means many other input signal types and protocols are available. In fact, we recently wrote about serial bus servos and their numerous advantages.

We particularly love this because of the price barrier of industrial servomotors; sure, this kind of solution doesn’t have the precision or torque that off-the-shelf products provide, but would be sufficient for many hacks. Incidentally, this is what inspired one of our favourite open source projects: ODrive, which focuses on harnessing the power of cheap brushless motors for industrial use.

3D Printed Arduino Bot is Limbo Master

As if we didn’t have enough to worry about in regards to the coming robot uprising, [Ali Aslam] of Potent Printables has recently wrapped up work on a 3D printed robot that can flatten itself down to the point it can fit under doors and other tight spaces. Based on research done at UC Berkeley, this robot is built entirely from printed parts and off the shelf hardware, so anyone can have their own little slice of Skynet.

On display at East Coast RepRap Festival

The key to the design are the folding “wings” which allow the robot to raise and lower itself on command. This not only helps it navigate tight spaces, but also gives it considerable all-terrain capability when it’s riding high. Rather than wheels or tracks, the design uses six rotors which look more like propellers than something you’d expect to find on a ground vehicle. These rotors work at the extreme angles necessary when the robot has lowered itself, and allow it to “step” over obstructions when they’re vertical.

For the electronics, things are about what you’d expect. An Arduino Pro Mini combined with tiny Pololu motor controllers is enough to get the bot rolling, and a Flysky FS-X6B receiver is onboard so the whole thing can be operated with a standard RC transmitter. The design could easily be adapted for WiFi or Bluetooth control if you’d rather not use RC gear for whatever reason.

Want to build your own? All of the STL files, as well as a complete Bill of Materials, are available on the Thingiverse page. [Ali] even has a series of videos on YouTube videos walking through the design and construction of the bot to help you along. Outside of the electronics, you’ll need a handful of screws and rods to complement the 50+ printed parts. Better start warming up the printer now.

As an interesting aside, we got a chance to see this little critter first hand at the recent East Coast RepRap Festival in Maryland, along with a number of other engineering marvels.

Build Your Own Portable Arduino Soldering Iron

At this point you’ve almost certainly seen one of these low-cost portable soldering irons, perhaps best exemplified by the TS100, a pocket-sized temperature controlled iron that can be had for as little as $50 USD from the usual overseas suppliers. Whether or not you’re personally a fan of the portable irons compared to a soldering station, the fact remains that these small irons are becoming increasingly popular with hackers and makers that are operating on a budget or in a small workspace.

Believing that imitation is the most sincere form of flattery, [Electronoobs] has come up with a DIY portable soldering iron that the adventurous hacker can build themselves. Powered by an ATMega328p pulled out of an Arduino Nano, if offers the same software customization options of the TS100 but at a considerably lower price. Depending on where you source your components, you should be able to build one of these irons for as little as $15.

The iron features a custom PCB and MAX6675 thermocouple amplifier to measure tip temperature. A basic user interface is provided by two tactile buttons on the PCB as well as an 128×32 I2C OLED display. In a future version, [Electronoobs] says he will look into adding some kind of sensor to detect when the iron is actually being used and put it to sleep when inactive.

The tip is sourced from a cheap soldering station replacement iron, and according to [Electronoobs], is probably the weakest element of the entire build. He’s looking into using replacement TS100 tips, but says he’ll need to redesign his electronics to make it compatible. The case is a simple 3D printed affair, which looks solid enough, but seems likely to be streamlined in later versions.

We’ve seen a number of attempts at DIY soldering irons over the years, but we have to say, this one is probably the most professional we’ve ever seen. It will be interesting to see how future revisions improve on this already strong initial showing.

A Unique Microphone Preamp

We live in a world in which nearly any kind of gadget or tool you can imagine is just a few clicks away. In many respects, this has helped fuel the maker culture over the last decade or so; now that people aren’t limited to the hardware that’s available locally, they’re able to create bigger and better things than ever before. But it can also have a detrimental effect. One has to question, for instance, why they should go through the trouble of building something themselves when they could buy it, often for less than the cost of the individual components.

The critic could argue that many of the projects that grace the pages of Hackaday could be supplanted with commercially available counterparts. We don’t deny it. But the difference between buying a turn-key product and building an alternative yourself is that you can make it exactly how you want it. That is precisely why [Sam Izdat] created this truly one of a kind microphone preamplifier. Could he have bought one online for cheaper? Probably. Could he have saved himself an immense amount of time and effort? Undoubtedly. Do we care? Not in the slightest.

The amplifier is based on the Texas Instruments INA217 chip, with an Arduino Nano and 128×64 OLED display providing the visualization. [Sam] was able to find a bare PCB for a typical INA217 implementation on eBay for a few bucks (see what we mean?), which helped get him started and allowed him to spend more time on the software side of things. His visualization code offers a number of interesting display modes, uses Fast Hartley Transforms, and very nearly maxes out the Arduino.

But perhaps no element of this build is as unique as the case. The rationale behind the design is that [Sam] wanted to compartmentalize each section of the device (power supply, amplifier, visualization) to avoid any interference. The cylindrical shapes were an issue of practicality: the compartments were constructed by using a hole saw to make wooden discs, which were then glued together and hollowed out. The case was stained and coated with polyurethane, but due to some slightly overzealous use of glue and fillers, the coloring isn’t uniform. This gives the final piece a somewhat weathered look, in sharp contrast to the decidedly high-tech looking display.

Overall, this build reminds us of the modular 3D printed amplifier we saw earlier in the year combined with these speaker-integrated Arduino VU meters.

Aquarium Controller Starring Arduino Gets A Long Video Description

There’s an old saying that the cobbler’s children have no shoes. Sometimes we feel that way because we stay busy designing things for other people or for demos that we don’t have time to just build something we want. [Blue Blade Fish] wanted to build an Arduino-based aquarium controller. He’s detailed the system in (so far) 14 videos and it looks solid.

This isn’t just a simple controller, either. It is a modular design with an Arduino Mega and a lot of I/O for a serious fish tank. There are controls for heaters, fans, lights, wave makers and even top-off valves. The system can simulate moonlight at night and has an LCD display and keys. There’s also an Ethernet port and a Raspberry Pi component that creates a web interface, data storage, and configures the system. Even fail safes have been designed into the system, so you don’t boil or freeze expensive fishes. No wonder it took 14 videos!

We really liked the moonlight which has 32 LEDs with custom switching and a shift register. In front of the LEDs is — surprise — a picture of the moon. We wondered how it would be with a 3D-printed lilthophane which might diffuse the LEDs more. Because of the shift register, it is simple to control all the lights with just a few pins.

Apparently, giving fish an idea of the ambient lighting outside is important to people who keep fish. Because of the safeguards, a bad software bug isn’t going to boil his fish. Despite the looks, apparently neither will this upcycled fish tank.

Arduino and Pidgin C++

What do you program the Arduino in? C? Actually, the Arduino’s byzantine build processes uses C++. All the features you get from the normal libraries are actually C++ classes. The problem is many people write C and ignore the C++ features other than using object already made for them. Just like traders often used pidgin English as a simplified language to talk to non-English speakers, many Arduino coders use pidgin C++ to effectively code C in a C++ environment. [Bert Hubert] has a two-part post that isn’t about the Arduino in particular, but is about moving from C to a more modern C++.

Even those of us who use C++ often use what we think of as “classic” C++. More or less the C++ that started life as a preprocessor in front of the C compiler. C++ has changed a lot since then, though. [Bert] looks mostly at useful features from the C++ 2014 standard which is widely available in compilers now. He only talks a little about some 2017 features. He doesn’t, however, talk about super new features or very specialized features that probably won’t be your first stop in a transition from C.

In particular, [Bert] doesn’t cover multiple inheritance, template metaprogramming, a big chunk of iostreams, C++ locales, user-defined literals, or exotics. Just to motivate you, he shows an example where calling the C library to sort a large array is slower than the code using C++ templates that take advantage of parallelism. While this is a special case, it does show that C++ isn’t just “another way to write the same thing.” You could write a faster sort in C, but you’d be writing a lot of code, not just pulling in a library.

What he does cover is strings, namespaces, classes, smart pointers, threads and error handling. Some of these will be more useful on the Arduino than others, but if you are writing for other platforms like a PC or a Raspberry Pi you could use all of them. He’s planning on adding more items in future installments of the series.

Meanwhile, we had our own story about modern C++ and the Arduino last year. If you want to know more about templates, we’ve talked about that, too.

TerraDome Gives Plants And Dinosaurs A New Home

Housing exotic plants or animals offer a great opportunity to get into the world of electronic automation. When temperature, light, and humidity ranges are crucial, sensors are your best friend. And if woodworking and other types of crafts are your thing on top, why not build it all from scratch. [MagicManu] did so with his Jurassic Park themed octagonal dome built from MDF and transparent polystyrene.

With the intention to house some exotic plants of his own, [MagicManu] equipped the dome with an Arduino powered control system that regulates the temperature and light, and displays the current sensor states on a LCD, including the humidity. For reasons of simplicity regarding wiring and isolation, the humidity itself is not automated for the time being. A fan salvaged from an old PC power supply provides proper ventilation, and in case the temperature inside the dome ever gets too high, a servo controlled set of doors that match the Jurassic Park theme, will automatically open up.

[MagicManu] documented the whole build process in a video, which you can watch after the break — in French only though. We’ve seen a similar DIY indoor gardening project earlier this year, and considering its simple yet practical application to learn about sensors, plus a growing interest in indoor gardening itself (pun fully intended), this certainly won’t be the last one.

Your Own Sinclair Scientific Calculator

We’ve talked about the Sinclair scientific calculator before many times, and for some of us it was our first scientific calculator. If you can’t find yours or you never had one, now you can build your own using — what else — an Arduino thanks to [Arduino Enigma]. There’s a video, below and the project’s homepage on Hackaday.io describes it all perfectly:

The original chip inside the Sinclair Scientific Calculator was reverse engineered by Ken Shirriff, its 320 instruction program extracted and an online emulator written. This project ports that emulator, written in Javascript, to the Arduino Nano and interfaces it to a custom PCB. The result is an object that behaves like the original calculator, with its idiosyncrasies and problems. Calculating PI as arctan(1)*4 yields a value of 3.1440.

Special care was taken in the design of the emulator to match the execution speed of the
original calculator, which varies from acceptable to atrocious for trigonometric functions involving small angles.

Oddly, the calculator started life as a hack on the KIM-1 UNO. However, six board revisions changed the layout quite a bit and made the emulation more and more accurate both software-wise and physically. If you fancy a close look at an original Sinclair we subjected one to a teardown.

The KIM-1 UNO board has had a lot of life poured into it. We used it as a clock and an 1802 emulator. Oscar even built off of the 1802 code to add video output.

Wiping Robots and Floors: STM32duino Cleans up

Ever find yourself with nineteen nameless robot vacuums lying around? No? Well, [Aaron Christophel] likes to live a different life, filled with zebra print robots (translated). After tearing a couple down, only ten vacuums remain — casualties are to be expected. Through their sacrifice, he found a STM32F101VBT6 processor acting as the brains for the survivors. Coincidentally, there’s a project called STM32duino designed to get those processors working with the Arduino IDE we either love or hate. [Aaron Christophel] quickly added a variant board through the project and buckled down.

Of course, he simply had to get BLINK up and running, using the back-light of the LCD screen on top of the robots. From there, the STM32 processors gave him a whole 80 GPIO pins to play with. With a considerable amount of tinkering, he had every sensor, motor, and light under his control. Considering how each of them came with a remote control, several infra-red sensors, and wheels, [Aaron Christophel] now has a small robotic fleet at his beck and call. His workshop must be immaculate by now. Maybe he’ll add a way for the vacuums to communicate with each other next. One robot gets the job done, but a whole team gets the job done in style, especially with a zebra print cleaner at the forefront.

If you want to see more of his work, he has quite a few videos on his website demonstrating the before and after of the project — just make sure to bring a translator. He even has a handy pinout for those looking to replicate his work. If you want to dive right in to STM32 programming, we have a nice article on how to get it up and debugged. Otherwise, enjoy [Aaron Christophel]’s demonstration of the eight infra-red range sensors and the custom firmware running them.

Watch The World Spin With The Earth Clock

With the June solstice right around the corner, it’s a perfect time to witness first hand the effects of Earth’s axial tilt on the day’s length above and beyond 60 degrees latitude. But if you can’t make it there, or otherwise prefer a more regular, less deprived sleep pattern, you can always resort to simulations to demonstrate the phenomenon. [SimonRob] for example built a clock with a real time rotating model of Earth to visualize its exposure to the sun over the year.

The daily rotating cycle, as well as Earth’s rotation within one year, are simulated with a hand painted plastic ball attached to a rotating axis and mounted on a rotating plate. The hand painting was done with a neat trick; placing printed slivers of an atlas inside the transparent orb to serve as guides. Movement for both axes are driven by a pair of stepper motors and a ring of LEDs in the same diameter as the Earth model is used to represent the Sun. You can of course wait a whole year to observe it all in real time, or then make use of a set of buttons that lets you fast forward and reverse time.

Earth’s rotation, and especially countering it, is a regular concept in astrophotography, so it’s a nice change of perspective to use it to look onto Earth itself from the outside. And who knows, if [SimonRob] ever feels like extending his clock with an aurora borealis simulation, he might find inspiration in this northern lights tracking light show.

This is a spectacular showpiece and a great project you can do with common tools already in your workshop. Once you’ve mastered earth, put on your machinists hat and give the solar system a try.

Hack a Day 18 Jun 16:31