Building An Open Hardware EBook Reader

On the whole, hackers aren’t overly fond of other people telling them what they can and cannot do with the hardware or software they’ve purchased. Unfortunately, it’s becoming more and more difficult to avoid DRM and other Draconian rules and limitations as time goes on. Digital “eBooks” and the devices that are used to view them are often the subject of such scrutiny, which is why [Joey Castillo] has made it his mission to develop a open hardware eReader that truly belongs to the user.

[Joey] has been working on what he calls the “The Open Book Project” for a few months now, and he’s just recently announced that the first reader has been successfully assembled and powered up. As is usually the case, a few hardware issues were identified with this initial prototype. But it sounds like the device was largely functional, and only a few relatively minor tweaks to the board layout and components should be necessary before the hardware is ready for the masses.

An earlier prototype, using the Adafruit Feather

If you’re feeling a bit of déjà vu seeing this, don’t worry. The Open Book Project has taken a somewhat circuitous path to get to this first prototype, and [Joey] had previously developed and built the “eBook Feather Wing”. While they look very similar, that earlier incarnation required an Adafruit Feather to operate and was used to help refine the firmware and design concepts that would go into the final hardware.

The Open Book is powered by a ATSAMD51N19A processor with a GD25Q16 2MB flash chip to hold the CircuitPython code, and a microSD slot to store the actual book files. It also features support for audio output via a standard 3.5 mm headset jack, an RGB status LED, and expansion ports that tap into the I2C interface for adding whatever other hardware you can dream up.

One of the most interesting aspects of this Creative Commons licensed reader is the extensive self documentation [Joey] has included on the silkscreen. Every major component on the back of the PCB has a small description of its purpose and in some cases even a breakdown of the pin assignments. The idea being that it not only makes the device easier to assemble and debug, but that it can also explain to the curious user what everything on the board does and why it’s necessary. It’s a concept that makes perfect sense given the goals of the Open Book Project, and something that we frankly would love to see more of.

[Marc Juul] presented his work on a FOSS operating system for older-model Kindles at HOPE XII as a way to avoid Orwellian monitoring of the user’s reading habits, so it’s interesting to see somebody take this idea to the next level with completely libre reader hardware. Unfortunately none of this addresses the limited availability of DRM-free eBooks, but one step at a time.

The Cutest Oscilloscope Ever Made

If you thought your handheld digital oscilloscope was the most transportable of your signal analyzing tools, then you’re in for a surprise. This oscilloscope made by [Mark Omo] measures only one square inch, with the majority of the space taken up by the OLED screen.

It folds out into an easier instrument to hold, and admittedly does require external inputs, so it’s not exactly a standalone tool. The oscilloscope runs on a PIC32MZ EF processor, achieving 20Msps and 1MHz of bandwidth. The former interleaves the processor’s internal ADCs in order to achieve its speed.

For the analog front-end the signals first enter a 1M ohm terminator that divide the signals by 10x in order to measure them outside the rails. They then get passed through a pair of diodes connected to the rails, clamping the voltage to prevent damage. The divider centers the incoming AC signal around 1.65V, halfway between AGND and +3.3V. As a further safety feature, a larger 909k Ohm resistor sits between the signals and the diodes in order to prevent a large current from passing through the diode in the event of a large voltage entering the system.

The next component is a variable gain stage, providing either 10x, 5x, or 1x gain corresponding to 1x, 0.5x, and 0.1x system gains. For the subsystem, a TLV3541 op-amp and ADG633 tripe SPDT analog switch are used to provide a power bandwidth around the system response due to driving concerns. Notably, the resistance of the switch is non-negligible, potentially varying with voltage. Luckily, the screen used in the oscilloscope needs 12V, so supplying 12V to the mux results in a lower voltage and thus a flatter response.

The ADC module, PIC32MZ1024EFH064, is a 12-bit successive approximation ADC. One advantage of his particular ADC is that extra bits of resolution only take constant time, so speed and accuracy can be traded off. The conversion starts with a sample and hold sequence, using stored voltage on the capacitor to calculate the voltage.

