Our Right To Repair Depends On A Minimally Viable Laptop

It’s never been harder to repair your electronics. When the keyboard in your shiny new MacBook dies, you’ll have to send it to a Genius. When the battery in your iPhone dies, you’ll have to break out the pentalobe screwdrivers. Your technology does not respect your freedom, and this is true all the way down to the source code: the Library of Congress is thankfully chipping away at the DMCA in an effort that serves the Right to Repair movement, but still problems remain.

The ability — or rather, right — to repair will inevitably mean using electronics longer, and keeping them out of the garbage. That’s less e-waste, but it’s also older, potentially slower and less powerful portable workstations. This is the question: how long should you keep your electronics running? When do you start getting into the false economy of repairing something just because you can? What is the minimally viable laptop?

Continue reading “Our Right To Repair Depends On A Minimally Viable Laptop”

3D Printing Logic Gates

It may seem a paradox, but in the future tiny computers may dump electronics and return to their mechanical roots. At the macroscale, mechanical computers are fussy and slow, but when your area is down to a few molecules, electronics have trouble working but mechanical systems do just fine. In addition, these devices don’t use electricity directly, don’t generate electronic signatures, and may be less sensitive to things like radiation that damage electronics. A recent paper in Nature Communications discusses how to 3D print common logic gates using both macro-scale 3D printing techniques and a much smaller version with microstereolithography. You can see a video of gates in action below.

The gates use a bistable flexible mechanism. The larger gates use ABS plastic and measure about 250mm square. The smaller gate measures less than 25 mm square. They also use a special technique to make gates as small as 100 microns theoretically possible, although some of that is future work for the team.

Continue reading “3D Printing Logic Gates”

Computer Algebra For Electronic Design

Don’t get me wrong. Like most people, there’s nothing I enjoy more than solving a long, involved math problem by hand. But, sometimes, a few pages of algebraic scratches on paper is just a means to an end. I find this especially true during electronic design sessions, be it circuit design or PCB layout; I just need the answer, and any time spent finding it distracts me from the larger task at hand. For me, at least, this seems to happen at least once a week, and about five years ago I decided to do something about it. I had heard of computer algebra packages, of course, but they weren’t taught as part of the undergraduate engineering curriculum when I went to school. So, I set about learning one: let the computers do the math!

The package I chose is wxMaxima, a document-based front-end to the Maxima computer-algebra system. Descended from code originally written in the late 1960s, it’s a general-purpose package supporting symbolic computation for algebra and calculus. There’s solid, mature code underneath with a modern UI veneer on top. Plus, it’s FOSS.

As I’ve progressed, I’ve found that some additional functions make the Maxima environment especially convenient for circuit design. A few are simple enough that I’d typically just re-create them as needed, so I never really got organized – there were several versions of my “library” floating around on various machines. I finally got my act together, cleaned up the most-frequently used functions, and put them into a GitHub repo.

Let’s have a look at how we can use them to take the tedium out of math for some design problems.

Continue reading “Computer Algebra For Electronic Design”

Travelling The Oregon Trail With An Apple II Robot

For one reason or another, we’re going with a retro-futuristic 80s aesthetic in this case, [Mike] decided to turn an Apple IIe into a robot. If you have to ask why, you’ll never know, but this project does have some interesting things going for it. There’s a voice synthesizer, a brand spankin’ new power supply, and it rolls around on the floor thanks to Apple BASIC.

Since this is a mobile robot, there needs to be a power supply in there somewhere. The Apple II had a fantastic switching power supply, but it ran off mains voltage. To make this Apple run off a 14.8 V LiPO battery, [Mike] needed to re-engineer this power supply to give +5, +12, -5, and -12 Volts. The easiest is the positive voltage, and for that, he used a big ‘ol LM1084 linear regulator for the +5 V line. This outputs a ton of heat and probably isn’t the best solution, but it is a solution that works. The +12 line was again another linear regulator, an LM7812CV. Since this is dropping 14.8 V down to 12, the efficiency isn’t that bad, and since there’s no floppy drive it’s not pulling much current anyway. The negative voltages are a MAX764 / MAX765 inverting switching regulators. This completely replaces the original power supply in the Apple II, and is a decent reference design for anyone who wants to make a luggable Apple II laptop.

