AVRSH: What a tool! I mean that in a good way.

It should be no surprise that, thanks to the Auduino platform, I reach for an AVR microcontroller first…at least for any project where an ARM SoC isn’t what I’m after.  Part of the success of both the AVR and the Arduino platform (which is based on the AVR) is the proliferation of tools.  When you’re working on a microcontroller, you’re flying with one propellor and not much else.  In fact, in any good embedded development shop, you’ll find at least one tools specialist whose full time (or nearly full-time job) is to cobble together the toolkit for the other engineers.  This person’s bread and butter is keeping everyone else from flying blind.

Suffice it to say, I love a good tool, and this could be one of the best I’ve seen in a long time…AVRSH, a command line and shell that directly exposes the features of an AVR.  Register manipulation, pin configs, fuses…it’s all in there, and you can interact with them using a very familiar interactive shell.  This is useful for two major reasons.  The first is for those times when you need to poke around and scope out how a chip feature really works.  Traditionally, I attack this by making a “dummy load” program and either single-stepping through it with debugger or watching the fireworks through JTAG.  If neither are available, I make the program have some long timing in it and I start attaching an oscope or LEDs to watch the state of lines.  This works, but it’s a crude process that’s infinitely improved by letting me more freely interact with the chip’s features myself.

The other way AVRSH is awesome is in general proptyping of a concept.  Because the only way to know if your program works is to build it, program your board with it, and watch the results, there’s an endless treadmill involved in early prototyping.  An interactive shell greatly improves this scenario, especially if you’re engaged in HW/SW co-design and need to watch how changes at one level impact another.

This is, effectively, the difference between exploring a cave by throwing wireless cameras in random directions and watching the video produced…and exploring a cave by picking up a flashlight and going for a stroll.

Make this a great scripting environment and basic embedded systems programming just became a first-class part of the Linux apps programming world.  With AVRs making such great controllers for robotic activities, how long before “Begone or I’ll replace you with 10 lines of Perl” really becomes true?

lig tv

ligtv

maç izle

canlı maç

футбол онлайн

трансляция футбол

смотреть онлайн футбол

смотреть футбол

soccer live

soccer tv

live soccer streaming

stream soccer

online football

watch football

football match

football streaming

live streaming

watch football

live football

football tv

futbol vivo

partido en vivo

juegos futbol

futbol online

futbol gratis

roja directa

jogos de futebol

jogo de futebol

futebol online

assistir tv

atdhe

foot en direct

jeux de foot

jeux football

calcio diretta

calcio streaming

giochi calcio

live ποδόσφαιρο

podosfairo live

αγωνεσ ποδοσφαιρου

video sepak bola

game bola sepak

Siaran Langsung Sepakbola

bola siaran langsung

futbol juegos

partidos en vivo

bóng đá online

xem bóng đá

bóng đá trực tuyến

bóng đá trực tiếp

ฟุตบอล online

ฟุตบอลสด

บอล online

ดู ฟุตบอล สด

ถ่ายทอด สด

online futball

live fussball

fussball live stream

live stream fußball

bundesliga live stream

fußball live

bundesliga fußball

piłka nożna na żywo

piłka nożna online

fotbal live

fotbal online

fotbal živě

fotbal zive

fotbollskanalen

fotball live

fotball på tv

футбол онлайн

футбол трансляція

футбол канал

live voetbal

live voetbal

voetbal kijken

voetbal online

фудбал уживо

fudbal uzivo

live fudbal

futbal online

live futbal

live footy

مباريات كرة القدم

مباشر كرة القدم

بث حي مباشر

مباشر مباريات

כדורגל שידור ישיר

שידור חי כדורגל

بث كرة القدم

Comments off

A Merry Christmas Indeed

My wife, the ever-wonderful Amy Hale, gave me a wonderful Christmas gift.  I now have an Arduino Duemilanove, an XPort shield kit, and a LED art kit.  Of course, the first thing I’ve considered is doing some web data-driven light art, so I just need to figure out what data I want to capture and visualize.  That’s the beauty of Arduino systems…everything is simple, componentized, and ready to use.  The high level language used to program the platform, Processing, really leaves you asking questions about the application of the platform instead of the implementation.  I don’t believe it’s the best way in the world to learn about the design of an embedded system, but for getting something done, it’s a system which is hard to beat.

A note to prospective gift buyers, though.  The XPort shield kit is just the platform for an Ethernet module but it is not an Ethernet module on its own.  The supplier may be offering the module as part of an extended kit, but the build instructions at Make suggest buying an XPort which will cost an additional $30 or so (after shipping, etc).  So, just remember this if you want to make the gift all-inclusive.