Several ADCs are used in parallel to sample at the same time, resulting in the interleaving improving the sample rate. Since there are 120 Megabits per second of data coming from the ADC module, the Direct Memory Access (DMA) peripheral on the PIC32MZ allows for the writing of the data directly onto the memory of the microcontroller without involving the processor.

The firmware is currently available on GitHub and the schematics are published on the project page.

Continue reading “The Cutest Oscilloscope Ever Made”

A Retro Gaming Console For The New Generation

Ostensibly the ESPboy is an open-source hackable game engine built as an IoT platform for STEM education and play, but there’s no way [RomanS] could have been inspired by anything other than retro gaming consoles from the near past. For anyone who grew up playing with Tamagotchi pets or Palm Pilots, this project is going to be a major throwback.

The Saint Petersburg-based microcontroller hobbyist utilizes a ESP8266 microcontroller to build a series of modules for different game play modes, including a TFT display, GSM phone, MP3 player, GPS navigator, FM radio, and keyboard module. He has plans to build even more modules, including a LoRa messenger and thermal camera, to really expand the system’s capabilities.

Since the board has built-in WiFi, firmware can be uploaded to the device without a wired connection and compiler. The nature of the project makes the board compatible with the Arduino IDE and Micropython, which makes hacking the software even easier.

A TP4056 battery charging module charges the LiPo, although depending on the battery capacity, the charging current (set by the R3 resistor on the controller) does require some change. A MCP4725 I2C DAC is used for smooth driving the LCD’s backlight. In order to extend the battery life, the battery controller uses sleep mode to periodically wake up to measure and send data, which allows it to extend its battery life without external power. There’s also transistor driven buzzers that provide a little extra feedback to the user when playing games, complete with a variable resistor to adjust the sound volume.

A number of free pins run along the periphery for connecting to other modules, including pins for GPIO extension, sensor adapters, connectors to addressable LEDs, and an extension slot for actuators. For anyone interested in making their own version of the ESPboy, the PCB schematics are accessible online.

Projects like the Arduboy have shown that a small microcontroller-based game system can be equal parts fun and educational, so we’ve been excited to see more of these types of projects popping up during the course of the 2019 Hackaday Prize.

Continue reading “A Retro Gaming Console For The New Generation”

Meet MutantC: Raspberry Pi Sidekick Complete With Sliding Screen, QWERTY

Over the years we’ve seen the Raspberry Pi crammed into almost any piece of hardware you can think of. Frankly, seeing what kind of unusual consumer gadget you can shoehorn a Pi into has become something of a meme in our circles. But the thing we see considerably less of are custom designed practical enclosures which actually play to the Pi’s strengths. Which is a shame, because as the MutantC created by [rahmanshaber] shows, there’s some incredible untapped potential there.

The MutantC features a QWERTY keyboard and sliding display, and seems more than a little inspired by early smartphone designs. You know, how they were before Apple came in and managed to convince every other manufacturer that there was no future for mobile devices with hardware keyboards. Unfortunately, hacking sessions will need to remain tethered as there’s currently no battery in the device. Though this is something [rahmanshaber] says he’s actively working on.

The custom PCB in the MutantC will work with either the Pi Zero or the full size variant, but [rahmanshaber] warns that the latest and greatest Pi 4 isn’t supported due to concerns about overheating. Beyond the Pi the parts list is pretty short, and mainly boils down to the 3D printed enclosure and the components required for the QWERTY board: 43 tactile switches and a SparkFun Pro Micro. Everything is open source, so you can have your own boards run off, print your case, and you’ll be well on the way to reliving those two-way pager glory days.

We’re excited to see where such a well documented open source project like MutantC goes from here. While the lack of an internal battery might be a show stopper for some applications, we think the overall form factor here is fantastic. Combined with the knowledge [Brian Benchoff] collected in his quest to perfect the small-scale keyboard, you’d have something very close to the mythical mobile Linux device that hackers have been dreaming of.

