🛠 Premier boot : Bullseye legacy, rails 3,3 V et ordre des alimentations
Objectives
Boot a Compute Module 1 for the first time with the correct system and without damaging it. Two major pitfalls: (1) recent Raspberry Pi OS Bookworm images no longer boot on the CM1 — its BCM2835 SoC is ARMv6 and is no longer supported, so you need a legacy Bullseye image; (2) power supply: the CM1 and its IO Board are powered by 3.3 V on the input pins, not 5 V directly on the rails, and the voltage ramp-up sequence matters — an ascending ramp can trigger a latch-up. On the official IO Board, a single external 5 V source is internally regulated, which solves the problem.
Hardware
- A Compute Module 1 + official IO Board (or a carrier board respecting the ramp order)
- 5 V power supply on the IO Board's jack/USB (or clean 3.3 V on the VDD pins, never 5 V directly on a 3.3 V rail)
- SD card programmed with Raspberry Pi OS Bullseye (legacy, ARMv6)
- Serial console on the IO Board
Complete code
# Graver une image Bullseye legacy (ARMv6) et non Bookworm
# ex. : 2023-05-03-raspios-bullseye-armhf-lite.img
sudo dd if=2023-05-03-raspios-bullseye-armhf-lite.img of=/dev/sdX bs=4MiB status=progress oflag=sync
# Câbler la console série (115200 8N1) sur l'IO Board, alimenter,
# puis vérifier la chaîne de boot :
# Booting Linux ... BCM2835 ...
uname -m # armv6l
Expected verification
The serial console displays the full boot chain up to login:; uname -m returns armv6l and cat /etc/os-release confirms Bullseye. With a Bookworm image, the board remains hopelessly silent after the LEDs start up — this is the classic symptom of the wrong image choice.
Common errors
- Using a Bookworm image or a recent installer: the bootloader starts but the ARMv6 kernel no longer exists, resulting in a silent screen/kernel. Use a legacy Bullseye image instead.
- Injecting 5 V into a 3.3 V power pin: immediate destruction of the module. Always go through the IO Board's regulation or a proper 5 V -> 3.3 V chain.
- On a custom board, powering the rails in an unsuitable ascending order: risk of SoC latch-up; respect the recommended descending ramp (see the VDD_IO tutorial).
- Forgetting the serial console: without it, a boot failure is undecipherable on a module without HDMI.
- Poorly written SD card: retest with
sha256sumof the image and another SD card before blaming the hardware.
Other tutorials for this board
- Flasher l'eMMC du CM1 avec rpiboot et le jumper J4
- Première LED sur GPIO17 : banques, courants et broches réservées
- Servo moteur sur PWM0 (GPIO18) : 50 Hz et 2,5 à 12,5 %
- BME280 sur I2C0 (GPIO2/3) : activer i2c_arm et lire l'ID 0x60
- Caméra officielle sur le connecteur FPC CSI du CM1
- Boot sans EEPROM : fallback USB et bootcode.bin sur eMMC
Code examples for this board
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash