Home
< back | 0 - 10 |  

Posting elsewhere..

December 24th, 2008 (09:22 am)

I started posting a little more at http://randomtechmakings.blogspot.com/ which is hosted at Blogger.

This is a combination of dogfooding, wanting to feel comfortable about longer, more technical posts without feeling guilty about not cutting lots, and being able to use the reasonable integration with picassa et al (which makes it much easier for me at least to do the photo->computer->blog pipeline).

So if you're curious about where I'm up to with electronics/software/metalwork, that's the place to be looking.

Electrickiness.

October 5th, 2008 (06:22 pm)


I did an electronics day today.

1. All the 1-wire stuff was connected to a bare board that was just sitting on top of the wiring cabinet.

Today, I installed a 24-port RJ45 patch panel, punches all the cables into said panel (and all the other unconnected cat5 that was also there), milled suitable opening into a polycarb box, installed board, and connected it up with short cat-5 patch cables. MUCH neater.

2. When the garden was done, they also installed a couple of solenoids to control the irrigation. 24VAC. After months of ignoring them I finally connected to up today.

Thinking that nothing quite succeeds like serious over-kill, I went a little wild:

  • Bought 24VAC wall wart.
  • Built 15V DC supply for a CPU board I had lying around. The supply was just normal bridge rectifier => capacitor => LM7815. Nothing special as it's feeding a DC-DC convertor on the CPU board. (Which annoyingly has an absolute max rating of 20VDC otherwise I would have skipped the regulator).
  • Realized that regulator on supply was doing to dissipate around 4 watts, and the LM7815 has a 65 degree/watt resistance to air, so maybe a heat sink would be required.
  • Milled heatsink. Nothing quite like 1/3rd of a kilo of aluminium to cool a 1.6 gram part.
  • Milled appropriate openings in polycarb case.
  • Connected up solid state relays. This was the gamble part: The NGW100 CPU board is specified for 8mA maximum current output on the general purpose I/O pins, and I wasn't sure what the solid state relay would require. I win! when I measured it off the lab power supply, tt turns out the relay uses 300uA @ 3.3VDC. Neat!
  • Wired everything together.
  • Crossed fingers.
  • Powered up. Worked first time. :) I had a few "WTF?" moments when testing it, because output from the CPU board needs some load to go to a sane value. Likewise the solid state relays. So poking at things w/ no load and a multimeter generated a few seconds of puzzlement until I started at 100k resistors everywhere.

So now I have a functioning linux machine on the network, running a web server, so it can control 2 bits of output. Yay overkill!

3. And I fixed up the touch-screen computer to run totally off read-only flash and ram disks. This is an attempt to make it ultra stable. (It boots to the point of being able to login to it over the network in less than 1 second from power on :)

This was actually painful and frustrating as the lcd screen for this computer is controlled by an FPGA. And so when I stuff up the boot process, there is no indication of why. Lots of going back and forth with SD flash cards.

4. And now I'm off to write a pygtk widget to hook up this up to buttons on the touchscreen.

And feeling rather pleased with my productivity today. Managed to actually _shrink_ my todo list today!

Happiness

September 13th, 2008 (08:02 am)

So I did a daring thing, and bought set of Bluetooth headphones for use with my MythTV box.

This is daring, because Bluetooth is a black art to me, and the linux bluetooth implementation has interesting document (in the sense of: there's very few errors in the documentation, because there's very little of it.. )

And so it came to pass that I tried to pair my bluetooth headphones with a linux box. The user interface on the headphone is .. sparse. One button, one flashing light. So when the linux box said "Yay! Paired" and the Headphones said "flash .. flash .. flash", I despaired as the grimore informed me that the headphone was not in fact paired.

It turns out that D-Bus is an excellent and wonderful thing, except when it's not. The hcid (bluetooth daemon) was trying to find something d-bus registered to tell it the PIN for my headphones, and nothing was registered (unsurprising, this is mostly a server). After hacking together a helper agent, all was paired. And there was much rejoicing in the land.

Much fumbling around config files followed with frequent references to the source code (did I mention the documentation?) and it's now mostly automatic.

And so now, I can turn the headphones on, the linux box says "link_key_request (sba=x, dba=y)" and sound stops coming out of the TV and starts coming out of the headphones.

I am in the happiness place.

Programming.

September 8th, 2008 (11:59 am)

I did some tiny programming and wrote something for AppEngine. It is indeed really quite easy to develop for.

