SparkFun Electronics will be closed on July 3rd, 2015 in observance of Independence Day. Any orders placed after 2:00pm MT on July 2nd will be shipped out after the weekend. Thanks!



Member Since: May 25, 2009

Country: United States


Spoken Languages


Programming Languages

C/C++, Ruby, Python, Matlab


University of Illinois at Urbana-Champaign


Robotics, and machine learning



  • Well, I’m not using an Arduino so I have an actual serial port to use and yes I was getting the correct values. I still don’t know what was wrong, but I finally got it to work by reading the image in one large chunk instead of several small chunks. I don’t know why this made a difference, but apparently it did.
    Thank you both very much for your help!

  • That was a good suggestion, but sadly it made no difference. I tried turning the baud rate down even all the way to 9600 and the resulting images all still have the same problem.
    Unfortunately I don’t have a windows machine to run the test software on, so I can’t check if the camera works that way.

  • Yea, I know about that, but I’m litterally just copying the data straight onto the serial port, so I’m never even converting them to ASCII. Here, I started a forum post so this comment section will stop being absorbed.

  • Sadly I am unable to use their app as I have neither level converter to use or a computer with Windows on it, I’m afraid.
    I’m actually not using an Arduino or SD card either. All the program on my micro controller does is open a serial connection with my computer and directly dump whatever the data of the image is onto the connection. From my computer, I am just piping the output of /dev/ttyACM0 (the serial port) into a file called something like tmp.jpg, then trying to view it. This is indeed just copying it as a binary file and not formatting it for text or anything like that as best I can tell
    The files vary between 9 and about 12k for me. I’m not sure if thats 640x480 though, as I’ve not tried to set the size. I was scared off by the post someone made above saying they really messed theirs up with a garbled change-size command.

  • I already added the pauses inbetween reads. Without pausing it would simply stop responding. By increasing the pauses, it allowed it to return anything but now it’s just got the broken Huffman table definition. I tried increasing the pause a lot more than it was supposed to be and the result is the same.

  • I’ve been playing with this camera for a while now, but the images I’m getting are all corrupted. They register as jpegs (correct starting bits, etc) but every reader I’ve tried to use with them says
    “Error interpreting JPEG image file (Bogus Huffman table definition)"
    Has anyone else had this problem? I’m running it at 5v, which I know has caused problems for others in the past.

  • Hi, After much trial & error and reading all the comments here I was able to make these work reliably, but there are many little tricks. I’ve compiled a little tutorial on what pitfalls messed up my functionality when testing them. Hopefully it will help someone get theirs going faster!

No public wish lists :(