josuah.net | panoramix-labs.fr

cv | links | blog | quotes | ascii | tgtimes | gopher | mail | rss

Links

Folks scattered around the world are reporting progress, collaborating, offering resources over a network known as Internet. You can access it through various ways, one of which is a web browser. Let's have a look at what others are doing...

Jobs

If you are interested in gettin a job or hiring someone, reach me at me@josuah.net. I will reach you back on anything new.

https://forum.allaboutcircuits.com/forums/jobs-career-advising.55/ #thread
All About Circuits forum's job board.
https://www.eevblog.com/forum/jobs/ #forum
EEVBlog's job board.
http://www.ganssle.com/tem-back.htm #news
Each publication of the embedded muse comes with a few interesting job offers.

Operating Systems

Sorted in no particular order.

OpenBSD

https://www.openbsd.org/ #project
"Free, Functionnnal and Secure"
https://yewtu.be/embed/W5qhWw07qpU #video
Stefan S presentation on Drivers for arm based devices for OpenBSD.
//dataswamp.org/ #community
Remote shell for a few people.

FreeBSD

https://www.freebsd.org/ #project
"The Power To Serve"

Plan 9

A research operating system.

https://9p.io/plan9/ #project
More dead links every days.
https://cat-v.org/ #community
The plan 9 doc.
https://fqa.9front.org/dash1.ghostintheminesweepershell.pdf #manual
get started with Plan 9 through 9front
https://doc.cat-v.org/plan_9/4th_edition/papers/venti/ #paper
A new approach to archival storage: append only deduplicated blocks.
https://www.ueber.net/who/mjl/plan9/plan9-obsd.html #tutorial
Run a plan 9 network on OpenBSD, helps to understand what is Plan 9.
https://9fans.github.io/plan9port/ #project
Run plan 9 user programs on other operating systems.
https://tools.suckless.org/9base/ #project
Subset of the programs of plan9port that compiles with musl as well.
https://9front.org/ #project
Distro to get it to work on its machine.
https://9legacy.org/ #project
Distro that is just a set of patches to the original.
https://harvey-os.org/ #project
Porting Plan 9 to POSIX.
http://jehanne.io/ #project
Porting POSIX to Plan 9.

xv6

A operating system for teaching how operating systems works.

https://pdos.csail.mit.edu/6.828/2017/xv6.html #project
Entry point and about page.
git://github.com/mit-pdos/xv6-public.git #code
cloneit!
https://pdos.csail.mit.edu/6.828/2017/xv6/book-rev10.pdf #manual
I want more time to ReadIt!

TempleOS

A holy operating system.

https://templeos.org/ #project
Support for 3D mesh in assembly without recompiling. Because we can.

Linux

A famous operating system.

https://tldp.org/ #wiki
The Linux Documentation Project, mainly Linux but not only.

Distributions:

https://www.gentoo.org/ #project
If you do not compile a binary, it's someone else's binary.
https://www.voidlinux.org/ #project
Runit-based ditribution.
https://crux.nu/ #project
Lightweight (for real, not like Arch) distro.
https://www.slackware.com/ #project
A straightforward distro.
http://tinycorelinux.net/ #project
Hard to do any smaller.

Distro that symlink files as a package management system:

https://gobolinux.org/ #project
Interesting directory hierarchy, good introduction.
http://sabo.xyz/ #project
Very simple and efficient approach.

GenodeOS

The Genode OS Framework is a tool kit for building highly secure special-purpose operating systems

https://genode.org/about/index #project
Written in C++ (bleh) but a good way to study how to do a kernel.

L4

Considered by some as the "state of the art" microkernel, for its efficient IPC mechanism. Microkernels were ignored for long due to the (by then) poor performance of IPC.

L3 kernel arrived and introduced a new IPC mechanism using shared memory pages rather than copying data across kernel/user space, which lead to very high performance.

Basically, L4 and seL4 is L3 IPC polished for security. L3 IPC can be looked up for understanding L4 IPC.

https://sel4.systems/ #project
seL4 uses repo (bleh >:P) and cmake (bleh >:P) instead of more portable tools, but still worth a look at the code.
https://www.cs.fsu.edu/~awang/courses/cop5611_s2004/microkernel.pdf #paper
An early paper exposing the principles from which L4 family kernels are built.
https://microkerneldude.org/2019/03/07/how-to-and-how-not-to-use-sel4-ipc/ #paper
Explanation that seL4 IPC is not quite the same as L4 IPC.
https://trustworthy.systems/publications/nicta_full_text/8988.pdf #paper
This is where the switch from old to new IPC mechanism change is explained.
https://docs.sel4.systems/projects/sel4/frequently-asked-questions.html#how-can-threads-communicate #article
Final answer on how to pass data between multiple threads/processes. If small, message-passing IPC interface; if large, shared memory pages instead.

Embedded kernels

https://opentitan.org/ #project
https://www.tockos.org/ #project
https://zephyrproject.org/ #project
https://os.mbed.com/ #project
https://en.wikipedia.org/wiki/VxWorks #project #article
https://nuttx.apache.org/ #project
https://www.chibios.org/ #project
Features a Hardware Abstraction Layer (HAL) usable stand-alone for supporting many chips at once.
http://tinyos.stanford.edu/ #project
https://www.rtems.org/ #project
Oriented toward use for satellites. Uses an automated certification process.
https://www.ros.org/ #project
ROS - Robot Operating System (HZBA recommandation)

