Hacker News new | past | comments | ask | show | jobs | submit login
DAN64, an AVR based 8-bit microcomputer (usebox.net)
84 points by bjoko 3 months ago | hide | past | web | favorite | 20 comments

This is a really cool project. I do a ton of AVR programming. They are fantastic chips.

A lot of people think because AVRs are 8-bit, they are just toys. And since ARM cortex processors are about the same price, that AVRs are not a good choice.

AVRs, like ARM Cortex, are SOCs (System On a Chip) but have really excellent peripheral devices compared to the ARM Cortex I've used. The AVR's internals are better documented, more consistent, more powerful and easier to use. The AtXmegas in particular, with their hardware event system and DMA controller.

ARMs have all the same peripherals but they are not as well thought out. However, if you need to do a lot of 32-bit math, ARM is a better option.

Edit: Note that a 32MHz atxmega AVR can do about 128k 32-bit floating-point multiplys per second.

There are ~four things that matter when developing product hardware:

Capability, cost, design and firmware: is the hardware/firmware combination capable of what you want, how much is the bill of materials, how laborious is designing the hardware (schematic and routing) and how easy and fast is it to develop on the system.

_Nothing_ so far has AVRs beat on the last aspect and they fare very well on the third also. And this is a shame, because similar development ease and LibC style is something that other vendors could very, very easily reproduce but are stuck up on forcing vendor lock-in and pushing their ever shittier IDEs on you.

However AVRs almost always lose on 1 and 2, especially compared to ARMs, which are just better in almost every way.

IDK, there's a lot I miss when working with an AVR rather than a Cortex-M, or at least compared to the 328ps that are everywhere thanks to the Arduino ecosystem. Trying to get the chips to do more than one real time task at a time can be a pain. Like the interrupts don't have reconfigurable priority, most of the code out there is built on blocking rather than asynchronous work, etc.

I think the best about the AVR controllers and other ATMEL products is that the datasheets are top-notch because they contain all necessary information to use the device/peripherals in a concise and readable style.

It is usually difficult to read the entire manual of an ARM Cortex because of the sheer volume and because the documentation tends to be split over several documents. For an AVR chip, you can easily flip through the entire datasheet.

As to how excellent and powerful the AVR peripherals are -- there are some strange peculiarities and limitations which ATMEL never addressed, for example the strange SPI/slave behaviour: http://rpc.gehennom.org/2013/09/atmega2560-as-an-spi-slave/

>AVRs, like ARM Cortex, are SOCs (System On a Chip) but have really excellent peripheral devices compared to the ARM Cortex I've used.

A 100% seconded. Check out their new line of ATtiny devices. They start at 0.30USD/pc, but come with every peripheral one could imagine.

Most lower end Cortexes only come with bare bone peripherals and are encumbered with poor glue logic like multi cycle GPIO access or flash waitstates.

Yep, I enjoy AVR, even when programming in assembly for it.

The peripherals are all i2c, pwm, spi or uart? So they are shared between all microcontrollers and even intel.

Author here. Nice to see this on HN again. Since the first time, the design has been validated by another hobbyist (and ported to NTSC, original composite video is PAL).

If anyone is interested, I have a NTSC patch that I've meaning to merge for a while.

I've wanted to do a project like this for a while, but always seem to have too many higher priority things going on. There's something undeniably romantic about building your own personal computer in this fashion.

Some questions:

- How can I buy this one already assembled?

- Can it be put in a very silent case but still with a fan so as to not overheat?

- Can I use another display? (With the same technical characteristics but possibly less training on the yes; having a hardware brightness/contrast controls would be a HUGE boon as well).

- Can we use an US keyboard layout?

> Can it be put in a very silent case but still with a fan so as to not overheat?

The fan itself probably will heat up more than the chips here.

It does appear to use a linear regular though, which is always a mixed bag from a heat generation perspective as a primary power supply.

Murata OKI-78SR-5/1.5-W36-C. These are size and pin compatible with the classic 7805 linear regulators, but operate at around 90% efficiency and can supply up to 1.5A without needing a heatsink.



That's so cool, I had no idea these things existed. Thanks for sharing! I usually just route out my own buck converter.

A buck converter would be an easy upgrade.

It generates composite video, you can use just about any TV ever made.

What fan? What heat?

> ... the 23LCV512 has the interesting property of being able to operate at 5 volts, so that’s the main reason the microcomputer is called DAN64

I don't understand ...

wrong scope/weird sentence structure. 64 since he found a fitting 64k chip (one running with the right voltage), not 32 as planned I guess.

That's right. Sorry, English is not my first language.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact