-
Hardware arrived - building up board day 1
08/01/2014 at 13:25 • 0 commentsYesterday the parts FINALLY arrived from China. That's 22 days of waiting. I should have paid for faster delivery. Anyway, I've started populating the board and writing test sketches for each component.
Don't worry about the size of the board. This is the first rev, with all the components on one side. It'll get a lot smaller before I'm done.
Of all the components, and just one evening of soldering and debugging, here's what's working and what's not.
- Power supply works and provides 3.3V
- Power switch works
- LiPo charger works and after letting the battery drain I plugged it in for a bit and then unplugged it to make sure it had been charged.
- Microcontroller works, programming header works, and I can upload a sketch.
- USB works and I can upload a sketch that acts like a USB keyboard and prints out whatever I want.
- Buttons work. I wrote a sketch that prints to the keyboard which button (including SD Card presence) is active.
- Arduino reset button works.
- Shift Register works. I have a sketch that can successfully read in all 8 bits and print out a hex value.
- The right SD card works and I can create and delete files.
- The LCD backlight works and I can turn it on and off.
It's not all roses, though. There are some parts that aren't working yet. They're critical parts, though.
- The left SD card isn't working. Need to recheck connections.
- The LCD isn't working. I have ordered 3.3V tolerant LCDs and think that may be the problem, but I also tried driving the whole thing over USB at 5V and wasn't successful. It may be the LCD, too, which I scavenged.
- The random generating circuits aren't working. If I hold my finger next to the floating pin I see some randomness on the scope, but otherwise it's just ground. And even when I get randomness it's not above the threshold voltage for the shift register, so it doesn't get read in. I don't know what to do about this yet. May have to pore over datasheets. In the mean time, I'll cheat a little by using the Arduino pseudo-RNG just so I can get everything else running. Then I'll switch over to the true RNG when that is working.
The next steps are diagnosing and fixing the three outstanding issues, and writing firmware for the device, including the UI.
-
Android code pushed
07/16/2014 at 04:57 • 0 commentsThe Android app is slowly progressing from story board to wire frame, with some code pushes tonight to expose stub pages.
-
Hardware components ordered
07/10/2014 at 20:42 • 0 commentsThe hardware components have been ordered for 10 PCBs. I used Smart-Prototyping.com to order the PCBs and a lot of the connectors, and DigiKey to order the rest of the parts. The connectors are a lot cheaper when sourced from China, and I compared the costs between the two; I ended up saving the entire cost of shipping by buying some of the components from Smart-Prototyping instead of DigiKey. Anyway, we should have everything arriving within the next couple weeks to give it all a go!
-
Code jam #2 complete
07/07/2014 at 21:57 • 0 commentsPeter, Scott and Nate got together for code jam #2. A basic Android app storyboard was completed along with a plan to implement stub fragments to facilitate better distributed development. Github tasks were created for this stub work, and a github project was created for the main application.
-
Hardware Rev 1 Ready
07/06/2014 at 02:57 • 0 commentsWith news that anybody interested in security is making it onto the NSA watch lists, and with Independence Day weekend offering some time to get work done, it seemed like today was a perfect day to bang out some schematics and a board design. The first revision is now uploaded to the repository: https://github.com/Sector67/nsa-away-hardware/
Here's a pic of the schematic:
Here's a pic of the board layout. The board is 3.3"x3.4":
Much more detailed PDFs and the original files are available on the repository. We'll be sending the boards out to be made soon and should be able to prototype in a couple weeks.
-
Better diagram
07/04/2014 at 01:15 • 0 commentsWith Bob's feedback we've improved the diagram.
-
Code push
07/03/2014 at 11:37 • 0 commentsThe one-time pad library was updated to extract an EncodingStrategy interface to make it easier to plugin in different encoding strategies. For instance plain Base16, Base16 with ECC, different characters for the hex code points, or even phonetic alphbaet encodings like "alpha, bravo, etc."
-
Updated flow diagram added
06/30/2014 at 05:28 • 0 commentsIan spent some time creating a diagram documenting the flow of information in a visual way. I've uploaded it here to share. Any feedback is welcome.
-
Code jam #1
06/24/2014 at 23:39 • 0 commentsCode jam #1 is complete, with Bob talking through the hardware specs and showing his initial board layout like the boss he is. With Chris's expert guidance we finalized the project name and made our Hackaday Prize entry official. Nate got up to speed with the project and started an Android development environment. Peter and Scott worked into the early morning to get the initial cut of code into projects on github:
https://github.com/Sector67/one-time-pad-library
https://github.com/Sector67/one-time-pad-library-tests
https://github.com/Sector67/ocr-test-app
https://github.com/Sector67/ocr-test-app-tests
https://github.com/Sector67/one-time-pad-external-libraries
and Peter checked out and built the projects, including tess-two via the Android ndk, to get basic Android junit tests of Tesseract OCR working on a physical device for the first time for this project. There are still some issues with missing Android projects for backwards compatibility that we may simplify by not including, so ocr-test-app will not work until we get that re-work committed. Hopefully that will be soon. A getting started guide is under development, so expect that soon as well.