Hypervisors

Not directly kernels, but share much of the goals of kernels.

https://en.wikipedia.org/wiki/XtratuM
bare-metal hypervisor specially designed for embedded real-time systems available for the instruction sets LEON2/3/4 (SPARC v8) and ARM v7 processors: outter-space ready!

Security

http://cyberforensic.net/ #course
Online classes by University of Florida
https://www.op-tee.org/ #project
Project making use of (or providing?) the TrustZone.

Crypto

A corner stone of security over a public network.

https://ianix.com/ #folk
A gold mine of state of the art crypto references.
https://github.com/BLAKE3-team/BLAKE3 #project
A hash function that is too good to be real.
https://autocrypt.org/ #project
An simple and unobstrusive way to spread PGP keys without manual work.
https://darknetdiaries.com/ #podcast
What is up on the dark side of the Wired?

DJB

The elephant in the room of crypto.

https://cr.yp.to/ #folk
The entry point of its lair.
https://curvecp.org/ #project #manual
A (now not so) new style of crypto.
https://dnscurve.org/ #project #manual
Standard exploiting curve crypto for dns.
https://pqcrypto.org/ #wiki
The next style of crypto.

File Formats

https://qoiformat.org/ #project
Quite Ok Image format that defines a low-complexity encoding for images: Optimised for simplicity and low overhead rather than high compression rate. Suitable for embedded.

Software

https://tinyssh.org/ #project
OpenSSH is good, and this one is too and is not as famous.
https://mojzis.com/software/dq/ #project
DNSCurve implemented after djbdns from the same author of tinyssh.
https://arcan-fe.com/about/ #project
The arcan display server project.

Qmail

An SMTPd server that aims simplicity, security, and general good design.

https://cr.yp.to/qmail.html #project
This is qmail, the venerable alternative to Postfix.
https://notqmail.org/ #project
Not qmail, also not netqmail: continuation of both projects.
http://openqmail.org/ #project
One-man project similar to notqmail in many aspects.
http://www.memoryhole.net/qmail/ #article #index
Overview of many qmail patches.

Libraries

https://www.libressl.org/ #project
OpenSSL fork with focus on simplicity and sane defaults.
https://man.openbsd.org/tls_init.3 #manual
Sane alternative interface to the LibreSSL library.
https://openssh.com/ #project
You might already know this one.
https://bearssl.org/ #project
A single-person TLS library.

System programming

http://smarden.org/runit/ #project
An init system and supervision suite inspired from daemon tools.
https://skarnet.org/software/ #project
Rewrite the layer between the kernel and the applications with minimalism.
https://en.wikipedia.org/Advanced_Programming_in_the_Unix_Environment #book
Programming book for feeling fine with all these syscalls.
https://github.com/cirosantilli/x86-bare-metal-examples #code
Dozens of minimal operating systems to learn x86 system programming
https://bob.cs.sonoma.edu/IntroCompOrg-x64/book.html #book
Learn X86-64 assembly as well as how computer works in general.
https://www.coreboot.org/images/6/6c/LBCar.pdf #paper
Use CPU cache as random access memory to write bootloader components in C.
https://web.archive.org/web/https://yin.neocities.org/pc1512/ #device #article
Giving a new life to hardware born before me.
http://www.valachnet.cz/lvanek/diy/rc2014/index.html #device
Z80 is simple enough so that skilled engineer can peice it back together from pieces and program most parts.
https://www.cs.cmu.edu/~rjsimmon/15411-f15/schedule.html #course
A class on compilation, with lectures notes openly accessible.
http://musl.libc.org/ #project
The great one C library for Linux.
https://stackoverflow.com/questions/5284898/implement-division-with-bit-wise-operator #article
concise explanation to long division algorithm
https://web.archive.org/web/20081021011744/http://cm.bell-labs.com/cm/cs/who/dmr/odd.html #article
Bit twiddling for multiplication and division
//suckless.org/ #community
Suckless - software that sucks less.
//2f30.org/ #community
2f30 - div by 0: made with strange alien technology
//bitreich.org/ #community
HTTP serves companies, Gopher serves people.
https://nixers.net/ #forum
Unix philosophy afficcionados forum.
https://z3bra.org/ #folk
Heavy tinkering intensifies...
//tildeverse.org/ #community
Tildeverse - Association of like-minded ~tilde communities.

Embedded

