HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
TurkeyMcMac
avr_threads
Assembly2020–2020
TurkeyMcMac / avr_threads

avr_threads

Preemptive multithreading for AVR microcontrollers.

2Distinct people
2Mentions
0Explicit recommenders
37GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Preemptive multithreading for AVR microcontrollers.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by 3-hour interval2 dated mentions

Observed mentions: 2020-05-25 11:19:44 UTC to 2020-05-27 08:01:24 UTC.

012020-05-25 09:00:00 UTC to 2020-05-25 12:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsMay 25, 09:002020-05-25 12:00:00 UTC to 2020-05-25 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-25 15:00:00 UTC to 2020-05-25 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-25 18:00:00 UTC to 2020-05-25 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-25 21:00:00 UTC to 2020-05-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-26 00:00:00 UTC to 2020-05-26 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-26 03:00:00 UTC to 2020-05-26 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-26 06:00:00 UTC to 2020-05-26 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMay 26, 06:002020-05-26 09:00:00 UTC to 2020-05-26 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-26 12:00:00 UTC to 2020-05-26 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-26 15:00:00 UTC to 2020-05-26 18:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-26 18:00:00 UTC to 2020-05-26 21:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-26 21:00:00 UTC to 2020-05-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-27 00:00:00 UTC to 2020-05-27 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-27 03:00:00 UTC to 2020-05-27 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-05-27 06:00:00 UTC to 2020-05-27 09:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 27, 06:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
May 25, 09:002020-05-25 09:00:00 UTC2020-05-25 12:00:00 UTC110
May 25, 12:002020-05-25 12:00:00 UTC2020-05-25 15:00:00 UTC000
May 25, 15:002020-05-25 15:00:00 UTC2020-05-25 18:00:00 UTC000
May 25, 18:002020-05-25 18:00:00 UTC2020-05-25 21:00:00 UTC000
May 25, 21:002020-05-25 21:00:00 UTC2020-05-26 00:00:00 UTC000
May 26, 00:002020-05-26 00:00:00 UTC2020-05-26 03:00:00 UTC000
May 26, 03:002020-05-26 03:00:00 UTC2020-05-26 06:00:00 UTC000
May 26, 06:002020-05-26 06:00:00 UTC2020-05-26 09:00:00 UTC000
May 26, 09:002020-05-26 09:00:00 UTC2020-05-26 12:00:00 UTC000
May 26, 12:002020-05-26 12:00:00 UTC2020-05-26 15:00:00 UTC000
May 26, 15:002020-05-26 15:00:00 UTC2020-05-26 18:00:00 UTC000
May 26, 18:002020-05-26 18:00:00 UTC2020-05-26 21:00:00 UTC000
May 26, 21:002020-05-26 21:00:00 UTC2020-05-27 00:00:00 UTC000
May 27, 00:002020-05-27 00:00:00 UTC2020-05-27 03:00:00 UTC000
May 27, 03:002020-05-27 03:00:00 UTC2020-05-27 06:00:00 UTC000
May 27, 06:002020-05-27 06:00:00 UTC2020-05-27 09:00:00 UTC101

What Hacker News says

2 sources
I'm looking at these long series of pushes and pops [1]. You have 26 general-purpose registers plus X, Y, Z. I wonder if it would be possible to have e.g. only 4 threads and have dedicated registers for each thread, avoiding the need to store/load all of them on each context switch. This would reduce the overhead and might make this a bit more usable in the real world. I mean, this is certainly possible when writing assembly. But I wonder if you can convince avr-gcc to do it. To have it limit its use of registers for a part of the compiled C code. A similar problem appears with interrupt handlers in C [2]. avr-gcc is smart enough to only push/pop registers in a handler that were actually clobbered in the code. But if you call a function pointer from an interrupt handler, it will always push/pop entire CPU state since it will assume that t
Read the rest
he code the pointer points to will potentially clobber everything. This significantly increases interrupt latency. [1] https://github.com/TurkeyMcMac/avr_threads/blob/master/avrt.... [2] https://www.avrfreaks.net/forum/calling-function-pointers-is...
In Show HN: Preemptive Multitasking on an AVR Microcontroller

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.