-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SMD Version #24
Comments
I finished the board. It's now 100% JLCPCB parts, including THT. So the board can be ordered fully assembled. |
This looks really nice! The only potential issue I see is programming the AtTiny85v, have you considered how your going to manage that? (will JLCPCB program them before assembly?) |
It may work for the initial programming but after the fuses are set the reset pin will be disabled (its turned into a GPIO to detect power fail) |
You will want to insure that programming is done at 3.3v (does that work?) or you will put 5v on some of the ESP8266 IO pins (SDA/SCL). Also possible issues with the RTC seeing signals on its pins while unpowered. |
I see what you mean. I think I will add some dip switches to completely isolate the attiny85 just for programming. Thanks for your thoughts on this @liebman |
maybe it would be smaller to switch to THT for the attiny and socket it? This is why I went with THT for it. Made it easier to pop out and use an HV programer to reset the fuses so it could be programmed again. |
That is a good idea. I didn't want to do that, so you can order the board fully assembled. And I don't think JLCPCB will socket the chip for me. Neither will they deliver it as a loose part. But since you need to order an Attiny programming board separately anyways, you may as well order the chip with that. |
By the way, Is that okay with you @liebman ? |
Once this board design is finalized, I'd like to purchase a couple. |
@balzreber I'm fine with that labeling. Some assembly houses can pre-program MCUs as part of assembly, you may want to see if thats possible in this case. If so then you can put some SMD jumpers on the traces that lead to the attiny, that way if you needed to re-program it a second time you could cut these, program, and then solder bridge the cut. Also the one thing that I found most difficult was finding clock movements that were easy to modify - and tuning the exact pulse timing and pwm level was a real challenge. I'll look later to find where I ordered these from. |
@alteredz I was talking to JLCPCB about that. They told me that they could theoretically do that. But they would have to look at the exact schematics to confirm (they do in-circuit programming, not pre-programing). And of course, it costs extra. And since they have to involve some engineers, the markup will be significant! @liebman thanks for the hint! I'm living in Switzerland. The home of clocks. So I hope I can get some good clockworks here :-)) But I would appreciate you looking up which ones you used nevertheless ;-) Thanks |
I noticed that the blog link was broken - I've just updated it - it will provide a lot of info about the design. https://blog.taboola.com/analog-clocks-ntp/ |
This is what I had the best success with https://www.klockit.com/all-departments/quartz-clock-movements/quartexr-push-on-quartz-clock-movement-threaded.html |
@liebman Thanks for the additional info! In the meantime, I modified the design to have a socketed Attiny85. Still waiting for the missing JLCPCB part. |
You should switch C4 to a multilayer ceramic one like this |
Okay, will do that. You had an Alu as C4 in your assembly pics, that's why I have chosen one as well. Those are the rest of the relevant components. I remember that I had to "upgrade" C6 to 680uF due to availability. Pretty much all standard 0805 250mW film resistors The capacitors. Will change C4 to ceramic. Voltage Regulator. That's the one I'm waiting to arrive at JLCPCB The Attiny is a Attiny85V-10PU like I read in your blog. And sorry @liebman I didn't want to pull you in this this deep. But I totally don't mind if you are willing to help ;-) |
C2 - the one you have is 6.3V - thats cutting it close (4AA batteries is ~6v) I'd choose one with a higher voltage rating to be safe - the others are ok. |
Will change that. |
I finally got the boards 🥳 ESP and Attiny are programmed. Worked like a charm. |
I did some measuring today. This is the clock movement I'm using @10ms / 500mV: This is the output of the board (with default parameters) @10ms / 500mV: And with higher resolution @500us / 1V: @liebman Is it normal that the board output is not a single pulse like the clock itself? Or is there something wrong with the board? PS: I tried with two boards and had exactly the same results. |
How many battery cells does your clock use? All of mine are single cell (1.5V) and none of the clocks I had responded well to 100% duty cycle tick pulse (tp_duty) and adjust pulse (ap_duty). The symptoms as I recall were missed ticks and randomly starting to tick backwards. I also found that the settings varied between brands. 100% duty @ ~ 3v is twice the power delivered to the clock movement per pulse than via the 1.5V battery cell in my case. |
At the moment I'm using 5V directly from a power supply. I don't get it. Isn't there always the same power delivered to the clock movement? I only tested with the cheap Ikea clock movement at the moment. But there are other clock movements ordered and on the way. I will do more testing as soon as they arrive. |
I'm sorry. I know what you mean now. |
have you tried varying the pulse width? It takes time for the clock movement to move to the next position and to settle. |
I have done that. But I was only playing around with the values. In the meantime. I finally got the rsyslog to work. ... I tried multiple different NTP Servers. No luck. EDIT: I set up my own NTP server. Now it's working. So the previous problem seemed to be a network issue. |
I was going to ask, but can't see it from the board pictures, did you put a keep-out zone under the ESP12's antenna? |
I have done that, yes. The area under the antenna is where the label is. Sorry I didn't post measurements yet. I got hung up on another project. But I will be back soon with more... |
So I tested a. bunch of clock movements. Everything seems to work just fine. I can set the clock with no problems. With duty cycles around 90. There are two problems remaining: 1.) The clock resets to captive portal once I recycle power. So I have to set the wifi every time I take the clock off power. But I think this is a software issue. Since all the parameters are saved on power loss. Or is this some strange reset happening because of hardware? 2.) I can't get the clocks to tick in unicent. They are around half a second off. Am I hitting the limits of the design, or is it possible to get the seconds closer? What do you think @liebman? |
Sorry for the delay, I've been busy moving. Are you still using a local NTP server? Also it may take some time for the clocks to compensate for network latency - run them for a few days and see if the times don't sync better. I had 4 clocks all synced in an office I worked in previously. |
No worries. I'm currently building my third clock. As soon as that is finished, I will let them all run for some days and see what happens. Thanks for the advice! What do you think about the wifi reconnecting problem? If that is indeed software, I think I can release the SMD board files. The rest seems to work like a charm. |
The wifi re-connect could be either - you will need to capture the serial output to analyze this. |
Alright. I will do some more debugging. |
Not that I recall. |
@balzreber Did the SMD files get finalised? Your version of the repo seems empty. |
Hello liebman
I'm currently in the final stages of finishing an SMD version of your awesome AnalogClock.
I only use JLCPCB components, so the board should be orderable from there, almost fully assembled.
The current version is a 1:1 replica of your design.
I think I could make the design even simpler, and therefore smaller. But I have some questions for you about that.
Of course, I will share my design once it is finished.
(Image is wip)
The text was updated successfully, but these errors were encountered: