While the ubiquitous TI-83 still runs off an ancient Zilog Z80 processor, the newer TI-Nspire series of graphing calculators uses modern ARM devices. [Codinghobbit] managed to get Debian Linux running on a TI-Nspire calculator, and has written a guide explaining how it’s done.
The process uses Ndless, a jailbreak which allows code to run at a low level on the device. Ndless also includes a full SDK, emulator, and debugger for developing apps. In this case, Ndless is used to load the Linux kernel.
The root filesystem is built on a PC using debootstrap and the QEMU ARM emulator. This allows you to install whatever packages are needed via apt, before transitioning to the calculator itself.
With the root filesystem on a USB flash drive, Ndless runs the Linux loader, which starts the kernel, mounts the root filesystem, and boots in to a Debian system in about two minutes. As the video after the break demonstrates, this leaves you with a shell on the calculator. We’re not exactly sure what to do with Linux on a graphing calculator, but it is a neat demonstration.
Continue reading “Running Debian on a Graphing Calculator”
As an adventure in computer history, [Len] built up a clock. The Z80 Micro TV Clock brings together a homebrew computer and three Micro TVs into a rather large timepiece.
The computer powering the clock runs the CP/M operating system. This OS was eventually released as open source software, and a variety of homebrew computer projects have implemented it. This clock is based on an existing breadboard CP/M machine, which includes schematics and software.
With an OS running, [Len] got a text editor and C compiler working. Now custom software could be written for the device. Software was written to interact with a Maxim DS12885 Real Time Clock, which keeps the time, and to output the time to the display controllers.
The Micro TVs in this build are Sony Watchman displays featuring a 2″ CRT. The devices had no video input port, so [Len] ripped them open and started poking around. The NTSC signal was found by probing the board and looking for the right waveform.
To drive the TVs from CP/M, a custom video driver was built. This uses three relatively modern ATmega328P microcontrollers and the arduino-tvout library. All of these components are brought together on a stand made from wood and copper tubing, making it a functional as a desk top clock
Who doesn’t like integrated circuit porn? After pulling a PCD8544 display controller from an old Nokia phone, [whitequark] disrobed it and took the first public die shot.
As we’ve seen in the past, removing a die from its packaging can be a challenge. It typically involves nasty things like boiling acid. Like many display controllers, the PCD8544 isn’t fully encapsulated in a package. Instead, it is epoxied to a glass substrate.
Removing the glass proved to be difficult. [whitequark] tried a hot plate, a hot air gun, sulphuric acid, and sodium hydroxide with no success. Then the heat was turned up using MAPP gas, which burned the epoxy away.
After some cleaning with isopropanol, the die was ready for its photoshoot. This was done using a standard 30 mm macro lens. Photo processing was done in darktable, an open source photography tool and RAW processor.
[whitequark] plans to take closer photos in the future using more powerful magnification. These high resolution die photos can be useful for a number of things, including finding fake chips and reverse engineering retro hardware.
Most modern DSLR cameras support shooting full HD video, which makes them a great cheap option for video production. However, if you’ve ever used a DSLR for video, you’ve probably ran into some limitations, including sluggish autofocus.
Sensopoda tackles this issue by adding an external autofocus to your DSLR. With the camera in manual focus mode, the device drives the focus ring on the lens. This allows for custom focus control code to be implemented on an external controller.
To focus on an object, the distance needs to be known. Sensopoda uses the HRLV-MaxSonar-EZ ultrasonic sensor for this task. An Arduino runs a control loop that implements a Kalman filter to smooth out the input. This is then used to control a stepper motor which is attached to the focus ring.
The design is interesting because it is rather universal; it can be adapted to run on pretty much any DSLR. The full writeup (PDF) gives all the details on the build.
Anyone who grew up with a Game Boy knows how well they sucked through AA batteries. [Nick]’s Game Tin console solves this problem by running of an ultracapacitor charged by solar power.
The console is based on a EFM32 microcontroller: an ARM device designed for low power applications. The 128×128 pixel monochrome memory display provides low-fi graphics while maintaining low power consumption.
There’s two solar cells and a BQ25570 energy harvesting IC to charge the ultracap. This chip takes care of maximum power point tracking to get the most out of the solar cells. If it’s dark out, the device can be charged in about 30 seconds by connecting USB power.
The 10 F Maxwell ultracapacitor can run a game on the device for 1.5 hours without sunlight, and the device runs indefinitely in the sun. Thanks to the memory display, applications that have lower refresh rates will have much lower power consumption.
The Game Tin is open source, and is being developed using KiCad. You can grab all the EDA files from Bitbucket. [Nick] is also gauging interest in the Game Tin, and hopes to release it as a kit.
Star Wars: Yoda Stories was released by LucasArts in 1997 to minimal critical acclaim. As IGN said, “like Phantom Menace proved, just because it’s Star Wars doesn’t mean it’s good.” This didn’t stop [Zach] from playing it, and years later, taking an interest in reverse engineering the game.
[Zach]’s reverse engineering of Star Wars: Yoda Stories (google cache) takes a look at the game’s data file. This binary file is parsed by the game at run time to extract sound effects, sprites, and map tiles. Perhaps the best known game data file type was Doom’s WAD file, which had purpose built editing programs from third parties.
After a quick look at the data file in HxD, [Zach] began writing scripts in C# to extract different sections of the data file. Once the sections were found, more code was used to apply a color palette and generate bitmaps.
In the end, [Zach] managed to get a couple thousand tiles of the game’s data. He found some interesting ones, such as the sports car that he replaced the X-Wing with in his mod. The engine for an earlier Lucasarts game, Indiana Jones and His Desktop Adventures, should be very similar, and once we find the Mac install disk and a copy of ResEdit, we’ll post something on Hackaday.io.
Last year, [Ytai] went to Burning Man for the first time. He was a bit inexperienced, and lacked the lumens to make him visible on the Playa. This year, he made up for it by building an extra bright LED Jacket.
The jacket consists of 48 LEDs, at 150 lumens each. Each RGB LED module was placed on its own PCB, and controlled by the tiny PIC12F1571 microcontroller. This microcontroller was a great fit since it has three PWM channels (one for each color) and costs 50 cents. Firmware on the PIC allows the boards to be daisy-chained together to reduce wiring. This was done by using a protocol similar to the popular WS2811 LEDs.
Assembling 50 of the boards presented a challenge. This was addressed by using surface mount components, a solder stencil from OSH Stencils, an electric skillet, and a good amount of patience. The final cost of each module was about $3.
With 50 of the boards assembled, a two layer jacket was sewn up. The electronics were sandwiched between these two fabric layers, which gave the jacket a clean look. A wrist mounted controller allows the wearer to select different patterns.
For a full rundown of the jacket, check out the video after the break.
Continue reading “A Very Bright LED Jacket”