josuah.net | panoramix-labs.fr
cv | links | blog | quotes | ascii | tgtimes | gopher | mail | rss
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...
If you are interested in gettin a job or hiring someone, reach me at email@example.com. 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.
- 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.
- 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.
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
- https://pdos.csail.mit.edu/6.828/2017/xv6/book-rev10.pdf #manual
- I want more time to ReadIt!
A holy operating system.
- https://templeos.org/ #project
- Support for 3D mesh in assembly without recompiling. Because we can.
A famous operating system.
- https://tldp.org/ #wiki
- The Linux Documentation Project, mainly Linux but not only.
- 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.
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.
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)
Not directly kernels, but share much of the goals of kernels.
- 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!
- http://cyberforensic.net/ #course
- Online classes by University of Florida
- https://www.op-tee.org/ #project
- Project making use of (or providing?) the TrustZone.
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?
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.
- 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.
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.
- 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.
- 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
- 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 188.8.131.52/22"
- https://ping.pe/ #tool
- Since https://mtr.sh/ does not answer anymore, a distributed looking glass.
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.
- 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.
- Implementation of the USB protocol in AVR assembly and C.
- 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.
Software has got to run somewhere right?
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.
- 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.
- Demo of a conversion tool for turning a netlist into a SVG diagram.
- 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.
- 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.
- https://clash-lang.org/ #project
- Haskell-based HDL.
- https://m-labs.hk/migen #project
- Python-based HDL.
- https://www.chisel-lang.org/ #project
- Scala-based HDL.
- A language built around Verilog, as some kind of preprocessor.
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!
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.
- 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...
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.
Hardware needs components made of something right?
- https://www.eevblog.com/forum/ #forum
- Dave Jone's forum, topic around Electrical Engineering and Hardware design.
- USB-based oscilloscopes that give a good value for price.
Computers are digital, and the world is analog. Now what?
- 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.
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.
- 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.
- 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.
- Very frequently encountered radio project.
- 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.
- A frequency map of each band, describing the best practices.
- 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.
- Ben Eater's discrete CPU: instructions on how to make one out of a few chips on a breadboard.
- 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.
- 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.
- 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).
- A very good collection of guides to antennas from the beginning to the end.
- A primer on baluns.
- 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.
- 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...
- 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."
- https://howtomechatronics.com/ #wiki
- Cover some basic circuits frequently encountered.
- 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.
- Navigable maps of microscopic photos of chip dies. Possible to share link of a particular region.
- Photographing microscopies of chips' dies.
Some people are talking about everything!
- https://cirosantilli.com/ #wiki #folk
- Personal wiki of Ciro Santilli.
Description of the tags used through this list. To search for a particular tag, you may use the search feature of your browser.
An individual document, or sometimes a serie of document, talking about one particular topic.
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.
The document pointed is a code repository. Often a git reposotory. Great for having practical code examples.
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.
A collective of multiple persons focused on a same topic, sometimes offering learning resources and documentation.
A web forum onto which you may subscribe and discuss. It contains #threads.
Link toward an individual #forum thread.
A website focused on what is its author is doing.
The document pointed is a video. An article that contain a videos is still an #article.
A collection of #videos, often mapping to an user account of a video-sharing platform.
A collection of #articles that cover a broader topic and not an individual #project. Individual wiki articles are tagged #article.
The document pointed is a book, or if not freely accessible, a presentation page for it.
An #article focused on teaching how to do something practical.
A website dedicated to sell #devices. This include providers like Farnell, Mouser, DigiKey... and indexes like Octopart.
A hardware #project available for purchase, or #article about it.
An document focused on instructing the operation of a software or hardware. This includes software programmation guides, services APIs, #devices datasheets and reference manuals...
Documents published by a teacher for teaching, such as a collection of #tutorials, #books, #videos, #lectures...
Document supporting a live presentation, such as in a #conference, or a #course.
Research paper: document published by a researcher for presenting something to the community to implement.
Collection of data available from remote.
Tool available online, such as a network looking glass or an unit conversion page.
Concise reference card for a language, a format, a protocol...
Newspaper or newsletter about any topic.
An audio document, including recording of radio broadcasts.
The content is archived: there are backups available but it will not be updated anymore.