- Category: Other builds
- Published on 08 January 2014
The previous versions of the CE644 development boards (aka CE644 controllers) I designed could not be used for interfacing 20x4 character OLED displays from Newhaven. These OLED displays have a build-in controller that is ' almost' identical to the most commonly used Hitachi HD44780 LCD controller. There is however one small difference that has to be taken into account when interfacing these OLED displays. The initialization of the build-in controller differs from the standard HD44780 controller, so the standard Arduino LCD library proves to be useless when working with this display. More about the initialization can be found on Elko Jacobs his website. He modified the LCD library in a way that it works with the OLED and calls his revised version the OLEDFoutBit library.
Using Elko's library makes it very easy to interface the OLED displays from Newhaven. However... all previous versions of the CE644 use a I2C controlled port expander to interface the connected display. Whatever I tried I could not display custom characters when using use the OLED display in combination with the OLEDFourBit library and the port expander. The custom characters are used to display large numbers. I'm not entirely sure, but I think that when interfacing the display by means of the port expander and writing custom characters to the display, the delay between the commands caused by the port expander is interpreted by the display's controller as a command to start initializing again. But since the custom character commands are no initialization commands the initialization goes wrong and the display goes berserk or in WTF mode, as Elko calls it.
I realized that the port expander had to be taken from the CE644 for it to be compatible with the OLED displays. That's why I started designing a new version. This new version is going to be fully compatible with Newhaven's 20x4 OLED displays while also staying compatible with the 20x4 HD44780-based character LCD modules. Another new feature is the onboard FT232R chip that makes it possible to program the controller by using an USB cable and the Arduino IDE. Serial communication will also be available by means of the FT232R chip. Like with the previous versions the ADuM1250 is still a part of the design, providing a isolated I2C interface. Ideal when interfacing noise sensitive chips, like high-end audio DAC chips.
Although still under development..., here is a small preview of the controller's circuitry. (click to enlarge the image)
To be continued...
- Category: Other builds
- Published on 03 January 2014
My brother has his own little recording studio at home and has released three albums and one EP under the name Scopes. His first album "Abstract Thoughts" and the EP "Slick & Slack" can be found at Spotify or downloaded from iTunes. These albums contain mostly the dub step genre. The other two albums, Digilog and Glass Of Water can be downloaded for free from Ektoplazm as MP3, FLAC or WAV. These last two albums are filed under the down tempo psydub or ambient genres. His latest work can be heard at his SoundCloud page.
Some time ago he pointed me out to the Arduino based Bleep Drum Kit. He read some positive reviews about it and told me that he wanted to buy the kit. That's when I thought that it would make a nice present for his birthday and a fun little project for me to build.
Building the Bleep Drum
The designer "Dr. Bleep" shares the Eagle files for the PCB. So I downloaded them, created some Gerber files and send them to a PCB manufacturer. Two weeks later I received the PCB's. When I received the PCB's I noticed straight away. The upper silkscreen was not the same as the one in the pictures over at Bleep Labs. The texts "Play", "Rec", "Tap" and "Shift" where not there. Instead it shows the texts "U$3", "U$23", "U$2" and "U$1". My best ques is that this must be a prototype version, but it works, so it is fine. Another thing I noticed is that the resistors that needs to be used are very small and not very commonly available types. I used standard though hole types instead. Some bending was needed to get them in properly. The LED is also very hard to get in. In fact I could not get it all the way down to the PCB. It is a three color led that flickers and changes color on the rhythm.
Most parts needed are very commonly available parts, but Bleep Laps does not share the part numbers making some parts very difficult to find. Especially the large tactile buttons. It looks like they have a LED inside, but after reading some comments over at Sparkfun I figured out that they use enamel paint pens to color the buttons. Unfortunately I had already searched a for hours and hours before I read that comment. All buttons connect directly to the microcontroller's (ATmega328) pins. When pressed the pins get pulled to ground.
Instead of a crystal the circuit makes use of a 16 MHz resonator. The one I used has a 0.5% tolerance, but timing is for this application not critical. 0.5% is just fine.
Another part that was hard to source was the MCP4801 8-bit DAC. No matter which supplier I tried, they all had this DAC in back order. It took 4 weeks before I got hold of it. By then my brother's birthday had already past by. The DAC is needed to convert the digital signals to analogue signals. The output of the DAC goes though a 10uF capacitor to null any present DC, thus preventing your nice headphones or earbuds from blowing.
Two orther parts that I could not find where the headphones connector and the power switch. I looked for hours, but no luck. I solved this by using a power switch I had lying around and another type of headphones connector. Both can be chassis mounted. Soldered some wires between them and the PCB. Same for the battery holder. I used a cheap, but very handy two wire battery connector.
The two potentiometers are good qualilty 10K Alps linear pots. When the middle position is reached while turning the pots it sort of stops with a sort of click. This is nice, because it makes it very easy to set it to the middle position. Which is around 5K of resistance.
The kit is fed by a 9V battery, but circuit runs at 5V. The voltage is regulated by a TO92 78L05 regulator. I use 100uF capacitors on the input and output of the regulator. According to Bleep Labs 220uF capacitors can also be used, but to my opinion that is not needed at all. The circuit hardly sources any current and not large filter capacitors are needed to flatten out AC ripple. The battery supplies perfectly smooth 9 DC.
Ideally it would be build into a housing to protect the electronics. My brother mounted it into a simple wooden base plate. Just some metal spacers underneath to keep the capacitors leads form bending would also do.
As there are no part numbers made available by Bleep Labs I will provide a list of components I used (except for the resistors), including the part numbers and supplier.
- ALPS 10K potentiometer (Mouser: 688-RK09L114001T) (Amount: 2)
- ATmega328 8-bit microcontroller (Mouser: 556-ATMEGA328P-PU) (Amount: 1)
- MCP4801 8-bit DAC (Mouser: 579-MCP4801-E/P) (Amount: 1)
- 78L05 5V regulator (Mouser: 511-L78L05ABZ) (Amount: 1)
- 16 MHz Resonator (Mouser: 81-CSTLS16M0X51-A0) (Amount: 1)
- Alps 12x12mm tactile switches (Mouser: 688-SKHCBFA010) (Amount: 4)
- Alps 6x6mm tactile switches (Mouser: 688-SKHHBV) (Amount: 4)
- Resistor 1K, metal film 1%, 3.63mm (should be small enough) (Mouser: 71-CCF501K00FKE36) (Amount: 5)
- Capacitor 10uF, 50V, Panasonic Bi-Polar (Mouser: 667-ECE-A1HN100U) (Amount: 1)
- Capacitor 100uf, 25V, Panasonic FM (Mouser: 667-EEU-FM1E101) (Amount: 2)
Here's a video of my brother where you can watch and listen to him experimenting with the Bleep Drum connected to his microKORG:
Here's the official video of presumably "Dr Bleep" showing off with his Bleep Drum kit
- Category: Line Stage
- Published on 01 January 2014
After strolling the internet for some time looking for a good diy pre-amplifier I decided to buy the "Salas HOT ROD DCB1" buffer pre-amp + power supply (Hypnotize version). This pre-amp is based on the B1 buffer by Nelson Pass.
The buffer is an active circuit, but has no voltage gain. Unlike the original B1 this buffer is direct coupled, so no capacitors in the signal path. That's very nice, but also something not to forget when using it with a power amplifier that also has no coupling caps. The speakers won't like it when a source throws some DC over the line.
With a passive volume control you have either a low impedance on input and output or a high impedance on both the in- and output. The benefit of this buffer circuit is that it makes impedance matching much easier compared to passive volume controls. It is best to have an high impedance on the input and a low impedance on the output. High impedance on the input make life easier for the sources to drive the circuit. The same can be said for the output, most amplifiers prefer a low impedance. A buffer circuit gives you the best of both worlds.
Here are some interesting articles about the B1 buffer pre-amp:
The buffer needs to be powered by a descent power supply. That's where Salas comes in. The "Salas HOT ROD DCB1" has a onboard shunting power supply. Such supplies are know to have a low noise floor and for being very stable. It all comes down to the design, if you'd asked me. Salas seems to be the power supply guru on diyAudio. His designs are used throughout the diy audio world and receive nothing but praise.
Two guru's, one design
The Pass B1 buffer pre-amp and a power supply from Salas molded into one PCB/kit. That sure did caught my attention! I must not forget to mention that the PCB's/kits are being made available by Mr. Tea-Bag and Mr. CRT from diyAudio. They do a great job in designing and distributing these and other PCB's!
The PCB is of very fine quality. It is designed in a way that it can house components of multiple sizes, giving great freedom of choice in using your own favorite components. The PCB is gold plated and makes the solder flow very easy. All components are marked clearly on the board, but you need to read the manual real good before starting to put any of the components to the board. The power supply's CCS (constant current source) can be set to multiple tiers of current. The CCS of original design of the "Mezmerize B1 Buffer Preamp", which I believe is the ancestor of the "Salas HOT ROD DCB1", is set at about 60mA. The CCS at the HOT ROD version can be set from 200 mA to 2A!! Now you know why it's called the HOT ROD version. It's able to run very hot! To set the CCS to shunt 200 mA the CCS resistor needs to be 10 Ohm. Setting it to the next tier of 600 mA requires a 3.3 Ohm CCS resistor or a 10 Ohm and 5 Ohm resistor in parallel. I decided to set the CCS to 200mA by using the 10 Ohm resistors. This way the IRFP 240 and 9240 MOSFET's can be bolded to the chassis without them running to hot. In fact they just heat up to about 40 °C. No need for additional cooling.
I used all components that came with the kit, except for the input and output connectors and the 0.22uF WIMA MKP10's. These capacitor are used to bypass the LED strings. Although the MKP10's are very good capacitors, I read lot's of reports from other builders where they experienced substantial improvements in sound quality when using some boutique capacitors instead of the MKP10's. The downside of these boutique capacitors is their relative high price. To me their prices are often totally disproportionate to the price of the kit. Especially when knowing that they're not even used in the signal path. For that reason I decided to use the relatively new MUNDORF Mcap EVO Oil, high grade MKP 0.22uF capacitors. These newcomers have an outstanding performance to price ratio.
The buffer exists only of four excellent 2SK170BL JFET small signal transistors and eight resistors. There is also a mute relay that shorts the signal to ground at power up, so the power supply gets some time to stabilize. After about 6 to 7 seconds the relay stops shorting the signal to ground. Te JFET's need to be matched in order to get the best results from the buffer. The transistors can be matched by using this tutorial, but that would involve buying a large amount of these already scarcely available transistors in order to find some matched pairs. Luckily the kit contained the matched pairs for the buffer circuit, otherwise they can be purchased at ebay for as long as it still lasts. The resistors are all PR9372 Series leaded Metal Film, Audio resistors from PPR. I think that these resistors are excellent for audio, but some prefer using other resistors like Dale RN60's or even the very expensive TX2575 Naked Z-Foil resistors. Perhaps I'll try the TX2575's with another project as these are said to be the "Hole Grail".
Unlike the "Mezmerize B1 Buffer Preamp", this PCB has no room for a potentiometer and also no circuit for selecting inputs. A 20K potentiometer should be used should to achieve the best responds from the circuit. I choose to use an ALPS blue velvet potentiometer as these are very good for the price, but finding a 20K ALPS proved to be quite some challenge. These are not very common, but they can be bought from ebay. Other good (most likely even better) alternatives are TDK potentiometers or the "Lightspeed attuenator".
The possibility to connect just one input was simply not enough for me. Although most of my sources are connected by means of using a DAC I want to be able to connect more than one source to the pre-amp. Instead of buying a input selector from ebay I designed my own input selector board. It consists out of the ALPS potentiometer and four Omron G6K 2P relays that are controlled by a Atmel ATtiny2023 microcontroller. A small onboard 7805 based power supply is powering the microcontroller and delivers the current for actuating the relays. Four BC338 NPN transistors are used as simple switches to switch the current to the relays. Using a 3 pole 4 way switch from Lorlin, which I had lying around, allows me to switch between the connected sources. To simplify the switching I altered way that the switch works. I changed it into a 2-bit selector, so I could use just three wires to read the switch. The power supply ground from the input selector board is fully isolated from the DCB1. I placed the rectifier diodes and some filter caps for the input selector board's power supply onto another board to keep the AC secondaries as far away from the DCB1 as possible. The rectifier/filter board is shown in the image below. If you're wondering why the Bourns potentometer is there... Well, I use it to adjust the brightness of the front panel LED.
The transformer used for the DCB1 is a cheap 120VA, 15V toroidal transformer from Amplimo. I'm not fully satisfied with it because it has some loose windings. It hums very softly, but it can only be heard when you put your ear into the chassis. Perhaps I'll change it for a nice audio grade transformer from Toroidy in the future. Another 9V toroidal transformer is powering the input selector board. I know that's it's overkill to use such a transformer for this purpose, but it's what I had lying around and it has a low stray field compared to most other trannies.
The chassis was bought from Analog Metric, based in Hong Kong. It's a complete chassis with all holes pre-drilled. The RCA connectors, power inlet, power switch, fuse and knobs are all included, but the RCA connectors are of low quality. The other parts are fine with me.
The build was finished in September 2013, but I was a bit slow with writing this article. So I'm using the buffer for almost 4 months now and to my full satisfaction. Highly recommended!