11/11/2015 at 09:22 •
first of all: i'm not really planning on continuing this project, though i found the main reasong of the high battery usage: namely the mcu clock!
found out thanks to a teensy 3.2 running in 48 and then 2mhz with a multimeter attached.
48mhz: over 25mA continous
2mhz: less than 3mA continous
so, in theory if this also counts for the samd21 (the zerowatch mcu), i could get battery life up to a week or more!
anyhow, since i don't got that much time right now, i'll keep it with this, bye!
09/13/2015 at 14:15 •
first of all, sorry for the huge delay on the project, i am currently waiting for the firast 2 pcb's to arrive, as they are currently on a plane to my country as i type this.
i also ordered a new casing, one which is a bit more durable (thicker walls and such) i needed to redesign it completely, as the old model had some errors which were hard to solve. (will look almost the same)
next, i had an idea last weekend of implementing interrupted events for apps, but i don't know how to implement it exactly, but i'm going to give it a shot :)
MicroSD support will NOT be implemented because of the following reasons (even though the screen breakout has a microsd slot):
- slow interface in combination with the screen, as the custom pcb's use a bitbanged interface (spi had some errors)
- power consumpion is just too huge for the tiny (still 500mAh) battery in the current design.
i hope to get my pcb's coming week, otherwise i won't make it for the deadline to shoot another video for the contest.
anyhow, that's it for now, i hope this will be enough information for now. :)
08/26/2015 at 01:25 •
a small update for those interested:
i am switching to an hardware interrupt for the clock, as i encountered a bug in the software, namely:
when a loop cycle runs for more than a second ( like delay(1200); ), the time skips a second as well. the only option to prevent this without too much hassle is a hardware interrupt
though the only pins that are usable are pin 0 & 1 (the serial pins), as all other pins are occupied already, so this means i need to ditch the bluetooth feature.
so once i'm getting my new oled screen (which hopefully will be tomorrow) i will start working on my project again and implement the interrupt.
i also will start working on the app selection screen, as it's still bugged as of now.
new casing (shown in update 10) is also ordered at shapeways :)
next steps that are on the todo list are:
1: optimize code!
2: wait for casing to arrive and check if battery fits, if not, update design and order another case.
3: wait for pcb's to be sent to me from AtomSoft and test them once i receive those
4: try to put a watch together and shoot a video for the quarter finals (with or without case)
( yes all of the above within less than a month >_< )
after that, i hopefully am able to develop some more demo applications and finalize the design.
please put any ideas regarding the watch in the comments of the project :)
(also, for those who didn't notice yet, i put a component block diagram in the gallery)
08/24/2015 at 16:39 •
some things got me thinking like "what's the use of the watch?" and "am i going to continue?"
especially when i got a sony SW2, it made me feel like that at first.
however, when i tried to dev apps for it, i started to think different, as i don't really want to use a custom java sdk
i want plain C (and C++) to develop apps in, plus i really want a good open source alternative to all those closed source smartwatches.
this got my motivation back and i continued design :D
the first thing i had trouble with is that the 500mAh battery was larger than advertised, i needed to redesign some things (mostly regarding the enclosure)
there are still some things i want to improve:
- Zerowatch emulator (beyond my skills sadly)
- code debugging and optimizations (like the applist displaying bug)
- creating a custom android bluetooth app (also beyond my skills sadly)
- let apps use bluetooth?
i also ordered a new color oled at ebay, and am waiting for it to arrive as i can't really do much else right now
anyhow, have the render of my current case design :)
it's dimensions are about: 41x54x9MM (including watchband connectors)
08/24/2015 at 11:24 •
so, the pcb's have been produced and are being assembled, though i don't know if i'll resume this exact project, as things happened.
like my screen broke during transportation (no spare screen as of now)
batteries arrived, but are too big to fit in the enclosure (ebay seller gave wrong dimensions)
and the high battery usage of course
i can try to optimize the battery usage more, ut that would require me to get a custom pcb for the screen, which will add alot to the costs for me as well, as i just don't have the right experience with pcb design.
note this doesn't mean i will leave the project as it is, i will most probably change the design quite a bit in the far future
(like using a TEENSY 3.1 based system and a little bit bigger OLED (160*128px) or go for a rpi based system)
ideas or suggestions on what to do are welcome of course :)
08/06/2015 at 12:10 •
a update to keep you all informed, i have received my case design (3D printed by Shapeways), though i made minor miscalculations in the 3D model (screen doesn't fit properly as of now), so i gotta re-order it soon, but anyway, let's face the beauty!
i simply tested my pebble band to check if it fits, and it does! :)
it's about the same size as a pebble classic, but a little bit wider to fit the oled screen :)
another small thing is that the schematics are final for the current model and test pcb's are being ordered and assembled by Atomsoft.
also, i haven't got to look at the website/code as of now, as my sleep rythm is messed up quite a bit :(
that's it for now
08/01/2015 at 18:23 •
optimizing battery span can be quite difficult, but not impossible
even when the screen is 'fully' off, the boost converter to 13V for the screen power still runs, making the total amount of consumed current about 100mA (when screen is fully black)
so the only solution is to include a hardware switch which can power the screen fully down (sadly this also affects the microSD slot).
same concept is going to be applied to the bluetooth to save more battery. :)
so basically: Atomsoft and i are getting pretty close to a final schematic for the whole thing.
with current software optimizations, the 1400mah lipo battery can now last up to 24 hours till it reaches 3,3V (3,7V is recommended lowest level, so 3,3V is danger)
and more functionality will be added very soon to the code, allowing for more graphic commands, accelerometer readings and such!
also, the website home will undergo some slight changes, with links to this hackaday project and such :)
and if that isn't enough for this update: the 3D case design is getting along pretty neatly, the dimensions are 50*31*9mm as of now. (including strap connectors)
and without strap connectors: 42*41*9mm
07/30/2015 at 21:24 •
i just wanted to say that the battery usage isn't optimal as of now, i mean: the screen boost converter is always on, even when the system is idle, and i also found out that the screen can run on 3,7Vin instead of 5Vin, meaning my tiny polulu (did i spell that right?) boost converter is unneeded, pcb design is also going to be 5MM less wide (it is 38,1mm now, was almost 44MM)
currently a 1400mAh lipo battery will last for about 10 hours with the inefficient usage described above.
as a 500mAh will be in the final design, some extra stuff will have to suffer, like screen converter only on when screen is displaying something
also, since i'm using app inventor 2 for my bluetooth controlling, i came to the point their features are not enough, as i basically want a message pushed to the watch when i receve an email, it seems this isn't possible, but it is with receiving text messages, weird..
lastly: i've continued on my 3D design in sketchup :)
it looks like this now:
07/28/2015 at 15:21 •
so, i got my first arduino zero compatible, namely a Neutrino.
i firstly started testing the code on it, it works, but you will get 3 ld.exe warnings, and applications won't work at all :(
i also added the code on github for those who want to help
07/27/2015 at 20:07 •
the whole system is being rewritten as of now, and I'm using more classes, as this keeps code nicer to look at, but also increases security on the user app-side:
it was this before:
all system variables and functions can be adjusted/called from your own apps. to prevent this from happening, simply declare all variables in the 'private' section of your app.
And for the functions, recommended is using __ in front of every function you make, example: 'void __init_vars()'.
and now it is:
no system variables can be accessed, and only functions that are set as 'public' can be accessed from apps now :D
this enhances security of the watch.
this also means one can not access the graphics library directly (including all driver chip commands), so a 'wrapper' is being written as well.
the gihub repo will hopefully be online by the end of this or next week