Electric Eel Wheel

The hardware and software for this project are shared under the Creative Commons Attribution 3.0 License.

The Electric Eel Wheel is a clever electric spinning wheel making it great for easily spinning the fiber of your choice into yarn! You can use a traditional wheel; however, there are many advantages of this electric wheel design. First of all, the Electric Eel Wheel is lighter and smaller than most spinning wheels making it easier to take your spinning with you.

This electric spinning wheel’s design is based on a Scotch tension design, so it is easy to vary the spin and weight of your yarn. You can easily adjust it to make fine lace yarn as well as softly spun bulky. Another nice feature of the speed control dial is that it can spin the bobbin forward or reverse. Most people in our testing lab appreciated the range of speed that this wheel offers.

For build guides, Eagle files, bill of materials, source code, and more visit the Electric Eel Wheel’s home page.

If you’re interested if purchasing a kit or assembled version of this project I sell them in my store.

Even if you’re not interested in spinning yarn there is nice motor controller design in this project.

Comments

Photographing a Speeding Bullet

I’d like to start with a big thanks going to Chris Callander.  When he saw the Camera Axe project he shared his idea for a new sensor with me.  I took his ideas and developed this new projectile sensor and updated the Camera Axe software to support it.  I doubt I would have ever came up with this new sensor idea without Chris.  The ideas that get shared in the open source community are great!  The hardware and software for this project are shared under the Creative Commons Attribution 3.0 License.

You can purchase the Camera Axe and this projectile sensor at this store or built it yourself (parts list below).

This new projectile sensor is designed to help photograph speeding bullets on the Camera Axe platform, but since I used the Arduino development environment, anyone using an Arduino could easily adapt the this hardware and software to their purposes.

This new sensor has two IR sensors spaced exactly two inches apart.  The user inputs the distance from the sensor to the desired position of the projectile when the picture is taken.  Based on the time it takes the projectile to travel those two inches between the sensors, a velocity for the projectile can be determined.  Since bullets and other projectiles basically travel at a constant velocity, it is easy for the microcontroller to calculate the delay in microseconds until the picture is taken.   I ran into a few gotchas in the software while I was writing it.

  • Needed to use digitalRead() with the sensors and not analogRead() (analog read is too slow at 100 us)
  • Used integer math because floating point math is very slow in Arduino
  • Had to be careful with my order of operations or I would overflow 32 bit unsigned integers in certain cases

I’m very pleased with the results.  I’ve tested it with an airgun that travels at a relatively slow 500 ft/sec (half the speed of sound), but my calculations show that the Camera Axe’s 16 MHz ATmega168 chip can easily predict the position of a high speed riffle (several times the speed of sound) to within a fraction of an inch.  I had known that this should work, but it was still amazing to see it working perfectly in the real world, considering all the micro fluctuations that I didn’t account for in the calculations.  In the end, things like gravity, air resistance, and quantum forces just didn’t matter :-)

