Microtouch: 8-bit Open Source Media Device
First time accepted submitter misterbarnacles writes "The Microtouch is a mobile media device that aims to become an open-source alternative to the iPod Touch."
Deeper investigation reveals that the Microtouch is a nifty little device. Powered by an 8-bit microcontroller with only 2.5K of RAM there is an example ebook reader application. A primitive application framework (for some definition of the phrase) is available as Free Software, and for the hardware hackers the EagleCAD PCB files are published under a CC attribution-share-alike license.
Touch only? The article isn't clear whether it is multi-touch and whether it has accelerometers or a gyroscope.
Well, there's spam egg sausage and spam, that's not got much spam in it.
Now I wonder if people will use it. Maybe if someone produced them to order instead of having to build it yourself, they would be good. Especially since it might end up being a lot cheaper than an iPod touch.
8-bit audio sounds like crap. Can you even decode MP3s on an 8-bit processor?
Give me Classic Slashdot or give me death!
The Microtouch is a mobile media device that aims to become an open-source alternative to the iPod Touch.
Yeah keep dreaming.
I think the touchscreen is single-touch only, but pressure sensitive (from the diagnostics screenshot). The article does say it has an accelerometer.
For DIY purposes, it would be cool if it had any other I/O besides USB -- e.g. ADC or just serial-- which isn't clear to me.
But never an infrared light! Something like this would be perfect for a HTPC remote.
open-source alternative to the iPod Touch
... 8-bit microcontroller with only 2.5K of RAM ...
As someone who has programmed microcontrollers and 8-bit CPUs back in the day I think this is a pretty cool device.
But iPod touch alternative? Seriously?
8-bit microcontroller vs 32-bit embedded processor with integrated FPU
2.5K RAM vs 512M RAM
28K FLASH vs 8G FLASH
The post mentions directions, but I have downloaded the source, perused the blog, looked through the SF page and have found no instructions, parts lists or anything. If someone knows where they are please let us know. I found change log info, that is it.
I object to power without constructive purpose. --Spock
hint: add xbee to its serial port and have another arduino (etc) on the other side with an xbee on ITS serial port.
printf and scanf (well, sort of) after that. /end hint
--
"It is now safe to switch off your computer."
The device looks like a badass precursor to a lot of things I'd love to design. The demo comes across like the 8-bit World of WarCraft trailer.
http://www.youtube.com/watch?v=KlwIwYqjNlc&feature=related
Scrolling...
COMICS...
Now with LUSH Hyperlink goodness...
Apparently, it now comes with reversi!
What an incredible deal!
You can plug a SPI device into the microSD slot (there is something in the works on a .8mm pcb that does this) or if you are really stuck you can use the ISP port + overload the LED pin for device select.
Not the route I'd want to take, personally. Probably better off having your own board made if you're comfortable with smd work and want exposed points. Maybe ditch the accelerometer and do an i2c bus or something?
Ah cute. I like it.
Jason.
The touch screen appears to require calibration, just like an old Palm.
I really wonder. 2.5K RAM would allow max around 2500 letters, or a single 256-color picture of 50x50 pixels.
A "1-bit DAC" is a time-proportioning PWM DAC, as seen on a Game Boy Advance or Nintendo DS, or a delta-sigma DAC, as seen on plenty of portable CD players.
When I were a lad, we used to dream of having 2.5K of Ram. Would have been like having a hard disk to us.
Seriously, they want open hardware, they might as well go Arduino. Same class of processor, and wildly popular.
Heck, this thing's downfall might be that it's open and NOT Arduino compatible!
The AVR is a Harvard device, the one they're using has 32k of flash. The return stack is in ram so preemptive multitasking is possible. There is indirect with displacement addressing so data can be position independent. There's no memory protection though. You could fit TCP/IP on it, probably over a communications USB class, but I don't think you could fit much more than ftp/telnet on top of it.
404: sig not found.
Why did they use the ATmega32u? IMHO a better choice would have been the ATmega328. Instant compatibility with Arduino libraries.
How is this possible with so little RAM? It has an image viewer app. A single 320x240 8 bit image is 75K and somehow the LCD needs that data for smooth scrolling at 25fps. So does the processor basically generates a few lines of pixels, sends those to the LCD and then continues rendering/reading from SD card the next few lines and manages all that at 25fps?
Another post made me think of a very generous interpretation of the original quote. Perhaps the author meant to type "nano" rather than "touch". An iPod nano-like device would be a more realistic target.
Oh, well that's different then. It's only 104,858 times as much RAM, not 209,517 times. Sure does make it a serious contender now.
I was very impressed with the video of it in use. It must be using a secondary CPU or dedicated controller for the LCD as there's no way the little 8bit ATMega could update the LCD that smoothly on its own. I'm really looking forward to getting my hands on one of these!
Code, Hardware, stuff like that.
A pure text mode display could not show graphics.
The Nintendo Entertainment System has a pure text mode display, albeit with sprites on top. Games show graphics by redefining the font to include pieces of graphics. In fact, some games (such as Color a Dinosaur, Elite, Hatris, Qix, and Videomation) operate by rewriting the font in real time, treating the font sheet as if it were a bitmap with its pixels in a funny order. But I'll grant that the graphics on this device don't look anything like text mode, so the VRAM must not be part of the 2.5 KiB, just as the NES VRAM isn't part of its 2 KiB.
It's always interesting to see what people can do with an AVR, but this thing reminds me way too much of the little wallet-sized photo viewer I received recently. The screen on it was dreadful, and the resistive touchscreen was as bad or worse than I always remembered them as being. But, it served its purpose overall I guess, and I'm sure it was dirt cheap to assemble in some Chinese factory.
There's always a place for such a product, such as to developing countries, or schools as an incentive to read, etc. The problem is that the only places where it would actually be useful is not likely to be where it would end up. When there's actually somebody putting money behind them, those kinds of products usually end up as the free gifts you get for asking about signing up for some insurance company or something.
Anyway, it's neat, and I've developed with AVRs myself, but I must admit I'm still partial to the Z80. I always love finding out a particular product is still using an embedded version of one of those.
Clearly it's a smart LCD, as the device doesn't have the RAM to store a frame-buffer. The pages are of course pre-rendered, all he's doing is blitting. I hope the smart-LCD has enough video RAM, as it then might be using hardware scrolling to keep bandwidth and load down, otherwise it looks like the uC will be running at at least 50% CPU constantly, even at 5V operation.
Great work, either way. It makes the fancy-pants project I'm working on at ${DAYJOB} look like a pile of crap, comparing xistor counts.
Also FatPhil on SoylentNews, id 863
Is it really low as 4 bit, or were you exaggerating? My guess was that it is something like 10-12 bits.
Microtouch as an application framework of sorts that allows multiple applications to be built into the firmware.
It sounds really cool; but, how many flashes can the firmware take?
Having to work for a living is the root of all evil.
When 32bit ARM SoC's like the Guruplug are getting cheaper?