Creating A PCB In Everything: Eagle, Part 1

For the first in a series of posts describing how to make a PCB, we’re going with Eagle. Eagle CAD has been around since the days of DOS, and has received numerous updates over the years. Until KiCad started getting good a few years ago, Eagle CAD was the de facto standard PCB design software for hobbyist projects. Sparkfun uses it, Adafruit uses it, and Dangerous Prototypes uses it. The reason for Eagle’s dominance in a market where people don’t want to pay for software is the free, non-commercial and educational licenses. These free licenses give you the ability to build a board big enough and complex enough for 90% of hobbyist projects.

Of course, it should be mentioned that Eagle was recently acquired by Autodesk. The free licenses will remain, and right now, it seems obvious Eagle will become Autodesk’s pro-level circuit and board design software.

Personally, I learned PCB design on Eagle. After a few years, I quickly learned how limited even the professional version of Eagle was. At that point, the only option was to learn KiCad. Now that Eagle is in the hands of Autodesk, and I am very confident Eagle is about to get really, really good, I no longer have the desire to learn KiCad.

With the introduction out of the way, let’s get down to making a PCB in Eagle.

Continue reading “Creating A PCB In Everything: Eagle, Part 1”

Staring At The Sun: Erasing An EPROM

Flash memory is the king today. Our microcontrollers have it embedded on the die. Phones, tablets, and computers run from flash. If you need re-writable long term storage, flash is the way to go. It hasn’t always been this way though. Only a few years ago EPROM was the only show in town. EPROM typically is burned out-of-circuit in a programming fixture. When the time comes to erase the EPROM, just pop it under an ultraviolet (UV) bulb for 30 minutes, and you’re ready to go again. The EPROM’s quartz window allows UV light to strike the silicon die, erasing the memory.

The problem arises when you want to use an EPROM for long term storage. EPROM erasers weren’t the only way to blank a chip. The sun will do it in a matter of weeks. Even flourescent light will do it — though it could take years.

Continue reading “Staring At The Sun: Erasing An EPROM”

Hacklet 123 – Watches

Time and tide wait for no man. Chaucer may be right, but a man (or woman) wearing a watch can get ahead of time before it sneaks up on them. People aren’t ever satisfied with just the time though. They want the date, the phase of the moon. [Woz] summed it up pretty well when he said “I want the entire smartphone, the entire Internet, on my wrist”.   Hackers love watches too, which means there are plenty of watch projects out there. Some of them even tell time. This week we’re looking at some of the best watch projects on Hackaday.io!

chronioWe start with [Max.K] and Chronio. You might think Chronio looks a bit like the Pebble Time, and you’d be right! [Max] based his design heavily on Pebble’s case design. Pebble even has their CAD files on GitHub, which helped [Max] with his modified, 3D printed version. Chronio is Arduino based, using an ATmega328p microcontroller with the Arduino bootloader. The display is Sharp’s 96×96 pixel Memory LCD. A DS3231 keeps the time accurate, and provides a free temperature sensor. The entire watch is powered by a CR2025 battery. Running a 20uA sleep current, [Max] estimates this watch will last about 6 months on a single battery.

neopixel-pocketNext we have [Joshua Snyder] and Neopixel pocket watch. Who said a watch has to go on your wrist? [Joshua] brings some steampunk style to the party. His watch uses an Adafruit 12 NeoPixel ring to tell time. Red, blue, and green LEDS represent the hour, minute and second hands. The watch is controlled by an ESP8266. The time is set via WiFi. Between the LEDs and the power-hungry ESP8266, this isn’t exactly a low-power design. A 150mAh LiPo battery should keep things running for a few hours though. That’s more than enough time to make a splash at the next hackerspace event.

pi-watchNext up is [ipaq3115] and The Pi Watch. Round smartwatches have created a market for round LCD screens. These screens have started to trickle down into the hacker/maker market. [ipaq3115] got his hands on one, and had to design something cool with it. The Pi Watch isn’t powered by a Raspberry Pi, but a Teensy 3.1. [ipaq3115] included the Freescale/NXP Kinetis processor and MINI54 bootloader chip on his own custom board. He used the Teensy’s analog inputs to create his own 10 element capacitive touch ring. This watch even has a LSM303  magnetometer/accelerometer. All this power comes at a cost though. It takes a 480 mAh LiPo battery to keep The Pi Watch Ticking.

vikasFinally we have [Vikas V] and ScrolLED watch. Who says a watch has to have an LCD? [Vikas V] wanted a scrolling LED display on his wrist, so he built his own. An Atmel ATmega88V-10AU controls a 16×5 charlieplexed LED array. [Vikas] included a character font with many of the ASCII symbols in flash, so this watch can display messages. Power comes from a CR2032 watch battery in a custom PCB mounted holder. [Vikas] biggest issue so far has been light leaks from LED to LED. He’s considering mounting the array on the bottom of the watch. Shining the LEDs up through holes in the PCB would definitely help with the light leakage.

