-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Note: It's recommended to run Ubuntu on the most CPU-capable machine you have access to. If you're currently running Windows on it, the best path forward would be to get an additional SSD or NVMe drive installed and install Ubuntu on it.
I've personally had trouble installing Ubuntu Desktop directly on some computers with graphics cards installed.
What I typically do is install Ubuntu Server, get through an initial boot, run a sudo apt-get update && sudo apt-get upgrade -y
, reboot, then install the graphical environment with sudo apt-get install ubuntu-desktop -y
(which takes a long time).
From there, if you have an Nvidia graphics card, the installer doesn't install the proprietary driver(s) for it from Nvidia.
I normally just Google "ubuntu install latest nvidia driver" and follow something like this (sudo apt install nvidia-driver-525 nvidia-dkms-525
, then reboot).
-
Get your GitHub account and SSH key set up (see also: these docs).
-
Get the workspace checked out:
cd
mkdir -p src/project-81
cd src/project-81
git clone [email protected]:project-81/workspace.git
cd workspace
git submodule update --init
cd
ln -s ./src/project-81/workspace
- (Optional) Add your
git
information to the config repository:
cd
cd workspace/config/rcmpy/configs
mkdir $USER
cd $USER
touch git.yaml
Then edit git.yaml
to have the correct contents (see this example).
Next, you can specify the name of your computer in a computers.yaml
in the same directory:
touch computers.yaml
See this example.
These steps control a few minor things during bootstrapping, that can always be performed easily later (with just ra
which will be an alias installed for rcmpy apply
).
- Run the bootstrapping script:
cd
cd workspace
./scripts/bootstrap.sh
You will be prompted for a sudo
password.
- The repository should be checked out by the bootstrapping script to
~/src/project-81/firmware
, but having a convenient symbolic link is nice:
cd
ln -s ./src/project-81/firmware
- Run
mk
to build everything (including the initial toolchain):
cd
cd firmware
mk
- The firmware repository's README should have further instructions for development workflow.
- Using it at work, so continuing to build familiarity with it is handy
- Board has RJ45 and PHY ready for 10/100 Ethernet
- Board has on-board J-Link, so no external J-Link is needed
- Doesn't appear to be stocked, so probably the supply-chain story doesn't hold up
- UF2 bootloader port
- Can run CircuitPython
- Lots of example code to use or look at
- At $40 a board, would maybe make sense if that SAMD51 / other SAM processors would be used heavily
Raspberry Pi Pico (and "W" variant)
- Cheap and seemingly good supply-chain for time to come
- PIO peripheral could make it a great candidate for real-time control problems
- Compatible with a lot of different debugging options (Raspberry Pi itself, another Pi Pico, J-Link, etc.)
- A surprising amount of memory + flash + processor capability in a cheap and small package
- IO count potentially, no Ethernet but not really an issue
- Shares pretty much all of the pro's that the regular Pi Pico's share
- No native SWD debug interface (appears to be on the bottom of the board as a few pads)