http://www.ganssle.com/ #folk
The fun of engineering hardware and firmware.
https://stm32-base.org/ #community
Getting started with ARM ST 32bit microcontroller, and board guide.
https://avrs.fi/ #community
Community interested about simple microcontrollers such as AVR.
https://www.pjrc.com/ #shop
Manufacturer of AVR and ARM Freescale microcontrollers encouraging Makefile builds.
https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/ #article
Programming an ARM STM32 Microcontroller without an extra SDK.
https://www.linusakesson.net/pages/scene.php #project
Demo scene on AVR microcontrollers!
https://lujji.github.io/blog/bare-metal-programming-stm8/ #article
Bare-metal programming guide for 8-bits microcontrollers.
https://embeddedsecurity.io #wiki
Explanation on many things regarding development on ARM, as well as few mitigations features of some ARM processors.
https://vivonomicon.com/category/stm32_baremetal_examples/ #article
Bare metal examples of STM32 programming, very useful for debugging or getting a stm32-blinky running from scratch.
https://fccid.io/ #database
Everything approved by the FCC has an ID, so it makes it convenient to lookup hardware by their FCC ID, such as regulation, or even user manuals.
https://interrupt.memfault.com/blog/a-deep-dive-into-arm-cortex-m-debug-interfaces #article
Overview of MCU debug interfaces
http://www.ganssle.com/tem/tem440.html#article2 #article
The Wouter van Ooijen message is a great way to deal with unit systems in code.
http://2022.rtss.org/ #conference
IEEE Real-Time Systems Symposium
https://embedded.fm/ #community
Interests, careers, and lives of engineers, artists, educators and makers.
https://m-labs.hk/experiment-control/artiq/ #project
Quantum computer control system
https://embeddedartistry.com/ #community
Website selling courses, also offering blog articles and learning material.
https://github.com/microchip-pic-avr-tools/pymcuprog#serial-port-updi-pyupdi #article
The new ATtiny series from Microchip is featuring a simple programming protocol.

AVR Microcontrollers

https://www.avrfreaks.net/ #community
The official/unofficial AVR community that kicks arses.

Machine Learning

"Artificial Intelligence" is a concept to be discussed in philosophy. If dealing with computer science or mathematics, I prefer saying Machine Learning.

https://tinymlbook.com/ #book
TinyML is a widely available Machine Learning library for embedded systems that would need any.
https://github.com/hollance/TinyML-HelloWorld-ArduinoUno #tutorial
Practical instructions for getting started TinyML onto hardware.

Documentation systems

https://josuah.net/tool/notmarkdown/ #project
The simple document system used by this website.
https://manpages.bsd.lv/ #project
I learned how to write (mdoc) man pages thanks to the layout of this page.
https://troff.org/ #project #wiki
The venerable UNIX document system.
https://www.latex-project.org/ #project
The document system of choice of academics.
https://www.sphinx-doc.org/ #project
The document system of Python and ReadTheDoc
https://boschglobal.github.io/doxysphinx/ #project
A simple and reliable way to integrate Doxygen and ReadTheDoc documentation.

Document browsers

Most HTTP/HTML browser presented here have a --dump flag of some sort, handful for converting html to mostly readable plain text.

http://retawq.sourceforge.net/ #project
Simple text-mode web browser
http://links.twibright.com/ #project
Classic text-mode web browser
http://www.elinks.cz/ #project
Full-featured text web browser
http://lynx.browser.org/ #project
Colorful text web browser
http://w3m.sourceforge.net/ #project
Text web browser with a cursor, bells and whistles

Networking

https://www.torproject.org/ #project
The famous Onion Router
https://geti2p.net/en/comparison/tor #project
Invisible Internet Project, like Tor, but not Tor.
https://freenetproject.org/ #project
Alternative internet featuring freedom and anonymity.
http://brokestream.com/netboot.html #project
1 file, 2 functions, 300 lines DHCP and TFTP server!
https://code.kryo.se/iodine/ #project
Make all traffic go through DNS to bypass filtering.
https://www.roesen.org/files/ipv6_cheat_sheet.pdf #cheatsheet
IPv6 cheat sheet.
https://stackoverflow.com/questions/14388706/how-do-so-reuseaddr-and-so-reuseport-differ#14388707 #article
Semantics of SO_REUSEADDR and SO_REUSEPORT.
https://solar.lowtechmagazine.com/2015/10/how-to-build-a-low-tech-internet.html #article
Low-tech internet for the masses.
https://crt.sh/ #tool
Status monitor for certificates.
https://hwaddress.com/ #database
OUI table query, could be a simple script though.
https://repology.org/ #database
Software package status for different operating system distributions.
https://whatsmydns.net #tool
Service that check DNS propagation across multiple servers worldwide.
https://dark.fi/ #project
Privacy-focused communication suite.
//grifon.fr/ #community
Associative ISP around Rennes, Brittany, France.
https://www.swordarmor.fr/ #folk
French celt (and viking (and celt again)) legends soaked geek lair
whois://whois.bgpmon.net #tool
A BGP-aware whois service: whois -h whois.bgpmon.net " --roa 15169 216.58.192.0/22"
https://ping.pe/ #tool
Since https://mtr.sh/ does not answer anymore, a distributed looking glass.

Protocols

Encryption wire protocols

https://dnscurve.io/ #project
A better DNSSEC without the bulk, currently used on that site.
https://cr.yp.to/tcpip/minimalt-20130522.pdf #paper
A better TLS without the bulk.
http://www.aaronsw.com/2002/rss30 #project
RSS 3.0, which might never see any wide adoption because of backward compatibility matters to corporate people, but still a good example on how to simplify a format.

Real time communication

