HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
dwelch67
raspberrypi
Assembly2013–2019
dwelch67 / raspberrypi

raspberrypi

Raspberry Pi ARM based bare metal examples

7Distinct people
9Mentions
1Explicit recommenders
2.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Raspberry Pi ARM based bare metal examples

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

And these operating systems in both Smalltalk and Lisp were both better and easier to write than the standard ones of today. Look, I love Lisp as much as the next hacker, but…

xenophonf used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

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:03:16 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 year9 dated mentions

Observed mentions: 2013-01-02 09:10:27 UTC to 2019-06-23 10:54:54 UTC.

01232013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019

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
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC303
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101

What Hacker News says

9 sources
This is going to end up somewhat specific, as most low-level initialization routines are. ARM vs x86 vs RISC-V vs MIPS vs a BASIC stamp or propeller etc... I will suggest studying some general Assembly language concepts, memory locations, how to set-up RAM timings and bring offchip RAM into an address space, etc. This stuff is used daily in the world of microcontrollers, I'm a huge fan of the Parallax propeller, in which the Spin interpreter in ROM launches Assembly routines on individual cores in about the simplest fashion possible... Some things you may find interesting: https://github.com/dwelch67/raspberrypi https://github.com/rsta2/circle https://ultibo.org/ Think of the latter 2 as "HAL plus some primitives" rather than RTOS...
In Ask HN: Resources for getting started with bare-metal coding?
The Application Server is in progress, but it builds. The problem is that on x86, you can fall back on the BIOS w/ VESA to display video; while ARM lacks that functionality. If you can find/build a video driver it should Just Work(tm). You can see the current video drivers here: https://github.com/haiku/haiku/blob/master/build/jam/images/... Which are all x86/amd64-based. The RPi would actually be relatively simple to throw a framebuffer video driver together for, though: * https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/s... * https://github.com/raspberrypi/firmware/wiki * https://github.com/dwelch67/raspberrypi/tree/master/video01
In Haiku R1/beta1 has been released
xenophonf·Oct 27, 2017Recommendation phrase
And these operating systems in both Smalltalk and Lisp were both better and easier to write than the standard ones of today. Look, I love Lisp as much as the next hacker, but is Alan Kay for real? Where's the Lisp equivalent to this C code? https://github.com/dwelch67/raspberrypi/tree/master/blinker0... More importantly, where's the accompanying toolchain? Seriously, I really want to know because I'd love, Love, LOVE to play around with it.
In Alan Kay on Lisp
Even if you just want one platform, there is a lot of machinery you need even to boot up, load something from disk, access a USB keyboard and mouse, and display some text. ACPI and UEFI add considerably to this. Then there's bugs and debugging. If you have a bug in your disk driver you can slowly lose data without noticing. Quite a lot of other bugs will lock your system and you need to debug painfully from whatever logs you can find. Building in a non-C language might make this a bit easier but won't save you from the hardware locking up. Once you've done this, what have you gained? You have an OS with no userland and no applications. What bits of Linux/BSD do you actually want to replace with something else? The code is fairly modular and OSKit exists to help with this. The nearest to what you describe is probably retrocomputing; people
Read the rest
building their own considerably simpler systems from the ground up. If you want a simpler platform to start on without having to first build the platform, consider Raspberry Pi; the bootloader there effectively just pulls an ARM ELF executable off the SD card and starts executing it. Have a look at https://github.com/dwelch67/raspberrypi
In Hobby kernel and userspace, built mostly from scratch
> The raspberry pi is a much more complex machine than the arduino. 32 bit instructions vs 8 bit, 700MHz vs 20MHz clock frequency, GPU vs no GPU, 512MB memory vs less than 1MB I have no arduino experience and am happy to be educated, but I don't see how any of those things makes the pi harder to program. Maybe the instruction set's harder, but that only matters if you're writing asm. There's more stuff you can do, but that doesn't get in the way if you just want to code arduino-like stuff. > You certainly can make LEDs blink with a raspberry pi with your own non-OS code, but the difference in the amount of code required vs doing it in an arduino is pretty substantial. Here is some baremetal code that blinks LEDs on a pi: https://github.com/dwelch67/raspberrypi/blob/master/blinker0... It's not that bad, really. Admittedly some of the perip
Read the rest
herals are much harder work than that. I should add that I have nothing against the Arduino, but as a n00b to baremetal / embedded style programming I'm not finding the pi particularly gruelling. Maybe I just don't know what I'm missing.
In The Absolute Beginner's Guide to Arduino

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.