Posts

Showing posts with the label atmega

Inverting And Combining An Open-Drain Signal

Image
Lately, I have been working with the LTC4151-1 chip by Linear Technology.  It is used to measure voltage and current with high resolution typically in telecommunications equipment.  In the process of validating my design, I need to test it with the simplest circuit possible in order to simplify fabrication and eliminate variables introduced by other intermediate devices (namely, the required optoisolators). The LTC4151-1 chip communicates over the I2C bus.  Only problem: its setup breaks out the SDA (serial data) signal into SDAI (data in from the microcontroller) and /SDAO (data out to the microcontroller, inverted).  It is broken out like this (with SDAO inverted) so that people can conveniently wire up optoisolators to reconcile different ground potentials that exist between the MCU and the unit whose voltage is being measured.  (Many times, the V- out of the battery will not be the same as the GND used by your microcontroller logic, computer, or etc., espe...

The story of those awesome "shaky benches" from TechWeek Dallas 2016

Image
For all this time, I have touted myself as someone familiar and adept at working with hardware, and try to stay on top of all the latest & greatest gadgets in the arena.  Of course, that's very hard to do, and eventually you will find that you've ignored something that virtually everybody else in your circles seems to have already played with.  For me, that was the WS2812 LED strip.  Sure, I've used WS2812 lights recently in an IoT sensor product, but really Stacy wrote that code and we are only driving one of them per board, so it's not truly all that interesting.  Now, it's time for me to get serious with what the WS2812 lights are really meant for. What is (was) TechWeek? TechWeek is an event held in cities across the country. It attempts to discuss various tech trends by bringing together numerous panel discussions on things such as ed-tech [ 1 ] [ 2 ], healthcare , and smart cities , plus individual speakers talking about things like the path to dr...

Arduino Day Special: Make an EPROM Tester with an Arduino Mega and Octal Latch

Image
I could have just asked around to see if anyone had an EPROM validator, but why ask when you can spend several hours doing it yourself, and then several more hours writing in pedantic detail about it?  Of course, I must have the DIY bone... Who still uses EPROMs, anyway? While working on old solid-state pinball machines from the 1980s and late '70s, you might run into a situation where a dead ROM chip needs to be replaced.  Certain types of machines (I'm looking at you, all you Gottlieb System 80's) suffer a problem where coils can get locked on due to bad grounding design throughout the system, and then cause transistors and all sorts of other things on the driver board and even possibly the main board to fry themselves.  In other cases, battery corrosion might leech into the ROM chip and possibly compromise it.  No matter what the case is, you might find yourself in need of new ROMs at some point. Now I could easily go and find new ROMs for my game, order ...

Interrupts for the Arduino Uno - More than you might think!

Are you looking to make a program that requires a bunch of interrupts using an ATmega328 or ATmega168 chip (such as on the Arduino Uno, Nano, or Mini platforms)?  If so, you may have been disappointed by the  basic documentation  you can find on this matter, and tempted to buy a more advanced Arduino such as the Mega2560, Zero, or even Due.  But have you seen how much their chips  cost  on Mouser?  If you're looking to do a small run of boards with what you ultimately produce, you will be taken aback to find that ATmega2560-16AU chips cost over 5x more than ATmega168A-AU chips!  In fact, I just recently bought an Arduino Mega2560 for less than what you can buy its chip for.  Having seen this, I knew there had to be a better way to leverage a cheaper chip. The Problem, In Short I need an application that can read from multiple sensor inputs, each of which will pulse with a high-frequency square wave (i.e.  toggle on & off ve...

Make your own dual programmer in AVRDUDE

Image
Modified 9/16/2014 Those of you who have programmed an Arduino through the Arduino or AVR Studio IDE may have noticed the utility that is really doing the work: AVRDUDE (AVR Downloader/UploaDEr).  This is a powerful program that can facilitate programming new sketches on top of a bootloader, load a brand new bootloader or chip image, capture the current firmware programmed on the chip, and set fuse bits (which can render your chip unusable without special tools if you're not careful). You mean I could have been doing this the whole time? The LEDgoes USB Communicator supports both programming over serial (bootloader must be present) or via ICSP bitbang (very slow).  The ICSP operation is identical to Adafruit's FTDI Friend product.  The serial programming is identical to the Arduino, except that in my case, I'd like to be able to program two ATmega chips at the same time without switching cables.  What's the best way to do this? My original train of thought ...