http://rtcquickstart.org/ #book
A really, really good guide that cover simply and accurately SIP and surrounding protocols, with practical examples.
https://sip5060.net/ #tool
Services and documentation, blog (still very active) about SIP protoco.
http://osmocom.org/ #project
Foundation for GSM support with free software, including bridging to SIP.
https://ircdocs.horse/ #wiki #manual
Status Quo of the IRC protocols actually used.
https://telecom.altanai.com/ #news #wiki
A gold mine for all things about streaming protocols.
https://sites.google.com/view/altanai/about-me #folk
Engineer who work on telecom software.

USB

https://beyondlogic.org/usbnutshell/ #wiki
A concise description of the USB protocol inner working.
https://www.usbmadesimple.co.uk/ #wiki
A more shallow overview of USB internals, to get on rail quick.
https://www.obdev.at/articles/implementing-usb-1.1-in-firmware.html
Implementation of the USB protocol in AVR assembly and C.

RS-485

https://hackaday.com/2022/04/05/hacker-dictionary-rs-485-will-go-the-distance/ #article
A presentation of the usefulness and practical details of RS-485.
https://www.cuidevices.com/blog/rs-485-serial-interface-explained #article
Explanation of the implementation of RS-485.

Hardware

Software has got to run somewhere right?

Gateware

Gateware is a software approach to hardware: hardware described by software. It is written in Hardware Description Language. It is then loaded onto FPGA or engraved onto ASIC chips.

https://opencores.org/ #index #code
An IP core is a complete description of integrated circuit for use to build a MCU or CPU. For instance, a UART protocol handler IP core, an I²C protocol handler core, the Bumblebee RISC-V processor core as used in the GD32VF103. It used to be "Intellectual Property" but is now just IP core. Othewise it would be worded a bit strangely: "open-source intellectual property" cores.
https://www.librecores.org #index #code
An inex of various source of openly available cores. No hosting service just a search engine and index. In the spirit of opencores but with no account needed: the content is usually hosted on a 3rd-party.
https://www.zipcores.com/ip-core-listings.html #index #code
An index of multiple expensive money-pricey IP cores, but with documentation available. Still good to have a peek of what features to expect, what interface to expose from a finished IP core before providing one.
https://libre-soc.org/ #project
The POWER architecture by IBM is open-sourced as OpenPOWER. This group tries to get a very-high performance processor/GPU/... out of it.
https://lowrisc.org/docs/untether-v0.2/vsim/ #tutorial
Here we describe how to simulate the lowRISC SoC using Verilator
https://pingu98.wordpress.com/2019/04/08/how-to-build-your-own-cpu-from-scratch-inside-an-fpga/ #article
Help with getting a picorv32 core onto a small FPGA.
https://github.com/SpinalHDL/VexRiscv #code #project
Small RISC-V core written in SpinalHDL.
http://stevenbell.me/ #folk #course
Classes on digital logic circuits available online.
https://github.com/enjoy-digital/litex #project #code
A gateware vendor largely open-sourcing its designs and providing tooling to use them.
https://www.fossi-foundation.org/ #group
FOSS Silicon foundation, doing GSoC
https://electronics.stackexchange.com/a/163110 #article
Verilog vs VHDL.
https://insights.sigasi.com/opinion/jan/verilogs-major-flaw/ #article
Shortcomings of Verilog.
https://projectf.io/ #wiki
FPGA info site oriented toward video.
https://openrisc.io/ #project
Project create a free and open processor for embedded systems.
https://verilogpractice.wordpress.com #wiki
Personnal wiki about practical problems and solutions encountered in Verilog designs.
https://verificationacademy.com/forums/
Siemens' effort to teach help future engineers to verify chips.
https://web.archive.org/web/20190115080828/http://hamsterworks.co.nz/mediawiki/index.php/Main_Page #wiki #archive
Archived version of a popular wiki about HDLs
https://www.youtube.com/c/FOSSiFoundation #conference
FOSSI video channel featuring conference recordings.
https://hdl.github.io/awesome/ #index
List of resources about HDLs: conferences, software, learning material.
https://neilturley.dev/netlistsvg/
Demo of a conversion tool for turning a netlist into a SVG diagram.
https://www.doulos.com/knowhow/fpga/synchronization-and-edge-detection
A call for sanity and simplicity in FPGA design: avoiding signals out of phase with a clock.
https://github.com/sylefeb/tinygpus/ #project
A tiny GPU implementation for FPGAs.
https://www.hackster.io/sthibault/hardware-as-code-part-i-an-introduction-48bacb #article #tutorial
Introduction to hardware description languages to software developers.
https://github.com/tinyfpga/TinyFPGA-Bootloader #project
The bootloader used by TinyFPGA, featuring an USB protocol implementation using naked FPGA pins.

Verilog / SystemVerilog

