Tag Archives: DAC

Goldilocks Analogue is bringing audio capabilities to Arduino

This board is like an Arduino, but with audio superpowers! 

In an effort to bring analog capabilities to the Arduino environment, Phillip Stevens has developed a board he calls the Goldilocks Analogue.


The Goldilocks Analogue, which was also named a quarterfinalist in this year’s Hackaday Prize, provides Makers with all of the analog audio input and output they could possibly need, together with sufficient data storage options. With this board, Makers will have the ability to delve into the world of digital synthesis, human auditory augmentation, sound activated systems, signal processing and analog process control, among many other things.

If the name seems vaguely familiar, that’s because you may recall Stevens from his 2013 project, Goldilocks. Two years ago, the Maker devised an Arduino Uno clone using the ATmega1284P MCU for applications that required more SRAM and Flash memory than what the ATmega328P could support, all without sacrificing the Uno’s footprint. Although his initial efforts achieved its goal, the resulting platform still lacked one function that he believed was a necessity: high-quality analog input and output.

“The world is analog, but having an ADC capability without having a corresponding digital-to-analog capability, is like having a real world recorder with no means to playback and recover these real world recordings,” the Maker explains.

Fast forward to 2015 and the successor is yet again built around the mighty ATmega1284P. As Steven points out, the external analog output platform has been optimized to provide dual-channel stereo output (up to 48k samples per second) by overclocking the AVR MCU to 24.576MHz. The Goldilocks Analog is equipped with a 12-bit DAC that offers dual-stereo channels with output voltage ranging from 0V to 4.095V, which is fed to both a high-current capable op-amp and a dedicated headphone amplifier. These options enable optimal reproduction of audio, as well as DC level referenced analog outputs.


“The DAC is driven by the ATmega1284P USART1 in Master SPI Mode. This frees up the normal Arduino SPI bus to access the MicroSD card, or either of the two on-board SPI interface memory devices, 23LC1024 256KB SRAM and AT25M01 256KB EEPROM, without any timing constraints,” the Maker writes.

Meanwhile, audio input is managed by an AGC microphone amplifier. Gain is adjustable from 40dB (default for typical smartphone headset microphone) up to 60dB, which also lends support to electro-cardio or other high sensitivity applications. Aside from that, he included a level shifted non-amplified signal (for line-in).

According to Stevens, the main switched-mode power supply is rated at well over 2A, and is filtered by a second order LC network to provide a clean 5V for the analog platform. Lastly, the Goldilocks Analogue incorporates a 3.3V 1A regulator for the microSD card and 3.3V shields. The negative supply for the op-amp is handled by a -3V inverting charge pump regulator and filtered by a first order LC network.


So what can you create with this board? While the possibilities are endless, example projects include a triple oscillator digital synthesizer, a digital walkie-talkie, a sound-sensing alarm and even an Internet-connected baby monitor. And to make all of the analog power easy-to-use, the Goldilocks Analogue is compatible with the Visuino IDE for drag-and-drop signal programming.

“Using a smartphone-compatible 3.5mm socket, a microphone input and headphone outputs can connect your sounds into the Arduino world. Samples of sound can be played back from on-board SRAM or recorded onto the EEPROM to be recovered later,” Stevens adds. “Up to a minute of telephone quality audio can be stored (less for higher quality), or played back using the on-board storage. The microSD card can store and play back GB of audio, if desired.”

Intrigued? Head over to the Goldilocks Analogue’s Kickstarter campaign, where the Maker is currently seeking $5,813. You can also browse through his exhaustive project log, which breaks down the entire build process. The first batch of units is expected to begin shipping in March 2016.

Linduino is a USB-isolated Arduino

My pals over at Linear Technology have developed the Linduino board to drive their ADCs (analog to digital converters) and DACs (digital to analog converters) as well as temp sensors and other devices. The board is not a clone of an Arduino, that would be pointless for them. Linear Tech sells analog chips, not Maker boards.


