I really like what Stephanie did with that FLIP module. Looks really solid, even block(ly) like.
My only very minor criticism is it would be nice to have a solid white square on that top surface, so kids can write their name with fine sharpie marker, and grownups can write what code is stored on the module, or a version number.
Mine is en route via forwarding mailbox. Look forward to having a play in a couple of weeks
If anyone has FLiP and a GPS module, I'm curious about the frequency tolerance/drift of the SIT8918AE-13-33E-5.000000D Oscillator.
Be good to collect a number of modules values...
SiTime do spec down to ±20ppm, does that mean the ±50ppm are 20...50ppm rejects from 20ppm sorting ?
or, can they easily meet ±20ppm, and the ±50ppm is purely marketing labeling & all parts are equivalent ?
Here is the new Flip running my Traffic Light lab kit.
This was done in Spin as Blockly would not compile this evening, will work on that more later.
MikeH
Ah-ha !!!
Discovered my issue with Blockly (operator error).
Using old project code not identified as a FLIP module, but as a Activity Board was my problem.
Solution: Start a new project and select the proper board.
Thanks, at ~2.5ppm that unit's looking quite good.
How much does it wander short term, and over a day ?
At room temperature, it changed about 1 ppm over the course of a day. No particular pattern that I noticed.
With a hair drier, I could move it about 2 ppm.
You know, I was an Applications Engineer at Fairchild in the 70s. One important, repetitive task was to explain to customers why it was important to design strictly to guaranteed specifications, especially for products that were intended for large-scale production. I was forever amazed at the schemes people would think up to avoid using worst-case numbers in their timing analysis.
At room temperature, it changed about 1 ppm over the course of a day. No particular pattern that I noticed.
With a hair drier, I could move it about 2 ppm.
Thanks. That's better than most crystals would do.
You know, I was an Applications Engineer at Fairchild in the 70s. One important, repetitive task was to explain to customers why it was important to design strictly to guaranteed specifications, especially for products that were intended for large-scale production. I was forever amazed at the schemes people would think up to avoid using worst-case numbers in their timing analysis.
hehe, lucky you did not work for Philips .....
We did "design strictly to guaranteed specifications" on one of their Logic parts, only to find that was wrong, but quite a margin....
These days, I like to measure for myself as well, just to see how much margin is in the guaranteed specifications.... or as is more common, where they simply fail to specify anything for some use case, necessitating user tests..
Following on Whit's demo, this alternates the p26 and p27 LEDs at one second intervals, using ctra in differential mode. Also generates 40MHz on p1 using ctrb. Photos show counter output of 40.000112MHz at 25°C and 40.000151MHz at 50°C.
CON
_clkmode = xtal2 + pll16x 'Standard clock mode * crystal frequency = 5
_xinfreq = 5_000_000
PUB main
' alternate flashing p26 and p27 leds at 1 second interval
dira[27..26] := %11
outa[27..26] := %00
ctra := (%101<<26) + (26<<9) + 27
frqa := posx/clkfreq
'generate 40MHz on p1 for clkfreq test
dira[1] := %1
outa[1] := %0
ctrb := (%100<<26)+1
frqb := posx
repeat
Ah-ha !!!
Discovered my issue with Blockly (operator error).
Using old project code not identified as a FLIP module, but as a Activity Board was my problem.
Solution: Start a new project and select the proper board.
Can't change board types on existing code. But, you can download the code from one file and upload (append or replace) in a new Blockly workspace with the preferred board type.
I've used every propeller board/kit in the past. The FLiP continues the tradition of very impressive layout and high quality construction. Just beautiful.
That said, on first try -- actually at least a dozen tries -- the fault LED would come on randomly and stay on even before I could load a hello world. This was a bare FLiP, nothing connected. Direct connect USB (no hub). And the laptop has been trouble-free for every other USB device I've ever tried.
Even once the program was loaded it would sometimes run as long as I wanted, and sometimes run for a few seconds before the fault light went on. Reset doesn't help; you need to physically remove the USB cable. So this is going to be interesting. I'll do what I can to repro and debug it.
Reading 32123-Propeller-FLiP-Module-Guide-v1.1.pdf, it seems half the content is about power and fault issues. Colored or flashing LED's and unplugging USB connectors is fine for students with eyes and hands. But I was hoping the FLiP would be as robust as a PropStick or Mini or any of the USB dev boards for use in automated, or unattended, or production projects.
Even once the program was loaded it would sometimes run as long as I wanted, and sometimes run for a few seconds before the fault light went on. Reset doesn't help; you need to physically remove the USB cable. So this is going to be interesting. I'll do what I can to repro and debug it.
The SCH will help..
It shows the fault led is after the USB current limiter, so you could measure the voltages, and check other USB ports/PCs.
I doubt an idling prop would push anywhere near the 100mA USB min ?
Hi Whit, I was just wondering, I don't think it's a good idea to have the module sitting in anti-static foam while powering up. It is conductive, isn't it?
I'm not sure the foam in Whit's video is anti-static. That is usually dyed pink, and has very high resistance, so would only be conductive at much higher voltage.
There is a conductive type foam that is maybe 10kOhm which is usually black, so I'm curious about the foam in the video now, too
They're to hold the outputs low during reset or any other time they're tristated. Not sure why the Schmitt triggers are even necessary, though, just for driving LEDs.
To keep P26 and P27 as unencumbered as possible for user circuits.
Solutions...
With some demo boards a much higher value pull resistor is a common and lower cost way to handle this scenario.
However the FLiP is for breadboards and also being physically small, means fingers-in-close-proximity could easily trigger a high impedance input.- ie. An input with a weak high value resistor.
The 65k plus schmitt attempts to strike a good balance between protecting from finger triggering of the leds, whilst not interfering with external user circuits.
It would, but it's the wrong solution for a zero-crossing detector, if that's what you have in mind.
-Phil
Thanks Phil, no nothing particular in mind for the Flip anyway. But one project comes to the forfront. I need some Schmitt Triggers though. They should be represented in the parts drawer also.
The 65k plus schmitt attempts to strike a good balance between protecting from finger triggering of the leds, whilst not interfering with external user circuits.
I see. It is not so much for when the prop is driving the pin as when something external, perhaps with a high output Impedance, is driving the pin.
Comments
My only very minor criticism is it would be nice to have a solid white square on that top surface, so kids can write their name with fine sharpie marker, and grownups can write what code is stored on the module, or a version number.
Mine is en route via forwarding mailbox. Look forward to having a play in a couple of weeks
Be good to collect a number of modules values...
SiTime do spec down to ±20ppm, does that mean the ±50ppm are 20...50ppm rejects from 20ppm sorting ?
or, can they easily meet ±20ppm, and the ±50ppm is purely marketing labeling & all parts are equivalent ?
This code should test Osc against GPS 1pps
How much does it wander short term, and over a day ?
This was done in Spin as Blockly would not compile this evening, will work on that more later.
MikeH
Discovered my issue with Blockly (operator error).
Using old project code not identified as a FLIP module, but as a Activity Board was my problem.
Solution: Start a new project and select the proper board.
At room temperature, it changed about 1 ppm over the course of a day. No particular pattern that I noticed.
With a hair drier, I could move it about 2 ppm.
You know, I was an Applications Engineer at Fairchild in the 70s. One important, repetitive task was to explain to customers why it was important to design strictly to guaranteed specifications, especially for products that were intended for large-scale production. I was forever amazed at the schemes people would think up to avoid using worst-case numbers in their timing analysis.
https://www.youtube.com/embed/J69zi6cOy5c?rel=0
hehe, lucky you did not work for Philips .....
We did "design strictly to guaranteed specifications" on one of their Logic parts, only to find that was wrong, but quite a margin....
These days, I like to measure for myself as well, just to see how much margin is in the guaranteed specifications.... or as is more common, where they simply fail to specify anything for some use case, necessitating user tests..
the-propeller-powered-flipclock-a-potential-product
Coincidentally, a clever take on "flip".
Can't change board types on existing code. But, you can download the code from one file and upload (append or replace) in a new Blockly workspace with the preferred board type.
Ken Gracey
That said, on first try -- actually at least a dozen tries -- the fault LED would come on randomly and stay on even before I could load a hello world. This was a bare FLiP, nothing connected. Direct connect USB (no hub). And the laptop has been trouble-free for every other USB device I've ever tried.
Even once the program was loaded it would sometimes run as long as I wanted, and sometimes run for a few seconds before the fault light went on. Reset doesn't help; you need to physically remove the USB cable. So this is going to be interesting. I'll do what I can to repro and debug it.
Reading 32123-Propeller-FLiP-Module-Guide-v1.1.pdf, it seems half the content is about power and fault issues. Colored or flashing LED's and unplugging USB connectors is fine for students with eyes and hands. But I was hoping the FLiP would be as robust as a PropStick or Mini or any of the USB dev boards for use in automated, or unattended, or production projects.
/tvb
It shows the fault led is after the USB current limiter, so you could measure the voltages, and check other USB ports/PCs.
I doubt an idling prop would push anywhere near the 100mA USB min ?
Hi Whit, I was just wondering, I don't think it's a good idea to have the module sitting in anti-static foam while powering up. It is conductive, isn't it?
There is a conductive type foam that is maybe 10kOhm which is usually black, so I'm curious about the foam in the video now, too
It just looks like a fish out of water, a head without a body.
Just my perspective, take it or leave it.
Looks like 240R going to the LED's.
OK, I just saw R509 and R510 (64.9K), also going to P26/27.
-Phil
I reckon they must be. Why do you suppose the Schmitt trigger?
To keep P26 and P27 as unencumbered as possible for user circuits.
Solutions...
With some demo boards a much higher value pull resistor is a common and lower cost way to handle this scenario.
However the FLiP is for breadboards and also being physically small, means fingers-in-close-proximity could easily trigger a high impedance input.- ie. An input with a weak high value resistor.
The 65k plus schmitt attempts to strike a good balance between protecting from finger triggering of the leds, whilst not interfering with external user circuits.
It would, but it's the wrong solution for a zero-crossing detector, if that's what you have in mind.
-Phil
Thanks Phil, no nothing particular in mind for the Flip anyway. But one project comes to the forfront. I need some Schmitt Triggers though. They should be represented in the parts drawer also.
I see. It is not so much for when the prop is driving the pin as when something external, perhaps with a high output Impedance, is driving the pin.