Open-Smartwatch / open-smartwatch-gps

Hardware design files for the GPS version of the open-smartwatch
GNU General Public License v3.0
197 stars 29 forks source link

Regarding hardware upgrades, such as type-c interface #12

Open GreenShadeZhang opened 11 months ago

GreenShadeZhang commented 11 months ago

Is this project still being updated? I see that the hardware version is a long time ago. I want to reproduce a finished product, but the hardware feels a bit old, so I would like to ask if there is a timeline for this hardware update.

a-allard commented 10 months ago

@GreenShadeZhang

This project has been quiet for quite some time. As mentioned in #10 I forked this and started a new revision of the hardware. I have not yet tested it as the boards are finally in production. Once I have them tested and get a fork of the OS running I'll update the fork of this repo with info on building.

GreenShadeZhang commented 10 months ago

@GreenShadeZhang

This project has been quiet for quite some time. As mentioned in #10 I forked this and started a new revision of the hardware. I have not yet tested it as the boards are finally in production. Once I have them tested and get a fork of the OS running I'll update the fork of this repo with info on building.

This sounds great, I think it would be a great toy if the GPS and circuit board worked properly, looking forward to your results.

samuk commented 7 months ago

How feasible would it be to do a variant based on https://store.rakwireless.com/products/wisduo-lpwan-module-rak11300?m=3&h=wisduo-modules-for-lorawan you'd lose wifi, but gain LoRa

a-allard commented 7 months ago

@samuk

Such a variant looks to be possible. But the FW would require a complete rewrite from the ground up. The FW rewrite is not something I am up for. As well as you'd be relying on always having a LoRa network to connect to. As things are now most everyone has a WiFi network to connect to but I doubt the majority of people have access to LoRaWAN. That said, battery life might, I stress might as RAK does not say anything about battery life at all, improve as LoRa tends to be lower power than WiFi.

So, I am not opposed to doing the HW design. But someone else will have to write the FW for it.

samuk commented 7 months ago

That would be very interesting to me.

My use case would be using the watch as a basic watch & LoRa tracker. The firmware would essentially be https://meshtastic.org/docs/hardware/devices/rak/core-module?rakcore=RAK11310#rak11310---rp2040

The Twatch is already supported, but closed hardware and the ESP32 makes it power-hungry https://meshtastic.org/docs/hardware/devices/twatch/

With some additional UI stuff to tell the time. Meshtastic already has various UI's, including a clock, so I think it's fairly feasible.

As this would essentially be a complete redesign I wonder if it would make sense to do it in the Watchy form factor so people could use their cases: https://thepihut.com/collections/sqfmi

samuk commented 7 months ago

stm-rpi

What might actually make sense is designing a watch for the generic Wisblock core modules these are 20x30mm modules

It would then be up to users which module they used (STM, NRF52, RP2040, ESP32) if users wanted to use a variant of the existing firmware they could get the ESP32 module, or for Meshtastic based firmware one of the LoRa modules.

The Wisblock boards are a little larger, but might actually leave more space for routing on the watch PCB as they are separate from it?

As this would be a substantial redesign I wonder if it would make sense to go with the Watchy footprint/dimensions so users could use their straps or cases

top

If we dropped the buzzer it looks like there would be adequate space above the e-ink connector for a Wisblock core mounted sideways.

You only get ~12cm below the e-ink connector to place a GPS module though. I don't know if that's adequate?

e-ink

a-allard commented 7 months ago

2 issues with using the generic Wisblock FP.

The display connector is 2.1mm high. The Wisblock connector is only 0.8mm high. So the Wisblock would collide with the display connector before it was correctly seated. Even if you rotated the Wisblock 90 degrees so the connector was directly above the display connector the other end would stick beyond the edge of the watchy current size.

The other issue is when trying to add a module in the battery gets displaced this means the case gets significantly thicker. Not the end of the world but it won't fit the watchy current case design.

Also the Wisblock has mounting screws to hold it in place. Those are going to be an issue getting them in an area that does not harm the display. Or leave them out and make the case hold the Wisblock with a tension fit which gets tricky due to mechanical tolerance stackup.

