Stopped by the Maker Faire Community meeting last night and had a nice chat with maker friends from last year and also met some new people. We are psyched for the Faire in September! Hereʻs a sneak peak at something new you will see there, itʻs a plug-n-play heart rate sensor that works out of the box with arduino or any other microcontroller. We think youʻre going to like it!
Maker Faire & Product Development
July 7th, 2011Open Hardware Store Galore
June 30th, 2011Alittle while back I saw a post about InMojo on adafruitʻs blog. Canʻt believe it took this long to get hooked up, but you can find my work along with the work of many other mad creative folks. Rigt now theyʻve got our Mouse Eye right on the front page! Rock me InMojo!!
Who Is Rachel?
June 27th, 2011Rachel is curious and creative. Rachel likes to take risks. She is always learning and growing and building on what she knows. Rachel shares.
I am Rachel.
You are Rachel too, if you want.
Solarduino V2
March 19th, 2011The Prototype Solarduino V2 is up and running

I’ve moved the details of my Solarduino development over here Check there for ongoing uptdates. I will cover major developments here as well.
We will be selling them soon. Pricing TBD. email store@rachelselectronics.com for more info!
http://www.solarduino.net/
Solar Piston V2
February 16th, 2011It’s the Year of the Rabbit. Will there be a Rabbit Robot?
The updated design for the Solar Piston LiIon Battery Charger is here. This circuit will safely charge a LiIon battery from a PV solar panel, or any other micro-energy power source.
What’s Happening?
There are 4 states that the circuit can be in. The first is ‘Not Charging’. This happens when the PV Source is not outputting enough power to charge the capacitor C6 above 3.7 volts. When this happens, the IN on U1 does not go above it’s trigger, and it’s output remains low (internally connected to GND). In this case, the base of the NPN transistor, U3, feels GND and remains off. That makes the gate of the P-MOSFET, U2, feel +V through the resistor R2, and it remains off, disconnecting the circuit from the LiIon battery. In this state, the voltage at IN of U2 is well below the internal internal trigger of 3.8V, so its OUT pin is connected internally to GND. The gate of U5 (P-MOSFET) feels GND through U2’s OUT pin, and remains on. If there is any rise in voltage on the PV Source above the voltage on C1 + 0.3V (the forward voltage of D1) current can flow and charge C1.
The second state is when the PV Source is providing enough current and voltage to charge C1 up to 3.7V, the trigger voltage on U1. When IN on U1 feels 3.7V, it turns off its output, and disconnects the base of U3 from GND. U3’s base feels +V through R1 and turns on, pulling the gate of U4 to GND. U4 turns on, and connects the capacitor to the battery and charging happens as C1 drains into the battery. If the source (PV, Piezo, Wind Turbine, Bike generator…) is not powerful enough to continuously charge the battery, the voltage on C1 will fall until it drops to 3.5V, at which point the Voltage Detector, U1 will turn on it’s OUT pin, connecting it to GND. This in turn will pull the base of the NPN low, turning it off, and the gate of th P-MOSFET U4 will get pulled high, and it will turn off, therby disconnecting the charging capacitor from the battery. As the PV Source is continuing to provide power it will send the charging circuitry into oscillation, pulsing current into the battery.
If the PV Source can provide enough voltage and current to C1 so that the Voltage on U1’s IN pin is above 3.7V, The PV will charging circuitry will remain on, and charging will happen continuously. This condition would constitute state three.
The fourth state is another oscillating situation. In this case, the PV Source is providing more than enough voltage and current to charge the battery through the charging circuit, and the voltage on C1 rises above 3.9V. At this point, the IN pin of U2 feels the voltage trip it’s trigger setting, and it turns off the GND connection of its OUT pin. This disconnects the gate of U5 from GND, allowing it to be pulled up through R3, and the MOSFET turns off, disconecting the PV source from the circuit. As the charge on C1 continues to drain into the battery, it’s voltage falls. When it drops to 3.8V, U2 turns on again, pulling U5’s gate low, and allowing the PV Source back into the circuit. This oscillation will continue as long as the Source is providing excessive current to C1.
What’s It Made Of?
U1 and U2 are both S-808 series Voltage Detectors from Seiko Instruments. The output of these devices will go low (internally connected to GND) if the voltage on the IN pin is below an internally set threshold. If the V on IN is above the threshold, the output is in high Z (high impedance state, essentially connected to nothing). These devices are the brains of the operation. U1 threshold is 3.5V, U2 threshold is 3.8V.
U3 is a 2N3904 NPN transistor rigged up as an inverter.
U4 and U5 are P-Channel Power MOSFETs (BS250). U4 is the low resistance ’switch’ that closes to provide charge for the battery. U5 is the low resistance ’switch’ that opens to prevent over charging the battery.
D1 is a low Vf (~0.3V) Shottkey diode. It’s job is to block current from flowing ‘back’ through the PV source.
R1,2,3 are pull-up resistors. 1M or even 10M can be used to reduce leakage in the circuit.
For critical information about LiIon battery management and behavior, please go to Battery University.
I (heart) Open Source Hardware
February 11th, 2011Open Source Hardware 1.0 has been released! I am happy to endorse the effort and will be operating under this definition for the future. OSHW is not an easy acronym to pronounce! Follow the link below to read the definition. go here to view the logo competition
I support the Open Source Hardware Definition v1.0
Robot Houses
December 10th, 2010Manuel Rueda is a student at Parsons, where I teach Physical Computing. His project for houses that assemble themselves is very interesting and poses some tough design challenges. This video really made my day. I hope it makes yours!
3RD WARD Holiday Fair
December 2nd, 2010~~~~~~~~~~~
I will be there to promote the electronics classes that I teach, and also have Rachel’s products for sale and on display. Come one and all. It will be fun!
This Month Essential Circuits: 555 Timer December 8 & 9 7-10PM
And through the month of January Intro to Circuits & Electronics, a comprehensive introduction to analog electronics and circuit building from schematics. 5 Wednesday sessions in January and the first week of Febuary.
BOTCAVE!
November 20th, 2010Nano Robotics Primer
November 16th, 2010Warning: Visualization of Molecular Mechanics Leads to Blown Mind!
If your mind is not sufficiently blown, please see below
Talk Tomorrow Night!
November 8th, 2010Point Commons!
October 30th, 2010The Justice Department filed a friend-of-the-court brief in a federal case that has something to do with isolating genes that are somehow related to breast and ovarian cancer. Read about it here. This is great and welcome news for those of us who believe that the human genome is a part of nature. Even when it’s ‘isolated’. Hooray!
Bot-0-Rama!
October 28th, 2010This makes me so happy! Go get the details, and warm up your robots!
btw, did anyone else notice that boing-boing got hacked last night?
Thank You Mr. Mandelbrot
October 17th, 2010First got turned on to fractals from James Gleick’s book ‘Chaos’. Which I read after seeing the Nova show in 1989. My quick search turned up only this link to a text reference to it. There’s alot out there now online to see and hear about the work that he’s done and been a part of. It’s easy to show what it is, harder yet to show what it meant to see it as it was happening. The possibility of knowing organic structure and growth became possible. Computation in a very pure form opened itself up to design as a possibility and we are living with the results, to the varying degree that they are rendered, every day. To Rushkoff’s admonition that we must ‘Program Or Be Programmed’ I would add ,’Design or be Designed’. We must know and be aware of the structural root from which our environment springs: whether it’s geometric representation of organic forms, or formal mathematical representation of iterative processes, Turns out it’s all the same.
Short Break
October 13th, 2010Hey! We’re moving! Not websites, ‘tho it would be nice to upgrade, but physical location. Being tied up in that activity has slowed down the blog-rate… In the works we have some tutorials on the 7-Key Slider/Wheel breakout, and the 10-Key Touch Sensor breakout.
We’ll als0 be bringing you more on the SolarDuino next week after we unpack everything! The plan is to offer assembled and tested SolarDuino prototypes to folks who have a good project to use them on. It will be a Solarduino Beta Tester Essay Contest. Details arriving soon. In the mean time, enjoy your weekend!!
Arduino Libraries
October 5th, 2010Hey we just updated our site with two new libraries! the MouseEye has a library and the 7 Key Slider/Wheel has a library. They are designed to do all the heavy lifting behind the scenes. Each library file contains a read-me that details the features. Enjoy!
MouseEye Protocol
October 1st, 2010There were more than a few people at the Maker Faire who wondered about the protocol used to communicate with the IC at the heart of the Mouse Eye. Everyone over 40 said that it must be PS/2. I knew about the connector, but not the protocol until now. Not much need to tap a PS/2 device lately…
The old IBM Personal System/2 gets origination credit for the old barrel connector and protocol. Based on the wave forms on this very informative source, its closest cousin seems to be SSI. The clock line idles high, and data is sent one byte at a time LSB first. There’s start, stop, and parity bits along for the ride. In contrast, the ADNS2620 IC that we use in the Mouse Eye has a much different flow. It’s a synchronous protocol, but there is none of that start, stop, parity business. If you mumble your bits, you just don’t get listened to. Here’s a head to head wave form comparison.
Above you have the PS/2 clock and data lines. Bytes are sent one at a time, and it takes 11 clock cycles to send 8 bits (image from this site). Below are images taken from the ADNS2620 datasheet (here you go).
First thing to notice is that there’s no parity, start, or stop bits. All the timing is done on the rising and falling edges of the clock. The two bytes sent are continuous in this Write Operation. 16 bits, 16 clock cycles. Data is MSB first.
The only difference with the Read Operation is the Detal ‘A’ and Detail ‘B’, which are timing considerations to allow the ADNS a chance to take control of the data line there in the middle where it starts to send the byte of interest to the host, and then release it at the end. This is about as far from PS/2 as synchronous serial gets. If anyone out there has a name for it (real or imagined) please let me know. We’re calling it MouseEye protocol around here.
In other news, we are cooking up some delicious libraries for all of our products which will be released next week! Have a good weekend!
Blogger-view
September 29th, 2010Hey I got interviewed by Jeff Crystal of Voltaic Systems. They make truly awesome solar backpacks and battery packs for charging your devices. The interview is here. I’ll be returning the favor soon!
Maker Faire
September 28th, 2010SolArduino beta
September 23rd, 2010Yup. It’s bare-bones-naked.
Soldering the SMT parts is excruciatingly difficult if you’re doing it by had, and I am. Luckily, I used to make jewelry, and so I’m calling on all of my stone-setting crafty skills. I’m going to assemble the SMTs and test as many as I can before the Faire on Saturday. Most I’ll have is 15 kits (you do the thru-hole stuff). It works quite well, just a couple of notes here on what’s going on. Definately more later as this slab of phenolic get’s tossed around.
The cluster of parts on the lower left is the Solar Piston. Connections for the solar panel and battery are clearly marked. the other ‘+’ is for the storage capacitor. The SMT part on the left is the Power Trench P-MOSFET that controls the power to slave peripherals and whatnot. (the only thing under power when the SolArduino is asleep is the ATmel). Schottkey diode on the top left keeps any current from draining thru the solar panel. Moving right, the little lentil is a 0.1uF cap. There’s the obligatory ‘pin 13 LED’ at the bottom with its load resistor. Atmel328 with a little blue resonator… Then it gets alittle crowded. Going along the bottom we have the TPS3803 adjustable voltage detector, MCP4551 Digital Potentiometer, two pullups on the I2C lines, and then the TNC75A temperature sensor. The vertical header row is for the FTDI cable, and the horizontal one is for a blue SMiRF (bummer of a name…). Coming around the bend, there’s the reset button and the little 0.1uF cap that workes the auto program magic. The SMT part just right of the ‘blk’ pin is a 3.5V LDO regulator. This will allow charging of any attached battery via good ol’ coal fire. Oh, and at the bottom there’s 6 pins each of +V and GND for general purpose use.
How about the back?
Just a couple of mods. On the left is a pull up resistor for the reset pin. Turns out I connected it to the positive V that is under control of the P-MOSFET (oops) and so it doesn’t pull up unless pin 8 is low. Here, it’s connected directly to the power that the chip gets, so it’s always getting pulled. Also, the lead of this resistor is tying the solar input to the board input on the power select header pin row (check out the top view). That’s important. In the middle is the pull up on the RESET pin of the TPS3803. Somehow it got left out of the schematic. I pulled it up across the board, to keep it away from the other holes on the board. Last mod on the right is the pull up for the P-MOSFET to keep it turned off if nothing else is happening. Seems I have an aversion to pull-ups…
One thing that’s kind of F’d up is that when I connect the USB power to the board, I have to also connect the Solar (see the text on the top side). that’s because the Solar side is the side with the decoupling cap (duh). So, that’s why I jumped the Solar and the middle pin on that header row. The other thing that happens consistently on the three boards that I managed to solder correctly is that when the USB is connected in this configuration, the temperature goes up. and up. and up. on the TCN75A until it barfs out I2C errors…. perhaps a diode will fix that in the next version. The whole idea of having the USB power involved is to allow some rapid or recovery charging of the system. I’ll have to smack up against that bit a few times before it gets figured out.
The kits will come with SMT’s attached and tested, kit of thru-hole parts for you to solder up, and an Atmel328 bootloaded with our SolArduino beta firmware.
This is more fun than a barrel of monkeys. I hope it helps.
SolArduino V1
September 20th, 2010I’ve been working on a project to develop a solar powered arduino platform. Let this be the inaugural posting of specifics and documentation! This work is licensed under CC Attribution/Share Alike 3.0, and is building upon the BoArduino and the BoArduinoBT.
The Sol_Arduino prototype has got a bunch of things going on. Time for an anatomy lesson.
Power Supply The SolArduino runs off of a 3.3V battery (I’m using Tenergy’s LiFE battery because it’s nearly indestructible) and the Solar Piston V1 (SP) solar charging circuit. I’m using the SP-V1 instead of SP-V2 because during testing, the SP-V2 would not switch on when the battery had an ultra-low voltage (> 2.2V). Not sure why this is, but it has something to do with the way the SP-V2 was biasing the N-MOSFET and the voltage difference between Source and Drain…Gate and Source…(another post!). The SP is a micro energy harvesting circuit, and the overall theme and goal of the project is defined by cheap, small, and low power. My solar panel is a PowerFilm model sold by Jameco (228030) that outputs 4.2V, 22mA. It has worked just fine to keep my voltage in the sweet spot during testing with a circuit that sleeps for 10 minutes between sensor readings/data logging. You could use any voltage source as a charging source: wind turbine, piezo stair tread, tidal vane, etc. The VDD pins on the Atmel328 are tied directly to the +V of the battery, but the rest of the board gets its power conditionally.There is a second P-MOSFET that is used to control power to sensors and other peripherals. Digital pin 8 controls the gate of this MOSFET, and when it is pulled high, V-OUT (as noted on the schematic) is turned off as a way to maximize power saving during sleep. The last power supply related device is a 3.5V regulator in line with the +5V output from the +Vin pin or FTDI cable customarily used with BoArduinos. This Vreg takes up to +18V and makes it possible to charge up a 3.3V battery on the USB or other source if needed.
Power Management I’m monitoring the battery voltage level through an interface that I prototyped here, here, here, here, and here. The final version has a resolution of ~0.03V, and accurately reflects the same voltage as the best multimeter in the my lab. As I mentioned above the positive supply to slave peripherals and sensors can be turned off with a P-MOSFET gated to digital 8 for ultra low current consumption during sleep. These features, along with the sleeping routine (code below) should provide for many possible firmware solutions to a variety of power use situations.
Extras In order to make this prototype as useful and as quick to generate as possible, I had to pile my parts on without changing Lady Ada’s original pin-out very much. That made the pin-out pretty silly if you want to work this on a breadboard to add more features of your own design. To compensate, I added two Power Outriggers on the bottom edge. 6 pins each of V-OUT and GND. You’re welcome. The SolArduino comes with a sensor on board! the TNC75A temperature sensor from Microchip. I figured I already had a device that communicates I2C (digiPot in voltage monitor circuit), I might as well put another one on the bus. If you’re looking to interface with sensors, find a version that runs I2C and jump on the bus yourself! I’m developing in league with Joe Saavedra, so there is also a header row that mates with a blueSMiRF for wireless communication (you have to pull the blueSMiRF to program the Atmel). Lastly, there is the obligatory LED+1K hanging off digital pin 13 (SCK).
The arduino sample code (txt file. Does not interface the blueSMiRF!) has a long readme at the end.
Here are jpegs of the schematic and board files.
Hera are zipped eagle files.
Please come to the Rachel’s Electronics booth at Maker Faire NYC to purchase a SolArduino prototype kit and participate in the fun!
This post will be updated.
One Percent
September 12th, 2010These are strange times. There is a powerful Open Source Hardware movement in the midst of an equally powerful slowly-creeping-clawing copyright expansionism. And now this. The idea that a real estate developer can collect 1% of the price of a home sale for 99 years after the home was initially sold is beyond the pale. In my reading Lewis Hyde’s timely book, this kind of notion is at its core un-american. The revolution was in response to a culmination of events, among the most popularly remembered was the Stamp Act. If you don’t remember, the Stamp Act has been passed down to us by historians as the classic case of “taxation without representation”. The British Parliament passed it as a way to pay for the debts they incurred during the French and Indian wars (uh huh). The developers of new housing tracts say the “capital recovery fee” is a way to pay off the cost of roads, sewer, and other infrastructure costs with one side of their mouths, and with the other as a way to “one day use the trickle of cash from these fees as collateral for a loan, or to get cash up front if pools of the fees are packaged into securities to be bought and sold on Wall Street.” Hoo Boy, I can see where this is going.
Monopoly is not a board game, it is the greatest threat to a free democracy.
Solar Piston V2
September 9th, 2010The continuing story of battery charging circuitry. V2 is, of course, an improvement on V1. The new version uses fewer parts, and uses less power that the old version. Here’s the Schematic, explication below.
The Seiko Instruments S-808 OUT pin is ON and connects to GND when voltage on its Vdd pin is under the threshold (in this case, 3.5V) When it is above the threshold (3.5V + hysteresis of 0.175V) the OUT pin is OFF and in high Z (a.k.a Not Connected To Anything). So, as the solar panel is charging the capacitor, the OUT pin pulls the gate of the N-channel MOSFET (BS170) to GND, turning it off and not allowing a path for the cap to discharge. When the charge on the capacitor gets to 3.67V (threshold + hysteresis), the OUT pin on the S-808 turns OFF, the gate of the N-MOSFET feels +V through the 10M resistor and turns on, connecting the ground of the capacitor with the ground of the battery and the capacitor discharges into the battery. As the capacitor discharges, the voltage drops, and when it reaches 3.5V, the OUT pin turns ON again, disconnecting the capacitor and we take another spin on the wheel.
Some interesting things to note:
Internally to the S-808 the OUT pin is an open drain MOS device. I could connect the battery ground directly to this pin, and use it to make the capacitor (-) to battery (-) connection, but the S808 Absolute Maximum current rating on the OUT pin is only 50 mA. It’s better to interface the Power MOSFET, which can allow 500mA continuous. An improvement to this design would be to use the CMOS output version of the S808. That would delete the 10M resistor, and keep the quiescent currents to a minimum.
I hope you’re enjoying this as much as we are. In the next issue we’ll bring it all together with pictures and diagrams and datalogging oh my!
Solar Piston V1
September 8th, 2010One of the aspects of Micro Energy Harvesting that I particularly like is the intermittent nature of machine behavior that it necessitates. To take the solar example: It’s not always sunny. Sometimes it’s downright dark! If you’re working with a power hungry machine, you would expect it to work on the occasion that there is enough power to do the work. Likewise, if you’ve got a low power machine, you may be able to expect that it will hum along a while before it needs to pause for recharge (if ever). Autonomous sensing devises, passively moving robots (wind, tide) start to look like interesting avenues for exploration. Eventually, any MEH system is going to need to take a break and recharge, and that presents an interesting design problem. First things first though, how are we going to charge that battery? With a small to medium sized solar panel and intermittent sunlight, we have to have some control circuitry to manage the power that the solar panel is outputting. If there is enough light to power the solar panel, but not enough to output a voltage above the battery voltage, no charging takes place, and we have wasted time and energy. Being able to store a charge over time, and then dump that charge into the battery is what these Piston circuits do. I’m using a large capacitor to store up the charge, and then a Voltage Detector to release it into the battery. I’ve got two circuits to discuss, so let’s get started.
The central element of both of these Solar Piston versions is the S-80835 from Seiko Instruments. S-808 is the generic part number, and the 35 indicates the voltage trigger point: 3.5V.
The thing to keep in mind during this explication is that the S808 has an Open Drain output. That means when it is active (ON), the OUT pin is connected to GND. When it is inactive (OFF), the OUT pin is in High Z, or High Impedance, or Not Connected to Anything. Hence the pull up resistor. Also, the diode on the top left is there to prevent current draining through the solar panel when there is little or no light. It is a Schottkey diode, and has very low forward voltage drop (0.12V by my measurement). Here we go.
When charge on the 6800uF capacitor is below the voltage trigger of the S-808, let’s say 3.o0V, the OUT pin is ON and connects the base of the NPN transistor (2N3904) to GND turning it off. While the NPN is in the off state, the gate of the P-channel MOSFET (BS250) feels +V through the 10M pull up resistor and it is also off. No current is allowed to flow from the capacitor to the + battery terminal. As the solar panel works, the charge on the capacitor will rise up to the S-808 trigger threshold (on my multimeter, the cap never rises above 3.67V). When that happens, the OUT pin is turned OFF, the base of the NPN feels +V through the 10M resistor, and turns on, connecting the gate of the MOSFET to GND turning it on, and allowing current to flow from the cap to the Battery. As the capacitor drains and the voltage drops, the S-808 is still in operation. When the capacitor voltage falls to 3.50V (by my multimeter and the stated trigger voltage) it will become active again, connecting the NPN base to GND, turning it off, and also turning off the MOSFET. Charge will build up on the capacitor again, and we’ll take another spin on the tilt-a-whirl. Here’s a video.
It helps to note that we are using the S-808 in a kind of ‘backwards’ way. It is designed to provide a RESET signal to a microcontroller, or other hardware, when the voltage falls below a certain level, in this case 3.5V. The S-808 datasheet states the hysteresis for this part as 0.175V. Which gives me a good sense that my multimeter is calibrated at least as perfectly as the Seiko Instruments factory!
This version is slightly flawed in that it requires the NPN transistor to act as an inverter to turn on the P-MOSFET. An N-channel MOSFET won’t work alone, because it would need a higher voltage on the gate than I can provide. With a voltage difference of 0.5V max, there is not enough potential to turn on an N channel MOSFET, so switching the charger on the high side requires this kind of circuit. Next up in version 2, I will show you a simpler way to get this charger working with a P-MOSFET switching on the low side. Stay tuned!
Maker Faire!
September 7th, 2010I’ve got the hardware prototype up and running with the solar charging circuitry and the battery management circuit and firmware V1.0. It runs great! I’m packing it up to take to the Maker Faire Mixer tonight. Tomorrow I will post pics, video, schemata, explication.
rock.
Bisphenol A found in cash register receipts!
September 2nd, 2010File this under “There’s gotta be an easy fix for that!”.
Environmental working group has the news here and here. The stuff is essentially synthetic estrogen and there’s probably some in you pocket right now. Some Thermal Paper companies are removing BPA from their recipes, but the study this spring shows that it is still prevalent. Buyer beware.
Solar Piston
August 29th, 2010Had some trouble coming up with a name for this one. There are real repercussions here, and it’s important to get this right. Solar Dynamo is already a scientific term, Solar Pump does come to mind, but it’s a little pedestrian. Solar Siphon doesn’t have the correct descriptive. I like Solar Piston. Piston has good analog and metaphorical traits specific to the action of charge and electrons as they move around in the circuit I’m working with. This is not to wed the hardware to any specific power source. Solar, being the most plentiful, is the first obvious choice. But this Piston could be driven from any voltage generating source: Piezo Piston, Turbine Piston, Galvanic Piston, EM Piston, Thermoelectric Piston…
The theme today and for the foreseeable future is Micro Energy Harvesting. Specifically as it relates to battery charging and maintenance. I’ve had some experiments running for a while, and would like to share them with you. First, we have to agree on some terms. This is important, not just to keep the legal eagles at bay, because a good and giving open source hardware blog needs to be specific and thorough. Over the next many posts, I will be discussing various attributes of the hardware that I am designing as a universal micro energy harvesting piston. Universal in the sense that I can only guarantee that it will work in the known universe, and if your results vary, contact me (projects-at-rachelselectronics-dot-com] so we can grow as a community!
End Of Summer Reading
August 26th, 2010Just picked up Lewis Hyde’s latest ‘Comman As Air: Revolution, Art, and Ownership”. Published this month. I enjoyed his book ‘The Gift’, and it’s nice to have his voice in my head again. Most interesting chapter title: “Benjamin Franklin, Founding Pirate”.
Add this to your reading list in preparation for the Open Hardware Summit (!). We will be sponsoring and attending and loving every minute of it!
Happy End Of Summer!
Hacking Paro
July 5th, 2010Here comes Paro
Paro succeeds because his designers know how to work within the limitations of technology.
“Scientists have observed that people tend to dislike robots whose behavior does not match their preconceptions. Because the technology was not sophisticated enough to conjure any animal accurately, [Paro's inventor] chose one that was unfamiliar, but still lovable enough that people could project their imaginations onto it.”[source]
We’re still learning how to design synthetic emotions into machines, and success at this point comes with simplicity. The potential is real for more complex emotional connections however, another quote from the Times article today: “I had a car that I used to talk to that was a lot less responsive.”

For The Record
July 3rd, 2010Accessorize With Cables!
June 24th, 2010These just came in! 3, 4, and 5 position cables are 12″ long and have a sexy industrial gray color with one red wire for orientation. They will be shipping out with our products starting today. When you order you will get:
- 1 4-Position Cable with your order of Rachel’s Mouse Eye
- 1 3-Position and 2 4-Position Cables with Rachel’s QT1106 Slider/Wheel Breakout
- 2 5-Position cables with Rachel’s QT1103 10 Key Touch Sensor Breakout
We will be selling these individually soon.
V-Sensor Candidates
June 24th, 2010This list has a ceiling: There aren’t that many companies making them!
At the top of the pile is the Texas Instruments TPS3803-01. It says right on the DS that it’s applicable to ‘Intelligent Instruments’! There’s been some digging around and I’m coming up for air to report.
Most of these devices work with a couple of vital internal circuits. The first is something called a ‘Reference Voltage’ which is contained within a sharp cornered block diagram square with the words ‘Reference Voltage’ printed inside. That’s the proprietary part. My guess is it has something to do with Mr. Zener… but what do I know. The other common block is a comparator (I just assume that these behave pretty much like a 741, and don’t ever have to deal with high frequency). The one above is Shmitt-y. The Reference Voltage is connected to the comparator (+,-, it varies) and usually serves as a very low V ref, likely around 1.2V. The other end of the comparator input is connected to an internal V divider, and the V Input of the device plugs in to the top of that V divider. The resistor values on the divider determine the threshold of the particular part number in the series. Internal hysteresis (advertised as making the part ‘immune to noise’) is derived from the Shmitt-y-ness of the comparator. It’s useful, and some device datahseets will walk you through, enhancing the hysteresis with some external C or RC at the output or input.
Anyhoo, that’s basically what you get when you order a voltage supervisor under a buck. The trick I’m trying to pull, of course, is to monitor my own power source and act accordionly. Last time I used the STM device, I was fighting its internal voltage divider, and that’s why my trigger voltage wouldn’t get down as far as the 3.1 stated on the package. It would not be the end of the world if the situation called for working with the ST part, but since we traveled all this way to get here….
To the rescue, TPS3803-01! To quote from the Almighty datasheet:
…whereas the TPS3803-01 has an adjustable SENSE input that can be configured by two external resistors.
Viola.
Imagine if you will, a digital potentiometer wiper pin attached to the SENSE pin above. Now, you can detect a voltage live on the fly anywhere from 1.226V to 7.0V (max rating).
It comes only in a 5 pin SC-70 package (2,4mm x 2.15mm extent) and that’s an eye popping bummer. but hey, at $0.75 each if that’s the biggest problem? we’re doing ok.
On top if it all, the output is ‘open drain’, which means that it’s connected to the business end of a Metal Oxide Semiconductor Field Effect Transistor – MOSFET. Beautiful thing the MOSFET. If you want to change the state of the output, all you have to do is charge (or discharge, depending. By the looks of the comparator that it’s tied to, I’d say we’re discharging here) a teeny tiny capacitor inside the Gate pin. A very simple process that doesn’t effect anything down stream. No leakage current and no weird voltages on the output that are not all the way to GND. Any Voltage on Vdd lower than the threshold applied to the Sense pin will cause the device to output LOW, as in a direct electrical connection to GND (some resistance applies). That LOW is what they call the asserted state. It is, after all, a POR/BOR device. It will require an external pull up resistor in order to feel the deasserted state (logic HIGH) because then the MOSFET looks like the cathode end of a diode: high impedance. There it is. This is not to say that there is not some creeping voltage drop on transitioning this open drain MOSFET between its states. I will take a closer look at that falling edge in a future post.
Thanks for playing. Next up, Recharging Circuitry, I promise.
Open Source Hardware Is Messy
June 22nd, 2010Just started working with an STM1061N31WX6F 3.1V supervisor. These kinds of devices come in lots of different flavors from many companies. More on that when I get to the battery charging circuit. This one has some potential to be a useful Supply Voltage Sensor. The attribute that makes it useful is that the output is ‘open drain’. That’s a MOS term. When the output is off, it is connected internally to GND. When the output is on, it is in high Z (effectively connected to nothing). By simply attaching an external pull-up to this pin we can get a HIGH signal when the output is off. Why this is better than other styles of output circuitry will be gotten to in a later post.
The pros of using this device or one similar are that it is small (SOT23-3) but fairly easy to prototype. It costs less than the TL7700 as well (~$0.50). Also, it tracks a very linear response:
The bummer so far is that the stated trigger voltage of the part number I’m using is 3.1V, and the lowest I can go and still get a useful output is 3.24V. In any case, the system would have to be calibrated, and as long as the factory is consistent this may be a better part than the TL770. Here’s the circuit I’m using:
The next test for this one is to use a supervisor with a lower threshold. They range from 1.6V to 3.1V in 0.1V steps and Mouser has a pretty good selection.
Open Source Hardware Ctd.
June 21st, 2010Well, I got the PIC16F88 connected to my Voltage Sensing circuit, and it works great. I am running the ‘F88 on it’s internal (8MHz) oscillator, and have disabled the Brown Out Reset (BOR). It operates between 2.0V and 5.5V quite well. I am still using the DS1803 100K digi pot. Attaching fixed resistors to the High and Low end of the potentiometer increases the resolution. I am using the following:
+V – 100K – 220K – H0pin
L0pin – 33K – GND
Those value gave me the best range between trigger points of the pile of resistors that I have on hand. I am up in the upstate with limited resources
Here’s a graph of the datapoints. It’s pretty darn straight!
I created the graph here.
I will be able to get much more range when I use a lower value digi pot. Also worth noting: the voltage divider on the TL7700 sense pin (which the digi pot is a major part of) sets an internal hysteresis based in part on the value of resistance on the high side of the divider. Higher the resistance, larger the hysteresis (simply put, RTDS). I tried to use a much larger value resistor connected to the H0pin and was unable to get a trigger in the lower voltage range. The effect of the internal hysteresis appears! One more reason to go with a lower value digital potentiometer.
Next up: Solar Recharging Circuitry! Stay tuned…
Open Source Hardware Ctd.
June 20th, 2010Last time I showed that the TL7700 can be used as a power supply monitoring tool. I interfaced it with a potentiometer to show that different supply voltages could be measured by the position of the potentiometer wiper. The next step is to automate this process so that any uC (in this case arduino) can determine the voltage under which they are operating. The critical thing to know is the wiper position, so I looked around for a digital potentiometer that would support that. Some digi-pots only support incriment/decriment functions, and others use a serial protocol that allows you to read and wtite the wiper position. There are two popular serial protocols that I ran into:
Serial Peripheral Interface (SPI) is a classic serial protocol developed for sending and receiving data simultaneously. The SPI bus can host numerous devices, which are addressed by pulling the individual’s Slave Select pin low. One drawback of SPI is that it requires 3 pins for communication AND a slave select pin for each device on the bus. Bummer that. Another option for communication is I2C. Aye Squared Sea uses only 2 wires for communication, multiple devices can share the bus, and addressing is done serially. Data transfer does not complete simultaneously, as with SPI, but the benifit of using only two pins makes it more attractive. The only drawaback that I can see is that using I2C sacrifices two analog pins (analog4 is SDA and analog5 is SCL). The ATmega has an hardware blocks for both of these protocols, which makes for less code overhead.
The two candidates for digiPot are:
MCP4151 SPI, 256 steps on wiper, PDIP-8, SOIC-8, DFN, ~$1
MCP4551 I2C, 256 steps on wiper, MSOP, ~$1
Both made by Microchip and both pretty darn cheap, considering. The TL7700 is ~$2.50, so the nominal cost of this Voltage Monitoring circuit runs about $3.50. The low price and ease of use make this design pretty attractive. I choose the MCP4551 for size, cost, and communication protocol (I2C).
I don’t happen to have any of the MCP4551, and it’s got a MSOP package handicap. But, I do happen any to have a couple of DIP DS1803’s laying around. They are dual digital potentiometers mady by Dallas Semiconductor (now MAXIM). They use I2C, and have similar commands to the MCP4551, so transitioning to the target hardware won’t be to difficult. I’ve got a fresh battery, so let’s test the system!
In the ATmega datasheed,I2C is called TWI. I’m not sure why, perhaps something to do with copyright controls over ‘I2C’? Whatever, it’s the same thing in practice. The available library for I2C on arduino is called wire and it’s alittle clunky. I read the datasheet, and came up with a simple function that drives the TWI hardware block with minimal code overhead. You’re welcome.
The setup in the picture here has the Boarduino running on 9V external supply. The Voltage follower is supplying power to the DS1803 and the TL7700. The DS1803 has a 100K rating, and I have attached resistors to the P0H and P0L pins as follows:
+V – 470K – H0, L0 – 47K – GND.
That broadens my resolution a bit on the wiper position. Future versions will use a 10K DigiPot.

Here’s the response that I got from the circuit above, running the code pasted in line at the end of this post:
Voltage Wiper Position Analog Reading
- 2.9 253 142
- 3.0 235 140
- 3.1 216 138
- 3.2 192 124
- 3.3 184 125
- 3.4 168 122
- 3.5 158 123
- 3.6 144 120
Pulling the ATmega out of the blue board and dropping it into a bread board (naked!) is easy enough, which is great because I want to power it with the Voltage Follower output to simulate a changing battery supply. I ran into trouble in doing this, however, because of the Brown Out Detector. A supply voltage, sourced from my voltage follower, below 3.4V would cause the chip to reset, and when the power came back up again, the BORF would be set (Brown Out Reset Flag is bit 2 of the MCU Status Register – MCUSR). I used the chip from off the boarduino, and also one from my new duemilanove with the same BORF trip point. The brown out detector level is set by the BODLEVEL bits (Bits 2-0 of the Extended Fuse Byte on the ATmega 328. Bits 2-0 of the High Fuse Byte on the ATmega 48,88,168)
BODLEVEL settings:
110 = ~1.8V
101 = ~2.7V
100 = ~4.3V
So, it looks like my chips’ fuses are set for a BODLEVEL of 4.3V? That’s wierd. Most of the forums state that the arduino fuse settings for the (328) Extended Fuse Byte are 0×05, which is 2.7V…. Oh well, not going to sweat it. I have some PIC16F88 chips in my kit, and will clone the code in PICBasicPro to run the self powered voltage test. That will be posted next. Here’s the arduino code that i ran to get the results listed above. Cheers.
/*
Test code for comtrolling the DS1803 digital potentiometer Dual
Using hardware TWI, control function calls:
byte = I2C_Read(SLA);
I2C_Write(SLA,COMMAND,DATA);
TWO ANALOG PINS TAKEN OVER TO USE I2C:
Analog 5 = SCL
Analog 4 = SDA
This will control a DS1803 that is interfaced with a TL7700 Voltage Supervisor.
The TL7700 RESET pin is connected to D2 (Trip), and goes high when the Vsense rises to 500mV.
It works shockingly well even with the 100K DS1803 that I have hooked up. I look forward to
working with a 10K pot to bring down the historesis (as noted on TL7700 DataSheet!)
*/
// these are (some) Status values sent from TWSR on completion of transmission
#define START 0×08 // START sent 08h
#define ACK_S_W 0×18 // ACK after SLA W 18h
#define NACK_S_W 0×20 // nACK after SLA W 20h
#define ACK_D_W 0×28 // ACK after DATA W 28h
#define NACK_D_W 0×30 // nACK after DATA W 30h
#define ACK_S_R 0×40 // ACK after SLA R 40h
#define NACK_S_R 0×48 // nACK after SLA R 48h
#define ACK_D_R 0×50 // ACK after DATA R 50h
#define NACK_D_R 0×58 // nACK after DATA R 58h
#define R_START 0×10 // Repeated Start 10h
#define SLA B01010000 //Slave Address = 0.1.0.1.A3.A2.A1.x
#define Write_P0 B10101001 //write P0, option to write P1 afterwards
#define Write_P1 B10101010 //write P1 only
#define Write_P0_P1 B10101011 //write P0 and P1 to the same value
int potValue;
int Trip = 2;
byte Wiper;
boolean tripped = false;
void setup() {
pinMode(Trip,INPUT);
Serial.begin(9600);
// I2C initialization
TWSR = 0; //set the SCL prescaler value to 1
TWBR = 12; //set the bit rate register to effect a 400KHz SCL frequency
delay(100);
I2C_Write(SLA,Write_P0,0); //set the wiper position to 0
Serial.println(“it’s on”); //acknowledge startup/reset
Serial.print(“MCUSR: “);
Serial.println(MCUSR,HEX); //print the MCUSR for BOR check
MCUSR = 0; //clear the MCUSR for next time
}
void loop(){
for (int i = 0; i<=255; i++){
I2C_Write(SLA,Write_P0,i);
delay(10);
// Serial.print(Wiper,DEC);
// Serial.print(” = “);
// Serial.println(potValue);
if ((digitalRead(Trip) == 1)&&(tripped == false)){
Wiper = I2C_Read(SLA);
potValue = analogRead(3);
Serial.print(“Voltage Trip Point = “);
Serial.print(Wiper,DEC);
Serial.print(“, “);
Serial.println(potValue);
tripped = true;
}
}
tripped = false;
Serial.println(“One More Time!”);
}
void I2C_Write(byte address,byte command,byte data){
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); //send START (clear TWINT)
while (!(TWCR & (1<<TWINT))); //wait for TWINT to set
if ((TWSR & 0xF8) != START){ERROR(1);} //barf TWSR if not as expected
TWDR = address; //load address int TWDR
TWCR = (1<<TWINT)|(1<<TWEN); //clear TWINT and start transmission
while (!(TWCR & (1<<TWINT))); //wait for TWINT to set
if ((TWSR & 0xF8) != ACK_S_W){ERROR(2);} //barf TWSR if not as expected
TWDR = command; //load data into TWDR
TWCR = (1<<TWINT)|(1<<TWEN); //clear TWINT and start transmission
while (!(TWCR & (1<<TWINT))); //wait for TWINT to set
if ((TWSR & 0xF8) != ACK_D_W){ERROR(3);} //barf TWSR if not as expected
TWDR = data; //load data into TWDR
TWCR = (1<<TWINT)|(1<<TWEN); //clear TWINT and start transmission
while (!(TWCR & (1<<TWINT))); //wait for TWINT to set
if ((TWSR & 0xF8) != ACK_D_W){ERROR(4);} //barf TWSR if not as expected
TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); //transmit STOP
}
byte I2C_Read(byte address){
byte data;
address ++; //set R/W bit for Read operation
TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); //send START (clear TWINT)
while (!(TWCR & (1<<TWINT))); //wait for TWINT to set
if ((TWSR & 0xF8) != START){ERROR(5);} //barf TWSR if not as expected
TWDR = address; //load address int TWDR
TWCR = (1<<TWINT)|(1<<TWEN); //clear TWINT and start transmission
while (!(TWCR & (1<<TWINT))); //wait for TWINT to set
if ((TWSR & 0xF8) != ACK_S_R){ERROR(6);} //barf TWSR if not as expected
TWCR = (1<<TWINT)|(1<<TWEN); //clear TWINT and start transmission
while (!(TWCR & (1<<TWINT))); //wait for TWINT to set
if ((TWSR & 0xF8) != NACK_D_R){ERROR(7);} //barf TWSR if not as expected
data = TWDR; //read TWDR into data
TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); //transmit STOP
return data;
}
void ERROR(int j){
Serial.print(“TWSR = “);
Serial.print(TWSR,HEX);
Serial.print(” – “);
Serial.println(j);
}
Open Source Hardware
June 18th, 2010Hey. Welcome to the lab. Our current location is upstate NY just south of Kingston. They got bugs up here. Insects, I mean. Here is the first post in a series on open hardware development. I think the basic idea is to share, so here goes.
The device currently on the table: Rechargeable Battery Management. Quite an open ended topic. I’ll prune it down for you a bit. The charging circuit should be able to interface with varied sources of energy. Solar panels, wind/water generators, Piezo crystal, Peltier Junction effect, etc. For this I’m choosing a variation on the Miller Engine over at BEAM. There are special considerations in applying an SE to battery management that I will get to when that aspect of the design is covered. The first problem is knowing how much voltage you have left in a battery and acting acordingly. That is, if you’re a robot.
It’s one thing to read a variable voltage in relation to a stable source, as is done all the time now on microcontrollers with on-board A to D converters. But for a μC to get a sense of the value of the very voltage that it is being powered by? That takes a device called a Voltage Supervisor. The TL7700 (Texas Instrument, the bag says Mexico, C of O) is the choice I came down to after looking a numerous competitors. It has a fixed voltage reference that puts the output pin in high Z when a voltage on its Sense pin goes above 500mV. High Z is equivalent to ‘not electrically connected to anything’. Otherwise, under 500mV, the output is connected to ground (0V). This device is used as a POR/BOR (Power On Reset/Brown Out Reset). In that capacity it would monitor voltage as it rises when the power is turned on to make sure that sensitive equipment doesn’t start up before the proper voltage is achieved. It also will cut power from the device if the voltage ever falls below that same critical level. It has a wide operating range, so the Voltage in question can be anywhere from 1.8V to 40V! How do we set the Sense voltage, you ask? with a simple voltage divider. Two external resistors dividing the voltage on the sense pin from the V supply. That makes the 7700 very nice for us, because our μC (arduino) can drive a digital potentiometer to scan the Sense pin of the 7700, all the while feeling for the change on the output. The battery I’m using has a working voltage range of 3.0 to 3.4 or so, likely up to 3.4V. I got the parts in over the last week, and lashed up a test circuit today. Here’s what I’ve got so far:
This is the circuit that I built to test my application of the TL7700. Without a doubt the most critical design consideration is sizing fixed and variable resistors to the SENSE pin. With the right values, a small range can be ‘magnified’ for greater resolution. By the way, that unlabeled pot is 10K.
Here’s a video that gives a pretty good idea of the range I squeezed out of a 10K pot on the TL7700 sense pin with resistors that happen to be on hand. The digi-pot that I have is 100K. I have to figure out the best fixed resistor values to trim down the range appropriately.
My next task will be to control the DigiPot with arduino and then bringing the whole thing together to test with my 741 Voltage Follower. After that, an in depth excursion into the land of Solar Engines. Hope you’ll come back!
Going out now to clean the grill :]
L.&R. Penrose Play with Blocks!
June 5th, 2010Automatic Mechanical Self Replication (part 1) from chead on Vimeo.
Ever since I saw this video, I’ve been looking for it on and off. Sheldon Brown showed me his copy of the video proceedings from the Second Conference on Artificial Life (Artificial Life II) back in 2002 (on 1/2″ VHS!), and this appears to be from the same source
. Heartfelt thanks go out to chead, who is posting some classic reels from the history of machine life. Keep ‘em coming chead!
I found a decent paper on this work. Turns out the film is from 1959. And this is the paper that L.S. Penrose published in Nature 1957.
Part II of Automatic Mechanical Self Replication.
Automatic Mechanical Self Replication (part 2) from chead on Vimeo.
Servo Position Feedback Hack
May 26th, 2010Hey! Rachel’s just posted our first Instructable. It’s a servo motor hack that adds feedback from the internal potentiometer. Now youcan know what position your servo is in its range. Useful for: Collision Detection, Gestural Keyframing, Haptic Control….. (your idea here). If you already have a servo, and are minimally set up with electronics tools, this hack is practically free!
I will continue to crack open the world and mess around with the stuff inside.
Electro Lab Robots!
May 19th, 2010We wrapped up the Electro Lab workshop a little while back and I put together a vid of the last day with robots crawling all over the studio. It was great fun and I hope everybody who participated keeps playing around with electronics! If you feel like you missed out, don’t worry, this workshop will run again at 3rd Ward. Starting June 2 and running through the month (5 Wednesday evenings). No prior experience necessary! More workshop details here.
Here’s some pictures of works in progress.
Analog Robot
May 8th, 2010The DIY/Hacker movement really resonates with me. My art has always been about ripping the top off of things and messing around with what’s inside. (Yes, when I was a kid, I did some damage to a few things around the house : ]) I made Rachel’s Electronics because I believe in this method of self teaching and open sourcing. I also believe that play is an essential part of learning. In the spirit of sharing and helping, I am leading a few workshops this summer. One that I’m really excited about is coming up in June at 3rd Ward. it’s a comprehensive and practical introduction to electronics. We will explore the basics by building and testing circuits that illustrate analog electronics theory, and the series will culminate the construction of a small light seeking robot as a practical application of the projects that we build. The workshop has been test running with a small group at my studio this spring. Here’s a taste. (long unedited video). I’ll put up more video of our robot party after the group meets this weekend. Enjoy!
I’m in the process of developing more workshops with other hacker and DIY groups in the city. You will hear all about them as they start to jell.
Cables Galore!
May 5th, 2010This summer we’ve got some new accessories coming online: 3, 4, and 5 position jumper cables, 12″ long with .100 pitch! These will match our parts so that you have an easy time connecting between your breadboard and our Slider, Wheel, Mouse Eye, and Temperature Sensor. They also make it easy to tie your custom electrodes into our capacitive touch breakouts. Or, get your cool projects connected together without a rats nest of wire snaking everywhere. We hope you like Utility Grey with a Red Stripe!
Best-Shack?
April 29th, 2010There’s been a flurry of news lately about the future of Radio Shack,and while it’s always a popular target (ouch!), I can’t help but hope that somehow there might be a sliver lining in the potential sale to Best Buy.
I’ve worked out a method of shopping at the Shack over time: Only go there if it is truly an emergency. Try to find the bin of drawers with the switches and components while avoiding the staff, and cross your fingers that there is something useful there. It’s my last ditch backup store, and I usually have to re-design around the the parts that I find available. I will say to their credit they have been keeping a better stock of passives and small ICs (timers, opamps). Lately, I’ve even seen sensors (Parallax or Sharp proximity mostly) mixed in with the potentiometer knobs. The problem is that they can’t seem to commit to anything but the bottom line and that leaves the store a patchwork of cell phones, remote control dinosaurs, and poorly organized component parts bins, overseen by a hapless and berated staff. Money quote from the Post article above: “I think it is a name that always intrigues people, but no one is very hot for it,” sums up my feelings exactly.
Over the last few years I have had to travel to Germany on business and am completely gaga over Conrad Electronics. In a word, they sell everything (except refrigerators). When trying to describe the store to friends here I would say “It’s a cross between Best Buy and Radio Shack-the-way-you-always-dreamed-it-could-be.” Now it seems the coupling of these two clumsy giants is in the works. Will they seize the opportunity and help to grow the DIY – hacker population? Or will the stores become a front for fine print telecom cons?
AC Coupling – WTF?
April 26th, 2010I’ve been running an introductory electronics workshop out of the studio on weekends. We are going to use all of the skills and some of the circuits that we’ve made to build a robot that is attracted to light (phototropic) and avoids objects (object-o-phobic?). Part of the robot uses an OpAmp as a comparator to sense relative brightness on the left and right. So, we built the circuit in the above photo as part of learning about OpAmps. It is a simple oscillaotor. Here’s the schematic:
The speaker will emit a squeeky tone that varies in pitch depending on the amount of light that hits the photocell. Valures of R1 and C1 determine output frequency. We ran into trouble when we initially neglected to place the capacitor C2 between the output and the speaker. Confusion reigned until I recalled having seen a capacitors in these kind of circuits before. I never quite knew how they worked their magic until last night, as I was drifting off to sleep, it hit me.
The 741 is a dual supply OpAmp, which means it is expecting to see a positive voltage on pin 7 and a negative voltage on pin 4. This is usually accomplished with two 9V batteries in series. You can (and many have with great success) trick the 741 into thinking that it is working with a dual supply by placing a voltage divider on pin 3 as a reference. In the schematic, R3 and R4 are providing this function. So, in this circuit the waveform that is output on pin6 oscillates around +V/2 (4.5V if you’re using a 9V battery). This is super until you try to attach a speaker directly to the output.
The output voltage changes from high to low over time, but the current maintains direction. Sure, the current is a little bit less when the voltage is 1V than it is when it is 3V, but current always flows toward ground. The speaker coil is an electro-magnet that needs to move back and forth to create sound waves in the air. Alternating current changes the polarity of the electro-magnet in the speaker, which pulls the coil in and pushes it out. If you do that fast enough, you get to hear it. Without a capacitor the current flows in only one direction, the coil is pulled over to one side and just stays there. No movement, no sound. Put a capacitor in series with the output and the speaker, now we’re cooking with butter! The charge on the left side of the capacitor is changing with the output waveform, and this is causing the right side of the capacitor to charge and discharge through the speaker coil. With all this charging and discharging the current flows back and forth between the right plate of the capacitor and ground, and we get our alternating current which effectively drives the speaker coil and creates that delicious squeeky sound. Build this circuit and play around with the values for R2, C1, and C2 to learn more about how it works. Enjoy!
April 23rd, 2010
Hey we had a ton of fun last weekend at the NYC Resistor laboratory!
Eleven electronics enthusiasts from newbies (3!) to seasoned hackers got together to expand their understanding of electronics. We will bring you images and video of cool projects generated from this workshop as they materialize. Hope to be running it again soon and thanks NYC Resistor!
Fun with touch sensors Workshop
April 14th, 2010Joel is leading a workshop over at the NYC Resistor Hacker collective this Saturday. The workshop will cover Capacitive Touch sensing and SPI communication, featuring our breakout of the QT1106 IC from Atmel (formerly QProx). You can sign up for it at eventbrite. We put together a little teaser video to get you all excited! The kit you will get includes the QT1106 breakout board, Slider and Wheel modules, some LEDs, a shift register, small breadboard, plastic box, a speaker,,, basically all the parts you see below. Bring your own Arduino or other uC and we’ll have some fun.
Workshop Announcement
April 1st, 2010Check out NYC resistor’s events page for our Fun with Touch Sensors workshop on April 17th! We are overjoyed to be associated with the esteemed hacker collective, and stay tuned as this will likely not be the first workshop that we do with them.
Big blog loving shout out to adafruit for helping to spread the word about our arrival, and thanks for the warm welcome. We are looking forward to meeting you too!
Resistor
March 27th, 2010Party at the Resistor tonight
Art design and the Arduino, a Lineage
We’re doing the spring cleaning over here. Yup. Just tidying up, and what’s this? Rachel’s electronics? New as a spring egg with a rabbit inside. We’re hopping to get to know you better!








































