Posts with «arduino hacks» label

Fail Of The Week: Don’t Tie Those Serial Lines High

Fail Of The Week is a long-running series here at Hackaday. Over the years we’ve been treated to a succession of entertaining, edifying, and sometimes downright sad cock-ups from many corners of the technological and maker world.

You might think that we Hackaday writers merely document the Fails of others, laughing at others’ misfortunes like that annoying kid at school. But no, we’re just as prone to failure as anyone else, and it is only fair that we eat our own dog food and tell the world about our ignominious disasters when they happen.

And so we come to my week. I had a test process to automate for my contract customer. A few outputs to drive some relays, a few inputs from buttons and microswitches. Reach for an Arduino Uno and a prototyping shield, divide the 14 digital I/O lines on the right into 7 outputs and 7 inputs. Route 7 to 13 into a ULN2003 to drive my relays, tie 0 to 6 high with a SIL resistor pack so I can trigger them with switches to ground. Job done, and indeed this is substantially the hardware the test rig ended up using.

So off to the Arduino IDE to write my sketch. No rocket science involved, a fairly simple set of inputs, outputs, and timers. Upload it to the Arduino, and the LED on pin 13 flashes as expected. Go for a well-deserved lunch as a successful and competent engineer who can whip up a test rig in no time.

Back at the bench refreshed by the finest British pub grub, I started up the PC, plugged the shield into the Arduino, and applied the power. My sketch worked. But wait! There’s a slight bug! Back to the IDE, change a line or two and upload the sketch.

And here comes my fail. The sketch wouldn’t upload, the IDE reported a COM port error. “Damn’ Windows 10 handling of USB serial ports”, I thought, as I’m not a habitual Windows user on my own machines. Then followed something I’ve not done for quite a while; diving into the Windows control panel to chase the problem. Because it had to be a Windows problem, right?

The seasoned Arduinisti among you probably spotted my fail four paragraphs ago. We all know that pins 0 and 1 on an Arduino are shared with the serial port, but who gives it a second thought? I guess I’d always had the good fortune to drive those pins from lines which didn’t enforce a logic state, and had never ended up tying them high. Hold them to a logic 1, and the Arduino can’t do its serial thing so sketches stay firmly in the IDE.

I could have popped the shield off every time I wanted to upload a new sketch, but since in the event I didn’t need all those inputs I just lifted the links tying those pins high and shifted the other inputs up the line. And went home that evening a slightly less competent engineer whose ability to whip up a test rig in no time was a bit tarnished. Ho hum, at least the revised sketch worked and the test rig did its job exactly as it should.

So that’s my Fail Of The Week. What’s yours?

Header image: pighixxx.com, CC-BY-ND via MarkusJenkins


Fail of the Week is a Hackaday column which celebrates failure as a learning tool. Help keep the fun rolling by writing about your own failures and sending us a link to the story — or sending in links to fail write ups you find in your Internet travels.


Filed under: Arduino Hacks, Fail of the Week

Gear Clock Uses Stepper Motor

[Rjeuch] liked a wooden clock he saw on the Internet, but the gears were produced with a proprietary software tool. So he built his own version. Unlike the original, however, he chose to use a stepper motor to drive the hands.

The clock’s gears aren’t just for show, and the post does a good job explaining how the gears work, how you might customize them, and how they fit together. The clock’s electronics rely on an Arduino.

The issue with an Arduino, of course, is that the time base isn’t always good enough to keep time over long periods. To fix that problem [Rjeuch] used a ChronoDot which is a real-time clock that uses temperature compensation and claims to be accurate to a minute a year.