http://zipcpu.com #folk #wiki #tutorial
A long-winged effort for documenting a learning-path through verilog and hardware design.
https://www.theoctetinstitute.com/ #wiki
Resources on Verilog and SystemVerilog, as well as introduction to ASICs.
http://www.verilogpro.com/ #folk
A place to learn Verilog and SystemVerilog design techniques, coding styles, for RTL design and verification!
https://en.wikipedia.org/wiki/Verilog #project #article
Used by most chip makers, and lingua frinca of the FPGA world.
https://www.chipverify.com/ #wiki
Comprehensive Verilog and SystemVerilog resource
https://hdlbits.01xz.net/wiki/Step_one #course
Exercises and learning material for Verilog.
https://fpgatutorial.com/ #wiki #tutorial
Explaining a lot of concepts of the Verilog language.
https://verilogguide.readthedocs.io/ #wiki
Verilog language and syntax.
http://www.referencedesigner.com/tutorials/verilog/verilog_01.php #wiki
Verilog language and syntax.
https://peterfab.com/ref/verilog/verilog_renerta/ #wiki
Verilog language and syntax.
https://www.fullchipdesign.com/ #wiki
Verilog language and syntax, and RTL-related topics.
https://www.systemverilog.io/ #wiki
SystemVerilog language and syntax.
https://www.asic-world.com/verilog/veritut.html #tutorial
Introduction to Verilog and resources for learning.
https://yewtu.be/channel/UCzvXC7WbnaWs5FZ5djO8cag #channel
VLSI Chaps - Courses on VLSI production process, EE, and HDL
https://www.bilibili.com/video/BV1kY41147QN?spm_id_from=333.999.0.0 #channel #video
A very good introduction to SystemVerilog, going fast yet taking its time and explaining things calmly.
https://chipsalliance.github.io/sv-tests-results/ #index
The definitive data table for open source software support for SystemVerilog features.
https://verilogguide.readthedocs.io/en/latest/verilog/testbench.html #wiki #book
Explanation of Verilog and SystemVerilog using Quartus and ModelSim.
https://systemverilog.dev/ #book
Work in progress book available online about SystemVerilog and verification.
https://sv-lang.com/explore/ #project
A Godbolt-like online linter showing extensive linting for a Verilog source pasted-in.
https://sv-lang.com/ #project
A systemverilog, akin to a compiler frontend, but not any known backend for it yet.

VHDL

https://en.wikipedia.org/wiki/VHDL #project #article
If it is not Verilog, it is likely going to be VHDL.
http://www.ece.tufts.edu/es/4/about.html #course
HDL course oriented on VHDL.

Clash

https://clash-lang.org/ #project
Haskell-based HDL.

Migen

https://m-labs.hk/migen #project
Python-based HDL.

Chisel

https://www.chisel-lang.org/ #project
Scala-based HDL.

Silice

https://github.com/sylefeb/Silice
A language built around Verilog, as some kind of preprocessor.

Simulation

Simulating hardware at gate or circuit level.

https://www.isotel.eu/mixedsim/ #project
Tool building on top of ngspice
https://en.wikipedia.org/wiki/List_of_HDL_simulators #index
Wikipedia list of HDL simulators
https://ghdl.github.io/ghdl/ #project
The great one tool for VHDL.
https://www.veripool.org/verilator/ #project
A simulator turning Verilog into C++, providing a thin C++ api to interact with simulated hardware.
http://iverilog.icarus.com/ #project
Some other simulator that I should try some day!

ASIC

Introduction to VLSI manufacturing processes

https://hackaday.com/2022/03/18/the-open-source-asics-hack-chat-redefines-possible/ #article
Welcome to the ASIC world
https://libresilicon.com/index_en.html #project
We develop a free and open source semiconductor manufacturing process standard [...]
https://www.asicsforthemasses.com/ #project
An open source PnR tool for hardware ASICS.
https://www.system-to-asic.com/blog/ #
System-to-Asic blog with description of the ASIC world.
https://en.wikipedia.org/wiki/GDSII #article
The end-format that describes an ASIC that a foundry can use.
https://theopenroadproject.org/ #project
ASIC design from RTL all the way down to GDSII.
http://opencircuitdesign.com/ #project
ASIC cell edition tool suite.
https://openlane.readthedocs.io/en/latest/ #project
OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen, CVC, SPEF-Extractor, CU-GR, Klayout and a number of custom scripts for design exploration and optimization.
https://yewtu.be/embed/9SnR3M3CIm4 #video
Best lecture ever!
https://anysilicon.com/the-ultimate-guide-to-clock-gating/ #index
Index of corporations doing ASIC design.
http://opencircuitdesign.com/magic/ #project
The one tool in use for ASIC design. I like its TCL/Tk interface! :)
http://www-scf.usc.edu/~ee577/ #wiki
A collection of various VLSI tools documentation and help: Magic, IRSIM, HSPICE, PowerView, Verilog-XL, PLA Tools, Cadence.
https://www.up-microlab.org/ #project
Laboratory of the University of the Philippines Diliman building ICs.
https://peertube.f-si.org/video-channels/fsic2022/videos #channel
FSiC2022 conference videos are online.

FPGA