The Linear Technology Linduino board uses the same Atmel chip as a Arduino Uno, but has isoalted USB and more dc power.

So the first and most essential difference is that in addition to the normal shield headers on an Arduino, there is a header that Linear Tech has used for years to drive their demo boards. This computer interface function used to be done with their DC590 interface board. Indeed, the firmware that comes shipped with the Linduino emulates that board, so you can run the original Linear Tech interface program on your PC, and it can’t tell if its the old board or a Linduino.


The Linduino board will accept all the Shield mezzanine boards for Arduino, but has this extra header to control Linear Tech demo boards as well.

But wait, there is more. So much more. Linear tech also used one of their USB isolators on the Linduino board. This means that the board and what you plug into it are galvanically isolated from the computer you have the USB plugged into. This means you can measure things off a car or an audio system without worrying about ground loops polluting the measurement. Its as handy as a hand-held DVM (digital voltmeter). My former employer Analog Devices also makes bidirectional USB isolators and there may be others that have come to market. You might make your own isolator, but the great thing about the Linduino is that all the system engineering is done for you and the firmware works.


The Linduino has a LMT2884Y-USB isolator module on it so your PC is not electrically connected to the Linuduino or its Shields or Linear Tech demo boards.

Since Linear Tech is also a power supply chip company, they beefed up the power supply on the board, using a switching regulator to replace the linear regulator on the Arduino. This means you can get 750mA out of the power system. Since a USB can’t supply this much power, that means you have to feed the board with an external wall wart. Now you have the power to drive actuators or other heavy loads.


Linear Tech also beefed up the power system with a 750mA switching regulator that will not get hot even at full load while dropping for a high input voltage.

Dan Eddelman worked on the Linduino as did Mark Thoren, my pal from Linear Tech. Tomorrow I will plug in the beast and  show how to get it working. I did have a few glitches the first time.


Mark Thoren, shown here giving his daughter some STEM instruction at the Silicon Valley eFlea, helped develop the Linduino.

Just like Atmel’s demo boards, Linear Tech is selling the Linduino pretty much at cost. This can give you a great foundation to build an isolated data acquisition and control system for cheap. And don’t forget, all the Arduino shields plug into the board and work with the existing libraries and firmware and available open source code. Linear Tech used the same Atmel chip as the Arduino, so this is not just “shield compatible,” is is truly compatible with an Arduino.

32-bit AVR MCUs for automotive applications (Part 2)

In the first part of this series, we took a closer look at how Atmel’s AVR low-power 32-bit microcontrollers (MCUs) help enable the implementation of various product-differentiating features, including advanced control algorithms, voice control and capacitive touch sensing.

We also discussed powering Atmel’s AVR UC3C 32-bit automotive-grade microcontrollers with either a 3.3V or a 5V supply (generally supporting 5V I/O). This has been achieved by moving to a modified 0.18-micron process technology, which supports higher I/O voltage levels in a reliable and cost-effective manner without any complex and expensive voltage conversion. In addition to supporting 5V I/O, the UC3C has been designed to support a wide range of high-performance peripherals required by automotive applications, including:

  • ADC: 16 channels with 12-bit resolution at up to 1.5M samples/second; dual sample and hold capabilities; built-in calibration; internal and external reference voltages.
  • DAC:  Four outputs (2 x 2 channels) with 12-bit resolution; up to 1M sample/second conversion rate with 1us settling time; flexible conversion range; one continuous or two sample/hold outputs per channel.
  • Analog comparator:  Four channels with selectable power vs. speed; selectable hysteresis (0.20mV and 50mV); flexible input selections and interrupts; window compare function by combining two comparators.
  • Timer/Counter: multiple clock sources (five internal and three external); rich feature set (counter, capture, up/down, PWM); two input/output signals per channel; global start control for synchronized operation.
  • Quadrature decoder: Integrated decoder supports direct motor rotation detection.
  • Multiple interfaces: includes a two-channel, two-wire interface (TWI), master/slave SPI, and full-featured USART that can be used as an SPI or LIN.
  • Fully integrated USB:  built-in USB 2.0 transceivers support low (1.5Mbps), full (12Mbps) and on-the-go modes; included in the AVR Software Framework are production-ready drivers for various USB devices (mass storage, HID, CDC, audio), hosts (mass storage, HID, CDC) and combined function devices.

