Solving Arduino’s stk500_getsync() error

[psgarcha] took a year-old Arduino Uno on an international trip and upon returning found something was wrong. Every time he would try to upload, he would get the dreaded avrdude error, ‘stk500_getsync(): not in sync resp=0×00′. The Rx light would blink a few times during the attempted upload, but the tx light did not. Somehow, something was terribly wrong with the ‘duino, and [psgarcha] dug deep to figure out why.

To test the quality of the Arduino’s serial connection, [psgarcha] performed a loopback test; basically a wire plugged into the Tx and Rx pins of the Arduino. Sending a short message through the serial port showed the problem wasn’t the USB cable, the ATmega16u2 on the ‘duino, or any traces on the board. This would require more thought.

The main reason for the error would then be no communication between the computer and the ‘duino, the wrong COM port selected, the wrong board selected in the Arduino text editor, or timing errors or a corrupt bootloader. The first three errors were now out of the question, leaving timing errors and a corrupt bootloader. Troubleshooting then moved on to ordering a new programmer, and still this didn’t work with the broken Uno.

Frustrated with one of the greatest failures to become an Arduino tinkerer, [psgarcha] took a good, long look at the Uno board. He glanced over to an Arduino Mega board. Something looked different. On the Uno, the resonator had blown off. Problem found, at least.

Replacing the blown part with a hilariously large can crystal oscillator, [psgarcha] was back in business. This isn’t how you would fix 99% of getsync() errors, and it’s difficult imagining a situation where a this part would randomly blow, but if you’re ever looking at a nearly intractable problem, you need to start looking at what really shouldn’t fail.

Resonator my fix (1)

Awesome rework, though.

 

A Modern Woodworking Workbench

This is a post about workbenches, but not the benches you’re probably thinking about. Workbenches meant for electronics development are simple matters – just about any flat surface, a few shelves for equipment, and an anti-static mat will be fine for every conceivable use.  Workbenches for woodworking are a separate matter entirely. There’s actually quite a bit of history behind the development of the woodworking workbench, but the basic idea is a thick laminated wood top, integrated vices, holes in the work surface for bench dogs, and ergonomics that allow for comfortable use of hand tools. The basic design of these benches hasn’t changed much in several hundred years, and [Dirk] thought the design was ready for a modern update.

Continue reading “A Modern Woodworking Workbench”

Programmable Lithium Charger Shield for Arduino

Surely you need yet another way to charge your lithium batteries—perhaps you can sate your desperation with this programmable multi (or single) cell lithium charger shield for the Arduino?! Okay, so you’re not hurting for another method of juicing up your batteries. If you’re a regular around these parts of the interwebs, you’ll recall the lithium charging guide and that rather incredible, near-encyclopedic rundown of both batteries and chargers, which likely kept your charging needs under control.

That said, this shield by Electro-Labs might be the perfect transition for the die-hard-’duino fanatic looking to migrate to tougher projects. The build features an LCD and four-button interface to fiddle with settings, and is based around an LT1510 constant current/constant voltage charger IC. You can find the schematic, bill of materials, code, and PCB design on the Electro-Labs webpage, as well as a brief rundown explaining how the circuit works. Still want to add on the design? Throw in one of these Li-ion holders for quick battery swapping action.

[via Embedded Lab]

Morse Decoder’s Lean and Sexy Search Algorithm

