Introduction: LapTop BreadBoarding
Analog Breadboarding on a laptop costs almost nothing, at least on a MacBook Pro.
Step 1: The Interface
Three things make laptop breadboarding convenient.
1)A USB port is designed to provide 5volts at up to 500mA.
2)Sound recording inside PCs is becoming commonplace.
3)A lot of free software is available online.
These three items together with a little interface development can turn a laptop into a full audio bread-board lab environment. Outside of the breadboard, the full interface needed is shown below.
The MacBook provides a line-input stereo audio port in addition to its internal microphones. It looks like this port can only handle signals at the standard audio levels.
USB devices tend to become an open circuit right at the plug interface. The wires in this USB plug were wired to the correct color code. The 5V wire was red and the ground as black. Apparently a 100mA load is a unit load for USB. A 100 Ohm series resistor was added to the 5V line for safety reasons.
<< THIS IS NOT A NOVICE PROJECT >>
Step 2: Optional
If the breadboard looks a little strange, it is because some stack-able jumper-leads were made up to make hooking everything much easier. (Optional)
Step 3: Free Simulation
Outside of the interface, everything else that is needed is either already inside a MacBook Pro or can be downloaded off the web for free.
One excellent program for a Mac is Macspice. This program is completely free and seems to be continually supported. A simple simulation of the breadboard will show what should be expected.
Step 4: First Circuit
A simple triangle/square wave oscillator will be the laptop's first circuit. A low supply current RRIO OpAmp was used in the breadboard. (In this case a LM6132). The output at node "OUT1" will go very close from zero to 5V. But since the audio input port for a MacBook only accepts audio level inputs, R5 and R6 are used to reduce the signal level. Op Amp OPA2 buffers the triangle wave and it needs to be attenuated too.
Step 5: First Simulation
The full simulation code is shown below and yields the following graphs.
Step 6: Free Oscilloscope
The next great free program is called MacCRO X. This is alpha version of a simulated oscilloscope, so everything is not perfect. But when the breadboard is powered up from the USB port and clip leads connect analog signal to the audio input port, the behavior of the breadboard can be viewed real time.
Step 7: ScopeAdjustments
The present version of MacCRO X allows some adjustments in both time and voltage magnitude. The trigger feature does not appear to be working well. But there is a button to freeze the scope trace.
Step 8: XY Display
This is a dual trace oscilloscope which is powerful.
Step 9: Run Both
For those of us who believe in trusting nothing, now its possible to sanity check real time analog waveforms with simulations on the same laptop, all at the same time.
Step 10: Free Wave Capture
The present version of MacCRO X appears to neither trigger well nor store waveforms in a convenient manner. That is where another great free program comes in.
While there are many programs that can record audio signals, Audacity appears to be the best.
Step 11: The Power of Dual Trace
Having the ability to capture a large amount of dual trace data is very powerful when it come to debugging any hardware. The dual trace feature makes it much easier to hunt down cause and effect relationships. While MacCRO X is a long way from having the triggering power of a typical oscilloscope, Audacity can capture and display a large amount of data which can then be looked over to find a particular event.
Step 12: Who Needs a Soldering Iron?
Given the present state of both the hardware and software available on a MacBook Pro, it looks like getting some hands-on analog experience might be getting much easier in the future. On a 17 inch MacBook, there is a convenient place to scotch tape the breadboard to the laptop where it is stable and out of the way. The use of stack-able jumpers make hook up far faster and easier compared to a soldering iron. It is not obvious things could not get even easier.
24 Comments
5 years ago
I also made homemade MIni Computer check it out here .... https://www.creativitybuzz.org/make-mini-computer/
14 years ago on Step 4
I apologize if this quesstion has been answered before somewhere, but what exactly is the standard audio level for PC machines? I'm guessing from 0-1v, right?
I'm asking because I have run into a project that needs a cheap oscilloscope, and without the ability to capture the signal and not damage my computer, I cannot get the timing stuff right. (I can provide a link to it if you're interested)
Reply 13 years ago on Introduction
Never ask an engineer a simple question ;)
Much audio technology comes to us courtesy of Ma Bell. "Line level" is telephone line level. Signal strength is measured with an S meter. 0 dB= 0.775 volts @ 600 ohms. Anything @ +3 dB (1.55 volts) or higher can produce crosstalk on other lines, so +3 dB is considered to be an absolute maximum. Acceptable telephone signals are generally around -10 dB, 0.0775 volts.
I have an audio mixer that labels line, instrument, and microphone levels as -20 dB, -35 dB, and -50 dB respectively. In case you're not into logarithms, -3 dB = half power; +3 dB= double, -10 dB= 1/10th, and +10 dB= 10 times.
So assuming that the dweebs that designed your sound card knew the specs and STUCK TO THEM, yes, your guess is close enough. If you exceed it, the input amp will eventually enter a nonlinear region. If it's vacuum tubes (stop laughing you fool - I used to work with computers that used vacuum tubes - and relays; my $3 digital watch has more processing power :D ), peaks begin to softly flatten out, producing a distortion that's rich in lower harmonics and pleasing to the ear. If it's solid state, the clipping is hard, harsh, and as pleasing as fingernails on the blackboard. Interestingly, the harmonic content is similar - higher odd overtones.
But you're building a 'scope, so you should be able to see this.
Line input is 600 ohms, not good for a 'scope. I'd buffer it with an op amp voltage follower.
There used to be plans and kits for converting (all tube) TV's to a big screen oscilloscope. I never tried one, nor do I know anyone who did.
Good luck with your project.
-Mike
Reply 13 years ago on Introduction
Thank you for the information. I worked in the audio IC design field, and all the customers seemed to have a set of audio signal definitions that I never got the full story on. It is nice to hear about the origin of things. Are all these audio specs written down someplace?
Reply 14 years ago on Step 4
In my example, the RRIO Op Amp is going from 0 to 5 volts and it is seeing a gain reduction of 1/100. This puts the input at +/-25mV. Standard audio used to be in the 100mV rms range with 10-20dB allowance for head room. I have not yet, but plan on finding out the clipping level and input impedance at least for my MacBook Pro. But some great new resources like SciLab and Arduino have been drawing away my attention. Hope to use these resources in some fun future labtop circuits.
Any resources that can capture sound on your PC can be used. The Mac includes a line in port. SciLab provides a way to get at the captured audio frequency signal. See my web site at www.idea2ic.com .
14 years ago on Introduction
This is excellent! However, I have always wondered how people program those oscilloscope programs, ie, get values from sound card. Now, if you could program the sound going out, you have yourself a programmable two-way stereo audio interface! But, when I look up how to interface to hardware with C++, I get either a beginner's tutorial, or a half-baked API that I have no idea what it does. (Not that I am good at C++, I have just been trying to justify the time and effort to put into learning it. I want to control serial ports, CD drives, etc.!)
Reply 14 years ago on Introduction
Depending on your platform (Unix,Window,Linux,Mac), there are many different ways to do this. I am looking into using arduino hardware as an easy way to do any kind of serial interface. On the Mac, there are both input and output audio ports and ways to capture and play signal. My next laptop breadboard will use a LM13600. But for now the investigation is centered around a open source program called "Scilab" which enables a person to create, view, modify, analyse, in theory hear, and export to a wav file any type of audio signal one would want to play with. Give me time...
Reply 14 years ago on Introduction
*whine
I want it *now*!
*whine
Yes, serial I/O is great, but how did they make scilab do stuff with the sound card? (wondering out loud...)
Reply 14 years ago on Introduction
My latest addition to my website on this subject is as follows.
http://www.idea2ic.com/PlayWithFink/LapPower/PowerInLap.html
This page shows where Apple has a full working Xcode two way audio interface example on line. If you have a Mac, your set up to get into the audio hardware interface with C++ like software.
Reply 14 years ago on Introduction
For the moment, I have just uploaded a template file on some of the things that can be done with scilab at www.idea2ic.com/PlayWithFink/SCILAB_Templates.html and have used for now a "NI USB-6009" to capture the audio frequency analog signal shown in the template. However , all macs have several different ways to record audio . The fact you can create, view, read, modify, write audio signal in open software like scilab is something new. In theory, scilab should be able to "play" the signal to hear it as well. The play command does not appear to work on my mac for now. But it should be easy on most computers to listen to a "wav" format file.
14 years ago on Introduction
Excellent instructable!
I have a couple of comments (which sounds like I am picking holes in the instructable but that really is not my intention!):
1. Using a 100ohm resistor in series with the USB VBUS means you are going to drop some serious volts across it when your circuit is under load - you could end up with some bizarre consequences/observations as the supply voltage droops etc.
2. USB ports are designed (and this is part of the compliance testing and spec) to current limit or shutdown at 500mA load.
Sooo, dont worry about the 100ohm resistor - it aint needed ;-)
Many thanks.
PCB Police
Reply 14 years ago on Introduction
I would guess the same thing. But one may want to set things up with a safety margin for the less experienced. I am also looking input adding some large resistor in series with the "scope probes". The line input port appears to have maybe a .1uf cap in series working into maybe 100K. Five volt Rail to rail signals need to be attentuated to audio level anyway. The series resistor could be adjusted to produce the maximum input signal. Would all PCs use the same value however?
14 years ago on Introduction
That is truly awesome! Are there any similar programs out there for windows or linux? I like that circuit simulator! Keep up the good work. Fudge.
Reply 14 years ago on Introduction
There are many for Windows - do a search for 'sound card scope free software' or 'winscope' - th ebandwidth is extremelly low as we all know but they are useful for audio electronics debugging.
Winscope will run under WINE on Linux.
PCB Police
Reply 14 years ago on Introduction
For me there is a comfort factor. I don't feel comfortable with just spice. Just seeing something work even if it is slow tell me I am not wasting my time.
Reply 14 years ago on Introduction
Winspice is almost identical to MacSpice. In most cases the exact same file runs on both. I always found there were much more oscilloscope programs for windows than on a Mac. I don't have the hardware however to check them out. My Mac only has a PC simulator. But I suspect that a PC better set up.
Reply 14 years ago on Introduction
There are versions of the Spice simulator and various frontends for it available for other platforms. I haven't heard of any other sound card oscilloscope programs though; unfortunately most Mac developers don't understand the benefits of writing cross-platform software...
14 years ago on Introduction
Could you give some details on how you made the stack-able jumper-leads? They look very handy.
Reply 14 years ago on Introduction
Do a search for 'socket strip' on the Farnell or DigiKey websites - you can snap off single sockets or use a couple of strips to make a DIP IC socket.
Very useful in their intended purpose but the stacked breadboard jumper idea is excellent :-)
PCB Police
Reply 14 years ago on Introduction
check out https://www.instructables.com/id/Stackable-Jump-leads-for-BreadBoards/