Latest Forum Posts

Latest News Posts
Coming Soon!
Social
Go Back   Techgage.com > Hardware > Mobile & Small Form-Factor Computing

Mobile & Small Form-Factor Computing Discuss notebooks, PDAs, Smartphones, Cell Phones and all other mobile devices here.

Reply
 
Thread Tools
Old 05-27-2012, 03:03 AM   #16
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

Quote:
Originally Posted by Psi* View Post
"noob to Linux"? I'm impressed. Kudos to Thar ..
Google is my friend... and a lot of reading the RPi Forums. Part of the problem comes from the fact that although the RPi uses Debian Squeeze with an ARM kernel, it still doesn't support everything in the standard ARM Kernel, so certain features are missing, but some can be added if you fancy recompiling your own kernel variant (I'm not at that stage just yet, lol). There is the usual minefield of .conf files appearing in different places with each distro, different commands using various features which aren't available (pretty much have to nano edit everything).

After a lot of reading, I managed to get VNC working at boot, so I don't have to SSH in via PuTTY, run vncserver, then launch tightvnc on windows, I can just power up the Pi and log straight in. For those interested, I did the following...

Code:
### To run VNCserver on boot ###

nano /etc/rc.local

## Add following line to the end of the file, before exit 0 ##
su - pi -c "cd /home/pi && vncserver :1 -geometry 1280x700 -depth 24"

ctrl+x y #to save#

nano ~/.vnc/xstartup

## change following ##

xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &

## to this ##

xrdb $HOME/.Xresources
xsetroot -solid grey
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
startx &

ctrl+x y #to save#

I've been having issues with VLC player, trying to get it working. MRL issues, no audio, tried all kinds of things - this is unfortunately extremely common for me, I have no idea how people really set it up. I've installed VLC, plus the mozilla VLC (as said on the VLC website). I've changed the source list to enable more repositories, plus install ffmpeg, libxvidcore4, bunch of other codec libraries, VLC just plays silently with music, or does nothing at all with video.

Samba is my bane too, sometimes it works flawlessly, other times it makes me want to pull out my hair. This time, it was the latter. Setup workgroup, can browse and see files over the network on a Windows machine, but can't play any of the files, yet I can transfer them locally and attempt to play them (different error that way).

I gave that all a rest after a while (still proud I got ssh and vnc working, remote login, change boot services, etc). The last few hours though I've been trying to figure out media capabilities in general, just trying to get some audio.

I came across something rather amusing, that will probably catch the attention of certain people, but the analogue audio on the RPi is extremely clever (brings a smile to my face), despite its obvious limitations. The audio jack gets it's sound as a result of data signals being sent over the GPIO bus, through a PWM connected to a 1-bit DAC (yes, 1-bit), and a low pass filter. Surprisingly, it sounds quite a bit better than you'd expect. It's no high fidelity, and there are pops and clicks on the line, but it works very well. It will pass digital audio through an HDMI connection if available though, so it's not like you are limited to the jack, you just need a decoder on the other end that accepts HDMI.

----

Anyway, something that will definitely catch people's attention is that you can get a custom XBMC distro for the RPi. There are two available at the moment, OpenELEC and Raspbmc . I could only get Raspbmc working at the moment, but it works REALLY well considering how new it is. It's very fluent (compared to Debian), but it's not without issue.

Raspbmc is a custom distro (there will be an installer eventually for Arch and Debian I think), so you need to write it to an SD card (dd on linux or win32diskimage under windows). It will require an internet connection when you run it the first time because of certain firmware issues with the RPi, mainly to do with SD card compatibility. So it will boot into a launcher and then update itself, then run the installer. Once installed, you are presented with a typical XMBC interface and you can work from there.

I don't have a device that will decode HDMI audio (i just have monitors), so I had to use analogue audio. Raspbmc has all kinds of library discovery and network access, so it could connect to and use data from a windows share without incident (smb). It can playback most audio codecs fine, mp3, aac, flac, ogg, all no problems, can even make use of playlists (m3u and m3u8). However, switching from track to track would often result in audio breaking, the track would play at a higher speed, but with no sound. So you have to stop the current track, then play the next. Yet random shuffle mixing in a playlist works just fine.

Video decoding is hit or miss and largely depends on codecs and compression rates. I will say now that under certain conditions, the RPi really can play 720p and 1080p at full speed. Yeah, I was quite surprised myself. However, there were a number of 1080p videos I tried, high quality BD-Rips (like 12GB in size), that would just crash the system. 1080p at a more conservative 6-8GB would work, so I think it may be a memory issue (not enough RAM), to handle the bitrate, or it could just be the codec used (despite all of them using h264). All the 720p videos I tested worked fine (xvid, h264 and x264).