https://f4pga.org/ #project
fpga toolchain for Xilinx 7-Series, Lattice iCE40, Lattice ECP5 FPGAs, QuickLogic EOS S3
https://www.sparkfun.com/news/1203 #article
Introduction to FPGAs by SparkFun
https://www.fpga4fun.com/ #wiki
Lessons for practical approach to FPGAs.
https://hackaday.io/project/27550-the-hobbyists-guide-to-fpgas #article
Introduction to FPGAs published on HACKADAY.
https://github.com/azonenberg/openfpga #project
Open toolchain
https://openfpga.readthedocs.io/ #project #manual
An open-source framework that enables rapid prototyping of customizable FPGA architectures.
https://vhdlwhiz.com #wiki
Definitions and learning material
https://verilogtorouting.org/ #project
Open source toolchain components, alternative stack to Yosys/NextPNR
https://fasm.readthedocs.io/ #project #manual
FPGA Assembly (FASM) tooling
https://github.com/f4pga/ideas/issues/52 #index
Project to gather resources a bit like what I am doing now.
https://bit.ly/LearnFPGA #index
Some links are being gathered here too.
https://joelw.id.au/FPGA/CheapFPGADevelopmentBoards #device #tutorial
Overview and advises of FPGA boards for getting started
https://www.cnx-software.com/2021/11/22/renesas-50-cents-fpga-forgefpga-yosys-development-tools/ #article
A tiny tiny FPGA chip using open-source toolchain components.
https://www.nandland.com/articles/fpga-101-fpgas-for-beginners.html #tutorial
Introduction to FPGAs underlying principles.
https://workshop.fomu.im/en/latest/ #device
Discovery of the fomu board, a nimble ICE40 dev board.
http://www.ee.ic.ac.uk/pcheung/teaching/ee3_DSD/ #course
Open the lid of the FPGA chip.
https://www.fpgakey.com/ #wiki
Website dedicated to FPGAs along with a Wiki.
https://www.eetimes.com/how-to-interface-fpgas-to-microcontrollers/ #article
Interfacing an FPGA with a MCU
https://forum.digilent.com/ #forum
Digilent (National Instrument)'s forum.
http://fpgacpu.ca/ #folk
A resource about FPGAs, computer history, and computer architecture.
https://atadiat.com/ #wiki
Introduction about FPGA in both English and Arabic languages.
https://fpgacademy.org/ #wiki
Educational resources that supports the use of FPGAs for teaching and research in University and College courses.
https://rhye.org/ #folk
Blog on various things including security and FPGA, like composing a system with VexRISC-V and olof/wb-intercon.
https://www.reddit.com/r/FPGAMemes/ #community
All work and no fun makes Jack a dull boy...

Verification

You gotta know if you can press the big START BATCH PRODUCTION 100000000 ITEMS button without risk.

https://github.com/ben-marshall/awesome-open-hardware-verification #index
List of verification tools, conferences, projects, tools, examples...
https://cocotb.org #project
A testbench toolsuite in python, that supprots most simulators and HDLs around.
https://thedatabus.io/cocotb-introductionr #article
Introduction to Cocotb as well as python async, used by cocotb.

Electronics

Hardware needs components made of something right?

https://www.eevblog.com/forum/ #forum
Dave Jone's forum, topic around Electrical Engineering and Hardware design.

Equipment

https://www.dreamsourcelab.com/
USB-based oscilloscopes that give a good value for price.

Analog

Computers are digital, and the world is analog. Now what?

https://www.ee.columbia.edu/~kinget/WhyAnalog/circuitcellar_The_World_Is_Analog_201410.pdf
What is the point of Analog in a digital-centric industry anyway?
https://www.ibiblio.org/kuphaldt/electricCircuits/ #book
A free series of textbooks on the subjects of electricity and electronics.
https://www.eevblog.com/ #community
A classic, bookmarked on every electronics engineer's computer.
https://yewtu.be/embed/_5PlX4veIA0 #video
Discussion about Mixers and other thingS.
https://en.wikipedia.org/wiki/Eye_pattern #article
Talks about many challenges of analog aspects of (i.e. digital) signals.
https://yewtu.be/channel/UCiqd3GLTluk2s_IBt7p_LjA #channel
w2aew - Mostly videos on hobby electronics, test & measurement, ham radio, and other stuff.
http://www.falstad.com/ #tool
Online Circuit simulator.
https://xschem.sourceforge.io/ #tool
Offline Circuit simulator, able to produce a netlist in various format, including spice for simulation.
https://archive.org/details/APaulBro1989 #video
Explanation of how a reference voltage circuit using bandgap phenomenon of BJT works, by its author.

Interfaces

ADCs, DACs, and how to exchange information with them, and interface them with a digital design.

https://www.analog.com/en/technical-articles/interfacing-fpgas-to-an-adcs-digital-data-output.html #article
Developos the situation, challenges, practices, and covers solutions and approaches.

Signal Processing

https://ocw.mit.edu/courses/res-6-007-signals-and-systems-spring-2011/pages/readings/ #course
MIT's OpenCourseware on signal processing.
https://ocw.mit.edu/courses/res-6-008-digital-signal-processing-spring-2011/ #course
MIT's OpenCourseware on DSP.
https://en.wikibooks.org/wiki/Digital_Signal_Processing #book
WikiBook on DSP.

PCB design