Watchy is nice and small because there are no modules on it and it does not support GPS. To pull in a relatively large module (Wisblock) is going to swell the board beyond the current watchy outline. The way to get a watchy sized device that supports LoRa would be to design a new version of Watchy with the guts of the RAK11310 directly laidout on the board and drop the GPS module and SD card from this design. That would make doing something like a watchy sized device probably doable.

So, if you want a Wisblock module based watch and are willing to dump the GPS and SD card support it will still be larger than watchy but I can see what it looks like. If you want the GPS and or SD card it is definitely going to be larger than watchy.

samuk commented 7 months ago

" Even if you rotated the Wisblock 90 degrees so the connector was directly above the display connector the other end would stick beyond the edge of the watchy current size."

By my measure you just get the required 20mm? It would be tight, but possible? The e-ink could even be brought down ~1mm lower maybe? 20mm

We'd foul the 'top' buttons, so they would have to be sacrificed, leaving the two remaining lower buttons

I'd be happy to dump the SD personally, but the GPS is what would turn it into a useful tracker for my particular use case.

How large are the smallest (useful) GPS devices? Shall I do a bit of research?

l70-r

It might be possible to squeeze a L70R below the E-ink connector?

Still leaves the USB unaccounted for, perhaps vertical & Appreciate we need to consider all the supporting circuitry which is non-trivial

Just spotted the Morph that uses watchy dimensions for a STMxx design. morph

a-allard commented 7 months ago

That might fit with a bit of shoehorning. The GPS will be crazy tight.

So all passives will be 0201s for space reasons. So hand assembly will be very difficult if possible. Not sure if you're planning to order fully assembled from pcbway or doing any hand assembly.

I won't have time to really look at this for a few weeks. But I might be able to do a course feasibility test.

samuk commented 7 months ago

That would be great. I'd use JLPCB assembly, so basic parts from LCSC would be a bonus.

If it did end up too fat for the cases we might get away with a spacer and longer screws?

a-allard commented 7 months ago

Alright. I'll have to remember what JLC limitations are.

That might be feasible. I don't know enough about how watchy mechanical assembly is designed to give a solid answer.

It'll be a bit getting this setup. When I get the new repo setup I'll ping you so you can follow as things progress provided the initial fit test looks good.

That said the WiFi version I started will take precedent when the boards come in.

samuk commented 7 months ago

Nice, thanks. I'll do a bit of research on GPS it's not an area I know much about. This MAX2769BETI/V+T 5mm x 5mm teensy for example, but not sure about codebase etc.

Links to screen & batteries can be found here https://github.com/sqfmi/Watchy/wiki/Spare-parts-and-alternative-parts

Szybet commented 7 months ago

Cool things, cool things

You only get ~12cm below the e-ink connector to place a GPS module though. I don't know if that's adequate?

Below the e-ink connector goes the e-ink flex cable so...

well if you are looking for space on the PCB I would propose:

samuk commented 7 months ago

The e-ink connector can pass over other components though?

One possibility is to abstract it away and provide a single RAK sensor connector. Users might then choose to add the 10 x 23mm GPS module, or perhaps they'd prefer to clip in a 10x 10mm 9DOF IMU

Here's a Kicad Lib for the 20x30mm Wisblock core module kicad_wisblock_core.zip

Rak-core dropped onto the Watchy rak-core

a-allard commented 6 months ago

@samuk

Getting back to looking at this.... It might literally fit.... image

My only serious concern right now is if manufacturing tolerances stack up the RAK module might not sit down correctly as it would be resting on the edge of the GPS module.

Probably not an issue. But something to be aware of.

Getting a USB connector on, battery charger, and FET for the display....

image

(side ish view for perspective on the USB connector)

image

The large FP between the RAK and display connector is the footprint for the SIM68M. That is the smallest GPS module I could find that was available and had enough documentation to make a good footprint. Still couldn't find a 3d model.... annoying when manufacturers don't allow one to download that.

A couple of questions before I get too much further down this road:

Another thought... The RAK modules appear to sit ~0.7mm off the top of the board. So for things like 0201s and smaller (vertically speaking) I think I can hide them under the RAK module. Not best practice. But for something this tight....

In case you haven't seen it, this project is here

samuk commented 6 months ago

Nice!

My only concern with your mockup is USB/ Battery placement & height of the USB making Watchy cases impossible . I guess given the placement of the Wisblock module it's simply impossible to use the Wactchy MicroUSB placement.

