Posts

Showing posts from 2011

Better output buffer for an R-2R ladder DAC

Image
One day I needed a simple R-2R ladder DAC, and needed an output buffer for it, so I started to design one. Initially I was planning to use the LM358, but then I remembered seeing an op amp from TI that would be more suited for the job. First off, I'd like to clear up two things for those that might wonder. Why I need an output buffer? For example the R-2R ladder digital-to-analog converter circuit cannot drive anything by itself. You should be able to observe the waveform with an oscilloscope (typically 1 megaohm input impedance) but probably cannot even drive a sound card input (~10kohm) with only the ladder. You need a buffer amplifier that has a voltage gain of 1 and can drive a low input impedance.   Why linearity is so important? So you get the value you wanted out from the circuit without any distortion. The TLV2472 single-supply op amp makes a great buffer. Unlike with the LM358 , the output is linear from 0 to VDD so you don't have to have an extra voltag

Overview of the LPCXpresso development platform

Image
I got hold of the LPCXpresso development platform. This is a nice, thin 32-bit development platform with a built-in USB programmer for only 20€. The LPCXpresso. On the right is the target board, on the left is the LPC-Link USB JTAG debugger. An interesting design feature of the board is that the LPC-Link USB JTAG debugger portion of the board can be separated from the target and used separately to program NXP's other Cortex-M0, Cortex-M3 and ARM7/9 devices. The separated LPC-Link debugger. Picture: NXP There's three versions of the board. I got the one with the LPC1114 32-bit ARM Cortex-M0 microcontroller. They've also made boards with the LPC1343 and the LPC1769 Cortex-M3 controllers. Check the embedded artists homepage for more info about these . This article focuses on the LPC1114 version. The target portion of the chip features the LPC1114, a 12 MHz crystal and some limited prototyping space. The LPC-Link portion of the board has a LPC3154 for the debu

Review of Arduino DAC solutions

Image
I was in a need of an analog output output for my Arduino, and I found quite many different digital-to-analog converter (DAC) solutions by googling around. So finally I decided to gather them on one page as a reminder for myself and a guide for others. So here it comes! R-2R ladder DAC The most common way to build a DAC is to use a R-2R ladder circuit. Make: Online has a photo-guide for building one. However, this DAC has no output buffer, which would make this circuit a bit more reliable and working with all kinds of loads. MAKE: Online's DAC shield Make: Online - Proto-DAC shield for Arduino A Direct digital synthesizer build using a R-2R ladder DAC - This is worth a look if you're interested in outputting audio. R-2R ladder DAC with output buffer For the best results, you should use an output buffer in the DAC. The buffer separates your R-2R ladder from the load you connect it to and makes the result non load dependent. Here's maybe the best tutorial I&

Vinculo - Arduino clone with USB slave / host capability

Image
I just got hold of  FTDI chip's new Vinculo developing platform, so here's a quick review for you! Vinculo is a 25€ development platform for the FTDI Vinculum II (VNC2) dual USB host/slave microcontroller. The board design has been copied from Arduino, and they even advertise it as Arduino-inspired and Arduino shield compatible. FTDI seems to have realized the potential that comes when having a large hobbyist userbase... Vinculo could be called a USB-enabled Arduino, but that really doesn't do the board justice. There are many features that set it apart from the Arduino, and it also beats Arduino in all the specs (see below). Of course, it's not nearly as user-friendly as the Arduino as a first platform. Look what I got in the mail! Vinculo board with the programming header uncovered (the pins on the right). Compared to Arduino, there are many differences:  - The USB ports on the Vinculo can not used for programming the microcontroller - they are use

Free toolchains for STM32VLDISCOVERY

Image
How to program the STM32VLDISCOVERY board ? ST does not provide a toolchain themselves, instead there are three different officially supported toolchains available, for which ST has provided simple tutorials. All of the three official toolchains are for Windows, so Linux users have to think of something else. Fortunately, multiple options exist for also Linux users. Here's an overview of all the tools I'm aware of. First off, I'll explain the easy, official options. These are unfortunately only for Windows users. Officially promoted toolchains ST provides example code and documentation for three toolchains: Atollic TrueSTUDIO, IAR Embedded Workbench and Keil MDK-ARM. Download ST's example firmware package here User manual for the firmware package Below are some quick facts & links about the official toolchains. Atollic TrueSTUDIO (Windows) This is an Eclipse -based development platform that includes an optimizing C/C++ compiler, editor and a de

Overview of the STM32VLDISCOVERY evaluation board

Image
The STM32VLDISCOVERY evaluation board. The STM32VLDISCOVERY is a $10 evaluation board for the STM32 value line microcontrollers. It has a 64-pin STM32F100RB microcontroller, can be powered & programmed via USB, one user push button, a reset button and two user leds. The board is quite barren and doesn't have much features, just I/O pins - but that's exactly what we DIYers want! You can decide yourself what you want to use the ports for. Only downsides to the board are bad Linux support (three proprietary windows toolchains are supported) & bad breadboard compatibility . Luckily, you can go around both issues with a bit of effort. STM32F100RB features:  - 32-bit!  - CPU frequency max. 24 MHz (evaluation board has a 8 MHz crystal)  -128 kilobytes of Flash program memory  - 8 kilobytes of SRAM  - Up to 7 16-bit PWM timers: 1 advanced control timer, 6 general-purpose timers  - Communication interfaces: 2 x SPI , 2 x I2C , 3 x USART , 1 x HDMI-CEC  - 12-