There’s a Maker Faire in three weeks, and your group wants to design and build a binary watch to give to attendees. You don’t have much time, and your budget is $3 per watch. What do you do? If you are [Parker@Macrofab] you come up with a plan, buy some parts, and start prototyping.
[Parker] selected the PIC16F527 because it had enough I/O and was inexpensive. A cheap crystal and some miscellaneous discrete parts rounded out the bill of materials. Some cheap ESD straps would serve for a band. He did the prototype with a PICDEM board and immediately ran into the bane of PIC programmers: the analog comparators were overriding the digital I/O pins. With that hurdle clear, [Parker] got the rest of the design prototyped and laid a board out in Eagle.
A few of [Parker’s] optimizations (that is, cost cutting moves) didn’t work out perfectly, so he had to make some last minute circuit changes. Worse still, the ESD straps got hung up in customs, necessitating a last minute swap to a different band. This broke the $3 budget but c’est la guerre.
In the end, [Parker] had a practical watch to give away. It might not have been perfect, but as you can see in the video, it came out great, especially considering the short time frame. It won’t replace a homebrew smartwatch, and it won’t decode secret messages, but then again those don’t cost $3.
I made similar watch last spring:
https://www.youtube.com/watch?v=MHQGqMI4qZQ
It’s using atmega328p and probably costs just the same amount as the watch in the article. However I didn’t find (after 1 minute of searching) better strap for it :)
Not being able to pick one of these watches up was a big part of my upset at missing MMF:Houston this year.
I didn’t make it either — long story. I hear Rud went though (Rud and I are both in the Houston area).
Really enjoyed this one. Fantastic work!
“He did the prototype with a PICDEM board and immediately ran into the bane of PIC programmers: the analog comparators were overriding the digital I/O pins.”
A bit of hyperbole there, but yes. PIC pins default to whatever function uses the least power, and is least likely to cause trouble, when the pin function is as of yet unknown. That is typically an analog input function if available, since a floating pin picking up ambient noise can cause significant power consumption in a digital input buffer. The buffer tends to toggle, often at a high frequency, with each change consuming power as you would expect from CMOS.
I would assume that’s not unique to PICs, but don’t know for sure.
It’s the same with the MSP430 chips. The CCS IDE recommends for power optimization to configure unused pins as output.
I was wondering what they meant by that. Thanks for clearing that up :)
The PIC16F527 has the old interrupt less processor core.
The display driving would be easier if used a PIC’s with interrupts and used the crystal as a clock source for a timer. The processor could run from the internal oscillator at 8MHz, or faster, which would allows you to matrix fast enough to avoid flicker. The higher speed execution would make charlieplexing possible, allowing you to use a smaller microcontroller, if you’re willing to add the additional resistors.
My mistake. The PIC16F527 DOES have interrupts. Also its impressively cheap.