To move this thing around, the motors run on their own 11.1 V LiPO, with a bunch of Pololu gear tying everything together. The BASIC code was written on an emulator, transferred over with the Floppy Emu. Movement is controlled through the output pins on the joystick port, and there’s a text to speech module that was obviously needed and ties this project together wonderfully. You can check out the video demo of the build below.

Continue reading “Travelling The Oregon Trail With An Apple II Robot”

Review: IchigoJam Single Board Computer

It won’t replace your beloved Rasbperry Pi, but it’s worth saying hello to this “Strawberry Jam”, straight out of Japan. It’s an equally delicious way to get people interested in the basics of coding.

My hackerspace friend Jim is a lucky bloke, for last year he was able to take an extended holiday through a succession of East Asian countries. We were treated to online pictures of beautiful scenery and beaches, city lights, and of course exciting tech destinations such as hardware markets and hackerspaces. On his return he tossed a package on the table in front of me and said “Jenny, you might like to take a look at that, these are big in Japan!” Inside was an electronic kit and a few pieces of documentation, with Japanese text.

A Different Way To Get Kids Coding

The contents of the IchigoJam kit.
The contents of the IchigoJam kit.

What he’d given me was an IchigoJam (Best translation I’ve been given is “Strawberry Jam”), a small single-board computer aimed at young people. In the style of the 8-bit machines of the 1980s, it runs a comprehensive BASIC interpreter and plugs into a TV set, though it brings itself up-to-date with a USB-A socket for a keyboard. At its heart is an NXP LPC1114F102 ARM Cortex-M0 microcontroller with 32KB of Flash and 4KB of SRAM, and though the board Jim passed to me has a surface-mount example it’s clear that it was also designed for the now-obsolete DIP variant of the chip. If you were to think of this as an odd hybrid of a BASIC Stamp, a Raspberry Pi, and one of the smaller MBED boards, you probably wouldn’t be too far from the mark. What follows is my impression of it based on the information at hand. Sadly the IchigoJam website and forum seems only available to Japanese viewers and returns an error code from my European perspective.

Continue reading “Review: IchigoJam Single Board Computer”

Unlocking God Mode On X86 Processors

We missed this Blackhat talk back in August, but it’s so good we’re glad to find out about it now. [Christopher Domas] details his obsession with hidden processor instructions, and how he discovered an intentional backdoor in certain x86 processors. These processors have a secondary RISC core, and an undocumented procedure to run code on that core, bypassing the normal user/kernel separation mechanisms.

The result is that these specific processors have an intentional mechanism that allows any unprivileged user to jump directly to root level access. The most fascinating part of the talk is the methodical approach [Domas] took to discover the details of this undocumented feature. Once he had an idea of what he was looking for, he automated the process of checking every possible x86 instruction, looking for the one instruction that allowed running code on that extra core. The whole talk is entertaining and instructional, check it out after the break!

There’s a ton of research poking at the instruction level of complication processors. One of our favorites, also by [Domas], is sandsifter which searches for undocumented instructions.

Continue reading “Unlocking God Mode On X86 Processors”

Cool Tools: A Little Filesystem That Keeps Your Bits On Lock

Filesystems for computers are not the best bet for embedded systems. Even those who know this fragment of truth still fall into the trap and pay for it later on while surrounded by the rubble that once was a functioning project. Here’s how it happens.

The project starts small, with modest storage needs. It’s just a temperature logger and you want to store that data, so you stick on a little EEPROM. That works pretty well! But you need to store a little more data so the EEPROM gets paired with a small blob of NOR flash which is much larger but still pretty easy to work with. Device settings go to EEPROM, data logs go to NOR. That works for a time but then you remember that people on the Internet are all about the Internet of Things so it’s time to add WiFi. You start serving a few static pages with that surprisingly capable processor and bump into storage problems again so the NOR flash gets replaced with an SD card and now the logs go there too. Suddenly you’re dealing with multiple files and want access on a computer so a real filesystem is in order. FAT is easy, so the card grows a FAT filesystem. Everything is great, but you start to notice patches missing from the logs. Then the SD card gets totally corrupted. What’s going on? Let’s take a look at the problem, and how to reach embedded file nirvana.

Continue reading “Cool Tools: A Little Filesystem That Keeps Your Bits On Lock”