[Update: Alan Sailer correctly pointed out the IR transistor I'm using only works at 15us, this would limit photos to around 2x the speed of sound, see the comments for options on faster transistor options.]

Below is a schematic of this new projectile sensor sensor and here are the Eagle files.

If you’re planning to build your own, then this is my parts list

Here is a list of updated files:

  • Updated Camera Axe label.  Nothing special here.
  • Updated Camera Axe source code to support this new sensor.  One nice feature of the projectile code is that I print out the feet/sec or the cm/sec that the bullet was traveling.  While this wasn’t needed for photography; it is still fun to see the numbers.
  • Updated user manual to include the software changes.

Using the Projectile Sensor with the Camera Axe

First, visually line up the IR LEDs to the IR transistors so that they are pointing at each other. Then just plug the 3.5mm cord from Sensor1 on the Camera Axe to Sensor1 on the projection board. Next do the same for sensor2. Plug a flash into Camera/Flash1 on the Camera Axe. Turn on the Camera Axe and go to the sensor menu. (Optional if you want to change from inches to centimeters press [Menu]+[Set]+[Left] while turning on the Camera Axe to enter the special menu to change from English units to Metric units.) In this menu you can set the distance from the sensor to where the projectile should be on the picture (0->999 cm/inch).

You can test your the projectile sensor’s set up by putting your finger in front of the first sensor. After one second a message will display saying that the “second trigger failed”. After this message goes away, put your hand in front of the second sensor and then your other hand in front of the first sensor. This will basically simulate an infinitely fast projectile and the Camera Axe will display the speed of a fast projectile (something more than 45 times the speed of sound).

This sensor should generally be placed at the end of the gun barrel so you don’t need to worry about the bullet hitting the circuit board or sensors.  The bullet/projectile must pass through this sensor before it hits the target.  In my setup I have everything firmly bolted to a table and trigger the gun with a string from a safe distance.

Pretty Pictures

Last but not least, here are a few of the pictures I took with this new sensor.  Taking these pictures was possible with the Camera Axe before I had the projectile sensor using a microphone or a laser sensor, but it involved a lot of trial and error.  With the projectile sensor, every picture is what I was shooting for (pun intended).

First, visually line up the IR LEDs to the IR transistors so that they are pointing at each other. Then just plug the 3.5mm cord from Sensor1 on the Camera Axe to Sensor1 on the projection board. Next do the same for sensor2. Plug a flash into Camera/Flash1 on the Camera Axe. Turn on the Camera Axe and go to the sensor menu. (Optional if you want to change from inches to centimeters press [Menu]+[Set]+[Left] while turning on the Camera Axe to enter the special menu to change from English units to Metric units.) In this menu you can set the distance from the sensor to where the projectile should be on the picture (0->999 cm/inch).

You can test your the projectile sensor’s set up by putting your finger in front of the first sensor. After one second a message will display saying that the “second trigger failed”. After this message goes away, put your hand in front of the second sensor and then your other hand in front of the first sensor. This will basically simulate an infinitely fast projectile and the Camera Axe will display the speed of a fast projectile (something more than 45 times the speed of sound).

Comments (34)

Camera Axe 3.0

Purchase the Camera Axe at this store.

I’ve done a lot of refinement since releasing the original version of the Camera Axe.

The Camera Axe is a tool for photographers to trigger cameras or flashes based on signals from various sensors. In this version there are two ports for sensors such as a microphone, a motion detector, or light sensor; and there are two ports for camera/flash devices. The Camera Axe is useful for stop motion photography where an action happens too quickly for human reflexes (photographing a popping balloon, lightning, or a milk droplet splash). Other uses can be to catch things photographers don’t want to wait around for such as birds flying to a bird feeder or surveillance of people walking down a hallway. The possibilities are endless. The hardware and firmware for this device are all open source under Creative Commons Attribution 3.0 License meaning that it’s possible to adapt this platform for specialized uses.

Below are a few links important links for this project:

  • Build Guild – Detailed step by step information on how to build your own Camera Axe (includes full BOM and suggested part suppliers).
  • User Manual – Describes how the software menu works, lists sensor/accessors, and gives some example use cases.
  • Image Gallery – Pretty pictures taken with Camera Axe Hardware.
  • Dreaming Robots Store – My online store where I sell Camera Axe kits, sensors, and other accessories.
  • Firmware Source – Source code that controls the Camera Axe (designed to be loaded via Arduino bootloader).
  • Camera Axe PCB Eagle Files – Circuit board source files.

List of improvements for this version:

  • Decided to use smart sensors. This means instead of having a special port on the Camera Axe for a Microphone that has the amplifier built into the Camera Axe, I’ve decided to put the amplifier on the sensor. This gives maximum flexibility in sensor combination, reduces the number of ports, and makes it simpler to use the Camera Axe.
  • Flash and Cameras use the share 2 ports. This means you could use 2 flashes, 2 cameras, or one of each. In the original version you only had the option to use one of each.
  • Removed the active port LEDs. These didn’t seem too useful and I was running out of pins.
  • Added power transistors to control whether the sensor ports are receiving power. This is useful to turn off things like a laser beam sensor just before taking a photo. A way of controlling this was also added to the software.
  • A reset to factory default and a way to control LCD back light brightness were added to software.
  • Large clean up of software source to make using it and modifying it easier.
  • Left out the remote control option since it was expensive and had little demand.
  • Lots changes to the electrical components used to reduce cost and make assembly easier.
  • Much better documentation (Builders Guide and User Guide).
  • Added a store to sell it because of a demand for this from the original version.

Feel free to discuss this or other topics at my forum.

Some of those following this project might be asking what happened to version 2.0. I got to the point of ordering a batch of PCBs and I even built one. I had gone with the mentality that more is better. This monster had 6 ports and each port had a different task. While I was writing the software for this version I decided that it was going to be too confusing to use so I stopped working on 2.0.  A simplified 3.0 version was born which tried to add new functionality while keeping it simple to use.

Comments (14)

Cheap Arduino Wireless Communications

I was looking for a way to handle wireless communications between two Arduino boards. Other options like Xbee or Bluetooth were going to cost $50 to over $100. Then I found a cheap RF transmitter and receiver at Sparkfun. The total cost is only $9!

Here are a few limitations to RF solution:

  • Communications is only one way. If you wanted two way communications you’d need to buy two receivers and two transmitters which would raise the cost to $18. This is still cheaper than other solutions I found.
  • The variable gain on the receiver causes it to pick up lots of background noise. I had to do some processing with the Arduino to filter out this noise. More details about this below in the code section.
  • Bandwidth maxes out at 2400 bps, but there is a version with 4800 bps. A large portion of this bandwidth is used for network protocol I wrote that handles error detection.
  • Range is limited to a max of 500 feet.

The advantages are that it is cheap and it is pretty easy to use.

Below are some images showing how I hooked up the receiver and transmitter to two different Arduino boards. When wiring the receiver/transmitter you only need is to give them power/ground and then a pin for the TX (serial transmit) or RX (serial receive) pin. I also wired a button to the Arduino doing the transmitting, and used the LED on pin 13 that is built into my Arduino boards on the receiver so I could test this setup. The test app just flashes a button on the receiving board when a button is pressed on the transmitting board.

Here’s a picture of the my actual bread boarded circuit.

Code

Since the receiver is constantly picking up random noise I add a few extra bytes to every data packet. I add two bytes to signify the start of a data packet. Then I send the a byte address. This address allows multiple devices to work in the same area without interfering with each other. Next is the data (in my example code it’s an unsigned int (2 bytes). Lastly I send a checksum which is a simple xor of all the data bytes to make sure the data got received without being corrupted.

I broke the Arduino code into two files. If you’ve never used two files before with Arduino all you need to to is keep both files in the same directory and the Arduino IDE merges them for you. Here is the full code for the main application, and here is the full code that does the network error catching.

Increasing the Range

I did all of my initial testing without any of these improvement and everything worked fine with these devices inside the same room.

  • Add an antenna. All you need is a 23 cm piece of wire. I did this and it made it so I could reliably transmit data from one corner of my house to the other (3 floor town house).
  • Increase the voltage for the transmitter. The transmitter can use 2-12 volts. With 5 volts I got pleanty of range for my use case, but increase this if you need more range.
  • Reduce the baud rate. My test app runs at 1200 bps out of the max 2400 bps. You could drop this even further to something like 300 bps and that should help reduce transfer errors and hopefully increase range.

Thanks

I got a lot of help from the transmitter/receiver data sheets, and from this article.

I’ll mention an even cheaper idea I had while doing this. If you will always have line of sight between your devices you could setup something very similar to this with an IR LED and IR transistor. It would work like a TV remote. It won’t work for me because I want this to go through walls, but if line of sight is fine for you then you could use this code and an IR LED/transistor would probably cost under $3.

Comments (40)

High Speed Photography with an Air Canon

SAFETY: This is a dangerous device and if you don’t understand why then don’t try building a similar one. I basically built a high powered air gun that can fire a steel ball bearing at high velocity. To make things more risky, it doesn’t have the safety features of modern guns. If you want a gun to shoot stuff, buy a riffle (it’s easier to aim, safer, and more accurate). I am using this as a photography tool since it has a lower projectile velocity than a riffle. When loading this I would always make sure that the last thing I did was pressurize the system, and then I’d go behind a protective cement wall before firing the gun remotely. The maximum pressure I used was 100 PSI. I am not an expert on this subject so you must do your own calculations to verify any similar device is safe. I am not responsible in any way if you decide to build a similar device based on this rough description.

McMASTER-CARR
1/2″ x 36″ Threaded Steel Pipe (Sch 80) $16.05
1/2″ to 3/4″ Threaded Steel Adapter $4.98
3/4″ to 1″ Threaded Steel Adapter $6.75
1″ Ball Valve $23.12
1″ x 18″ Threaded Steel Pipe $6.55
1″ Threaded Steel Cap $4.02
1/8″ Brass Air Tank Valve $2.50
Total $63.97

After I ordered these parts, the assembly took less than half an hour. The only assembly required besides screwing together the pipes (don’t forget pipe sealant from your local hardware store) was to drill and tap (1/8″ NPT Tap) a hole in the 1″ Threaded Steel Cap for the air valve. I also had to get some steel ball bearing to shoot. The best size ball bearing for the barrel above is 17/32″.

Below are a few photos I took with this device. To capture the images I used a Camera Axe with the microphone attachment. (Click here for the full test shoot gallery.)

Comments

« Previous entries Next Page » Next Page »