---

My experience with Raspbmc really does highlight something important with the RPi. It has a very bright future as a media player and even as a thin client, the software just needs to be tuned. Using Debian in its current state does leave you largely disappointed, but then switching to a custom distro, it really shines. So things will definitely improve over time. I do have the Fedora Remix which I may test out later as well, before it was taken down. I know that it has bugs (hence why it's no longer on the download list), but we'll see how it goes.

Debian is not very beginner friendly at the moment, but it's certainly been invaluable teaching me some basics about linux (if you consider changing boot services basic). From command line stuff, configurations, it's a very manual OS. So the RPi has already performed to specification, as an educational tool, at least for me. I'm not learning to program, but I am learning how to use a computer and linux, rather than learning to use windows. The problem is that the information is scattered over the RPi forums as well as various websites about linux - at least I'm good (ish) at research). It's unfortunate that some of the most basic information is buried (like you need to type startx to start the gui... it's nowhere obvious).

There is still a lot of experimenting for me to do. As said above, I'll be trying Fedora out later, as well as continue to wrestle with Debian. Raspbmc has given me a breather of sorts, felt like I accomplished a lot without doing anything really (other people have ).


-----------

There is one thing i need to mention though. I'm installing completely new operating systems in about 20 seconds... and switching between them without a bootloader, just power off, swap SD card, power on, in another 20 seconds. If i corrupt the OS, just reflash it to the SD card again. It's a very strange feeling when i think about it...
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -

Last edited by Tharic-Nar; 05-27-2012 at 03:21 AM.
Tharic-Nar is online now   Reply With Quote
Old 05-29-2012, 04:07 AM   #17
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

So it turns out that the changes I made to get vnc working on boot screwed up something somewhere to the point that I could no longer start X locally, only via VNC, even if I killed the process (of both X and VNC). Then other problems started to creep in and basically, all I had left was an SSH console... so I've had to do a clean install.

I used the method posted above because it worked (initially), other methods I looked at would not work simply because they required editing files that did not exist (for example, /init.d/vnc did not exist in the normal file structure of the Debian Pi distro). This brings up one major issue so far working with the Pi, it's non-standard. Normal guides online for Debian Squeeze related material will not translate over to the Pi specific distro. Parts do, but not all of it; unfortunately, all parts of a solution must be implemented for it to work and I do not know enough about linux to fill in the blanks.

I tried the old Fedora install that was initially released and it was pulled for a reason. I had difficulty getting it past the first boot process, as well constant distractions as debug code from something kept creeping into command line... while I was typing. Nor could i get it to boot into a GUI successfully. Fortunately, the Fedora build is still in development and the nightlies are up to version 17, so we may see an official release soon.

I am in the process of setting up Debian again, without a certain VNC boot modification, and will continue playing around. While I would have liked to fix the problem to begin with (simply undoing the two edits did nothing), I was way over my head to even begin to guess what the problem was, making it hard to explain to someone.

Back to experimenting...
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -
Tharic-Nar is online now   Reply With Quote
Old 05-29-2012, 08:31 AM   #18
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

So I managed to get VLC working with audio-out on the Debian install, but it's not easy, mainly because the audio driver is still alpha and extremely temperamental. From the command line...

Code:
apt-get install alsa

depmod

modprobe snd-bcm2835
While ALSA is already 'technically' installed, it doesn't always work. What I find irritating is that each time the system is started, I have to run modprobe for it to work, otherwise VLC fires back with an 'ALSA' error.

Once I managed to get audio working, it became apparent that the issues with XBMC are almost completely related to the ALSA driver. There are regular pops and clicks (with higher bitrates), and that when I open a second file to play, it interrupts the first and only silence is played, the previous stream MUST be stopped for audio to play.

Movie playback is extremely poor because of the lack of GPU acceleration. However, there is a GPU accelerated player for the RPi called OMXPlayer - derived from XBMC. At present, it's not the easiest thing to install, or use. It's purely command line based and requires you to enter the file's full path name. When inside a GUI, it's possible to right-click a file and 'open with', with a custom command line of 'omxplayer'. This works with movies and music, the problem is that there is always the CLI in the background until it fades out due to power-saving (the movie continues to play).