http://p-win.appspot.com

Turns out Obama has a 76% chance to win, given the current state-by-state data.[1]


[1] Where '76' means a number somewhere between 0 and 100.

A day rich with fail.

July 13th, 2008 (05:17 pm)

So I looked at the weather forecast this morning which promised sunshine later in the day. This made me happy, so I charged up all the pure gliders and hoiked myself off to the field. 2 hours later, had managed to find zero sun, zero thermals, and generally a pretty dismal day for flying. I had the 3.7 meter all ready to zoom, but no decent air to zoom it into. *sigh*.

So my current DSL provider sucks seriously. I found another DSL2+ provider that covers my address (yay). Started the process to change over, accepted to swallow the contract break fee, signed up with new provider, and then found the fine print about "maybe take up to 10 days to connect service". business days. No broadband internet for 10 days. !*&^!*&^*&! Worse, it's actually still worth to it to avoid the truly amazing Telstra suckitude.

So the boy normally sleeps for 2 hours in the middle of the day. This led to me planning to put the boy down, which would give me two hours to put together the new electronics boards that arrived yesterday. After 40 minutes of the boy wailing, I gave up and picked him up again. Trying on and off for another couple of hours just led to my frayed nerves and a very annoyed boy. And zero progress on anything else.

So the wife arrived back home and took all the children off my hands for a while so I could do the planned soldering. I break out the magnifying lens and start assembling parts. And then find that the circuit I designed to use the AD8656 rail-to-rail op-amp wouldn't go together very well today because the parts that digikey shipped were actually the AD8565. Spot the difference. *sigh*. Even more depressingly it looks like my mistake rather than theirs.

Fail. I haz it.

(no subject)

July 2nd, 2008 (11:58 am)

http://www.digispeaker.com/ looks like an interesting project. digital audio everywhere, internet connected amplifier.

Working.

June 29th, 2008 (05:36 am)

So now I have 3 working 1-wire temp sensors, two of them at the end of 30+ meter cable runs.

See

The wavy bit on the green line is the air conditioner oscillating between the set points. The red line is the temperature of the cupboard that houses the file server.

So now I just need to finish adding the other sensors, and start connecting the results to the air-con dampers...

karma debt!

June 27th, 2008 (06:45 pm)
current mood: Overdrawn at the karma bank

Ok, I'm very worried now. I think I've just incurred a huge karma debt...

So I finally upgraded the kernel for the NGW100 board I have. And it worked without need to break out the JTAG programmer. Spooky.

And then I logged in and did 'modprobe i2c-gpio; modprobe i2c-dev'. Which just worked. Really spooky.

So I write a tiny program to send and I2C message on the bus. Which compiled using the AVR32 toolchain without any breakage or mysterious messages of complaint from the depths of gcc. And it generated a binary !!!! I'm getting pretty freaked out here.

So I plugged my new expansion board I'd soldered up into the NGW100. And it didn't catch fire!!?!!?!!

So I run my program. Words fail me.

/tmp # ./i2c
opened device i2c-0
0x00000018


That's data! The first time I ran it, it give me data! Actually real data! The actual status register from the DS2482 chip! And it works every time I run it!

I need to go have a lie down, and morn the disaster that must surely be coming my way.

Yak shaving.

June 26th, 2008 (07:55 pm)

So I built a 1-wire master board for the NGW100.

Which has an
I2C interface.

Which means that the kernel on the NGW100 needs to be upgraded to get the new i2c drivers that can handle it.

Which means I need to compile a new kernel for it.

Which means I need an AVR32 tool chain.

Which there aren't convenient packages for F9, so I need to compile them.

And then the kernel image is part of the root jffs2 image for the NGW100, so I need the root environment as well.

Which means compiling all components such as busybox et al.

Which is why I'm watching the best part of a gigabyte of source code compile, all so I can upgrade the 2 megabyte kernel, so I can run a 12 line program, which will produce 2 bytes of output (current temperature).

Yay.

The only bright spot in this is that compiles go amazingly fast on modern quad-core machines.

Touch screen computer.

June 17th, 2008 (08:18 pm)

This is slowly, but steadily driving me insane. I just want a touch screen that I can wall mount that will drive the home automation system. And I don't want to pay $6000 for it. You wouldn't think it was that hard to do!?

So far too many hours later I'm wondering if building a custom 4 layer PCB replete with 40Mhz signals would really be such a bad thing...

< back | 0 - 10 |