Tag Archives: Microcontrollers

An Open Source 1MHz Abritrary Waveform Generator with an Awesome UI

via Hackaday » » hardware

1MHZ DDS

 

[Herp] just shared a nice 1MHz Arbitrary Waveform Generator (right click -> translate to English as google translation links don’t work) with a well designed user interface. His platform is based around a PIC32, a TFT module with its touchscreen and the 75MHz AD9834 Direct Digital Synthesizer (DDS). Of course the latter could generate signals with frequencies up to 37.5MHz… but that’s only if two output points are good enough for you.

As you can see in the video embedded below, the ‘tiny dds’ can generate many different kinds of periodic signals and even ones that are directly drawn on the touchscreen. The offset and signal amplitude can be adjusted using several operational amplifiers after the DDS ouput and a separate SMA TTL output is available to use a PIC32 PWM signal. The platform can read WAV audio files stored on microSD cards and also has an analog input for signal monitoring. Follow us after the break for the video.

 


Filed under: handhelds hacks, hardware, Microcontrollers

Improved Thermocouples On A Microcontroller

via Hackaday» hardware

ktype

If you’re reading a thermocouple with one of those fancy schmancy SPI thermocouple amplifiers, this one isn’t for you. If, however, you’re still going through those old-school analog thermocouple amplifiers like the AD595, [miceuz] has just the thing for you. He’s come up with a library for embedded devices that reads the temperature of a k-type thermocouple with +- 0.03°C of accuracy.

As with anything dealing with natural phenomena, the voltage generate by the bimetallic junction of a thermocouple probe is decidedly non-linear. This is a problem when dealing with embedded devices, as that would mean using floating point arithmetic, greatly increasing the amount of code. [micuez] found the NIST tables for a K-type thermocouple and interpolates the actual temperature of the thermocouple probe from the NIST data. The usual way of measuring thermocouples – a polynomial unction of some sort – has an error of about 0.06°C. [miceuz]‘s library has an error of less than half that, all while using less code.

The library doesn’t support temperatures below zero, but this is still a work in progress. Still, if you’re looking for a very accurate library for a forge, crock pot sous vide build, or a toaster  oven reflow controller, you can’t do better than [miceuz]‘s work.


Filed under: hardware, Microcontrollers

The Mystery Of Zombie RAM

via Hack a Day» hardware

zombie-testing-rig

[Josh] had a little project where he needed to keep a variable in RAM while a microcontroller was disconnected from a power source. Yes, the EEPROM on board would be able to store a variable without power, but that means writing to the EEPROM a lot, killing the lifetime of the chip. He found an ATTiny can keep the RAM alive for a variable amount of time – somewhere between 150ms and 10 minutes. Wanting to understand this variability, he decided to solve the mystery of the zombie RAM.

The first experiment involved writing a little bit of code for an ATTiny4313 that looked for a value in RAM on power up and light up a LED if it saw the right value. The test circuit consisted of a simple switch connected to the power pin. Initial tests were astonishing; the ATTiny could hold a value in RAM for up to 10 minutes without power.

With the experiment a success, [Josh] updated his project to use this new EEPROM-saving technique. Only this time, it didn’t work. The value hidden away in RAM would die in a matter of milliseconds, not minutes. After tearing his hair out looking for something different, [Josh] rigged up an Arduino based test circuit with humidity and temperature sensors to see if that had any effect. It didn’t, and the zombie RAM was still not-undead.

The key insight into how the RAM in an ATtiny could stay alive for so long came when [Josh] noticed his test circuit had a LED, but the actual project didn’t. Apparently this LED was functioning as a very tiny solar cell, generating a tiny bit of current that kept the RAM alive. A dark room with a flashlight confirmed this hypothesis, and once [Josh] gets his uCurrent from Kickstarter he’ll know exactly how much current this LED is supplying.


Filed under: hardware, Microcontrollers

FT232RL: Real Or Fake?

via Hack a Day» hardware

232

Above are two FTDI FT232RL chips, an extremely common chip used to add a USB serial port to projects, builds, and products. The one on the left is a genuine part, while the chip on the right was purchased from a shady supplier and won’t work with the current FTDI drivers. Can you tell the difference?

[Zeptobars], the folks behind those great die shots of various ICs took a look at both versions of the FT232 and the differences are staggering. Compared to the real chip, the fake chip has two types of SRAM etched in the silicon – evidence this chip was pieced together from different layouts.

The conclusion [Zeptobars] reached indicated the fake chip is really just a microcontroller made protocol compatable with the addition of a mask ROM. If you’re wondering if the FTDI chips in your part drawers are genuine, the real chips have laser engraved markings, while the clone markings are usually printed.


Filed under: hardware, Microcontrollers

Expanded Memory For The Teensy++ 2.0

via Hack a Day» hardware

RAM

Sometimes with a microcontroller project you need to do some very RAM-hungry operations, like image and audio processing. The largish AVR chips are certainly fast enough to do these tasks, but the RAM on these chips is limited. [xxxajk] has come up with a library that allows the use of huge RAM expansions with the Teensy++ 2.0 microcontroller, making these RAM-dependant tasks easy on one of our favorite microcontroller board.