https://hackaday.com/2020/11/13/robotics-club-teaches-soldering/#more-446219 #article
PCB soldering 101 published on HACKADAY.
https://www.circuits-central.com/blog/everything-you-need-to-know-about-bga-soldering/ #article
Getting started with soldering BGA chips.
https://www.circuits-central.com/blog/8-reasons-its-important-to-prototype-your-circuit-board-first/ #article
Comments on importance of prototyping before making a board.
https://github.com/atomic14/supersise-seven-segment #project
Filament LEDs looks like being fun!
https://github.com/MalphasWats/hawk #tutorial
Tutorial on how to build a PCB
https://hackaday.com/2016/09/21/creating-a-pcb-in-everything-introduction/#series-of-posts-box #tutorial
Serie of post to cover basics of many different software tools for PCB.
https://hackaday.com/2017/07/02/pcb-solder-pad-repair-cleanup/ #article
Repairing a broken pad can be tedious
https://yewtu.be/channel/UCNb5R0BXy-6Umqy6nQhtOJw #channel
Eric Bogatin has a lot of wisdom to share about PCB design in practice.
https://jimlaurwilliams.org/projects/seychellePaper/
Most environment friendly, yet very efficient and affordable solution to etching. This method using HCl does not involve discarding the copper removed from the board: the dangerous reactant here.
https://github.com/azonenberg/pcb-checklist
A. Zonenberg's PCB design check-list before sending something to a fabrication lab.

Hamradio and RF signals

"Ham" for amateur, the world of broadcasting and receiving information through electromagnetism.

https://www.essexham.co.uk/how-to-get-started-with-data-modes #article
Introduction to sending data over an amateur radio.
http://www.w1hkj.com/ #device #folk
Swiss army knife desktop software for radio hardware.
https://hackaday.com/series_of_posts/the-50-ham/ #article
Series of articles to affordable gears for Ham Radio.
https://www.qrz.com/ #community
A lot of different resources about HamRadio!
https://github.com/lab11/uSDR #project
Open Hardware/Firmware radio project.
https://github.com/threeme3/usdx
Very frequently encountered radio project.
https://github.com/ArjanteMarvelde/uSDR-pico
uSDX clone based off the RP2040.
https://github.com/df8oe/UHSDR #project
Open Hardware/Firmware radio project.
https://dl2man.de/ #device #folk
Open Hardware/Firmware radio project.
https://www.hfsignals.com/ #device
Open Hardware/Firmware radio project.
https://qrp-labs.com/qdx.html #device
Open Hardware/Firmware radio project with only an USB interface.
https://en.wikipedia.org/wiki/List_of_amateur_radio_transceivers#QRPTransceivers #article
Wikipedia list of radio transceivers.
https://qrper.com/ #folk
A QRP (low-power radio operation) passionate.
https://qrpkits.com/ #shop
Has a list of analog radio kits.
https://files.ettus.com/manual/ #manual
Protocol for computer-SDR communication off USB 2.0/3.0.
https://github.com/search?l=Verilog&q=sdr&type=Repositories #index
Many SDR projects end-up here.
https://www.allaboutcircuits.com/textbook/radio-frequency-analysis-design/ #book
Annoying mailing list popup, but great lessons on modern radio design. Not only explains the "what", but also the rarely explained "why" of radio design.
https://yewtu.be/embed/h_7d-m1ehoY #video
Explanation of IQ signals basics.
http://rfexplorer.com/models/ #device
Radio Frequency spectrum analyser for a large rane of frequencies.
https://www.omiss.net/ #community
Old Man International Sideband Society, on 7.185 MHz.
http://kiwisdr.com/public/ #tool
Map of online SDR.
https://yewtu.be/c/TamithaSkov #channel
Space and Sun weather forecast.
https://www.spaceweatherwoman.com/forecasts/ #folk
Space and Sun weather forecast by Tamitha Skov.
https://www.w8ji.com/ #folk #wiki
In-depths articles about multiple topics around radio frequencies.
https://rsgb.services/public/bandplans/html/rsgb_band_plan_2022.htm
A frequency map of each band, describing the best practices.

Devboards

https://www.nordicsemi.com/Products/Development-hardware/nrf52840-dongle #device
Sub-$10 board, as cheap as a bluetooth dongle, still with GPIO pins.
https://www.electro-smith.com/daisy/daisy #device
STM32H7-based board, suitable for audio appliances.
https://www.opencompute.org/ #device
Project for incorporating open source hardware into server equipment.
https://eater.net/
Ben Eater's discrete CPU: instructions on how to make one out of a few chips on a breadboard.
https://debugger.medium.com/howto-using-a-pager-in-the-21st-century-6a57454ecde8
Overview of devices that can act as pagers, with interesting modules for RPi.
https://pid.codes/ #index
A product ID range opened for open hardware projects, cost-free registration.
https://www.siliconwitchery.com/ #project
A module with an FPGA and a microcontroller.

Antennas