There are a couple amusing things I found out. One was that I originally logged in via VNC, using the GUI to launch files; to my surprise, when I launched omx, the monitor the RPi was connected too sprung into life with movie playback, while the VNC window remained at the desktop. On top of that, omx uses the GPU to decode audio too. Using 'top' in the command line, omxplayer was only using 5-7% CPU playing music, while something like VLC uses 70-100% (often resulting in clipped audio). With omx playing 720p movies, it's about 40-50% CPU use... VLC just doesn't work, lol.

-----------

One issue that still plagues me is pulling media from the network. While I can freely browse the network and even copy files over locally, I still can't stream over the network. This may be to do with the fact that the network's locations are not mounted. So I tried to mount them - and can't, due to a very long list of errors that keep getting in the way. I can't create a directory, I can't mount the specified location because it can not be found (despite the fact that I can "smbclient -L servername" without issue). Not to mention 'issues' with locations with spaces in names (quotes not working either).

The final problem is a persistent random issue where I can't use commands at the CLI (invalid command). So 'shutdown -r now' doesn't work, cd, kill, nano, etc, none of them work and I need to manually power-cycle the RPi. This issue crops up repeatedly, often leading me down a false path of things not working - when in fact they should, even if I switch to root.
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -

Last edited by Tharic-Nar; 05-29-2012 at 08:37 AM.
Tharic-Nar is online now   Reply With Quote
Old 05-31-2012, 04:47 PM   #19
Brett Thomas
Senior Editor
 
Join Date: Apr 2009
Posts: 164
Default

I hate ALSA.... But not nearly as much as I hate pulse-audio.

It's a shame that the distro is having such a problem from the get-go - but I'm really quite surprised that they chose to put out a 'full' distro like Debian to begin with. I mean, I suppose that it's designed to showcase the device's potential, but let's call a spade a spade - it's an ARM processor and little baby system, it's not designed for a full-on PC distro.

I really think they'd have done a lot better trying to use either Gentoo or Slax to start things off - distros based on modularity and control instead of full-function. Gentoo is designed JUST FOR this type of product - fairly fixed hardware specs and a limited amount of memory. It's the perfect "embedded system" linux and would work wonders, not to mention Portage is aeons more fine-grained than aptitude (which Rob routinely likes to remind me of).

Hopefully those kinks will sort themselves out - Gentoo can be a bitch to install but if Raspberry just came up with a base build it'd probably be marvelous. Then again, it could do the same thing with the debian system it has - I suppose it all depends on what it's trying to get the most out of (the hardware, in gentoo case, or the software library, in debian).
Brett Thomas is offline   Reply With Quote
Old 06-01-2012, 08:42 AM   #20
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

I think they're going with the larger library and software pool, since these devices are front and foremost meant to teach programming to kids (or will be when the educational release is announced).

I procured a pre-compiled Gentoo img from one of the kind peeps over at the RPi forum, albeit a little bloated in nature (8GB in total). I left emerge to compile some updates overnight and was greeted with the now annoying 'invalid command' problem (I am beginning to think this is a power save issue with the hardware, since vastly different OSes have had the same issue). I power-cycled the device and was left staring at a kernel panic.

Browsing the forum, I get the impression that kernel panics are a little too common - but reading further, the majority of these cases are the result of insufficient power or misbehaving peripherals. My issue is likely a bad compile on the update, incorrect flag or some such (I know very little about such things with linux ).

Power

Speaking of power though, I do want to make clear about its importance, since anyone who decides to get one of theses devices needs to be aware. It is highly recommended to get a powered USB hub for all peripherals. Wireless KB and mice will not work properly using the RPi's own power, nor will wireless network adapters. Backlighting and gaming grade peripherals will also cause issues.

When you first turn the device on with such peripherals attached, it may work fine to begin with. But quite often, it's the network or audio that will give out first, that's if it can get past the boot sequence.

SD Cards

I've been experimenting with different SD cards too. Class 10, UHS-1 and micro-SD adapter type cards do have a number of issues. So far, my UHS-1 card has only worked with the raspbmc distro, mainly because it does a self update before the OS kicks in - the debian and gentoo installs choke with interrupt problems each time.

The good news though is that high-speed cards are not really required. I use a 16GB class 4 card for most testing, and it works fine. IMG writing is quite slow at about 5MB/s (while the UHS-1 card finishes an 8GB flash in under a minute), but when the system is running, it's not that bad. So you can commandeer an SD card from an old camera or something if need be.
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -
Tharic-Nar is online now   Reply With Quote
Old 07-18-2012, 04:50 PM   #21
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

