Creative Limitation And The Super Nintendo Sound Chips

The Super Nintendo recently experienced a surge in popularity, either from a combination of nostalgic 30-somethings recreating their childhoods, or because Nintendo released a “classic” version of this nearly-perfect video game system. Or a combination of both. But what made the system worthy of being remembered at all? With only 16 bits and graphics that look ancient by modern standards, gameplay is similarly limited. This video from [Nerdwriter1] goes into depth on a single part of the console – the sound chips – and uses them to illustrate a small part of what makes this console still worth playing even now.

The SNES processed sound with two chips, a processing core and a DSP. They only had a capacity of 64 kb, meaning that all of a game’s sounds and music had to fit in this tiny space. This might seem impossible if you’ve ever played enduring classics like Donkey Kong Country, a game known for its impressive musical score. This is where the concept of creative limitation comes in. The theory says that creativity can flourish if given a set of boundaries. In this case it was a small amount of memory, and within that tiny space the composer at Rare who made this game a work of art was able to develop a musical masterpiece within strict limitations.

Even though this video only discusses the sound abilities of the SNES, which are still being put to good use, it’s a good illustration of what made this system so much fun. Even though it was limited, game developers (and composers) were able to work within its limitations to create some amazingly fun games that seem to have withstood the test of time fairly well. Not all of the games were winners, but the ones that were still get some playtime from us even now.

Continue reading “Creative Limitation And The Super Nintendo Sound Chips”

Ping-Pong Ball Makes Great PID Example

It is a common situation in electronics to have a control loop, that is some sort of feedback that drives the input to a system such as a motor or a heater based upon a sensor to measure something like position or temperature. You’ll have a set point — whatever you want the sensor to read — and your job is to adjust the driving thing to make the sensor read the set point value. This seems easy, right? It does seem that way, but in realitythere’s a lot of nuance to doing it well and that usually involves at least some part of a PID (proportional, integral, derivative) controller. You can bog down in math trying to understand the PID but [Electronoobs] recent video shows a very simple test setup that clearly demonstrates what’s going on with an Arduino, a motor, a distance sensor, and a ping-pong ball. You can see the video below.

Imagine for a moment heating a tank of water as an example. The simple approach would be to turn on the heater and when the water reaches the setpoint, turn the heater off. The problem there is though that you will probably overshoot the target. The proportional part of a PID controller will only turn the heater fully on when the water is way under the target temperature. As the water gets closer to the right temperature, the controller will turn down the input — in this case using PWM. The closer the sensor reads to the setpoint, the lower the system will turn the heater.

Continue reading “Ping-Pong Ball Makes Great PID Example”

Reflecting On Margaret Hamilton: 50 Years After Apollo 11

In celebration of the 50th anniversary of the first Apollo moon landing, Google created a 1.4-square-mile portrait of NASA software developer Margaret Hamilton using more than 107,000 mirrors from the Ivanpah Solar Facility in the Mojave Desert, a solar thermal power plant with a gross capacity of 392 megawatts.

The fields of heliostat mirrors (173,500 in total) ordinarily focus sunlight on receivers located on the solar power towers, which subsequently generate steam to drive steam turbines. The facility was first connected to the electrical grid in September 2013 before formally opening in February 2014, during which it was the world’s largest solar thermal power station. Ivanpah was developed by BrightSource Energy and Bechtel, with Google contributing $168 million towards its $2.2 billion in costs. Google no longer invests in the facility, however, due to the decline of the price of photovoltaic systems.

The facility has historically taken steps to avoid disrupting the natural wildlife, which includes desert tortoises. The effect of mirror glare on airplane pilots, water concerns, and collisions with birds has also been addressed by the operators of the installation.

According to Google, the image was larger than Central Park and could be seen a mile above sea level. The mirrors are all attached to a rotating mount that maneuvers the mirrors in order to create lighter and darker shades to make up the image.

The Apollo 11 mission, manned by Buzz Aldrin, Neil Armstrong, and Michael Collins, was the first to bring humans to the moon in 1969. Hamilton‘s role in the team included programming the in-flight software for all of NASA’s Apollo missions. She had also worked on satellite tracking software for the Air Force through Lincoln Lab (started by the Massachusetts Institute of Technology) and later joined the Charles Stark Draper Laboratory. It was, however, her work on creating computer systems to predict and track weather systems for use in anti-aircraft air defenses that made her a candidate for a lead developer role at NASA.

Continue reading “Reflecting On Margaret Hamilton: 50 Years After Apollo 11”

Big Ol’ LED Wall Looks Cool, Can Draw Over 170 Amps

Building giant LED walls comes with a serious set of challenges. Whether they lie in power, cable routing, or just finding a way to clock out data fast enough for all the pixels, it takes some doing to build a decent sized display. [Phill] wanted a statement piece for the office, so rolled up his sleeves and got to work.