Would small headers for the (irregular) programming and a Wireless module be any thinner?

I can't open your project unfortunately, I'll try it again later

errot

a-allard commented 6 months ago

Sounds good.

I'll take a look at the other GPS module probably this weekend.

We can do a small header. Or because the wisblock is technically removable we could leave no programming connector on this board and one has to remove it to program.... less than ideal but it'd work. Before we get there though let me think a bit. Might be able to do somthing like an edge connector. We can do a wireless charger. It'll likely be either a separate stacking board and or an off the shelf module like the one you linked to.

Sorry the project won't open. I'm running kicad 8 (technically its a release candidate but the actual release is scheduled for Mar 2) its under the nightly builds for now. Kicad I was supposed to release end of January and it had a bunch of new features I really wanted to use. Sadly they changed the file format enough backwards comparability is completely broken. But old projects can be moves to kicad 8 just by opening them.

samuk commented 6 months ago

Good point about programming off-watch. I think that's probably the best (easiest!) option. If we're realistic this is probably a watch for a small subset of geeks anyway, so spending ~$9 on a RAK board seems reasonable.

So we're just left with the problem of getting power to the thing?

Maybe we should target a particular watch case and design for that? The aluminum ones look nice, but I imagine they are an RF nightmare and not viable for any wireless charging or GPS/LoRa use?

I'll upgrade to Kicad8 later and have a proper look.

a-allard commented 6 months ago

Yeah. Charging is the last big hurdle before finalizing the HW and then layout.

I'm open to most any case. Aluminum is an RF nightmare. That said if front and back plates are plastic it not be an issue at all. But we won't know until after we build and test.....

uvwxy commented 6 months ago

Quick question, and sorry if I missed it in this thread:

Where will the GPS antenna go?

a-allard commented 6 months ago

Hi @uvwxy

A bit of background, there are 2 different models being discussed here. The first is the direct fork of your project here. The other is a complete redesign around the RAK modules. The second is still early in HW dev but its here

For both designs the GPS has a built in antenna. The direct fork I widened out the top quite a bit to better match what the manufacturer recommends for the GPS layout. Not sure if it will work boards are still in China getting built right now.

For the RAK module I have not gotten into the datasheet enough to double check placement. There is for sure a chance the GPS and LoRa will argue but the only way to find out is to build.... Thanks for the reminder though.

samuk commented 6 months ago

I'm assuming the MAX2769BETI/V+T wouldn't have a built in antenna? So I guess it will be a judgement call as to whether the much smaller size makes it worth the bother.

It might however fit under the RAK module if the antenna is external

a-allard commented 6 months ago

Yeah the MAX chip likely doesn't have an antenna. The question at that point is do we go with an external antenna that plugs into the board or find a trace antenna that works. The trouble with a trace antenna is they usually require a bit of tuning unless the design has already been tuned by someone else on a PCB similar enough.

Have to see.

As to fitting under... it would be a line to line fit and might hold the RAK module slightly (.2mm at most) above the standoffs. Where this isn't going to be a viable product that might be okay. I'll try to lay it out without doing that but if it comes to it that is an option.

samuk commented 6 months ago

I think my preferred option might be a vertically mounted microusb

Sticking out the back of the watch into the space on the 'invader' case, with a bit of cutaway on the battery casing

gap

I would mean we weren't 100% wactchy case compatible, but adapting existing 3d print cases would be fairly trivial, and it would mean that you could use a 3d print back piece with the watchy aluminum frontpiece assuming you don't care too much about RF.

If it was laid out like this (excuse the mess) layout We would remove the cutouts for the no-case strap, but preserve the narrower e-ink ribbon cable passthrough hole.

Looking at your draft again I have concerns about the excess ribbon cable on the screen if we do go for a smaller GPS it could go under the ribbon cable? The connector could then be moved back up to match the Watchy positioning (and tightness) to solve excess cable problem.

The vertical USB-B would be mounted in the bottom right corner, to the right of the e-ink ribbon, 3.5mm from the bottom edge of the PCB so it didn't foul the strap mount component.

The smaller 5mm x 5mm GPS would go either under the ribbon cable o. Antenna remains an open question.

invader-side invader-front invader

The watchy uses this LiPo Battery 3.7V 200mAh 402030 or cheaper

From the Watchy BOM

I'm non 8.0.0-rc2 and still getting that error

