Recent

Author Topic: Blinky on attiny 10  (Read 4554 times)

ccrause

  • Hero Member
  • *****
  • Posts: 845
Blinky on attiny 10
« on: October 11, 2020, 08:27:37 pm »
I thought it would be interesting to use one of the really tiny AVR controllers and program it with FPC.  Quite an experience soldering the tiny chip to a piece of strip board, see picture below (the controller is the little insect-like black rectangle with the six shiny legs).  Links to code and video

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Blinky on attiny 10
« Reply #1 on: October 11, 2020, 10:25:46 pm »
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

ccrause

  • Hero Member
  • *****
  • Posts: 845
Re: Blinky on attiny 10
« Reply #2 on: October 11, 2020, 11:07:05 pm »
That's very impressive for something programmable, but don't forget these as an absolute comparison:

https://www.youtube.com/watch?v=dyL0kIhAOzY
https://hackaday.com/2018/09/23/worlds-smallest-led-blinky/
https://hackaday.com/2019/04/11/an-even-smaller-worlds-smallest-led-blinky/

MarkMLl
There are many amazing projects out there, I agree. The interesting thing for me is that FPC is capable of generating code that works in this very constrained environment.

d.ioannidis

  • Full Member
  • ***
  • Posts: 221
    • Nephelae
Re: Blinky on attiny 10
« Reply #3 on: October 11, 2020, 11:18:42 pm »
Hi !

  Kudos for your  patience soldering this !

(  I prefer to use them, on a SOT-23 to DIP adapter ....  )

regards,


 

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Blinky on attiny 10
« Reply #4 on: October 12, 2020, 09:31:27 am »
There are many amazing projects out there, I agree. The interesting thing for me is that FPC is capable of generating code that works in this very constrained environment.

Yes, I agree. And it was a nice bit of soldering.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: Blinky on attiny 10
« Reply #5 on: October 12, 2020, 11:22:25 am »
The interesting thing for me is that FPC is capable of generating code that works in this very constrained environment.

Yes, it's definitely amazing how far FPC as come and how much of a range of platforms it can and does cover nowadays. :)

Mathias

  • Jr. Member
  • **
  • Posts: 88
Re: Blinky on attiny 10
« Reply #6 on: October 16, 2020, 02:08:28 pm »
I thought it would be interesting to use one of the really tiny AVR controllers and program it with FPC.  Quite an experience soldering the tiny chip to a piece of strip board, see picture below (the controller is the little insect-like black rectangle with the six shiny legs).  Links to code and video
I looked at your code. Only me is a mystery how you made the LED blink. I don't see a PORTx command anywhere.

ccrause

  • Hero Member
  • *****
  • Posts: 845
Re: Blinky on attiny 10
« Reply #7 on: October 17, 2020, 08:59:41 pm »
I looked at your code. Only me is a mystery how you made the LED blink. I don't see a PORTx command anywhere.
The timer can directly control the output compare pin A (OCOA = PB0). The specific option I use is to let the timer toggle the pin on each compare match. This way, once the timer is configured it will generate a pulse train with no further involvement of the core.  See the description in the attached image.

Kind of like PWM, but simpler since the duty cycle is fixed.

Laksen

  • Hero Member
  • *****
  • Posts: 724
    • J-Software
Re: Blinky on attiny 10
« Reply #8 on: October 17, 2020, 09:11:36 pm »
Very nice :)

Next try this one :P https://www.digikey.com/short/znm0c0

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Blinky on attiny 10
« Reply #9 on: October 17, 2020, 09:45:44 pm »
Next try this one :P https://www.digikey.com/short/znm0c0

12 solder bumps on a package 1.5mm square... would there be any chance at all of mounting that on a single-sided board, or would it need a multilayer board with properly prepared pads/vias?

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Laksen

  • Hero Member
  • *****
  • Posts: 724
    • J-Software
Re: Blinky on attiny 10
« Reply #10 on: October 17, 2020, 10:22:24 pm »
You would need tiny trace widths < 2mil, via in pad, or HDI with micro vias for this kind of size sadly :/
They put the GND pad in the middle of the chip meaning you would have to hack one of the outer balls of the package if you wanted a normal PCB

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Blinky on attiny 10
« Reply #11 on: October 17, 2020, 11:09:12 pm »
I've seen (photos of) some pretty impressive work mounting this sort of thing tits-up and soldering wires "dead bug" style but that's well beyond anything I could do. OTOH I've also seen discussion of using lasers for soldering, and at that fairly small scale with very thin wire it should be fairly accessible.

I'd love to know what my watchmaker grandfather would have made of modern stuff. It's amazing what some people could do with a spirit lamp and blowpipe.


Somewhat later: https://www.youtube.com/watch?v=T2h7hagVfnA using a 3W laser, demonstrating that it's got more than enough power and is in fact badly let down by poor temperature control.

MarkMLl
« Last Edit: October 17, 2020, 11:33:15 pm by MarkMLl »
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

ccrause

  • Hero Member
  • *****
  • Posts: 845
Re: Blinky on attiny 10
« Reply #12 on: October 17, 2020, 11:44:52 pm »
You would need tiny trace widths < 2mil, via in pad, or HDI with micro vias for this kind of size sadly :/
They put the GND pad in the middle of the chip meaning you would have to hack one of the outer balls of the package if you wanted a normal PCB
Not what I would call ideal for hand soldering  %)

Mathias

  • Jr. Member
  • **
  • Posts: 88
Re: Blinky on attiny 10
« Reply #13 on: October 19, 2020, 01:53:47 pm »
I looked at your code. Only me is a mystery how you made the LED blink. I don't see a PORTx command anywhere.
The timer can directly control the output compare pin A (OCOA = PB0). The specific option I use is to let the timer toggle the pin on each compare match. This way, once the timer is configured it will generate a pulse train with no further involvement of the core.  See the description in the attached image.

Kind of like PWM, but simpler since the duty cycle is fixed.

Solved in a similar way to how I did the tutorial.
https://wiki.freepascal.org/AVR_Embedded_Tutorial_-_Analog_Write/de

devEric69

  • Hero Member
  • *****
  • Posts: 648
Re: Blinky on attiny 10
« Reply #14 on: October 19, 2020, 05:35:53 pm »
Impressive and interesting.

Question from a dummy in electronics: how do you "flash" this kind of chip (i.e. inject inside, the compiled FPC code)? Is an Arduino required with its "EDI", before this kind of electronic "test" board?
use: Linux 64 bits (Ubuntu 20.04 LTS).
Lazarus version: 2.0.4 (svn revision: 62502M) compiled with fpc 3.0.4 - fpDebug \ Dwarf3.

 

TinyPortal © 2005-2018