The news of the new model Raspberry Pi 2 came through in the early hours of Tuesday, 1AM to be exact. Since I had been doing some work on the Raspberry Pi, I thought it might be good to get a couple to play with. I checked stock at Element14 – no issue, over 2300 units in stock. As it was getting late, I went to bed and got up around 8 or so, and had another look at Element14. 1900 in stock, ok – maybe I should place the order, anyway – that is what I did, and quite quickly at about 12 noon, there was less than a thousand with all stock being depleted by sometime after 1PM. Later that day, I got an email that the order had been processed – great.
Anyway, on Wednesday I picked up the order, grateful to get my hands on these new Pi’s, but soon after I went out to look at a server problem.
Later that night, I checked the Raspberrypi.org website, it appears that I will need to download a new Raspbian image to run on the new RPi 2. This one is different to my old one, in that it has a Micro SD slot instead of a SD slot – no problem, as I was able to pick up my 8GB Micro SD’s that had been on order with ITestate – a good price at $6 each. Anyway, last night – same night, I put the image on the 8GB microSD and went to bed.
Today, when I got back from continuing the server job, I start up the Raspberry Pi 2, and go through the configuration and… some things are not working.
I test the I2C bus, and nothing is visible even though I have configured. Ok – go on to the next item. In python, I load the RPi.GPIO module and I get an error, that this module can only be run on a Raspberry Pi. Hey, what gives? Anyway, a check on the internet seems to show, that I am not the only one to have this problem – and that a new version of RPi.GPIO should be coming this weekend – fingers crossed. I use this module to access the General Purpose Input Output ports on the Raspberry Pi, so at the moment, this is a $42 paperweight – not heavy enough really to work as a paperweight.
Anyway, I start to look at the i2c problem and eventually work out that even though the i2c-bcm2708 kernel module is loaded, the problem is that the devices are not loading. To fix this, I edited the /etc/modules file and added i2c-dev and finally after rebooting, I have access to the i2c bus – great. Now just have to wait for the RPi.GPIO module to be fixed then I can “RPi2.IT“.
[NOTE] The old Raspberry Pi had a single core processor running at 700MHz. This new Raspberry Pi 2 has a quad core processor running at 900MHz. The /proc/cpuinfo file gives a version information that is probably the reason why the RPi.GPIO isn’t working, because it cannot work out if it is a Raspberry Pi and throws out that error message.
[NOTE2] I need the I2C bus, because that is how I am going to access a real time clock module and some additional input/output chips that I am awaiting – 4 Microchip MCP23017’s each of which will give me 16 i/o ports, with a grand total of 64 i/o plus the ones already available on the RPi 2. I also have some N channel MosFET’s on order, to do the voltage level conversion between 3.3V on the RPi and 5V on the MCP23017. I could have bought the MCP23018 and did away with the voltage level conversion, but would have had to pay nearly four times the price of the MCP23017. 10 BS270 MosFETs cost less than 1 MCP23017 and I only need two of them to make the level converter – a win win situation.