As people get older they gain clout, respect and other sorts of
undeserved credibility. One way to get rid of such credibility is to try
to predict the future (and get it wrong). I feel like a new year is a
good opportunity to take a stab at this.
Tablets are an evolutionary dead end
Remember RAZR phones, palm pilots? Tablets will evoke the same sort of memories in a couple of years.
LCD/OLED as a window into the internet will be laughed at
I read a great book
about the history of cocaine. When cocaine was discovered, it was a
local anesthetic, virility potion, steroid, cure for nymphomania, cure
for addiction, etc. This all looks quite silly in retrospect, but it
really reminds me of the hype over internet connected screen touting
devices. "People used to think that the best way to stay connected is to
scorch eyeballs with awkward square flashlights with graphics on them".
It
blows my mind that even though humans have a multitude of senses, we've
settled on something that destroys eyesight and ties one to a desk.
Even best of breed phones, tablets are still tied to an access point,
cell tower and are useless in sunlight. Instead of communicating
directly, devices prefer to channel themselves via amazon or apple
servers.
Future
I think the future is in
wrapping information flow around the many senses (seeing, hearing,
tactile feedback etc). I think the future will be shaped more by
odd-ball hackers and less by tech messiahs & their knockoffs
repackaging the same thing every 18months. Hopefully B2G is the first
step in that direction. Perhaps it will result in extremely promis^H^H^H^H connected devices that will mate with every device around. I know we have the right people working on this :)
Stuff
Blog documenting experiences with Linux, carbon fiber, solar panel and other things as I learn about them
Wednesday, January 4, 2012
Tuesday, November 22, 2011
How to run a bare ATMEGA328-PU with an internal oscilator (at 8Mhz)
Arduino Ecosystem rocks
Arduino is a great way to minimize the amount of variables when getting into microcontrollers. Flashing, cross-compilation, libraries, dongles are much easier(and cheaper!) when standardized.
I bought an expensive arduino nano v3, I got comfortable enough with it to blink an led and do with pwm. Unfortunately arduinos(except lilypad) feature lame 5V voltage regulators which require 6.2V to do anything useful; though atmega chips will supposedly run at as low as 1.8V. End result was that the NanoV3 did not run properly when hooked up to my 5V power supply on the bike.
So in the in the interests of not building a new power supply and not using a board with a whole bunch of pointless components I bought some straight-up ATMEGA328-PUs and a USB flasher.
The rest of this post documents various gotchas.
Pinout on Sparkfun is mirrored!
Red stripe on the cable indicates top. However the pinout is mirrored. One is supposed to look at it with the stripe on top and holes facing away.
ATMEGA328-PU ~= ATMEGA328P-PU
I wondered why seemingly identical chips were selling for a different price. P in 328P stands for picopower and as far as I can tell it allows one to turn off brownout protection. In my case brownout protection is something I want. However, fucking avrdude does not recognize ATMEGA328(without P) and bitches that one should pass -F when specifying -p atmega328p(there is no atmega328). This prevents Arduino IDE from functioning. In order to get a functioning IDE I needed to:
- Modify signature for atmega328p in avrdude.conf:
- signature = 0x1e 0x95 0x0F;
+ signature = 0x1e 0x95 0x14;
(Obviously the proper thing to do here is to add the new chip to avrdude) - Use breadboard.zip from http://arduino.cc/en/Tutorial/ArduinoToBreadboard as an inspiration for the following boards.txt entry:
usbtiny328.name=[usbtinyisp]ATmega328 8mhz
usbtiny328.upload.using=usbtinyisp
usbtiny328.upload.maximum_size=32768
usbtiny328.build.mcu=atmega328p
usbtiny328.build.f_cpu=8000000L
usbtiny328.build.core=arduino:arduino
usbtiny328.bootloader.low_fuses=0xE2
usbtiny328.bootloader.high_fuses=0xDA
usbtiny328.bootloader.extended_fuses=0x05
usbtiny328.bootloader.path=arduino:atmega
usbtiny328.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
usbtiny328.bootloader.unlock_bits=0x3F
usbtiny328.bootloader.lock_bits=0x0F
- Burn bootloader with tools->burn bootloader->UsbTinyIsp
- Assemble board as per http://arduino.cc/en/Tutorial/ArduinoToBreadboard. One does not need to hook up GND(pin 22) or AVCC(pin 20). Connect ATMEGA RESET(pin 1), VCC(pin 7), GND(pin 8), MISO, MOSI, SCK(pin 19) to the flasher.
- Check the pin mapping. Note that Arduino software pins do not match physical pins(this cost me a few hours).
- Proceed to use Arduino tools with a convenient $2.82 chip* + $15 programmer rather than an inconvenient/overpriced Arduino board.
Saturday, July 16, 2011
My NAS is smaller than yours
I once blogged that ARM devices are useless and how one shouldn't buy them cos they run weird forked kernels on weird bootloaders. I also blogged on how awesome and low power my Atom box was.
Since then my Atom box died (probably the power supply), so faced with the option of rebuying various components until I find one that broke I decided that I'd rather forgo that. Instead I got an $40 Seagate Goflex.
The atom box idled at 13W and maxed out around 20W, which was pretty impressive. Goflex can idle at 4W and maxes out at 7W. The 1ghz CPU is no x86 in speed, but it can keep up.
Clever people developed a fully-featured Uboot bootloader for it so it takes care of that typical non-x86 suck. I opted to run arch linux for arm since Debian support isn't particularly mature. In some ways Arch is better, it doesn't play games with proprietary firmware and stays up to date better.
So yeah with a $40 pricepoint, dual native sata, 4W idle even I will run ARM :)
Bonus: In theory I should be able to run the static binaries I compile on the goflex on my android phones.
Since then my Atom box died (probably the power supply), so faced with the option of rebuying various components until I find one that broke I decided that I'd rather forgo that. Instead I got an $40 Seagate Goflex.
The atom box idled at 13W and maxed out around 20W, which was pretty impressive. Goflex can idle at 4W and maxes out at 7W. The 1ghz CPU is no x86 in speed, but it can keep up.
Clever people developed a fully-featured Uboot bootloader for it so it takes care of that typical non-x86 suck. I opted to run arch linux for arm since Debian support isn't particularly mature. In some ways Arch is better, it doesn't play games with proprietary firmware and stays up to date better.
So yeah with a $40 pricepoint, dual native sata, 4W idle even I will run ARM :)
Bonus: In theory I should be able to run the static binaries I compile on the goflex on my android phones.
Saturday, May 14, 2011
Cheap solar power for my phone
My phone is useful for doing GPSey things and staying connected. Unfortunately expecting more than a day of use is unrealistic. So I set out on a quest for portable power.
I spent way too much time choosing a dynamo hub, building a wheel, having a friend build a circuit so I could charge my phone while away from home.
One day I was randomly surfing dealextreme/ebay and stumbled on something that was unbelievably awesome: cheapass solar power. Turns out a $25 solar panel and a spliced usb cable is enough.
At this point the main benefit of a dynamo hub is that it works all year long(24x7 as long as I'm biking). Dynamo also has a benefit of being a bunch of metal that's part of the bike. Attaching a solar panel will require some cleverness to avoid smashing it the first time the bike falls over.
On the other hand the solar panel is light and will work great for camping while off the bike. It's good to have options.
Update:
I spent way too much time choosing a dynamo hub, building a wheel, having a friend build a circuit so I could charge my phone while away from home.
One day I was randomly surfing dealextreme/ebay and stumbled on something that was unbelievably awesome: cheapass solar power. Turns out a $25 solar panel and a spliced usb cable is enough.
At this point the main benefit of a dynamo hub is that it works all year long(24x7 as long as I'm biking). Dynamo also has a benefit of being a bunch of metal that's part of the bike. Attaching a solar panel will require some cleverness to avoid smashing it the first time the bike falls over.
On the other hand the solar panel is light and will work great for camping while off the bike. It's good to have options.
Update:
- I've had this for a while now. This solar panel is amazing. It is exactly as the seller claims: 5V and provides up to 700mA of current. There is a problem where if the panel gets in the shade, the current level drops off and stupid charging circutry on my Vibrant continues to try to charge. I documented it in this forum post.
- ebay listing I bought this from.
Saturday, March 5, 2011
I have road disc and you do not...neener!
I always found sidepull brakes to be pathetic. The current generation of road brakes are much better than the old style mount-bike I've used before, but they still suck. Unfortunately most roadies are imitation whores and will never ever sport components that a pro rider wouldn't ride(which they can't cos of stupidly conservative racing rules). As a result no road carbon forks on the market feature disc brakes. So I suffered and suffered. I refused to buy stupidly expensive brake pads to make up for sidepull suck.
After years of suffering the indignity of under-performing brakes, I met my friend Adam. Adam got mad carbon skills. He turned my oldish carbon fork into a sexy postmount disc fork.
After years of suffering the indignity of under-performing brakes, I met my friend Adam. Adam got mad carbon skills. He turned my oldish carbon fork into a sexy postmount disc fork.
Saturday, February 19, 2011
Phone mount that doesn't suck
This has been on a long quest, but I finally have my phone mounted on my bike the way I want to.
I always thought it was stupid to have the phone(or bike computer) mounted way below field of sight. Now I addressed this in my carbon fiber mount. I also dealt with flimsy construction aspects of bike mounts(had a couple of commercial mount eject my phone)
My prototype(hacksaw blade wrapped in carbon + conduit clamp)
I made the case out of carbon tow held together with paper tape :). It came out a little flexible, so i could bend it to get phone in/out. I was going to devise an elaborate locking mechanism for it, but carbon ended with the right mix of flexibility/stiffness(yay luck)
I added a carbon hoop to the case and used a rubber band keep it from sliding around
Still using a carbon-wrapped blade + one more layer of carbon + a composite clamp(it's 5x lighter and fits better than the steel one in the prototype)
Here is a video of me stress-testing it. E71 sucks at video :)
And some video of the mounting mechanism. SLR video is sexy, even without AF.
Anyway...hit a teeny teeny snag. Turned out adding the carbon attachment loop to the case had an unexpected effect. I wrapped it on with some more carbon tow and cut off the tow that covered the screen area(once it dried). This made the case not flex anymore. It became extremely stiff. So once I put the phone in for a testride, it didn't want to come out anymore. Carbon is so unintuitively easy to stiffen up.
With the precision of a drunk dentist, I cut the bottom of the case off so I could pull the phone out.
cut a little too deep :(
Now the case is a slider. It is still extremely stiff(but 1.3 grams lighter). Since I made the case by using my phone as a mold, it fits it extremely snugly. I might add a little bendy stopper bit, but so far it seems like overkill.
I always thought it was stupid to have the phone(or bike computer) mounted way below field of sight. Now I addressed this in my carbon fiber mount. I also dealt with flimsy construction aspects of bike mounts(had a couple of commercial mount eject my phone)
My prototype(hacksaw blade wrapped in carbon + conduit clamp)
I made the case out of carbon tow held together with paper tape :). It came out a little flexible, so i could bend it to get phone in/out. I was going to devise an elaborate locking mechanism for it, but carbon ended with the right mix of flexibility/stiffness(yay luck)
I added a carbon hoop to the case and used a rubber band keep it from sliding around
Still using a carbon-wrapped blade + one more layer of carbon + a composite clamp(it's 5x lighter and fits better than the steel one in the prototype)
Here is a video of me stress-testing it. E71 sucks at video :)
And some video of the mounting mechanism. SLR video is sexy, even without AF.
Anyway...hit a teeny teeny snag. Turned out adding the carbon attachment loop to the case had an unexpected effect. I wrapped it on with some more carbon tow and cut off the tow that covered the screen area(once it dried). This made the case not flex anymore. It became extremely stiff. So once I put the phone in for a testride, it didn't want to come out anymore. Carbon is so unintuitively easy to stiffen up.
With the precision of a drunk dentist, I cut the bottom of the case off so I could pull the phone out.
cut a little too deep :(
Now the case is a slider. It is still extremely stiff(but 1.3 grams lighter). Since I made the case by using my phone as a mold, it fits it extremely snugly. I might add a little bendy stopper bit, but so far it seems like overkill.
Sunday, August 15, 2010
Tethering on the unrooted Vibrant
Turned on USB debugging, plugged phone into laptop, told NetworkManager to connect to T-Mobile...Done. It's amazing when you plug in a random device into Linux and right thing(tm) happens.
3G seems a lot faster on T-mobile that on AT&T. Tethering on AT&T meant things like GMail loaded painfully slowly. Latency seems high(130ms to google, 90ms more than on my Comcast, I guess HSUPA isn't kicking in), but at least it's consistent. Throughput is pretty amazing, 450K/s.
3G seems a lot faster on T-mobile that on AT&T. Tethering on AT&T meant things like GMail loaded painfully slowly. Latency seems high(130ms to google, 90ms more than on my Comcast, I guess HSUPA isn't kicking in), but at least it's consistent. Throughput is pretty amazing, 450K/s.
Subscribe to:
Posts (Atom)








