Close

Does this project spark your interest?

Become a member to follow this project and don't miss any updates

Democracycam

An oppression-proof image acquisition device

Similar projects worth following

This project was created on 02/23/2014 and last updated 8 months ago.

Description
Inspired by protests both local and afar, Democracycam is designed to make the effort of documenting events resilient against efforts to suppress the spread of information.
Details

​The current iteration of Democracycam is designed to opportunistically join a shared open WiFi network with other Democracycams and automatically distribute any photos taken across the network as soon as they are captured.

This is done in the simplest way I could come up with, using built-in Linux functionality whenever possible and using the excellent Forban software to handle the distribution of images.

Currently the only code provided is for creating a very basic (and not very good) image preview & capture using the Raspberry Pi-based hardware, documentation on the rest of the configuration is yet to come.

At some point other devices & platforms could be supported, but I have some ideas that require lower-level access to the hardware than I think is possible using off-the-shelf devices like smartphones, etc.

Components

See all components

Project logs
  • Software Alternatives & jsfs

    8 months ago • 1 comment

    I'm working on another project which is developing a distributed filesystem that runs under node.js.  It may be a good fit for the underpinnings of Democracycam if I can make node.js perform well on the Raspberry Pi (without severe resource consumption). 

    Still in the testing phase, but I thought I'd mention it in case anyone was looking down this path.

  • Case Options

    11 months ago • 0 comments

    Gave the Adafruit-designed printed camera case a try, it's very well-designed, but doesn't quite fit the hardware I have.  I'm planning to pick-up a complete set of hardware from Adafruit for two cameras so I can build some field-ready units to really test and debug the software, which should run about $300.00.

    Now just to find a wealthy benefactor to underwrite the R&D ;)

  • Laziness Pays Off

    a year ago • 0 comments

    Looks like Adafruit has done a lot of the work for me while I took a break from this project.  The most time-consuming bits when I started out were fighting through getting the touchscreen to work with the camera, and it looks like they've wrapped all that up in a nice set of instructions here:

    http://learn.adafruit.com/adafruit-pitft-28-inch-r...

    They also offer a board that could take the place of the one I'm using (seems to work in a similar fashion, but has the software/drivers/kernel stuff figured out for you):

    http://www.adafruit.com/products/1601

    Finally the O/S support for the Pi camera has improved much, so now it looks like getting it to work is simply a setup option, sweet!

    Based on all this I'm going to re-cobble my hardware and put together a software stack based on what's now available.  Once that's done I'll be turning my attention to the parts of the software that are not off-the-shelf (handling the network transparently and the Forban configuration).  I may also be able to pick up a second camera worth of hardware now that I have a convenient place to buy it all...

    Hardware-wise the case and battery still need to be sorted out, so there's work to do.  I also want to investigate some of the other tiny ARM platforms that have come out since I originally embarked on this project, as well as other types of devices that might participate in the network (storage-only nodes, mobile network uplinks, etc.)

View all 3 project logs

Discussions

mike wrote 7 months ago point
I like the premise of this project. Have you considered utilizing other frequencies other than the 2.4Ghz band? Once these are out in the wild it would be a simple thing to interfere with the band. However if the device used random frequencies - agreed by all parties ahead of time - then it would be improbable find the frequency and cause interference. Splitting out the camera from the trasceiver would provide a more modular design and add allow cameras to be confiscated but still allow a mesh network to continue transferring files.

Are you sure? [yes] / [no]

Jasmine wrote 7 months ago 1 point
Hello jason.gullickson, now is the time to add a few more details to your project to give it the best chance of going through to the next round of The Hackaday Prize.

By August 20th you must have the following:
- A video. It should be less than 2 minutes long describing your project. Put it on YouTube (or Youku), and add a link to it on your project page. This is done by editing your project (edit link is at the top of your project page) and adding it as an "External Link"
- At least 4 Project Logs
- A system design document
- Links to code repositories, and remember to mention any licenses or permissions needed for your project. For example, if you are using software libraries you need to document that information.

There is a couple of tutorial video's with more info here: http://hackaday.com/2014/07/26/4-minutes-to-entry/

Good luck!

Are you sure? [yes] / [no]

lami4ka wrote 11 months ago 1 point
Neat project! It would be really cool if you could integrate this with phones as well. This way you will have a LOT more devices sharing photos. And you don't even need a camera on the base station - you can just hide it anywhere. People would take pictures with their phones, and even if the police takes them (which they are likely too), the photos remain! You can probably do it with a simple app a-la Dropbox style.

Are you sure? [yes] / [no]

jason.gullickson wrote 11 months ago point
I considered building this as a phone app (and eventually will) but there's a couple issues, chief among them is that carriers can brick a phone or ban it from their network at the request of government or law enforcement, so they lack the resilience I'm looking for.

Also I have some hardware behaviors that won't be possible on existing phones, and I wanted to design something that could be put together outside of the regulated commercial manufacturing environment.

That said, eventually having a phone app can't hurt, so I can see a place for it, but it's just lower on my list :)

Are you sure? [yes] / [no]

Mike Szczys wrote 11 months ago 1 point
Oh, I see. So the Forban software shares the files across other devices, rather than phoning home to a server over the Internet. Do I have that right?

So if you were worried that someone was going to try and confiscate all of the cameras you just hide one some place and it will accumulate the collection of photos from all of the other units. Just come back at some point and retrieve it. Neat idea!

Are you sure? [yes] / [no]

jason.gullickson wrote 11 months ago point
That's right Mike, the idea is that the cameras use a local ad-hoc WiFi network and then replicate everything captured to every other host on the network as quickly as possible. Other more easily hidden (or higher-capacity) devices can also participate in the network (a pirate box for example) to help disseminate media in the event of the cameras themselves being captured.

I'm also working on some physical interfaces that can trigger panic modes, for example a wrist strap that attaches to the SD card so that if the camera is swiped the card is pulled free and kept on person, or an alternative wrist strap which when pulled from the camera triggers a "constant capture" mode that keeps grabbing images and transmitting them to the network while the device is in custody.

Are you sure? [yes] / [no]

tamberg wrote 11 months ago 1 point
Maybe hide a WiFi capable CuBox-i (http://www.solid-run.com/) in a 3D printed fake stone?

Are you sure? [yes] / [no]

jason.gullickson wrote a year ago 1 point
Thanks Chris, I'm definitely interested in ways to miniaturize the platform and I hadn't considered the sdcard-sized linux machines.

Are you sure? [yes] / [no]

Chris Jones wrote a year ago 1 point
I really like what your trying to do.. Cool project!
Hey some other options for possible embedded linux hardware, some of the wifi sd cards already run linux and are fairly easy to crack into. Might be a possible solution if you wanted to miniaturize them a bit. In addition, they are sd cards so they could be put right into existing digital cameras, and/or placed on a custom dev board.
Here is a openwrt article on them:
https://forum.openwrt.org/viewtopic.php?id=45820

Are you sure? [yes] / [no]

Similar projects