No episodes match “”. Try “I²C”, “kernel” or “MQTT”.
PART 1
Start
3 episodes · 30 min
What we're building + DE10-Nano tour
- HPS (ARM) vs FPGA on one chip
- How the lightweight bridge connects them
- The project roadmap
README.md
Coming soon
Installing Quartus 18.1 Lite, SoC EDS and the USB-Blaster
- Install on Windows or Ubuntu
- udev rule and VM USB filter
- jtagconfig shows the board
no files
Coming soon
First FPGA design: blink an LED over JTAG
- VHDL counter
- Pins from the manual
- Programming the right device in the JTAG chain
blink.vhd
Coming soon
PART 2
FPGA design
7 episodes · 1 h 7 min
The Terasic GHRD + baseline compile
- What every project file does
- The HPS component
- Why you compile before changing anything
soc_system.qsys
Coming soon
Your first Avalon-MM slave
- Avalon signals and read latency
- Word vs byte addresses
- Input synchronizers
simple_gpio.vhd
Coming soon
Platform Designer: components, cleanup and the "overlaps" error
- _hw.tcl components
- Connecting to the lightweight bridge
- Fixed address map and scripted rebuild
simple_gpio_hw.tclbuild_soc_system.tcl
Coming soon
An I²C master in VHDL
- Open-drain lines · START, ACK, STOP
- A step sequencer
- Simulation with a fake BME280
simple_i2c.vhdtb_simple_i2c.vhd
Coming soon
An SPI master for the MCP3008
- SPI mode 0 and the 24-bit frame
- Auto-scanning 8 ADC channels
- Testbench
simple_spi_mcp3008.vhd
Coming soon
A UART with FIFOs
- Start/stop bits, sampling in the middle
- Why FIFOs matter for Linux
- Loopback test
simple_uart.vhdfifo_sync.vhd
Coming soon
Top level, pins, compile, timing, .rbf
- Matching generated port names · JP1 pin mapping
- Timing Analyzer
- Converting to .rbf
DE10_NANO_SoC_GHRD.vhdcompile.sh
Coming soon
PART 3
Linux
6 episodes · 50 min
How the Cyclone V boots + a prebuilt Debian SD card
- Boot ROM → SPL → U-Boot → Linux
- The a2 partition
- Writing the card safely
make_sdcard_ikwzm.sh
Coming soon
First boot: console, network, SSH
- Serial console at 115200
- Network and SSH
- The missing real-time clock
no files
Coming soon
Loading our FPGA from Linux, at every boot
- Device-tree overlays and FPGA manager
- Reading the System ID
- systemd service
soc_system.dtsload-fpga.sh
Coming soon
Building U-Boot from your own Quartus project
- hps_isw_handoff and BSP generation
- qts-filter.sh
- u-boot-with-spl.sfp
01_build_uboot.sh
Coming soon
Building the Linux kernel
- socfpga_defconfig
- FPGA manager options
- Device tree choice
02_build_kernel.sh
Coming soon
Debian rootfs + your own SD card
- debootstrap + QEMU
- U-Boot loads the FPGA before Linux
- Booting a fully self-built card
03_build_rootfs.shboot.cmd
Coming soon
PART 4
C on the ARM
5 episodes · 37 min
Talking to the FPGA: /dev/mem and mmap
- devmem2 first, then mapping the bridge
- Why volatile matters
- LED chaser and inputs
fpga.ctest_gpio.c
Coming soon
Compiling for ARM + generated headers
- Native vs cross compile
- The glibc trap
- sopc-create-header-files
Makefile
Coming soon
Reading the ADC: light sensor and potentiometers
- Voltage dividers
- Reading 8 channels
- Counts to volts
test_adc.c
Coming soon
I²C from C: a complete BME280 driver
- Bus scan and chip ID (BME280 vs BMP280)
- Factory calibration
- Compensation formulas
i2c.cbme280.c
Coming soon
Debugging: Bus error, wrong addresses, no ACK
- A step-by-step checklist
- Testing single registers
- Reading NACK
register_map.md
Coming soon
PART 5
IoT
5 episodes · 40 min
Your own MQTT broker
- Publish/subscribe
- Mosquitto with passwords
- Testing with two terminals
de10nano.conf
Coming soon
sensor_monitor: alarm logic + MQTT over Ethernet
- Settings without passwords in code
- Arm/disarm logic
- Auto-reconnect with libmosquitto
sensor_monitor.cmqtt_eth.c
Coming soon
A live web dashboard with Flask + Socket.IO
- MQTT to browser in real time
- Charts
- Online/offline detection
app.pyapp.js
Coming soon
ESP32 as a Wi-Fi modem
- Flashing ESP-AT
- The UART1 pin gotcha
- Loopback and AT tests
test_uart.c
Coming soon
Publishing through the ESP32
- AT command driver
- Why MQTTPUBRAW
- Unplug Ethernet, still online
esp32_at.c
Coming soon
PART 6
Finish
1 episode · 8 min
Autostart, full demo and where to go next
- systemd ordering
- Every feature live
- Ideas for your next peripheral
sensor-monitor.service
Coming soon