https://yewtu.be/embed/axUcybeamIk #video
An introduction to antenna design.
https://www.electronics-notes.com/articles/ham_radio/amateur-equipment/buying-choosing-best-antenna-type.php #article
Practical guide to antenna
https://vu2nsb.com/antenna-polarization-radio-communication/ #article
VU2NSB about wave polarisation practices, and what-for, and why vertical or horizontal is used.
http://www.iw5edi.com/ham-radio/
Many antenna designs tried by this guy.
https://www.fcc.gov/engineering-technology/electromagnetic-compatibility-division/radio-frequency-safety/faq/rf-safety#Q5 #article
In case you are wondering what kind of risk you are exposed to with radio waves.
https://yewtu.be/watch?v=NiDCgM2f5ww #video
Principle of operation of Yagi-Uda antennas explained clearly.
https://www.youtube.com/watch?v=8_GbiRk_gLI #video
Some more practical take on Yagi Antennas, but ignore the formulas (feets instead of meters).
https://www.antenna-theory.com/
A very good collection of guides to antennas from the beginning to the end.
https://www.markimicrowave.com/assets/appnotes/balun_basics_primer.pdf
A primer on baluns.

Soldering

https://www.buydisplay.com/blog/how-to-hand-solder-an-lcd-fpc-ffc-connector.html #article
Solder a screen flexible connector directly onto a PCB.
https://nepp.nasa.gov/whisker/ #article
Why soldering is not always the best option.
9https://yewtu.be/channel/UCl2mFZoRqjw_ELax4Yisf6w #channel
Random musings and sometimes detailled rework footage.

Yaesu

https://github.com/tomelec/ft-857_front_panel_protocol/blob/master/doc/protocol.md #device #article
Description of the front-panel protocol.
http://www.ka7oei.com/ft817_diags.html #manual
Detailed schematic diagram of the whole radio circuits, leaked from the FCC website, later removed.

Electronic components

Reference to components that caught my interest.

Power source

LDO, over-current protection, buck converters...

https://www.diodes.com/assets/Datasheets/AP7348.pdf
A multi-output LDO with input protection and independent "enable/disable" for each output.

Engineering Sciences

https://www.feynmanlectures.caltech.edu/ #course
I was told, the "Engineering entrance door. Come in through (welcome!) or stay out."

Robotics

https://howtomechatronics.com/ #wiki
Cover some basic circuits frequently encountered.
https://batteryuniversity.com/
The reference for understanding batteries working.

Art and Culture

https://pc.textmod.es/ #index
Where ascii art packs from various artists groups get released
https://0w.nz/ #folk
xer0's place
https://www.jwz.org/ #folk
Netscape, Mozilla, XScreensaver, the DNA Lounge night club.
http://www.aaronsw.com/2002/rss30 #project #folk
A defunct hero who fought (and won) for human right (see its work on Pacer) to the edge of legality (but neverr harming anyone), who commited suicide after the NSA put a heavy pressure on him. He invented RSS. It is thank to him that we the law of the United States documents are available for free to their citizens. He broke the law for that to happen, and then the made the law change.
https://cca.org #folk
A computer macro photographist among other nice things.
https://siliconpr0n.org/
Navigable maps of microscopic photos of chip dies. Possible to share link of a particular region.
https://zeptobars.com/
Photographing microscopies of chips' dies.

Cross-topic

Some people are talking about everything!

https://cirosantilli.com/ #wiki #folk
Personal wiki of Ciro Santilli.

Tags

Description of the tags used through this list. To search for a particular tag, you may use the search feature of your browser.

#article

An individual document, or sometimes a serie of document, talking about one particular topic.

#project

A software, an operating system, or anything built together by one or multiple people. It points to the project main page. Sometimes with a #device, #code, #manual... tag if it is also another type of document.

#code

The document pointed is a code repository. Often a git reposotory. Great for having practical code examples.

#index

A collection of #project or #code, from one or several #communitys. For example: this document, all these awesome-* repositories, librecore, and git hosting platforms are indexes.

#community

A collective of multiple persons focused on a same topic, sometimes offering learning resources and documentation.

#forum

A web forum onto which you may subscribe and discuss. It contains #threads.

#thread

Link toward an individual #forum thread.

#folk

A website focused on what is its author is doing.

#video

The document pointed is a video. An article that contain a videos is still an #article.

#channel

A collection of #videos, often mapping to an user account of a video-sharing platform.

#wiki

A collection of #articles that cover a broader topic and not an individual #project. Individual wiki articles are tagged #article.

#book

The document pointed is a book, or if not freely accessible, a presentation page for it.

#tutorial

An #article focused on teaching how to do something practical.

#shop

A website dedicated to sell #devices. This include providers like Farnell, Mouser, DigiKey... and indexes like Octopart.

#device

A hardware #project available for purchase, or #article about it.

#manual

An document focused on instructing the operation of a software or hardware. This includes software programmation guides, services APIs, #devices datasheets and reference manuals...

#course

Documents published by a teacher for teaching, such as a collection of #tutorials, #books, #videos, #lectures...

#lecture

Document supporting a live presentation, such as in a #conference, or a #course.

#paper

Research paper: document published by a researcher for presenting something to the community to implement.

#database

Collection of data available from remote.

#tool

Tool available online, such as a network looking glass or an unit conversion page.

#cheatsheet

Concise reference card for a language, a format, a protocol...

#news

Newspaper or newsletter about any topic.

#podcast

An audio document, including recording of radio broadcasts.

#archive

The content is archived: there are backups available but it will not be updated anymore.