The other great thing is that now I have an Arduino, which I was actually planning on using to make a touch-screen prototype at work.  Again, the focus on componentization and a high-level programming environment makes this a good platform for quick prototyping.  When you can buy a TouchShield, drop it on the shield connector, and grab an extra Processing library and start looking at your prototype application…well, that’s a rapid prototyping dream.

I’ve been doing more part sourcing research on my completely made-from-scratch platform.  I’ll post about that separately.

Comments off

Looking ahead — Arduino vs Going It Alone

While I do have some exercises left to do before I give my final review of the XGameStation Game Console Design Starter Kit, I’m also trying to look ahead to a future project.  There are a few reasons for this.  The first is the obvious one– it’s because I can.  Another reason, however, is because the XGS was mostly a process of getting my feet wet in prototyping, working with circuits, etc.  It’s important in a self-education process to first get the feeling that you’re not going to blow it big time.  Lacking a classroom environment, I basically picked something that would give me a structured process to learning how to read data sheets, work with circuits, program a microcontroller, etc.  Now that I feel more comfortable, I think I can start taking on projects that are a little more complex and a little more interesting.

There’s also the other factor that the XGS isn’t the easiest platform to program for.  Not only is it necessary to hand-count clock cycles to ensure you keep generating the NTSC signal correctly, but the SX has a memory architecture I find cringe-inducing.  The limitations on calls, the paging system…it makes the entire process more arcane than I think it needs to be.  Adding to this is the difficulty of producing color, which requires careful timing to get any given color.  The XGS Pico lacks the color helper hardware of the XGS Micro.

So, I’m looking ahead to the next fish to fry.  I guess I’m a product of my past in mobile devices, but I am fairly interested in something with a nice little LCD or OLED display.  I’d like an SD card interface, too.  USB would be handy.  For UI, maybe a touch screen and a few buttons.  Just a nice “screwing around” platform.

What’s interesting is that I have a few options for part sourcing on this.  The first and most obvious is to purchase an Arduino and the associated TouchShield.  This gets me off the ground in virtually no time and it also gives me a chance to play around with a very popular hardware platform.  The Processing language is also an interesting way to work in an high-level language when you’re coding for a microcontroller.  The downside, however, is that I’m not sure I’ll be learning all that much.  It seems like everything is pretty much done for me at that point, from the bootloader to the parts sourcing for the display shield.

At the other end, there is the choice of completely rolling my own from scratch.  This would mean selecting a microcontroller that I like (most importantly, something with in-system programming, sufficient I/O pins, and an instruction set I like), getting its programmer circuit set up, plopping down some USB and SD card support, and bringing on a touch screen part.  I’m fairly okay with the idea of doing that, but I get the feeling that going this route is going to incur too much of a learning curve issue.  Many of the desired parts are only available as SMT, and I don’t have tools or experience for that (yet).  On top of that, I’d probably need a TON of breakout boards to get this mocked up on a breadboard, because I don’t know what other prototyping tools I’d have at my disposal.  Not impossible, yes, but if I wander around in the woods too much then this blog will get very boring very quickly.

The middle-of-the-road idea is to get a prototyping board like this one from SparkFun.  This has a lot of advantages.  It goes ahead and takes care of a number of SMT and PCB creation concerns I have at the moment, gives me a nice through-hole prototyping area from which to work, and by the time I get things working with it, I’d probably be in a better position about rolling my own about SMT parts and my own PCB designs.  At least, that’s a hope.  Of course, I’d have more fun writing my own boot code, but hey…the eval boards here at work all come with sample bootloaders!

But, I still want to have an Arduino laying around, so why not do both?  I can get things humming along by sketching it out with an Arduino platform, then apply what I’ve learned in designs of my own?  It seems as feasible an idea as any, and with so many quick and easy things available for the Arduino platform, why not?

lig tv

ligtv

maç izle

canlı maç

футбол онлайн

трансляция футбол

смотреть онлайн футбол

смотреть футбол

soccer live

soccer tv

live soccer streaming

stream soccer

online football

watch football

football match

football streaming

live streaming

watch football

live football

football tv

futbol vivo

partido en vivo

juegos futbol

futbol online

futbol gratis

roja directa

jogos de futebol

jogo de futebol

futebol online

assistir tv

atdhe

foot en direct

jeux de foot

jeux football

calcio diretta

calcio streaming

giochi calcio

live ποδόσφαιρο