If you want to see more watch projects, check out our new watch projects list. Notice a project I might have missed? Don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

How I²C EEPROM Talks To The Bus

You will probably be familiar with I²C, a serial bus typically used for not-very-fast communication with microcontroller peripherals. It’s likely though that unless you are an I²C wizard you won’t be intimately familiar with the intricacies of its operation, and each new device will bring a lengthy spell of studying data sheets and head-scratching.

If the previous paragraph describes you, read on. [Clint Stevenson] wrote a library for interfacing I²C EEPROMs to Arduino platforms, and when a user found a bug when using it on an ATtiny85, he wrote up his solution. The resulting piece is a clear explanation of how I²C EEPROMs talk to the bus, the various operations you can perform on them, and the overhead each places on the bus. He then goes on to explain EEPROM timing, and how since it takes the device a while to perform each task, the microcontroller must be sure it has completed before moving to the next one.

In the case of [Clint]’s library, the problem turned out to be a minor incompatibility with the Arduino Wire library over handling I²C start conditions. I²C has a clock and a data line, both of which are high when no tasks are being performed. A start condition indicates to the devices on the bus that something is about to happen, and is indicated by the data line going low while the clock line stays high for a while before the clock line starts up and the data line carries the I²C command. He’s posted samples of code on the page linked above, and you can find his library in his GitHub repository.

If you want to know more about I²C, take a look at Hackaday Editor [Elliot Williams’] masterclasses on the subject: What could go wrong, I²C edition, and Embed With Elliot, I²C bus scanning.

Serial EEPROM die picture, By Epop (Own work) [CC0], via Wikimedia Commons.

Open Source SNES To USB Converter Lets You Emulate Legally

[Andrew Milkovich] was inspired build his own Super Nintendo cartridge reader based on a device we covered an eternity (in internet years) ago. The device mounts a real cartridge as a USB mass storage device, allowing you to play your games using an emulator directly from the cart.

This uses a Teensy++ 2.0  at its core. [Andrew] had to desolder the EEPROM pins from the SNES cartridge and reverse engineer the pinouts himself, but the end result was a device that could successfully read the cartridge without erasing it, no small accomplishment. The finished cartridge reader is build on some protoboard and we’d like to complement [Andrew] on his jumper routing on the underside of that board.

Of course, the experience of any console is just not the same without the original controller. So [Andrew] went a step further and made his own SNES controller to USB converter. This had the venerable Atmel ATmega328 at its core, and can be used separate from the cartridge reader if desired.

Tools Of The Trade – Test And Programming

In our final installment of Tools of the Trade (with respect to circuit board assembly), we’ll look at how the circuit board is tested and programmed. At this point in the process, the board has been fully assembled with both through hole and surface mount components, and it needs to be verified before shipping or putting it inside an enclosure. We may have already handled some of the verification step in an earlier episode on inspection of the board, but this step is testing the final PCB. Depending on scale, budget, and complexity, there are all kinds of ways to skin this cat.

Continue reading “Tools Of The Trade – Test And Programming”

DIY Linux Computer And 6LoWPAN Gateway

We toss together our own PCB designs, throwing in a microcontroller here or there. Anything more demanding than that, and we reach for a Raspberry Pi or BeagleBone (or an old Linksys router). Why don’t we just whip together a PCB for a small Linux computer? Because we don’t know how…but [Jonas] apparently does. And when we asked him why he did it, he replied “because I can!”

zb

His Ethernet-to-6LoWPAN gateway project is a small, OpenWRT-capable Linux computer in disguise. Rather than yet another Raspberry Pi project, he designed around an Atmel AT91SAM9G25 400 MHz CPU, and added some memory, Ethernet, and a CC2520 radio chip to handle the wireless side. It’s all done on a four-layer board, and hotplate/skillet reflowed. This seems temptingly like something within our reach. [Jonas] had access to X-ray machines to double-check his reflow work, which probably isn’t necessary, although it looks really cool.

When finished, the project will link together a 6LoWPAN network (probably home automation) and his home wired network. That makes this device a rival to something like Philips’ Hue Bridge, which was the subject of some controversy when they locked out other devices for a few days until they recanted. Indeed, in response to this, there’s been quite a lot of effort at hacking the firmware of the Hue device, just to stay on the safe side in case Philips plays shenanigans again.

Soon, that’s not going to be necessary. [Jonas]’s design is open from the ground up, and coupled with open software running on top of the OpenWRT router operating system, that’s the full stack. And that’s great news for folks who are thinking about investing in a home automation technology, but afraid of what happens then the faceless corporations decide to pull the plug on their devices.