From the Fundamentals
8051 with Write-ONLY EPROM
Our founder started his career in embedded systems as the teachers assistant (TA) for the graduate-level embedded systems (ECEN 5613) at CU-Boulder. This class taught the fundamentals through an interesting approach, forcing students to know and understand what they are implementing (rather than ‘hacking it out’). The how of this is a bit technical, but involves the use of EPROMs (erasable programmable read-only memory), which were only programmable and erasable by two separate, slow machines. This process, forced the student to actually understand what they were doing, and why, instead of iterating it out, without really ‘getting’ what they had done.
This approach, albeit resulting in significantly more time/effort for the student, laid the underpinnings of our design approach: Understand it, implement with purpose, and this will limit waste and costly issues down the road. In other words, do it right the first time.
Our experience includes designing embedded systems for satellites (including the AFOSR NanoSat V competition-winning DANDE satellite, here), robotics, wireless power (one of Time’s ‘Best Inventions of 2007’, here) and a variety of RF applications (RF noise cancellation, RF direction finding, and RADAR systems).
One fun ‘get it out today’ experiment was proof-of-concepting the DANDE satellite antennas and communication system. Below is a one-day hack-together with the embedded system, radios, and antennas all working together - on a foam mockup of the satellite - to showcase the concept early on to (and this almost always the case in aerospace) reduce risk of the design.
The board in the middle is a custom prototyping board we had made as the first Electrical Engineering effort on the satellite, once the hardware and software/firmware architecture had been down-selected. It included all the based hardware and firmware libraries that each subsystem of the satellite (e.g. nano-g scale accelerometer system, neutral-mass spectrometer, attitude determination/control, communications, etc.).
In this case it was being used exactly as intended, allowing us to quickly try out a radio and sensor architecture, with the microcontroller and firmware base, without having to spin a board. And in fact, this system was put together, programmed, and tested same day. It was then flown to 100k feet on a high-altitude balloon a couple days later (with commensurately-smaller ground antennas), proving the communication system concept.