OK, so after a long wait for the software to mature on the RPi, a new distro has been released which takes advantage of some hardware acceleration. The Distro is a hard-float variant of Debian Wheezy called Rasbian - available on the RPi download page. You can read the official blog post here.

What's Changed?

After booting it up, first impressions are much better now. No longer are you dumped into a command-line with no idea what to do. There is even a configuration tool; so you can expand the SD card to make full use of available space, change regional settings for keyboard layout and timezone, and even change the memory commit ratio between the CPU and GPU.

The biggest changes though are the fact that hardware acceleration is now enabled. This means the GUI is much snappier than before. Compared to modern systems, this is still slow, but a huge leap compared to the soft-float builds previously. Web browsing via Midori is now practical. I've had multiple web pages open in various tabs, including some heavy hitters, and things have been running fine.

The default media player is now OMX, which I had to install manually in previous builds, so VLC is not required now. Additionally, the ALSA drivers now start up properly and won't need to be reinitialized every time you boot, however, all other problems regarding audio remain (can't switch tracks without stopping the previous, etc).

Overclocking...

One last thing I've been playing with is overclocking... yes, you can overclock the RPi. In the boot section of the image, there is a file called config.txt which is accessible even under Windows. Nearer the end of the file, you can set the default frequency of the RPi, but no other options are given. If you make a quick trip to the overclock page at elinux.org, you'll find a list of available options. Please note that a voltage adjustment will result in a hardware switch being set, voiding the warranty - however, pure frequency adjustments should be fine.

Reading through the forums, people have been reporting stable OCs of 1,000MHz with a minor voltage boost (base is 700MHz). The other interesting feature is that no heatsink is required (although, some are using them just in case). I'll try to run a few benchmarks later to compare the OC results. I'll also 'sacrifice' one of my unit's warranty and do some voltage tweaking too.

Nice to see things are moving along nicely.

Additionally, bulk orders are now available - and RPi in SPACE!!!
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -

Last edited by Tharic-Nar; 07-18-2012 at 04:55 PM.
Tharic-Nar is online now   Reply With Quote
Old 10-16-2012, 02:12 PM   #22
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

For those that don't know, the Raspberry Pi had a hardware revision, minor tweaks and some mounting holes, and swapping a couple pins round on the header board. More recently though, all new Model B Pis will come with 512MB RAM as standard.

In other news Pi related, the Gertboard was shipped from Farnell/Newark to a load of people, myself included, and I've finished a two-hour soldering session with it. Let it be known that SMDs are a pain. For those that don't know, the Gertboard is an I/O expansion board for the Raspberry Pi, making use of the Pi's GPIO, I2C and SPI interfaces. The board comes with PWM, Motor Controller for servos or a stepper, there's some LEDs, push buttons, and last but not least, an ATMEGA328 microcontroller (like that found in an Arduino) for all those digital and analog I/O.

Anyway, I will be spending some time with it over the next few days, getting acquainted with it, and no doubt pulling out my hair in frustration, but who knows. Now like family slide-show, have a bunch of pictures of the assembly process. (The Gertboard comes as a kit only and requires assembly)


Lots of bags to uncover.


The SMDs mounted - this took a fair bit of time for so few components. I don't have much experience with surface-mount, so it was an educational process.


Many of the larger components such as the resistor networks, LEDs, push-buttons and IC sockets soldered on.


The finished board with all the header pins and ICs inserted.


This is to give you some idea of size compared to the RPi. The Gertboard is much larger due to the DIP sockets and more user-friendly assembly design.


Yes, I put mini-heatsinks on the RPi for no real reason. They're not required for overclocking even (heat is not the limiting factor for a change).


Another random shot of the assembled board.
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -

Last edited by Tharic-Nar; 10-16-2012 at 02:16 PM.
Tharic-Nar is online now   Reply With Quote
Old 10-16-2012, 09:00 PM   #23
Psi*
Tech Monkey
 
Psi*'s Avatar
 
Join Date: Jun 2009
Location: Westport, CT
Posts: 785
Default

Nice work Thar, I have been thinking about numerous applications for this widget. Do you have particular "plans" or are you mostly into the moment at the moment & noodling it all out?
Psi* is offline   Reply With Quote
Old 10-17-2012, 12:43 AM   #24
Rob Williams
Editor-in-Chief
 
Rob Williams's Avatar
 
Join Date: Jan 2005
Location: Atlantic Canada
Posts: 13,351
Default

