Twitter | Search | |
Travis Goodspeed
Howdy y'all! In this friendly little tweety-box thread, I'd like to share my new project with you. It's called the GoodWatch, and it will be next month at Shmoocon. 1/n
Reply Retweet Like More
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
I began by measuring the pinouts of the LCD and keypad of the Casio 3208 watch module, shown on the right, and cloning them into my own GoodWatch10 PCB on the left. The sticky notes let me distinguish COMMON from SEGMENT pins in the LCD, so that my wiring would be correct. 2/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
The CC430F6137 that I chose can't quite control all of the pixels, but with three commons and all available segment pins, I was able to get everything except for the day-of-week pixels in the upper right corner. 3/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
In idle mode, the GoodWatch10 (shown on the left) can easily implement all features of the original Casio. It has ~5 years of battery life, knows days of the week for the next two thousand years, and has a handy RPN calculator. 4/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
It also has a hex editor, because no proper lady or gentleman would be caught in public without one on the wrist. Here the hex editor is diagnosing a clock fault by reading the appropriate register. (Now there's a test case for that, of course.) 5/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
"But Travis," you say, "What about a disassembler? What if you're stuck in an hour-long SCRUM meeting and need to reverse engineer your watch's firmware with pen and paper to retain your own sanity?" An MSP430 disassembler is built-in, of course. 6/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
And while the GoodWatch10 was certainly the coolest hex editor watch to wear last month, things can be niftier. In this photo, it a GoodWatch20 is beaconing my callsign to a Yaesu 817 as Morse code. 7/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
This tiny green wire--the only cosmetic blemish of the watch--uses the stainless steel watchband as a random wire antenna. It's not well tuned, but it gets the job done. 8/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
The firmware also includes a serial debug monitor, so after flashing firmware and a codeplug of radio frequencies, you can self-test the device or send and receive packets from the air. 9/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
The radio is based on the same CC1101 core that the GirlTech IMME used, so all the old IMME hacks are portable. My reflexive jammer for P25, Mike Ossmann's iClicker emulator, and Samy's OpenSesame can all be adapted to this platform. 10/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
You can't leave the receiver idly receiving in the background for power budget reasons, but otherwise the radio is fully functional. Receive and transmit, everything from CW to 4FSK. 11/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
The codeplug is compiled from a textfile and loaded into Info Flash, where it won't be accidentally overwritten by firmware updates. Writing a CHIRP plugin won't be much trouble. 12/n
Reply Retweet Like
πŸ‘Ύ Attila Gonda 11 Dec 17
Replying to @travisgoodspeed
helló hungarian notes! 😊
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
Firmware for the watch is written in clean C89, designed to compile with GCC on Debian/Stable with no weird third-party packages or commercial compilers. The radio features gracefully disable on watches without a 26MHz crystal. 13/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
Because it can be a pain to debug radio configurations in device firmware, the UART monitor provides easy Python access to all the radio functions. You can mock up a working prototype of your radio application in host-side python, then rather directly port to C. 14/n
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @pcdevil
Igen, ez egy nagyon fontos nyelv.
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @travisgoodspeed
GoodWatch source code and CAD will be available early next month. I'll be giving away unpopulated PCBs at Shmoocon, and they fit all Casio 3208 devices, such as the CA-53W and CA-506 calculator watches. They do not fit the older Databank devices. Soldering is QFN and 0201. 15/n
Reply Retweet Like
(っ◔◑◔)っ πŸŽ€ Revoke Article 50 πŸŽ€ 11 Dec 17
Replying to @travisgoodspeed
Will there be a writeup in the next poc||gtfo? Or do you not have the time?
Reply Retweet Like
Travis Goodspeed 11 Dec 17
Replying to @skytee
The GoodWatch and other projects were helpfully financed by , who has been funding my recent sabbatical by paying me one dollar for every day since I last wasted an hour of my life in a daily SCRUM meeting. Thanks, neighbor! 16/n
Reply Retweet Like