The build uses P5 panels, which we’ve seen used before on a smaller scale. Initial testing was done with a Raspberry Pi 3, which started to run out of grunt when the build reached 28 panels. The refresh rate was slow, and anything with motion looked messy. At that point, a dedicated driver was sourced in order to handle the full 48-panel display. Other challenges involved dealing with the huge power requirements – over 170 amps at 5 volts – and building a frame to hold all the panels securely.

The final product is impressive, standing 2 meters wide and 1.2 meters high. Resolution is 384 x 256. With a Mac Mini running video into the display through the off-the-shelf driver, all manner of content is possible. [Phill] even whipped up a Slack channel for users to send GIFs and text messages to the display. Naturally, we’re sure nobody will take advantage of this functionality.

If you’ve got your own giant LED wall, and you’re dying to tell us about it, make sure you get in touch. Video after the break.

Continue reading “Big Ol’ LED Wall Looks Cool, Can Draw Over 170 Amps”

Open Source Smart Display Takes The Long Way Around

Thanks to the relatively low cost of the Raspberry Pi and high resolution LCD screens, “smart displays” have become a favorite project of those looking to clear out their parts bins. Just hook the Pi up to the screen, setup some software, and you’ve got yourself a digital bulletin board for your home that can show your schedule, the weather, etc. Build it into a mirror, and you’ve got yourself at least double Internet points.

But when [John Basista] started planning his own smart display, he decided to take the path less traveled. He’s entered the resulting open source project into the 2019 Hackaday Prize, and we’re very excited to see where it goes from here. Even in these early days he’s already made some great strides, with nary a Raspberry Pi in sight.

[John] has nothing against using the Raspberry Pi for these smart displays, and indeed, it has a number of traits which make it particularly well suited to the task. But the problem for him was that it only supported HDMI, and he had his heart set on using an Embedded DisplayPort (eDP) screen. Namely the Innolux N173HCE-E31, a 17.3 inch IPS LCD designed for laptops.

He tried to find a Linux or Android compatible SBC that featured eDP, but found it to be a challenge. There were some x86 options, but didn’t want to go down that road. Eventually he settled on the Dragonboard 410c, which features a quad-core Qualcomm APQ8016E CPU running at 1.2 GHz and 1GB of RAM. This board didn’t have eDP either, but it did have Display Serial Interface (DSI), which he could convert to eDP with the Texas Instruments SN65DSI86 IC.

From there, he started developing a PCB which would hold the Dragonboard 410c and the SN65DSI86. The board also breaks out I2C and UART so he can connect it to various other sensors and gadgetry down the road, and includes all the necessary power regulation to drive everything. The whole thing fits in the palm of your hand, and judging by the renders [John] has put together, should nestle nicely into the back of the 3D printed enclosure when everything is finished.

There’s still quite a bit left to do on this project, but [John] has plenty of time to tie up the loose ends. Currently there’s little information about the software side of things, but as you can see in the video after the break, it’s now running Android which should make things relatively easy.

Continue reading “Open Source Smart Display Takes The Long Way Around”

Machinist Tools: Edge Finding

Machinists like to live on the edge, but they always want to know precisely where it is. If you’ve watched any machining videos (*cough*) then you’ve seen heavy use of digital readouts on machines. A “DRO” (as the cool kids call them) is a little computer that knows where the slides are, and thus where your cutter is on the piece. However, there’s a catch. DROs don’t know the absolute position of the spindle, they know the relative position of it. The bottom line is that a DRO is just a fancier version of the graduated scales on the hand wheels. The key difference is that the DRO doesn’t suffer from backlash, because it is measuring the slides directly (via glass scales similar to your digital caliper) rather than inferring position from rotations of the leadscrews. With traditional hand wheels, you have to compensate for backlash every time you change direction, and a DRO saves you from that (among other convenience features).

The point is that, whether old school or new, you still only get a relative coordinate system on your part. You need to establish an origin somehow. A useful way to do this is to set an origin at one corner of the part, based on its physical edges. How do you tell the DRO (or hand wheels) where the edges are? Enter the edge finder.

Continue reading “Machinist Tools: Edge Finding”

BootBasic Fits Your Favorite Language In The Boot Sector

Humans seem to have a need to do things that aren’t practical. Make the biggest ball of twine. Engrave the Declaration of Independence on a grain of rice. We want to make things bigger, smaller, faster, or whatever. That might explain why [nanochess] put out bootBASIC.

The 8088 (or later) assembly code gives you a very restricted BASIC interpreter that you can boot up. That means it has to fit in the 512-byte boot block that the hardware loads to get an operating system running. How restricted? Keep in mind it fits in 512 bytes. Each line can only have 19 characters or less. Backspace works, but doesn’t update the screen. Line numbers range from 1 to 999 and there are only 26 integer variables named a through z that hold 16 bits. All statements are in lower case.

Continue reading “BootBasic Fits Your Favorite Language In The Boot Sector”