We have made a few key changes to make it more hardware-hacker friendly!
Version 0.2 updates (new!)
- Truncated image - only 2.6G now to fit on any 4G card
- raspi-config notice retained on boot
- Removed persistant wlan0 entry
- Password-change reminder on login
- Added RTC and lm-sensors kernel module
- Included kernel modules for: DS1307, AD626 I2C digipots, HMC6352, BMP085, ADS1015
New! Adafruit's PWM/Servo kernel module for easy PWM/Servo control on GPIO#18
Version 0.1 updates (still included)
Click below to download the ZIP file:
Adafruit Raspberry Pi Educational Distro - Occidentalis v0.2 !900 Megs! (August 31, 2012)
MD5 of the img itself (not the zip): 4256c0cdad82fa193c5e902143f1ca0e
MD5 of the zip: 43456900352bb8bd8860902167195d83
- SHA1 of image: a609f588bca86694989ab7672badbce423aa89fd
- SHA1 of zip: 5f33ec07a183f336f973f82634f04108f690f5f3
You will also need a SD or MicroSD card writer to burn the image on. We suggest using our speedy MicroSD card writer that works with any OS.
Then follow the directions here, except use the downloaded and uncompressed Occidentalis image instead of Wheezy
For details on the I2C, SPI, WiFi, Avahi, and 1-Wire modules please visit the v0.1 page
New Features in v0.2!
We also added a basic password reminder into ~/.profile - it will just check if the password hasn't been changed from the default. Change your password as soon as you boot, please!
we even have a tutorial about it here.
Please Note: we didn't write or support these kernel modules, and we're not even sure if they all work, please experiment and read any kernel documentation about these modules as we do not have any tutorials or support for them at this time!
The module was written by Sean Cross for Adafruit Industries, code is available at our github repository (see below)
This driver can be controlled through its sysfs entries. It will create the directory /sys/class/rpi-pwm/pwm0/ and populate it with the following files:
- active - Reports 1 if PWM is active. In delayed mode, write a 1 to this file to activate stored settings. Deactivate by writing a 0 to this file.
- delayed - If 0, any settings made will become active immediately. If 1, then settings are stored and won't take effect until a 1 is written into active.
- mode - The PWM mode. One of servo, pwm, or audio.
- servo - Moves the servo to this step. Range (0..servo_max) where 0 is a 0.5ms-long pulse and servo_max is a 2.5ms-long pulse.
- servo_max - The maximum number of servo steps, default of 32
- duty - Duty cycle percentage for PWM mode. Range (1..99) where 1 is the shortest positive pulse and 99 is the widest positive
- frequency - Desired frequency for PWM mode, write the value to this file
- real_frequency - The actual computed frequency, read the value from this file.
- mcf - A maximum common frequency (see Advanced below).
write error: Numerical result out of range
If this happens, the PWM will stop until you set values that are in range.
The mode file can be used to switch between pwm, servo, and audio mode:
- pwm - Drives a pulse with a frequency specified by the frequency file and a duty cycle of duty.
- servo - A special PWM mode that will drive a servo throughout its range of rotation, starting with 0.5ms wide pulse and ending with 2.5ms, some servos only respond to 1.0-2.0ms and some have a wider range, you will need to experiment to find the full range of your servo. Values are taken from the file servo, and range from 0 to servo_max (default 32 which is the max resolution of 62.5us.) The PWM system does not seem to be able to handle a resolution better than 62.5us which is approximately 20 different servo positions or speeds. If you need better resolution, please check out our 16-channel servo driver tutorial which has 16 channels and 4us resolution
audio - Echos
the unfiltered contents of the right audio channel out the
PWM port. Also enables delayed mode so that accidentally modifying PWM parameters won't cause the audio system to lock.
The default mcf is 16000 Hz. This is the frequency at which the PCM audio clock will run. The actual PWM output is derived based on this value, so it should be higher than the desired output frequency. For small duty cycles or for higher frequencies (e.g. above about 8 kHz), you may need to increase this value to get a more accurate real_frequency. Due to rounding, it may not be possible to get your desired output rate. Compare the contents of the real_frequency file with that of the frequency file to determine accuracy.
Want to compile your own modules? Or change the configuration of the kernel? Advanced users can find our kernel repo here
We also have a Kernel+Modules tgz file, after you've copied this over to your pi, run the following commands
- tar -zxvf mykernel.tgz
- sudo cp tmp/kernel.img /boot/
- sudo cp -R tmp/modules/lib/* /lib/
- rm -rf tmp