Often the Morse Code centered projects that we feature are to help you practice transmitting messages. This one takes a tack and builds an automatic decoder. We think [Nicola Cimmino's] project is well worth featuring simply based on his explanation of the Digital Signal Processing used on the signal coming in from the microphone. Well done. But he’s really just getting warmed up.

What makes this really stand out is a brilliant algorithm that allows conversion from Morse to ASCII using a lookup table of only 64 bytes. This provides enough room for A-Z and 0-9 without chance of collision but could be expanded to allow for more characters. Below is a concise description of how the algorithm works but make sure you take the time to read [Nicola's] project description in its entirety.

The algorithm can be decribed as follows. Have an index inside the lookup string inizialied to zero. Have an initial dash jump size of 64. At every received element (dot or dash) halve the initial dash jump and then increase by 1 the index inside the lookup string if a dot was received and by dash jump size if a dash was received. Repeat until a letter separator is reached, at that point the index inside the lookup string will point to the ASCII corresponding to the decoded morse.

Have you heard of this technique before? If so, tell us about it in the comments below. Before you jump all over this one, realize that Magic Morse uses a different technique.

Medical Tricorder Mark I

A handheld tricorder is as good a reason as any to start a project. The science-fiction-derived form factor provides an opportunity to work on a lot of different areas of hardware development like portable power, charging, communications between sensor and microcontroller. And of course you need a user interface so that the values being returned will have some meaning for the user.

[Marcus B] has done a great job with all of this in his first version of a medical tricorder. The current design hosts two sensors, one measures skin temperature using infrared, the other is a pulse sensor.

For us it’s not the number of sensors that makes something a “tricorder” but the ability of the device to use those sensors to make a diagnosis (or to give the user enough hints to come to their own conclusion). [Marcus] shares similar views and with that in mind has designed in a real-time clock and an SD card slot. These can be used to log sensor data over time which may then be able to suggest ailments based on a known set of common diagnosis parameters.

Looking at the image above you may be wondering which chip is the microcontroller. This build is actually a shield for an Arduino hiding underneath.

There’s a demonstration video after the break. And if you find this impressive you won’t want to miss the Open Source Science Tricorder which is one of the finalists for the 2014 Hackaday Prize.

Continue reading “Medical Tricorder Mark I”

The KIM-1 Computer Minified

The KIM-1 wasn’t the first microcomputer available to computer hobbyists and other electron aficionados, but it was the first one that was cheap. It was also exceedingly simple, with just a 6502 CPU, a little more than 1k of RAM, 2k of ROM, a hexadecimal keypad and a few seven-segment displays. Still, a lot of software was written for this machine, and one of these boards can be found in every computer history museum.

[Oscar] thought the KIM-1 was far too cool to be relegated to the history books so he made his own. It’s not a direct copy – this one uses an Arduino for the brains, only breaking out some buttons, a pair of four-digit seven-segment displays, and the I2C and SPI pins on the ‘duino. The KIM-1 is emulated by the Arduino, allowing for the same interface as an original connected up to an old teletype, and [Oscar] got his hands on the original code for Microchess and the first 6502 disassembler from [Woz] and [Baum].

[Oscar] put the schematics for his version of the KIM-1 up, and has the PCBs up on SeeedStudio. If you’re looking for an awesome replica of a vintage computer and a nice weekend project, here ‘ya go.

Battery Shield Mounts Underneath The Arduino

So, what do you do when your Arduino project needs to operate in a remote area or as a portable device? There are LiPo battery shields available, and although they may work well, recharging requires access to a USB port. You can also go the 9v battery route plugged into the on-board regulator of the Arduino but the low mAh rating of a 9v won’t allow your project to stay running for very long. [AI] needed a quick-change battery option for his Arduino project and came up with what he is calling the AA Undershield.

As the name implies, AA sized batteries are used in the project, two of them actually. Yes, two AA batteries at 1.5v each would equal only 3 volts when connected in series. The Arduino needs 5v so [AI] decided to use a MAX756 DC-to-DC step-up regulator to maintain a steady stream of 5v. This article has some nice graphs showing the difference in performance between a 9v battery being stepped down to 5v verses two AA’s being bumped up to 5v.

The ‘under’ in Undershield comes from this shield being mounted underneath the Arduino, unlike every other shield on the planet. Doing so allows use of a standard 0.100″-spaced prototype PCB and is an easy DIY solution to that odd-sized space between the Arduino’s Digital 7 and 8 pins. The Arduino mounts to the Undershield via its normal mounting holes with the help of some aluminum stand offs.

[AI] did a great job documenting his build with schematics and lots of photos so that anyone that is interested in making one for themselves can do so with extreme ease.