samuk commented 6 months ago

In terms of the GPS antenna I wonder if we could this on the left hand side next to the lower button, mirroring the position I'm proposing to put the USB. We could cut away the PCB underneath to give it a clear(ish) connection to the sky, through the e-ink screen.

For the LoRa maybe this again we could cut away a 17x27mm section under the RAK module and mount this there?

a-allard commented 6 months ago

Quick update.....

It looks about like an LA map during rush hour of a holiday weekend!

image

I'm not happy with the placement right now. I need to figure out getting the battery connector oriented differently and still need to look at the MAX GPS chip as that would free up some space if that will work.

But this is where things are at the moment.

@samuk if you have an antenna for the GPS you like let me know so I can find a good SMT connector to connect with.

samuk commented 6 months ago

Nice! I still have concerns about the excess ribbon cable from the screen though?

Is a layout similar to the one I proposed not possible? The ribbon cable connector would probably need to be moved 'down' a mm or two to account for the components (GPS? Caps? Resistors?) that would go under the cable?

This GPS1003 antenna might work for GPS?

samuk commented 6 months ago

hacky

If we're going to put the USB out the back, we do need to bear in mind the battery placement too, I think it has to go down 'below' the buttons, so that it doesn't foul the battery. T

samuk commented 6 months ago

antenna-right

Maybe the antenna could go on the right?

Attached is the Kicad footprint for the
gps1003.zip

a-allard commented 6 months ago