podosfairo live

αγωνεσ ποδοσφαιρου

video sepak bola

game bola sepak

Siaran Langsung Sepakbola

bola siaran langsung

futbol juegos

partidos en vivo

bóng đá online

xem bóng đá

bóng đá trực tuyến

bóng đá trực tiếp

ฟุตบอล online

ฟุตบอลสด

บอล online

ดู ฟุตบอล สด

ถ่ายทอด สด

online futball

live fussball

fussball live stream

live stream fußball

bundesliga live stream

fußball live

bundesliga fußball

piłka nożna na żywo

piłka nożna online

fotbal live

fotbal online

fotbal živě

fotbal zive

fotbollskanalen

fotball live

fotball på tv

футбол онлайн

футбол трансляція

футбол канал

live voetbal

live voetbal

voetbal kijken

voetbal online

фудбал уживо

fudbal uzivo

live fudbal

futbal online

live futbal

live footy

مباريات كرة القدم

مباشر كرة القدم

بث حي مباشر

مباشر مباريات

כדורגל שידור ישיר

שידור חי כדורגל

بث كرة القدم

football forum

tn115

tn115 toner

brother tn115

tn115bk

brother tn115bk

tn115bk toner

DCP-9040CN toner

DCP-9045CDN toner

HL-4040CDN toner

HL-4040CN toner

HL-4070CDW toner

MFC-9440CN toner

MFC-9450CDN toner

MFC-9840CDW toner

DCP9040CN toner

DCP9045CDN toner

HL4040CDN toner

HL4040CN toner

HL4070CDW toner

MFC9440CN toner

MFC9450CDN toner

MFC9840CDW toner

q6000a toner

q6000a cartridge

hp 1600 color

hp 1600 toner

hp 1600 ink

laserjet 1600 toner

hp color 2600

hp toner 2600

hp 2600 ink

hp 2600 toners

hp 2600 cartridge

1600 toner

2600 toner

toner laserjet 2600

hp 2600n color

toner for hp 2600n

hp 2600n toner

hp 2600n toners

ink for hp 2600n

toner for hp laserjet 2600n

hp laser 2600n toner

hp 2600n cartridge

hp 2600n cartridges

hp laserjet 2600n ink

toner laserjet 2600n

hp toner q6003a

q6003a cartridge

q6000a toner

q6002a cartridge

hp color 3800

toner for hp 3800

toner hp 3800

hp 3800 cartridges

laserjet 3800 toner

cartridge q6470a

q6470a hp

toner q6470a

hp q6470a black

hp q7581a

q7581a toner

hp q7583a

q7583a toner

hp q7582a

q7582a toner

hp 3800dn toner

hp cp3505 toner

hp 3600 toner

toner for hp 3600

hp 3600 toners

hp 3600 cartridge

hp 3600 cartridges

hp 3600 ink

laserjet 3600 toner

q6470a toner

q6470a cartridge

q6470a black

hp q6470a

q6471a toner

hp q6471a

hp q6473a

toner q6473a

hp q6472a

toner q6472a

hp 3600 toner

toner for hp 3600

hp 3600 toners

hp 3600 cartridge

hp laserjet 3600 toner

hp 3600 ink

hp 3600 toner cartridge

hp laserjet 3600 cartridge

hp 3600 toner cartridges

laserjet 3600 toner

hp 3600n toner

toner for hp 3600n

hp 3600n cartridge

hp laserjet 3600n toner

hp 3600n cartridges

hp 3600n ink

hp color laserjet 3600n toner

hp 3600n toner cartridge

hp color laserjet 3600n cartridge

q6470a hp

toner q6470a

cartridge q6470a

hp q6470a black

hp q6471a

q6471a toner

hp 2550 toner

toner 2550

hp 2550 color

hp 2550 drum

laserjet 2550 toner

toner for hp 2550

hp 2550 toners

hp 2550 ink

hp laserjet 2550 toner

hp 2550 cartridge

hp 2550 cartridges

hp 2550 toner cartridge

hp 2550 toner cartridges

hp laserjet 2550 cartridges

hp 2550 printer cartridges

q3960a toner

q3960a cartridge

q3960a black

q3960a hp

hp laserjet q3960a

q3961a toner

hp q3960a

q3962a toner

q3963a toner

hp q3963a

hp q3962a

hp q3961a

hp toner 2840

toner for hp 2840

hp 2840 toners

hp 2840 drum

drum for hp 2840

hp laser 2840 toner

hp 2840 cartridge

hp laserjet 2840 drum

Comments off