Holy hell, Thar. That's some geek porn if I've ever seen it. Nice shots!
__________________
Intel Core i7-3960X, GIGABYTE G1.Assassin 2, Kingston 16GB DDR3-2133, NVIDIA GeForce GTX 770 2GB
Kingston HyperX 3K 240GB SSD (OS, Apps), WD VR 1TB (Games), Corsair 1000HX, Corsair H70 Cooler
Corsair 800D, Dell 2408WFP 24", ASUS Xonar Essence STX, Gentoo (KDE 4.11. 3.12 Kernel)

"Take care to get what you like, or you will be forced to like what you get!" - H.P. Baxxter
<Toad772> I don't always drink alcohol, but when I do, I take it too far.


Rob Williams is online now   Reply With Quote
Old 10-17-2012, 03:58 AM   #25
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

I do have plans, most of which are not terribly interesting at the moment since I'm still working out the kinks in the setup. I will say it involves a lot of sensors with data logging, later expanded into making use of the PWM features to control fans. However, I will stop to have some fun with a couple servos first. In the mid to long-term, I will need to build a sensor array and figure out how to handle all the inputs. I'm aware of multiplexers, but the problem remains signal amplification across different sensor types. I could use an instrumentation amp after the multiplexer, and then have a second multiplexer connected to the amp's feedback with multiple resistors to create a programmable variable gain - different gain levels for different sensor types. Before I really get Into all that though, I need to figure out exactly want I want to measure first, which is still changing.

Someone has done something similar, but with thermocouples only. In which case, they could get away with a single amp and MUX, since all the sensors were the same. But he did go that extra mile with a dedicated RealTimeClock and logger with LCD display - not sure I need that. My plan was to feed the results directly into the RPi, but that needs to stay connected online for the NTP reference (the RPi has no RTC).

Anyway, everything specific is still up in the air - first and foremost, I need to learn how to program the ATMEGA and fiddle with some thermistors, then figure out how to report the information to the RPi (and maybe log it) before really diving in the deep end with a MUX.

This is the main point of the board, to experiment and learn interfacing, as well as become familiar with microcontrollers. I do have an Arduino on the way (when it damn well arrives), so if the Gertboard can't do what I need it too at the same time, I have a backup. While the ATMEGA chip on the Arduino and the Gertboard are the same, the Gertboard has many of the pins already assigned functions, so total I/O available from the chip is reduced - there are also a bunch of jumpers that need to be set for specific purposes. The reason for all this is so that the board can be a jack of all trades and be educational, that's its primary purpose, rather than being a single large interface board.

There are a number of gotchas with the board though, the biggest one being that it's powered by the RPi. The RPi is already power limited, so you do have to be careful. There was originally a power input section on the Gertboard, the unused section in the bottom right corner. Gert decided to pull it from the final release due to heat issues, but there's nothing stopping us from re-implementing it. Anything more than a couple LEDs worth of power is likely to cause issue, so some kind of external power is recommended.
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -

Last edited by Tharic-Nar; 10-17-2012 at 04:03 AM.
Tharic-Nar is online now   Reply With Quote
Old 10-17-2012, 10:44 AM   #26
Psi*
Tech Monkey
 
Psi*'s Avatar
 
Join Date: Jun 2009
Location: Westport, CT
Posts: 785
Default

Are you a C++ programmer? When I wrote code I never quite got into Linux, but am considering a re-visit. There is so much to pull together tho ... gcc or gnu cpp ... ugh, a little over whelming. I think I understand that code is uploaded to RPi from a PC?

I found it very easy to write device drivers in C++ tho; constructors/destructors were great for setting up DACs & ADCs, overloaded operators made writing (coding) projects straight forward and nearly self documenting. In other words I could look back over projects several months old & could still understand what it was supposed to do!
Psi* is offline   Reply With Quote
Old 10-17-2012, 12:22 PM   #27
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

I am not a programmer, my experience is mainly limited to scripting and web-dev. The ATMEGA chips (Atmel AVR in general) is not C++ though, it's a C derivative (called Processing), so a little simpler, but more complex, depending how you look at it.

To be clear, the RPi IS a PC - it's just ARM based running Linux. It's not a micro controller, it's a full blown CPU. So I will be using the RPi as a full development environment to program the ATMEGA on the Gertboard. There are a mass of utilities and libraries ready to go, which I will slowly cover as I get the Gertboard singing and dancing - after I get a new multimeter in since mine has decided to read everything as 0, even after replacing the fuse (I need to confirm voltage regulation etc otherwise I could end up blow things up).
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -
Tharic-Nar is online now   Reply With Quote
Old 10-23-2012, 12:34 AM   #28
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