Of course, no plan goes off without a hitch. Owing to bad stepper mode specs, the original version of the clock was gaining time overnight. Although the stepper claimed to have a 1:64 reduction gear, the actual ratio wasn’t that precise ([Rjeuch] estimates it as 1:63.876. The steps he took to fix this are worth a read.

You can see a video of the clock below. We’ve seen lots of other clocks, of course. Some of them even make this one looks simple.


Filed under: Arduino Hacks
Hack a Day 24 Apr 09:00

Home Made Pen Plotter

As someone who started using computers in the last century, I find the current resurgence of pen plotters somewhat nostalgic. The difference, of course, is that this century it is easier to make your own, which is what [Miguel Sanchez] is doing.

Inspired by the Axidraw, he is making his own pen plotter. He’s made great progress so far, creating a design that looks quite simple to build. His design is driven by an Arduino Uno with a stepper shield, a couple of NEMA 17 stepper motors and a servo to raise and lower the pen. Throw in a few rods, a belt or two and a number of 3D printed parts, and you’ve got a decent looking pen plotter.

He originally started with laser cut components, but shifted over to 3D printing as the design evolved. It’s not as fancy as the HP pen plotter I used to print out rude words in giant letters with in my youth (a HP7475, I think), but it is a neat build. Check it in action in the video below.


Filed under: Arduino Hacks
Hack a Day 24 Apr 03:00

Arduino Quadcopter Game Uses Serial Monitor

Every new generation of computers repeats the techniques used by the earlier generations. [Kim Salmi] created an ASCII-based quadcopter simulation game using an Arduino that displays on the Arduino serial monitor. The modern twist is the controller: an accelerometer supplements the joystick for immersive play. And of course there are flashing LEDs.

An Arduino Uno provides the processing power and drives the serial monitor. A joystick and a Hitachi H48C accelerometer are mounted on a breadboard and wired to the Uno. The tilting of the accelerometer controls the height and left-right motion of the quadcopter on the screen. The joystick sets the the ‘copter in hover mode and lowers a ‘rescue’ line. Another LED warns when the maximum height, the vertical limit of the screen, is reached. The joystick also selects one of the three quadcopters, which have different performance characteristics.

There’s a video after the break. [Kim] provides the source code so  you use it as a reference for handling the joystick and accelerometer inputs.

More proof that what is old is new. 


Filed under: Arduino Hacks

Atomic Arduino (and Other) Development

Even the most die-hard Arduino fan boys have to admit that the Arduino development environment isn’t the world’s greatest text editor (they’d probably argue that its simplicity is its strength, but let’s ignore that for now). If you are used to using a real code editor, you’ll probably switch to doing your Arduino coding in that and then use the external editor integration in the IDE.

That works pretty well, but there are other options. One we noticed, PlatformIO, extends GitHub’s Atom editor. That makes it cross-platform, powerful, and with plenty of custom plug ins. It also supports a range of platforms including Arduino, many ARM platforms, MSP430, and even desktop computers running Linux or Windows.

The author claims the plug in will generate code for over 200 embedded boards. It handles all the common development tasks and even includes a terminal window. There are command line tools if you want to build scripts or make files and bypass the GUI.

You can install Platform.io on Windows, Linux, or Mac. It uses Python, so porting it elsewhere might be easy, too. The feature list is broad: code completion, linting, multiple projects, and library management. It can even import projects from the Arduino IDE. There are plenty of plug ins to add features (like Emacs keybindings, although that took a little troubleshooting).

There is also something attractive about having a single IDE that targets different platforms if you switch back and forth a lot. In all fairness, the Arduino IDE isn’t as bad as it used to be, and they both have significantly improved versions in the works (Arduino Create and Arduino Studio). We’ve seen plenty of other IDE hacks for Arudino in the past.

Thanks for the tip [Martin]


Filed under: Arduino Hacks
Hack a Day 23 Apr 18:00

DIY Arduino Watch

We first thought [Alexis Ospitia]’s watch was a sports watch made with an Arduino, but it’s actually a sporty watch made with an Arduino. This explains the watch’s strange ability to tell you the current temperature and humidity.

The core of the watch is an Arduino Mini. To make it good for time telling, a real-time clock module was added. A DHT11 monitors the temperature and humidity. A charge circuit and lithium battery provide power. Finally, the watch displays the date, time, and other data with an LCD from a Nokia 5110. We can tell you the last part that’s going to break on this.

Even if you think the watch is a bit chunky, the tutorial is very slick. [Alexis] has taken the trouble to individually draw and describe each portion of the watch’s construction. He explains each pin, what they do, and provides a Fritzing drawing of the wires to the Arduino. The code is provided; to program the watch a USB-to-serial module must be used.

For the housing he made a box from a thin gauge aluminum sheet and attached leather straps to the assembly. The final construction is cool looking in a techno-punk way, and is fairly compact. One might even say sporty.


Filed under: Arduino Hacks
Hack a Day 22 Apr 00:00

Morse Code Waterfall is Cooler Than Your Fifth Grade Science Fair Project

For her science fair project, [David]’s daughter had thoughts about dipping eggs in coffee, or showing how dangerous soda is to the unsuspecting tooth. Boring. Instead she employed her father to help her build a Morse Code waterfall.

A more civilized wea– tool from a more elegant age. Young Jed–Engineer.

[David] worked with his daughter to give her the lego bricks of knowledge needed, but she did the coding, building, and, apparently, wire-wrapping herself. Impressive!

She did the trick with two Arduinos. One controls a relay that dumps a stream of water. The other watches with an optical interrupt made from an infrared emitter and detector pair to get the message.

To send a message, type it in the keyboard. The waterfall will drop spurts of water, and then show the message on the decoder display. Pretty cool. We also liked the pulse length dial. The solution behind the LEDs is pretty clever. Video after the break.


Filed under: Arduino Hacks, news

Alarm System Upgrade Tips The Functionality Scale

Residential-grade commercial alarm systems are good at a few things but terrible at others, like keeping pace with telephone technology. So what to do when a switch to VOIP renders your alarm system unable to call in reinforcements? Why not strip out the old system and roll your own value-added alarm and home automation system?

Generally, the hardest part about installing an alarm system is running the wires to connect sensors to the main panel, so [Bill Dudley] wisely chose to leverage the existing wiring and just upgrade the panel. And what an upgrade it is. [Bill]’s BOM reads like a catalog page from SparkFun or Adafruit – Arduino MEGA 2560, Ethernet shield, a sound board, stereo amplifier, X10 interface, and a host of relays, transformers, and converters. [Bill] is serious about redundancy, too – there’s an ESP8266 to back up the wired Ethernet, and a DS3231 RTC to keep the time just in case NTP goes down. The case is a bit crowded, but when closed up it’s nicely presentable, and the functionality can’t be beat.

Rehabilitating old alarm systems is a popular project that we’ve covered plenty of times, like this Arduino upgrade for a DSC 1550 panel. But we like the way [Bill] really went the extra mile to build add value to his system.


Filed under: Arduino Hacks, home hacks

The AAduino Is An Arduino In An AA Battery

You might think that there could be no form factor that has not as yet had an Arduino fitted in to it. This morning a new one came our way. [Johan Kanflo]’s AAduino is an Arduino clone with an onboard RF module that fits within the form factor of an AA battery. Putting the Arduino inside its own battery pack makes a very neat and compact self-contained unit.

At the heart of the board is an ATmega328 clocked at 8MHz to reduce power consumption and fused to drop out at 1.7V. The radio module is a HopeRF RFM69C which as supplied is a little bit too big for the AA form factor so [Johan] has carefully filed away the edge of the PCB to make it fit. Enough room is left within the shape of an AA cell for a couple of DS18B20 temperature sensors and an indicator LED. He provides a handy buyer’s guide to the different versions of a 3xAA box with a lid, and all the files associated with the project are available in his GitHub repository.

Especially with the onboard radio module we can see that the AADuino board could be a very useful piece of kit. Perhaps for instance it could be used as a very low power self-contained UKHASnet node.

We’ve featured quite a few Arduino clones over the years that try to break the size mould in some way. This stripboard Arduino almost but not quite equals the AAduino’s size, as does this PCB version barely wider than the DIP package of its processor. But the AADuino is a bit different, in that it’s a ready-made form factor for putting out in the field rather than just another breadboard device. And we like that.


Filed under: Arduino Hacks, news
Hack a Day 19 Apr 00:00
aa  arduino  arduino hacks  clone  news  rf  

Minions Turn Your Keyboard into a Bluetooth Keyboard

Evil geniuses usually have the help of some anonymous henchmen or other accomplices, but for the rest of us these resources are usually out of reach. [Evan], on the other hand, is on his way to a helpful army of minions that will do his bidding: he recently built a USB-powered minion that turns a regular PS/2 mouse and keyboard into a Bluetooth mouse and keyboard.

[Evan] found his minion at a McDonald’s and took out essentially everything inside of it, using the minion as a case for all of the interesting bits. First he scavenged a PS/2 port from an old motherboard. An Arduino Nano is wired to an HC-05 Bluetooth chip to translate the signals from the PS/2 peripherals into Bluetooth. The HC-05 chip is a cheaper alternative to most other Bluetooth chips at around $3 vs. $40 for more traditional ones. The programming here is worth mentioning: [Evan] wrote a non-interrupt based and non-blocking PS/2 library for the Arduino that he open sourced which is the real jewel of this project.

Once all the wiring and programming is done [Evan] can turn essentially any old keyboard and mouse into something that’ll work on any modern device. He also put an NFC tag into the minion’s head so that all he has to do to connect the keyboard and mouse is to swipe his tablet or phone past the minion.

If you’re looking for an interesting case for your next project, this McDonald’s Minion toy seems to be pretty popular. PS/2 keyboards are apparently still everywhere, too, despite their obsolescence due to USB. But there are lots of other ways to get more use out of those, too.


Filed under: Arduino Hacks
Hack a Day 14 Apr 16:01