Looking at the MAX chip a bit more.... It will be very tight under the RAK. The clearance might be non-existant. RAK module sits ~0.72mm off the board (as near as I can tell from the CAD model for the mounting fixture they RAK gives they aren't really clear about the height so that makes things difficult). The MAX is 0.7-0.8mm tall. So the RAK module might actually be sitting on top of the GPS chip. Not ideal by any stretch. But as long as the mounting screws are only snugged things should be okay....

In terms of an antenna the one you found has a massive recommended keep out area (49.5mm X 20mm). I found a molex antenna that is a bit taller, 4mm, but has a much smaller keep out. I think it will work in the upper corner of the board with the MAX chip under the RAK module.

After rearranging things and adding a few more CAD models (RAK module and the display) here is what things are looking like:

image

I tried to pull the LCD connector up some and pull the cable hole down some so the slack shouldn't be as big of an issue. I did try to keep enough room between the connector and components in front of it so getting the cable into the connector won't be too miserable. The battery connector is in a much better location for getting the battery to sit better.

Some height perspective.

Side view Angled view
image image

I will have to look at alternate USB options as the one currently in the model protrudes through the board enough I think it will mess with the display. Other than that I need to finish wiring up the RAK module in the schematic and get to layout.

samuk commented 6 months ago

Nice, Looking good!

I had a look at my RAK device, it is hard to judge the 0.x mm. I think it is 0.7mm though. hard

I think there are narrower SMD vertical micro USB that might give us a bit more space to avoid fouling the watch strap in the bottom left corner.

I also noticed the left button has moved up a bit, I'm assuming that's just a mistake?

Great progress though, I want one!

a-allard commented 5 months ago

Finally got some time to dig into the poorly documented GPS chip and get the schematic part pretty well taken care of.

image

Need to finish wiring the RAK module to the rest of the stuff then move on to layout.

Progress is slow but moving forward....

samuk commented 5 months ago

Nice! looking good

invader-side invader

Looking at the case I'm still worried about how we make a strap attachment with the USB in that location. Is rotating the USB 90degrees a possibility? Or is it just too tight? Case file here

a-allard commented 5 months ago

Looking at the board in the case I don't think it is too bad.

image

It is tight for sure but it looks doable here. In terms of moving to a horizontal connector, if can be done. Something like this would work. The issue is the button would have to slide up ~3mm to make room for the USB connector as a horizontal one can't be placed on the curve like the vertical one can.

I'm okay either way. Let me know which way you'd like to go.

Here is a step export of the layout as is in case you want to see how it drops into the case. oswRAKwisBlock3D.zip

Also, please give the schematic a look over. I'm happy with it as is. If you see any issue with the pinout of the RAK module or the GPS chip let me know so we don't have to do a respin for something foolish. There is a PDF of the schematic here in case kicad is not cooperating.

samuk commented 5 months ago

Nice progress, I note the buttons are out of alignment though.

bottom-buttons

Would moving the USB & Battery connector to the top edge be feasible? The buttons could be brought down into alignment then?

a-allard commented 5 months ago

A couple issues,

  1. The oscillator is too tall to be put under the RAK module.
  2. The GPS antenna will likely work well with the USB connector beside it.

The RAK module probably will not set correctly if the battery connector is there. The battery connector will likely be under the module keeping it up too high.

If I pull the display connector down it might work

samuk commented 5 months ago

I wonder if there's an alternate part that might help the battery connector, perhaps a vertical might work to reduce the footprint?

vbatt

Kicad lib vertical-batt.zip

I did have a good look at the schematic and didn't spot anything, but my skills in this area are fairly minimal

a-allard commented 5 months ago

A vertical battery connector will likely cause you problems with the case as the one you pointed out is 4.8 mm tall. The front of the case to the back of the case is 4.3mm. And that is before you plug in a battery which will make the connector larger. So, it can be done but I doubt it will work out well.

Also, the oscillator Y1 cannot go under the RAK module. The oscillator is 1mm tall. Which will push the module up 0.3mm higher than it should be. I think that will be enough to cause connection issues.

What do you think about this layout?

image

If you want to check it out in KiCAD make sure you switch to the altLayout branch

I'm not a huge fan of it myself as the path to the antenna is rather long and might not be great. But it puts the buttons in alignment with the ones on watchy. It does move the display connector down slightly, and puts some of the LCD switcher supply components further away but it will probably be okay.

samuk commented 5 months ago

The main issue I see with your alt layout is the USB cable having to pass through the battery.

top-edge

How about something along these lines?

a-allard commented 5 months ago

All the regulators are too tall to be stuffed under the RAK.

If we swap to a horizontal USB connector do you think the alt layout will work?

samuk commented 5 months ago

It's only caps and resistors under the RAK?

Or alternately your alt & horizontal USB might be the winner? We could actually align with the existing Watchy USB then.

watchyUSB

a-allard commented 5 months ago

Pretty much just caps and resistors. The GPS chip is just small enough to fit under as well.

Alrighty. I'll swap the USB connector out and see about getting it aligned with the Watchy one. I might have to mirror the layout but that is not an issue.

Sounds like a plan!

a-allard commented 5 months ago

USB connector updated and moved to match watchy. Everything else is rearranged so it looks decent. I'll probably start routing tonight after one more check in the case to see everything lines up well.

samuk commented 5 months ago

One issue I just noticed is the way the cases attach assumes holes where we have deleted them

https://www.youtube.com/watch?v=Q15mxiO38Kk

With the new layout would adding two back in be possible? It might also be possible to use the RAK hole as a third?

newhole

a-allard commented 5 months ago

That would make assembly a challenge. Lol.

I'll see what I can do. It looks like watchy uses 4. Putting 2 back should be easy. As to the other 2 I'll play with the layout later and let you know how it goes.

Szybet commented 5 months ago

Looks bulky, have you considered making a attachable extension on the side? I have done it with my battery image

samuk commented 5 months ago

The premise of this particular one is to make something compatible with the various Watchy cases, the one in that Youtube is the bulkiest of them.

I like the Invader although the various 3dprint or ABS versions will be better for RF.

That said, there's no reason you couldn't do a version of the case without the battery section and put the battery to the strap as you have done. Is that a 3dprint battery case you have there?

Szybet commented 5 months ago

The watchy is too big, making it smaller in this iteration wouldn't hurt

Is that a 3dprint battery case you have there?

Yes

Szybet commented 5 months ago

Also I would like to ask PLEASE add solder points for the esp32 direct serial connection, before the USB chip. The chip needs 5V to operate so in practice there is no debugging only on battery...

There is no need to keep problems for the past for the sake of compatibility, the same goes with the cases.

samuk commented 5 months ago

I think we're imagining that most programming/debugging will happen off-device. These modules (which may or may not be ESP32) can be dropped into one of the existing carriers for much software work. Some good test points are definitely desirable though, space permitting.

If we get to a working prototype based on Watchy dimensions I'd call that a win. My particular use case is mostly as an off-grid child tracker device. Last year I used a T-echo so this 'watch' would already represent a significant miniaturization of that LoRa mesh functionality.