And things slowly get more complicated...



Also, while testing out the Gertboard, I came across a rather weird problem. Stroking the GPIO cable would result in the various lights coming on. Think I made it self-aware...

__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -
Tharic-Nar is online now   Reply With Quote
Old 10-23-2012, 09:07 AM   #29
Psi*
Tech Monkey
 
Psi*'s Avatar
 
Join Date: Jun 2009
Location: Westport, CT
Posts: 785
Thumbs up

hahaha ... sweet ... impressive effort.

You have an electrostatic personality. Or, possibly more likely, the circuit is influenced by your body capacitance.
Psi* is offline   Reply With Quote
Old 10-23-2012, 05:53 PM   #30
Tharic-Nar
Techgage Staff
 
Tharic-Nar's Avatar
 
Join Date: Nov 2009
Location: UK
Posts: 1,166
Default

Yeah, I have no idea what to make of it honestly. Not going to say my soldering is perfect... but I'm having a hard time trying to figure out what's going on. Regardless, I've been moving on with other things and have multiple thermal sensors boarded out. All the thermistors are 50kOhm - there are several reasons for this rather than the standard 10k. First, minimise any self-heating effect. Second, the temp range I will be dealing with is not the 0-30C range that 10ks are built for. Third, price.... the 50Ks were cheaper than the 10ks at the time.

Although hard to see, the thermistors are the tiny black dots with long spindly legs. Later, I will be trimming them down and using some speaker wire to give them some range as well as insulate them.

On the left side of the board, there are two thermistors hooked up like a voltage divider to a 49k9 0.1% 15ppm resistor. This gives the thermistor something like a 0.2C accuracy envelope in the 30-60C range (1% accumulative accuracy outside this envelope). The bottom right sensor has a 133k 0.1% 15ppm resistor, this moves its accuracy envelope to the 60-120C ish range (not entirely sure). The top right sensor has a multi-turn 1M preset pot which I can tune to whatever level I want. It's only 10% accurate or so and will likely be affected quite a bit by temp, but it's an experimental probe for when I want a different range. All the probes are on RLC filters, with an additional decoupling on the fixed resistor. (The Arduino uses a switcher supply, so it'll be noisy, not something I want when dealing with a precision sensor.)

I could have gone with thermocouples, but the more I read into them, the worse I felt about using them - +/-1.5C on a good sensor, plus extra interference with all the other circuits in the way leading to a 2.5C margin of error? Pass...

When I originally laid out the board, the two probe arrays were feeding off each other, so I was seeing 25k on the 49k9 resistors. Putting a 100n cap at the beginning of each power input fixed all that (which will likely introduce another problem later).



Anyway, that's four probes going to four inputs on the Arduino (which has a 10bit ADC), and now I'm just trying to get it to behave and read the temps reliably with some crazy maths (Steinhart-Hart coefficients) which I stole from other people. They just need tweaking for the values I will be using. Once I can read one sensor accurately as a function, I can then call on it for each sensor. Once all that is done, I can then move onto multiplexing - providing I have enough memory on the ATMEL.
__________________
PSU: Corsair 1000HX - Case: Thermaltake Xaser VI Full Tower - CPU: Intel Core i7 2600 @3.8GHz - Cooler: Thermaltake FRIO - Motherboard: ASUS P67 Sabertooth - Memory: 16GB Corsair Vengeance LP Arctic 1600 - GPU: 2x AMD Radeon HD 5870 - HDD: WD Caviar Black 1TB 6Gb/s +1TB +2TB storage - Audio: ODAC + O2 Amp, ASUS Xonar DX
K/B: Corsair K90 - Mouse: ROCCAT KONE XTD - Monitor: DELL U2410 - Speakers: Corsair SP2500 - Headphones: Beyerdynamic DT990 - Mic: Blue Yeti USB Microphone

- I need Fiber to fix my Irregular Bandwidth Syndrome -

Last edited by Tharic-Nar; 10-23-2012 at 05:58 PM.
Tharic-Nar is online now   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
more Pi (Raspberry Pi) Psi* Mobile & Small Form-Factor Computing 6 10-21-2013 01:59 PM
VIA Announces its Raspberry Pi Competitor, 'APC' Rob Williams General Hardware 1 05-22-2012 07:53 PM


All times are GMT -4. The time now is 02:22 AM.