Atmel’s AVR UC3C 32-bit automotive-grade microcontrollers are also designed to achieve higher system throughput with our Peripheral Event System.

“Managing peripherals by the CPU can become a major system bottleneck, especially as the number of peripherals and their operating frequencies increase. With high sampling rates across multiple channels, interrupt overhead and data processing can consume a large percentage of the processor’s available clock cycles,” an Atmel engineering rep told Bits & Pieces. “If the CPU load needs to manage a single SPI port even at a low data rate of 1.2Mbps, this would require 53% of the processor’s capacity. In addition, the interrupt latency increases and introduces jitter.”

And that is why AVR UC3C architecture utilizes Atmel’s peripheral event system, which allows CPU-independent handling of inter-peripheral signaling through an internal communication fabric that interconnects all peripherals. Rather than triggering an interrupt to tell the CPU to read a peripheral or port, the peripheral instead manages itself by directly transferring data to the SRAM for storage – all without requiring any action by the CPU.

“From a power perspective, only those blocks that are part of the conversion are active. The CPU is free to execute application code or conserve power in idle mode during the entire event,” the Atmel engineering rep continued. “In addition, the peripheral event controller allows a more deterministic response compared to a CPU-based, interruptdriven event controller, because the latency is fixed to 3 cycles, i.e., 33ns when operating at 66MHz. This enables precise timing of events without jitter, resulting in constant sample rates for ADCs and DACs.”

Interested in learning more about 32-bit AVR MCUs for automotive applications? Be sure to check out part three of this series which details how Atmel MCUs can be used to help protect IP and bolster system safety. Interested in learning more about 32-bit AVR MCUs for automotive applications? Be sure to check out part onetwothree and four of this series.

High voltage edge-lit TV topologies with Atmel

Bits & Pieces has been getting up close and personal with Atmel’s versatile lighting (MCU) portfolio in recent weeks. First, we took a look at the role Atmel MCUs (microcontrollers) have to play in brightening LED ballasts, highlighting the AVR AT90PWM microcontroller which supports the DALI standard and is used to network multiple ballasts to a centralized system for tighter light level control and significant energy savings.

We’ve also talked about how Atmel MCUs are used to light up both fluorescent and HID ballasts, as well as drive television direct backlights. And today we’ll be discussing high voltage edge-lit TV topologies. Specifically, edge-lit configurations use external power supplies and NFETs to allow voltage power supplies to drive a larger number of LEDs (72 LEDs) per string and can sink up 1A (determined by NFET ratings).

“Atmel LED drivers are capable of driving up to 16 parallel strings of LEDs, all while offering fault detection and management of open-circuit and short-circuit LEDs,” an Atmel engineering rep told Bits & Pieces.


“These devices address the edge-lit and high-brightness LEDs which require higher power while enabling dimming via external pulse width modulation (PWM) signals or analog current control with an internal digital-to-analog converter (DAC).”

In addition, the engineering rep noted that edge-lit topologies are the most popular backlight architectures in current LCD television applications because they are less expensive (requires fewer LEDs) compared to direct-backlight topologies.

“Edge-lit designs are also capable of offering zone (regional) dimming but are limited to larger tiles (coarse zones) and require expensive diffusers which use light guides to distribute light to desired zones,” the engineering rep continued.

“Edge-lit applications require an external DC-to-DC supply to boost the supply up to 250V to allow 72 LEDs per string. Television manufactures also implement LED string phase shift to reduce the overall RMS power requirements and minimize EMI noise by effectively driving one LED string at a time within a frame time period.”

Interested in learning more about high voltage edge-lit TV topologies with Atmel? Be sure to check out our official device breakdown page here.