[xxajk]‘s work is actually a port of XMEM2, an earlier project of his that added RAM expansion and multitasking to the Arduino Mega. Up to 255 banks of memory are available and with the supported hardware, the Teensy can address up to 512kB of RAM.

XMEM2 also features a preemptive multitasking with up to 16 tasks, the ability to pipe messages between tasks, and all the fun of malloc().

The build is fairly hardware independent, able to work with Rugged Circuits QuadRAM and MegaRAM expansions for the Arduino Mega as well as [Andy Brown]‘s 512 SRAM expansion. With the right SRAM chip, etching a board at home for XMEM2 is also a possibility.


Filed under: hardware, Microcontrollers

Expanded Memory For The Teensy++ 2.0

via Hack a Day» hardware

RAM

Sometimes with a microcontroller project you need to do some very RAM-hungry operations, like image and audio processing. The largish AVR chips are certainly fast enough to do these tasks, but the RAM on these chips is limited. [xxxajk] has come up with a library that allows the use of huge RAM expansions with the Teensy++ 2.0 microcontroller, making these RAM-dependant tasks easy on one of our favorite microcontroller board.

[xxajk]‘s work is actually a port of XMEM2, an earlier project of his that added RAM expansion and multitasking to the Arduino Mega. Up to 255 banks of memory are available and with the supported hardware, the Teensy can address up to 512kB of RAM.

XMEM2 also features a preemptive multitasking with up to 16 tasks, the ability to pipe messages between tasks, and all the fun of malloc().

The build is fairly hardware independent, able to work with Rugged Circuits QuadRAM and MegaRAM expansions for the Arduino Mega as well as [Andy Brown]‘s 512 SRAM expansion. With the right SRAM chip, etching a board at home for XMEM2 is also a possibility.


Filed under: hardware, Microcontrollers

Wireless Encryption Between Galileo and a MSP430

via Hack a Day» hardware

[Mark] recently finished his latest project, where he encrypts wireless communications between the new Intel Galileo and a Texas Instruments MSP430. The wireless interfaces used are the very common nRF24L01+ 2.4GHz transceivers, that had a direct line of sight 15 feet range during [Mark]‘s tests. In his demonstration, the MSP430 sends an encrypted block of data representing the state of six of its pins configured as inputs. This message is then received by a sketch running on the Galileo and stored in shared memory. A python script then wakes up and is in charge of decrypting the message. The encryption is done using AES-128bits in Electronic Codebook mode (ECB) and semaphores are used to prevent simultaneous accesses to the received data. As it is the first project using an Intel Galileo we received, don’t hesitate to send us a tip if you found other ones.


Filed under: hardware, Microcontrollers

Making a Diode Matrix ROM

via Hack a Day» hardware

Here is a nice project that allows youngsters (but also adults!) to actually see the data stored in a Read Only Memory (ROM). The memory shown in the picture above is made of diodes. [Scott] made it as a part of his Barcamp Fall 2013 presentation about visualizing ROMs. He starts his write-up by stating the obvious: this memory is not practical. Nonetheless, it still was a fun exercise to do. [Scott] then greatly described all the different kinds of read only memories that you can find out there, with a few words explaining how they work. In his diode ROM, bits are ‘programmed’ by adding (or not) a diode between a given data line (anode) and an address line (cathode). When pulling low a given address line, the corresponding data line will only be pulled low if a diode is present. [Scott] finally checked his circuit by using a very old device programmer which could only be run in DOS.


Filed under: hardware, Microcontrollers

Building a spectrum analyzer with parallel processing

via Hack a Day» hardware

fft

It’s the end of the semester for [Bruce Land]‘s microcontroller design class at Cornell, and the projects coming off the workbench this semester look as awesome as any before. For their final project, [Alexander Wang] and [Bill Jo] designed an audio frequency spectrum analyzer using two microcontrollers in a parallel setup.

This spectrum analyzer takes an audio signal from an iPod, phone, or CD player through a 3.5 mm jack and displays the level for dozens of frequency bands much like an audio visualizer in iTunes or a nice car stereo display. To display these frequency bands, the spectrum analyzer first needs to perform a Fast Fourier Transform on the incoming audio signal. While FFT is extremely fast, the calculations are rather hardware intensive; calculating the frequencies and displaying them on a TV would be a bit much even for the ATMega1284 used in the project.

To graph the audio signal on their small display, [Alexander] and [Bill] broke the build up into two parts – one to do the math on the audio, and another to generate the NTSC video signal for the display.

As seen in the video after the break, the spectrum analyzer works wonderfully, and even though it only functions up to 4kHz, it’s more than enough to see what’s going on in most music.


Filed under: hardware, Microcontrollers

Meet the Rovera: A MAKE Hangout on Air at 2pm PST/5pm EST Today!

via MAKE » Category: Open source hardware

Meet the Rovera.Today marks the debut of the bimonthly "editor's choice" hangout on air, live and online on Google+. This week MAKE editorial director Gareth Branwyn will discuss robots and the Rovera, a new Arduino-powered robot now available in the Maker Shed. As we typically do, we'll announce a special offer during the hangout.

Read the full article on MAKE