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?

arduino-serial-pinsThe 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


2013-09-05-Hackaday-Fail-tips-tileFail 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.

From Trash To TV

In days gone by, when TVs had CRTs and still came in wooden cabinets, a dead TV in a dumpster was a common sight. Consumer grade electronic devices of the 1960s and ’70s were not entirely reliable, and the inside of a domestic TV set was not the place for them to be put under least stress. If you were electronic-savvy you could either harvest these sets as a source of free components, or with relative ease fix them for a free TV set.

With today’s LCDs, integrated electronics, and electronic waste regulations, the days of free electronics in every dumpster are largely behind us. Modern TVs are more reliable, and when they reach end-of-life we’re less likely to see them.

[Sidsingh] happened to find an LCD TV in a dumpster, and being curious as to whether he could fix it or salvage some components, cracked it open to take a look.

He found that somebody had already been into the set and that some components on the PSU and backlight boards showed evidence of magic smoke escaping, having been desoldered by the previous repairer. The signal board was intact though, a generic Chinese model based around a Mediatek MTK8227 SoC. Information was scarce on these boards, but some patient research yielded a schematic for a similar set.

Once he knew more about the circuit, he was able to identify the power lines and discovered that the 1.8v line to the SoC was faulty. This he traced to a switching regulator for which there was no equivalent in his junkbox, so he substituted a linear regulator to obtain the required voltage. The CFL backlight was then removed and replaced with LED strips, and as if by magic he had a working TV set.

This might seem a relatively mundane achievement on the scale of some of the projects we feature on these pages, but it is an important one. In these days of throwaway items it is still not impossible to repair dead electronic devices, indeed as [Sidsingh] found the power supply is most likely to be the culprit. If you score a dead LCD TV then don’t be afraid to crack it open yourself, you may be able to fix it.

As you might imagine, many repairs have made it onto Hackaday over the years. Of relevance to this one is this LCD that inexplicably worked when exposed to light, an LED backlight conversion, and this capacitor swap to return an LCD monitor to health.

A Simple And Educational Brushless Motor

Sometimes there is no substitute for a real working model to tinker with when it comes to understanding how something works. Take a brushless motor for example. You may know how they work in principle, but what factors affect their operation and how do those factors interact? Inspired by some recent Hackaday posts on brushless motors, [Matt Venn] has built a simple breadboard motor designed for the curious to investigate these devices.

The rotor and motor bodies are laser-cut ply, and the rotor is designed to support multiple magnet configurations. There is only one solenoid, the position of which relative to the magnets on the rotor can be adjusted. The whole assembly is mounted on the edge of a breadboard, and can be rotated relative to the breadboard to vary the phase angle at which the drive circuit’s Hall-effect sensor is activated by the magnet. The drive circuit in turn can have its gain and time constants adjusted to study their effects on the motor’s running.

[Matt] has made all the design files available in his GitHub repository, and has recorded a comprehensive description of the motor’s operation in the YouTube video below the break. Continue reading “A Simple And Educational Brushless Motor”

A 3D-Printed Engagement Ring

[Hans Peter] had reached the moment of popping the question. Going down on one knee and proposing to his girlfriend, the full romantic works.

He’s a brave man, [Hans]. For instead of heading for the jeweller’s and laying down his savings on something with a diamond the size of a quail’s egg he decided that his ring should contain something very much of him. So he decided to 3D print a ring and embed a slowly pulsing LED in it. He does mention that this ring is a temporary solution, so perhaps his soon-to-be-Mrs will receive something sparkly and expensive in due course.

To fit his LED and flasher in such a small space he used a PIC10F320 microcontroller that comes in a SOT-23-6 package. This was chosen because it has a handy PWM output to pulse the LED rather than flash it. This he assembled dead-bug style with an 0603 LED, and a couple of hearing aid batteries to power the unit. He has some concerns about how long the hearing aid batteries will power the device, so as he wrote he had better hurry and get on his knees. (He informs us in his tip email that she said yes.)

Surprisingly we’ve covered quite a few engagement ring builds over the years. Closest to this one is an LED ring powered by an induction coil, but we’ve also featured machined titanium rings and some rather nice cast rings.

A Requiem For Meters

Smart Energy GB are the organisation campaigning for the roll-out of smart energy meters in the UK. Publicizing smart meters and making traditional electricity and gas meters look obsolete is part of their mission, and towards the end of last year they came up with a novel idea. “Requiem for Meters”, is a piece of orchestral music performed on instruments made from old gas and electricity meters, and recorded by the Royal Philharmonic Orchestra at the famous Abbey Road Studios in London.

The old meters serve as much as artworks in some of the instruments as they do a function. As far as we can see for example the gas meter violins are electric instruments rather than acoustic, the meter serving only as the physical body of the instrument rather than as an acoustic cavity in the way the body of a traditional violin does. The wind instruments seem to incorporate the cavity of a gas meter in their construction though and the percussive instruments are very much dependent on the properties of the meters themselves, though we’ll leave it to the reader to decide whether the resulting sound is one you’d want regularly on your hi-fi.

The video below the break shows some of the background to the piece, though sadly not as much instrument building detail as we’d like.

Continue reading “A Requiem For Meters”

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.

Bootstrapping An Amiga 2000 Graphics Card Because Vintage Is Pricey

If you have a computer on your desk today, the chances are that it has an Intel architecture and is in some way a descendant of the IBM PC. It may have an Apple badge on the front, it may run Linux, or Windows, but in hardware terms the overwhelming probability is that it will be part of the Intel monoculture. A couple of decades ago though in the 16- and early 32-bit era you would have found a far greater diversity of architectures. Intel 3-, and 486s in PCs and clones, Macintosh, Commodore, and Atari platforms with the 68000 family, the WDC 65C816 in the Apple IIGS, and the Acorn Archimedes with an early ARM processor to name but a few.

In the tough environment of the 1990s most of these alternative platforms fell by the wayside. Apple survived to be revitalised under a returning Steve Jobs, Atari and Commodore withered under a bewildering succession of takeovers, and Acorn split up and lost its identity with its processor licensing subsidiary going on to power most of the mobile devices we take for granted today.

Surprisingly though some of the 16-bit platforms refused to die when their originators faded from view. In particular Commodore’s Amiga has lived on with new OS versions, new platforms, and community-supported hardware upgrades. News of just such a device came our way this morning, [Lukas Hartmann]’s MNT VA2000, a graphics card for the Amiga 2000 using a GPU implemented on an FPGA.

Continue reading “Bootstrapping An Amiga 2000 Graphics Card Because Vintage Is Pricey”