RadioPI - debugging
When it comes to DIY projects one rule that ALLWAYS applies is that it takes longer than originally planned :-/
I´m currently debugging the radio module for my raspberry pi based retro-car-radio project and I realized that debugging software is far easier that debugging a hardware module. I already found out that it´s a stupid idea to shorten some of the coppertraces by making the circuit board touch the metal housing of the radio and I forgot to solder in a resistor.
I also found out that it´s a bad idea to accidentally remove some of the smd parts of a raspberry pi (RIP) and that the sd card holder of a pi is not very stable :-/
currently I´m trying to find a replacement part for a broken variable resistor - but theeeeeen .... nearly there, really, this time for sure, what could possible go wrong?
Stay tuned :-)
RadioPI hardware part 1
Yesterday I started mounting the components for my raspberry pi based retro car radio into the housing of the blaupunkt radio from the 60ties.
And I learned a lot - the hard way :-)
- For example that USB cables need an astonishing amount of space - even when folded and tied down with cable binders.
- USB-connectors are really, really, REALLY large - even if they are called micro usb.
- Drilling holes into ferromagnetical materials is a bad idea when you have two small speakers and a magnetic screwdriver laying on your desk - even it looks very funny
So there will be a unplanned part2 of the hardware session after I found shorter USB cables preferably with smaller connectors :-/
RadioPI - finalizing the audio module
Today I soldered the radio module for my rapsberry pi based car radio. This was the last soldering/electronic challenge for this project now I only need to finish the software (= easy) and the hardware problems (= somewhat outside of my comfort zone :-))
The audio board consists of a AR1010 breakout board from sparkfun that connects via i2c and a simple preamplifier for the radio signal. The 3 connector on the right side go to the analog audio out of the raspberry pi.
Day 24 of 30DaysOfCreativity - a breadboard arduino
Originally I planned to interface the hardware of the blaupunkt car radio from the 60ties using an attiny85 and an attiny2313 talking to the raspberry pi via i2c. But unfortunately this setup seems to be very unstable at the moment and I can´t get the i2c slaves to work properly. So I build a breadboard arduino today. I will try to hook the buttons, RGB-leds and the variable resistor and add a new i2c interface tomorrow.
So I have a Raspberry PI, an Arduino, some 3D printed parts, custom electronics, an interface to Apple iDevices, a retro car radio housing, .... hmmmmmmmm - Have I forgotten something?
Day 23 of 30DaysOfCreativity - Buttons for the raspbery car radio
Today I soldered a board to interface the push buttons of the blaupunkt car radio that gets a new raspberry pi based brain. I tested the buttons with an arduino which worked very well. Then I tried to replace the arduino with an attiny2313 running the arduino-core firmware and the TinyWireS library, but unfortunately the setup is very instable - will have to debug this tomorrow
Day 13 of 30DaysOfCreativity - Radio PI part 5
Today I started working on the radio part of the raspberry pi radio. I hooked up an AR1010 based breakout board from sparkfun to the i2c ports of the raspberry pi and wrote a short python program to initialize the chip and tune it to a radio station.
It took me a while to figure out how to access the chip and after searching through tons of tutorials example-code and a really really really extremely bad datasheet I finally managed to get my code running.
The main reason why it didn´t work in the beginning was that I didn´t recognize that the smbus library sends long values in LSB,MSB order while the AR1010 wants them in MSB,LSB order :-/. Who would have thought that the littleendian/bigendian thing still exists in 2013
read more ...
I made a new version of the ical flowers sketch i wrote in dezember. This time it doesn't only show a flower for every event in my calender, it also shows
- the current weather (using the rubyweather library)
- the current temperature outside
- the min/max temperature outside
- the current temperature inside ( using my arduino i2c thermometer sketch)
- the sky color changes depending on the current time
the system consists of a ruby-proxy, an arduino sketch and a processing sketch.
the ruby proxy starts a web-server on port 2000. It fetches the current weather using the rubyweather gem, fetches the events from the configured caldav calenders, and fetches the current temperature from the arduino using ruby-serial
the arduino sketch is basicaly the same as in this blog post. the only change is that the arduino only sends the temperature when the host sends a 'C' over the serial line
the processing sketch finally fetches the data via http from the proxy and displays it ( using my icap4p library. the screen is updated every 1/2 hour using the method described here
the code can be downloaded here
it's published under the LGPL
have fun :-)read more ...
i2c thermometer on arduino
I have hooked up my c-control i2c thermometer-module (link in german) to my arduino and wrote some code to read the current temperature in Celcius.
The module uses the maxim DS1631 chip.
The temperature is send as a 2 byte value using a 12 bit resolution. in the MSB the first bit is used as a sign bit, the other seven bits are represent the part before the comma, in the LSB the first 4 bits are used as the fractional part.
the code below doesn't handle negative values yet. i want to use it in my livingroom - i never ever want it to deal with negative values!
read more ...