Hacker News new | ask | show | jobs
by mlyle 872 days ago
> back in the day, I could buy an (UV) EPROM programmer for several hundred $$. Or I could study the datasheets, build my own EPROM programmer for a fraction of that, and write some software. Guess which route I took.

Even in 80's dollars, that's a big opportunity cost as a grownup. Now you can buy a $3 STLink and call it good. It's changed.

He said nearly a thousand dollars, which isn't that hard to get to-- but it means that you're doing a pretty wide variety of stuff.

1 comments

Yeah. There's a small set of prepackaged micro- or teeny- computer programming interfaces. Or the plug-and-play if you will. In fact, that small set of convenience products only serves a market of kids that want to play with toys. They're literally toys. Ten or fifty dollar ARM microprocessors or microcontrollers coming in a box with integrated debugging features and integrated WiFi modules. And their complementary three dollar programming link handhelds. All from off the digital Amazon.com or AliExpress shelf. The "in-band" programming interface at accessible prices and stores.

And that's fine.

It's just that for me, on the other end of the spectrum, I prefer a little bit more adventure. Some less constraints. So, I need an "out-of-band" microchip programming solution for my aims.

Outside the kid world, you're required to be more knowledgeable about the way the world really works. You learn a whole lot more with out-of-band computer modifications than if you were to just plug and play some prepackaged handheld programming device into a little chip. You get more intimate with the microchip and its internals. You get concerned about its voltages and current needs, in order to achieve a proper relationship between your curiosity and the microchip's capabilities.

I want to dig into the raw power contained and hidden in unimposing millimeter (or centimeter) wide circuits. The re-programmability of microcontrollers or teeny-tiny computers, specifically.

There is no current documented solution for that. Beyond going your own way in a very long study and practice of electronics engineering and salvaging.

I'm going to translate your comment in how it sounds to me:

"I've spent a lot on embedded development. In large part, I've done this because I've sought to make things unnecessarily complicated and because I like playing with this stuff. I will deride the typical tools used today by most embedded developers as toys. I will use these views to try and support an assertion that computing isn't effectively 'free' in a monetary sense"

It's not like any of this is that complicated. I've spent plenty of time building my own programmers for things; I've bitbanged SWDIO, programmed EPROMs and micros with a parallel port and shift register or GPIOs on other micros; made pogo pin things, etc. If I were looking to get things done, odds are I can spend a few tens of dollars and just get going, and design in a part that costs a few tens of cents for a whole lot of computing in historical terms.

> I want to dig into the raw power contained and hidden in unimposing millimeter (or centimeter) wide circuits. The re-programmability of microcontrollers or teeny-tiny computers, specifically.

Very little of this is arcane on modern devices. Even a couple of decades ago the "hardest" thing in common use was the need for higher voltages for EEPROM erasure. IMO, where things get interesting is where you abuse peripherals to do things they weren't intended to do, but even that isn't usually equipment intensive-- a 4 channel oscilloscope and a debug probe will get you a long ways.

Yeah, you're right. Someone can spend at most five hundred or seven hundred dollars on a complete embedded systems development combination-set which maybe consists of something like one or five or twenty ARM microcontrollers and the convenient hardware application programming interfaces that are compatible with them, the small computers. Micro computers?

Anything else, anything outside this standard specification you've shared with me, is where some hardcore hacking goes on, in my opinion.

> Yeah, you're right. Someone can spend at most five hundred or seven hundred dollars on a complete embedded systems development combination-set which maybe consists of something like one or five or twenty ARM microcontrollers and the convenient hardware application programming interfaces that are compatible with them, the small computers.

You can literally become equipped to develop for microcontrollers and have a bunch of boards for less than $50 (excluding a laptop).

If you want to go a bit further, you can get a lab supply and a halfway decent DSO with logic analyzer capability for under $500.

> Anything else, anything outside this standard specification you've shared with me, is where some hardcore hacking goes on, in my opinion.

I've done plenty of hardcore hacking, and ... even then, not really. FPGAs? You can get ICE40 boards for <$20. A microscope is nice, but $40. Soldering iron? Pinecil is pretty great for $40.

I spent so much money on equipping myself to do EE stuff 25 years ago. Now you can do much more than I did back then for peanuts. Heck: I just built 20 little embedded ARM computers for students with LCD, cherry switches, and a debug monitor for $300, and the biggest expense was the blank keycaps. It was trivial to get going. That includes manufacturing. We are spoiled. https://github.com/mlyle/armtrainer

Where things get expensive is doing anything fancy analog, RF, very high speed (which is really also analog ;). Computing itself is cheep cheep cheep.

Impressive looking development board. It's beautiful even.

But a feature rich integrated development environment would be better. Especially if it, both a hardware accommodating and software accommodating development environment, operates on more than just something like the toy ARM Thumb instruction set and its ARM based microcontrollers.

After all, you don't need an architecture like ARM or even x86 to do some simple things that should be as accessible as alternating current mains electricity or sunlight from the Sun.

Computing is cheap, but only because it's easy to clear the low bar for having a Turing machine. Turing machines even occur naturally. Conway's Game of Life is Turing complete and subsequently you can build a computing machine with it. No ARM or x86 emulation or JTAG-ing necessary. Here, it's unnecessary to even summon a UART to USB adapter.

So, although computing is cheap, it's being locked behind some proprietary bars right now. I'm just looking for the keys to free some computers. Particularly I wanna free very teeny sized computers like microcontrollers.

> operates on more than just something like the toy ARM Thumb instruction set

This is about the most common instruction set in common embedded use in the world. IMO not too toyish.

> Especially if it, both a hardware accommodating and software accommodating development environment,

I'm a bit confused as to your point-- you seem to be simultaneously arguing for "more capabilities" but "smaller computer".

If you're saying "more integrated development" -- and mean specifically self-hosting-- the $1.75 microcontroller running in there is capable of being an 80's era DOS computer with all of those tools, etc, self-hosted. Playing with this is on my todo list for the luls. If you just want open-source development, GNU-arm-embedded is built on eclipse and gcc.

If you're saying smaller computers: STM8, 8051, etc, are easy, too. But there's really not a whole lot of reason to design below the $5 point unless you're mass producing something. The developer's time is worth something, too. Having a big pile of RAM to not even think about putting things on stack, etc, is nice.

If you're saying "free as in freedom" (you were responding to someone making a cost argument with the word "free") -- you can go ICE40 and put any number of open source hardware computing designs on it, and control every bit. Indeed, I had a high school class just build microprocessors from scratch on this approach.