-
First full assembly
11/07/2023 at 01:00 • 0 commentsA fully working assembly. I'm too tired to celebrate.
-
Working PCB!
11/07/2023 at 00:58 • 0 commentsNow, the next one is the real deal. This is my second design. Not as tight and tiny but incorporates the full setup, including the LCD connector, programming/debugging connector, larger external antenna, flex PCB and battery connectors.
I plugged it in, and this time quite literally fell off my chair. No seriously my chair is on wheel and I slipped.
I used nail scissor clippers to trim the flex PCB. Plugged it in. Boom! The design worked out of the box, including BLE!
The pre-alpha watch in a box, testing the power consumption with a 200mA battery, BLE at -40db. Estimated life of that setup without any power tuning would be about 5000 hours (~200 days).
To give you an idea how hard this is, it takes a team of highly qualified people working for months to get to this stage. I did it over a few weekends in my bedroom listening to Gert van Hoef.
-
Progress report
11/07/2023 at 00:53 • 0 commentsPCBs arrived. I cut the PCBs to size with my PCB Cutting machine and assembled the first dev board.
Incredibly, the PCB worked out of the box being recognized by the Segger JLink and driving the LCD! I was blown away. Unfortunately, the BLE didn't work. My educated guess would be a mismatched DEC1 and DEC2 capacitors where I put the incorrect values during BOM selection. Secondly, my antenna calculations were incorrect, and the two things combined invalidated the antenna functionality. I cannot see the BLE module from the android app. Definitely this design needs more work.
Nevertheless, the fact that my cold design on an MCU I've never seen and only cobbled together in my lunch break and over one weekend, cut in my garage and then worked out of the box is dabomb.
Well, as Richard Marcinko said, thanks God for backups! But that's for later.
-
Power consumption tests
11/07/2023 at 00:49 • 0 commentsThe SHARP memory display worked with the mods, time to test the uLow BLE code. Crossing fingers, a lot of interdependencies there.
If it works out of the box, I need to start the full overhaul with ultra-low-power code for final pre-release alpha version.
Wow. It worked. I'm mildly impressed. Time to take a break and tomorrow start re-writing on a fresh head adding the ultra-low power event driven code.
Goal: 10uA unconnected in -40dB advertising mode. On two CR3032/1Ah total battery pack that would be 100000 hours, or 4166 days, 347 months, 28 years.
I ordered a nano-ampere meter to measure ultra-low current, let's see how that goes.
Well, 28 years, I very strongly doubt that's even possible due to self-discharge. If we can get anywhere between 5 to 10 years on a single battery with intermittent BLE including notifications such as email, alarms, etc, that time's a noble goal.
As Bilbo said, Time! Time!
Below is the current consumption with full BLE and display... <10uA, yeah, baby, yeah!
Cheers!
-
nRF52 Current Consumption
11/07/2023 at 00:44 • 0 commentsMy current consumption is 10mA. This is an ultra- low-power chip.
Wrote a bunch of code, putting the chip to sleep, whatever other crap, to force into low power. Nada. WTF? Did some more digging until I decided to color outside the box and go hard-core physics.
Got my million-dollar thermal imaging camera our.
And... voila!
So, where do you think the problem is?
Moral of the story. Buy cheap online crap, get cheap online crap.
-
PCB Prototype progress
11/06/2023 at 19:34 • 0 comments -
Watch OTA BLE update
11/06/2023 at 19:31 • 0 commentsGoal is to code the OTA BLE update.
Combined the time and BLE and display library, phew, a little bit of a scare but no big problems. Some unforeseen type conversions and the usual pointer mess.
Made reasonable progress, can send the Epoch timestamp from the Android App to the watch BLE and update the screen. At a point can start porting the code to a standalone MCU instead of the built-in MCU.
Will post some videos later of the watch updating time OTA.
Look Ma, no handlebars! No buttons!
-
Watch Face progress
11/06/2023 at 19:30 • 0 commentsDid some work on the basic watch face. Good enough to get the core functionality going.
Next I need to work the Android App BLE connectivity and implement a manual time update OTA.
Lots of things to do!
-
Alarm/Sound
11/06/2023 at 19:27 • 0 commentsGot the piezo-buzzer working annoyingly loud enough. Took me some time to hit the exact resonant frequency and warbling overtone, but now it's pretty efficient w.r.t. current output. It's all about the minimax!
-
Watch face / clock internals programming
11/06/2023 at 19:21 • 0 commentsMade some good progress on the watch internals. Holy moly some libraries suck, so I went through some pain to get a bunch of libraries work together. Good thing nRF52 has so much memory, so at least no problem on the hex program size. Looots of space, or as BOFH says
>Another user rings.
>"I need more space" he says
>"Well, why not move to Texas?" I ask
>"No, on my account, stupid."
LOL
Note to self: Don't eat quiche.
My list of ideas for the face:
Configurable set of faces, can pick one from the BLE app on the smartphone.
Many time zones?
May be add notifications? You've got mail!
Definitely at least one alarm.
Blank face. Wake-up using a vibration sensor, like my original design way back.
Sync up periodically to lower power consumption.
Lower SPI clock rate, will it contribute to lower consumption? I tested all the way down to 125kHz, SPI works like a, well, like clock work, haha. Definitely some power profiling needed.
No buttons! All control from the BLE app on the phone.
Where do we put the solar cell elements? More than one?
3D design for the casing?