Continue reading “Meet MutantC: Raspberry Pi Sidekick Complete With Sliding Screen, QWERTY”

Smartphone Case Doubles As Chording Keyboard, With Gesture Inputs

Smartphones and other modern computing devices are wonderful things, but for those with disabilities interacting with them isn’t always easy. In trying to improve accessibility, [Dougie Mann] created TypeCase, a combination gestural input device and chording keyboard that exists in a kind of symbiotic relationship with a user’s smartphone.

With TypeCase, a user can control a computer (or the smartphone itself) with gestures, emulate a mouse, or use the device as a one-handed chording keyboard for text input. The latter provides an alternative to voice input, which can be awkward in public areas.

The buttons and motion sensors allow for one-handed button and gestural input while holding the phone, and the Bluetooth connectivity means that the device acts and works just like a wireless mouse or keyboard. The electronics consist mainly of an Adafruit Feather 32u4 Bluefruit LE, and [Dougie] used 3D Hub’s on-demand printing service to create the enclosures once the design work was complete. Since TypeCase doubles as a protective smartphone case, users have no need to carry or manage a separate device.

TypeCase’s use cases are probably best expressed by [Dougie]’s demo video, embedded below. Chording keyboards have a higher learning curve, but they can be very compact. One-handed text input does remind us somewhat of a very different approach that had the user make gestures in patterns reminiscent of Palm’s old Graffiti system; perhaps easier to learn but not nearly as discreet.

Continue reading “Smartphone Case Doubles As Chording Keyboard, With Gesture Inputs”

Magnets Make This Panda Move

A single board computer on a desk is fine for quick demos but for taking it into the wild (or even the rest of the house) you’re going to want a little more safety from debris, ESD, and drops. As SBCs get more useful this becomes an increasingly relevant problem to solve, plus a slick enclosure can be the difference between a nice benchtop hack and something that looks ready to sell as a product. [Chris] (as ProjectSBC) has been working on a series of adaptable cases called the MagClick Case System for the LattePanda Alpha SBC which are definitely worth a look.

The LattePanda Alpha isn’t a run-of-the-mill SBC; it’s essentially the mainboard from a low power ultrabook and contains up to an Intel Core M series processor, 8GB RAM, and 64GB of eMMC. Not to mention an onboard Atmega32u4, WiFi, Gigabit Ethernet, and more. It has more than enough horsepower to be used as an everyday desktop computer or even a light gaming system if you break PCIe out of one the m.2 card slots. But [Chris] realized that such adaptability was becoming a pain as he had to move it from case-to-case as his use needs changed. Thus the MagClick Case System was born.

Continue reading “Magnets Make This Panda Move”

New Life For Old Nintendo Handhelds With ESP32

The Game Boy Pocket was Nintendo’s 1996 redesign of the classic 1989 handheld, giving it a smaller form factor, better screen and less power consumption. While it didn’t become as iconic as its predecessor, it still had enough popularity for modders such as [Eugene] to create new hardware for it. His Retro ESP32 board is a drop-in replacement for the console’s motherboard and screen, giving it a whole new life.

[Eugene] is no stranger to making this kind of mod, his previous Gaboze Pocaio project did the exact same thing with this form factor, only with a Raspberry Pi instead of the ESP32-WROVER used here. His choice of integrated SoC was based on the ODROID-GO, which is a similar portable console but with its own custom shell instead.

This project doesn’t stop at the hardware though, the Retro ESP32 (previously dubbed Gaboze Express) also offers a user-friendly interface to launch emulators. This GUI code can be used with the ODROID as well since they share the same hardware platform, so if you have one of those you can try it out right now from the software branch of their repository.

If the idea of replacing retro tech innards with more modern hardware is something that interests you, look at what they did to this unassuming Osborne 1, or this unwitting TRS-80 Model 100. Poor thing didn’t even see it coming.