Very good to hear TheGimp! So, we have atleast two of us getting thru the needle eye with this camel 🙂
Brgds
Brgds
That 144 pin tqfp on the other hand is a bear to work with by hand. Not so much soldering, as placing it in position and keeping it there until diagonal pins are soldered.
Didnt realize it was that easy ;-)
Brgds
It must be nice to have a stereoscope to do soldering with. I have the iron in one hand and solder in the other, squint like crazy and hope the shakes don't kick in. (lost more parts that way)
The 0603 parts are fine but i have to do zen breathing and reach my happy place to work with 0402. Anything smaller than that an I will give up and buy a pick-n-place machine.
The 0603 parts are fine but i have to do zen breathing and reach my happy place to work with 0402. Anything smaller than that an I will give up and buy a pick-n-place machine.
Both channels are now up and running. Sound is crystal clear so I may not have damaged the output opamp (I'll probably change it eventually any way just to be safe).
I can handle 0603s (under a stereoscope), but please don't ever use 0402s or smaller (0201, 01005? Yikes I didn't know these pepper grains existed!).
That 144 pin tqfp on the other hand is a bear to work with by hand. Not so much soldering, as placing it in position and keeping it there until diagonal pins are soldered.
I like the fact that you keep your regulators close to the load and keep the inductance of the long traces at the input instead of output.
I use a host of loupes, lighted magnifying glasses and a magnafying headset at home. It is easier to bring it into work and stay late to use a solder station or use one at lunchtime.
I have problems holding the parts with tweezers until I can get the solder in place.
I'm just starting to look at the widget. Does your board plug into the USB-i2s board, or is it stand-alone? - Never mind, I re-read your web site and it answered my question.
Turbon, with large pin count devices I find it is easier to flood the pins with solder first to establish the pin to pad connection. Then go back and use solder wick to remove the excess leaving the pin to pad connection intact.
I found some OPTREX DCM20434 4 X 20 LCD modules in a box last night. They are parallel input, 8 bit and look like they are compatible with the HD44780, so I won't have to wait on a display from e-bay. They aren't lighted, but should work for development.
I have problems holding the parts with tweezers until I can get the solder in place.
I'm just starting to look at the widget. Does your board plug into the USB-i2s board, or is it stand-alone? - Never mind, I re-read your web site and it answered my question.
Turbon, with large pin count devices I find it is easier to flood the pins with solder first to establish the pin to pad connection. Then go back and use solder wick to remove the excess leaving the pin to pad connection intact.
I found some OPTREX DCM20434 4 X 20 LCD modules in a box last night. They are parallel input, 8 bit and look like they are compatible with the HD44780, so I won't have to wait on a display from e-bay. They aren't lighted, but should work for development.
Last edited:
On the other hand if you have a serial one it should be a piece of cake to get it going!
I'll be here assisting you and others and hopefully we get some help from above ;-)
The first part is the initialization...
The lcd.writes and prints needs to be handled by the wire lib.
Thats pretty much it as I understand - but again I don't have one of these (yet anyway - but it would free a lot of pins) so I can't test...
I'm thinking of a function reading the registers of this dac (should be the same for them all really) to see what settings it have succeded to set. The LCDtoday shows what the program has been programmed to set - are we quite shure it is so? I'd rather set something and then check the source to be sure it complies.
So, another rewrite is in the pipe...
Brgds
I'll be here assisting you and others and hopefully we get some help from above ;-)
The first part is the initialization...
The lcd.writes and prints needs to be handled by the wire lib.
Thats pretty much it as I understand - but again I don't have one of these (yet anyway - but it would free a lot of pins) so I can't test...
I'm thinking of a function reading the registers of this dac (should be the same for them all really) to see what settings it have succeded to set. The LCDtoday shows what the program has been programmed to set - are we quite shure it is so? I'd rather set something and then check the source to be sure it complies.
So, another rewrite is in the pipe...
Brgds
Thanks Turbon.
I've got a serial display but it is only 2 line.
I might be able to take the serial to parallel converter from the 2 line display and attach it to the 4 line display.
I've got a serial display but it is only 2 line.
I might be able to take the serial to parallel converter from the 2 line display and attach it to the 4 line display.
No, the serial display is 2 rows (Lines) of characters. Two rows of 16 characters. Wrong display.
Oook, I got it.
I would save what I had and get me the real stuff. But then again I have no clue what you can get hold on. I might be lucky - this is what I use... Use google translate.
http://www.kjell.com/sortiment/el/elektronik/optokomponenter/lcd-displayer/lcd-display-p90216
Brgds
I would save what I had and get me the real stuff. But then again I have no clue what you can get hold on. I might be lucky - this is what I use... Use google translate.
http://www.kjell.com/sortiment/el/elektronik/optokomponenter/lcd-displayer/lcd-display-p90216
Brgds
Turbon,
Are you using a parallel LCD or serial? I thought this code was for the parallel.
#include <LiquidCrystal.h> // For LCD
// Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
The data sheet is for a parallel LCD.
Are you using a parallel LCD or serial? I thought this code was for the parallel.
#include <LiquidCrystal.h> // For LCD
// Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
The data sheet is for a parallel LCD.
Last edited:
Yes, mine is the parallel one. But looking at glts code it is easy to convert to serial.
But the code needs 4 rows times 20 columns.
Brgds
But the code needs 4 rows times 20 columns.
Brgds
Turbon,
Are youusing a parallel LCD or serial? I thought this code was for the parallel.
#include <LiquidCrystal.h> // For LCD
// Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
Are youusing a parallel LCD or serial? I thought this code was for the parallel.
#include <LiquidCrystal.h> // For LCD
// Initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
Hmmm. Why am I trying to get a serial LCD working when I have several Parallel LCDs? I should have left the serial interface on the 2X20 and not messed with it.
Duh.
Duh.
...snip...
To straighten things out with LCD's I will include a new declaration, 0 will be for 4-bit init an 1 will be for serial LCD. Just to keep people happy with whatever type of LCD they bought.
A second one could be a declaration of what code to use for the remote - Sony, Apple or whatever you would prefer.
...snip
Brgds
Turbon, Did you ever do this? I don't see it in the code.
I started with a fresh Arduino 1.0 load.
I loaded LCDi2cW into the libraries directory and moved macros.h to the LCDi2cW directory From - C:\arduino-1.0\libraries\LCDi2cW\examples\Dales_Space_Invaders_Custom_Character_Sample\
I loaded your latest file "WM8741_DAC_4-9-2012" in to the Arduino 1.0 directory and started Arduino.
I loaded "WM8741_DAC_4-9-2012". When I compiled it I got the usual error and allowed it to move the file to a directory named the same.
Now I get the errors:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
at processing.app.Sketch.setCurrentCode(Sketch.java:1159)
at processing.app.Sketch.load(Sketch.java:219)
at processing.app.Sketch.<init>(Sketch.java:141)
at processing.app.Editor.handleOpenInternal(Editor.java:2132)
at processing.app.Editor.<init>(Editor.java:311)
at processing.app.Base.handleOpen(Base.java:700)
at processing.app.Base.handleOpen(Base.java:665)
at processing.app.Base.handleOpenPrompt(Base.java:654)
at processing.app.Editor$5.actionPerformed(Editor.java:503)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
I loaded LCDi2cW into the libraries directory and moved macros.h to the LCDi2cW directory From - C:\arduino-1.0\libraries\LCDi2cW\examples\Dales_Space_Invaders_Custom_Character_Sample\
I loaded your latest file "WM8741_DAC_4-9-2012" in to the Arduino 1.0 directory and started Arduino.
I loaded "WM8741_DAC_4-9-2012". When I compiled it I got the usual error and allowed it to move the file to a directory named the same.
Now I get the errors:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
at processing.app.Sketch.setCurrentCode(Sketch.java:1159)
at processing.app.Sketch.load(Sketch.java:219)
at processing.app.Sketch.<init>(Sketch.java:141)
at processing.app.Editor.handleOpenInternal(Editor.java:2132)
at processing.app.Editor.<init>(Editor.java:311)
at processing.app.Base.handleOpen(Base.java:700)
at processing.app.Base.handleOpen(Base.java:665)
at processing.app.Base.handleOpenPrompt(Base.java:654)
at processing.app.Editor$5.actionPerformed(Editor.java:503)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Turbon, Did you ever do this? I don't see it in the code.
No, not as this point since I don't have the Sony remote nor a serial LCD yet anyway.
Brgds
Try to run aurdino as administrator...
Brgds
Brgds
I started with a fresh Arduino 1.0 load.
I loaded LCDi2cW into the libraries directory and moved macros.h to the LCDi2cW directory From - C:\arduino-1.0\libraries\LCDi2cW\examples\Dales_Space_Invaders_Custom_Character_Sample\
I loaded your latest file "WM8741_DAC_4-9-2012" in to the Arduino 1.0 directory and started Arduino.
I loaded "WM8741_DAC_4-9-2012". When I compiled it I got the usual error and allowed it to move the file to a directory named the same.
Now I get the errors:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
at processing.app.Sketch.setCurrentCode(Sketch.java:1159)
at processing.app.Sketch.load(Sketch.java:219)
at processing.app.Sketch.<init>(Sketch.java:141)
at processing.app.Editor.handleOpenInternal(Editor.java:2132)
at processing.app.Editor.<init>(Editor.java:311)
at processing.app.Base.handleOpen(Base.java:700)
at processing.app.Base.handleOpen(Base.java:665)
at processing.app.Base.handleOpenPrompt(Base.java:654)
at processing.app.Editor$5.actionPerformed(Editor.java:503)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
It might be a naming issue... I have worked with the code as test-<date> and renamed it just before zipping. Try to replace the underscores with hyphens.
WM8741_DAC_4-9-2012 -> WM8741-DAC-4-9-2012
Brgds
WM8741_DAC_4-9-2012 -> WM8741-DAC-4-9-2012
Brgds
- Status
- Not open for further replies.
- Home
- Source & Line
- Digital Source
- High Performance WM8741 Upsampling DAC New Version build thread (show 'n tell too)