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”

Keeping Kids In School The Smart Way

For institutions with high traffic, such as schools and movie theaters, it can be difficult to keep track of individuals moving in and out, especially without a critical mass of security. For schools especially, keeping track of student attendance and preventing kids from leaving campus in the middle of the day can be a costly problem.

The solution that Tunisian engineers [Michael Djimeli], [Darius Koliou], and [Jinette Tankoua] came up with was to create a smart gate that only turns when checks are carried out by designated security officers. The design is retrofitted to existing school turnstiles in his hometown of Monastir, Tunisia, and uses an RFID card, biometric devices, and a host of access controls to ensure that the student attempting to turn the turnstile is validated first.

The smart gate uses a few methods for identification – either by RFID, fingerprint, facial recognition, or by reading a QR code. An external database stores each user’s data and their transaction history, effectively storing their attendance data. In addition to relaying the information to an administrator, the smart gate also checks the credit of the user — whether they’ve paid the entrance fee for a movie theater, or whether they’re permitted to exit school grounds as a student.

A Raspberry Pi is used as the card collector, relaying information on transaction data over WiFi. Meanwhile local identification information via biometric devices and key fobs are relayed to the processor over Bluetooth. There are also plans to develop a mobile app to track the status of the smart gate remotely.

While the full systems integration isn’t published yet, there are several photos of the control box, which shows the components used for the first smart gate. The mechanical design was successfully tested on the IUC Douala Cameroon university campus (with 35-45 students identified per minute), and the project will hopefully be repeated within more schools in the coming year.

Lighting The Way For The Visually Impaired

The latest creation from Bengali roboticist [nabilphysics] might sound familiar. His laser-augmented glove gives users the ability to detect objects horizontally in front of them, much like a cane or pole is used by the visually impaired to navigate through a physical space.

As a stand in for the physical cane, he uses the VL53L0X time-of-flight (TOF) sensor which detects the time taken for a laser source to bounce back to the sensor. Theses are much more accurate than IR distance sensors and have a much finer focus than ultrasonic sensors for excellent directionality.

While the sensors can succumb to interferences from background light or other time-of-flight sensors, the main advantages are speed of calculation (it relies on a single shot to compute the distances within a scene) and an efficient distance algorithm that simplifies the measurement of distance data. In contrast to stereo vision, which requires complex correlation algorithms, the process for extracting information for a time-of-flight sensor is entirely direct, requiring a small amount of processing power.

The glove delivers haptic feedback to the user to determine if an object is in their way. The feedback is controlled through an Arduino Pro Mini, powered remotely by a LiPo battery. The code is uploaded to the Arduino from an FTDI adapter, and works by taking continuous readings from the time-of-flight sensor and determining if the object in front is within 450 millimeters of the glove, at which point it triggers the vibration motor to alert the user of the object’s presence.

Since the glove used for the project is a bicycle glove, the form factor is straightforward — the Arduino, motor, battery, and switch are all located inside a plastic box on the top of the glove, while the time-of-flight sensor sticks out to make continuous measurements when the glove is switched on.

In general, the setup is fairly simple, but the idea of using a time-of-flight sensor rather than an IR or sonar sensor is interesting. In the broader usage of sensors, LIDARs are already the de facto sensor used for autonomous vehicles and robotic components that rely on distance sensing. This three-dimensional data wouldn’t be much use here and this sensor works without mechanical moving parts since it doesn’t rely on the point-by-point scan from a laser beam that LIDAR systems use.

Hypnotic Visuals Synthesizer

Ever wanted to make some seriously trippy retro graphics to go along with your lo-fi hip hop beats? Now you can, with [teafella]’s aptly named Hypno Video Synthesizer, a Raspberry Pi-based video synthesizer that digitally emulates and extends analog video workflows through colorization, shape generation, and feedback, patching the modifications into a compact interface. The device allows music creators to perform with live visuals, or alternatively to create a unique visual source for a video setup. Once the CV input is plugged in, all it requires is a composite display and power to start working.

Hypno takes input through a control voltage (CV) jack using a MCP3008 ADC via SPI, with voltages scaled from -5-5V to 0-5V. The device attaches on top of a Raspberry Pi, using Raspbian for the operating system and the Pi Zero GPIO to interface with an OpenGL Engine. The input parameters are taken from knobs through a multiplexer into a single channel of the ADC, with values offset in software based on the CV inputs.

Using the Hypno ends up being fairly straight forward, as the controls are organized onto two mirrored sides for the two oscillators A & B, with global controls in the center. There are knobs that control polarization, rotation, shape, feedback modes (regular, hyper digital, zooming, rotating zoom), clock in/clock out, frequency, root hue, and master gain, as well as RGB LEDs that provide visual feedback.

A single jack outputs the composite result, although a micro-HDMI plug can also be used on the back. For advanced functionality, Hypno allows for patching, which mixes effects on top of one another and allows for shapes such as oscillator cross modulation. There are also alt-controls that open up self modulation and other shapes. Examples include bipolar drift (smoothly scrolls the oscillator) and mirroring (mirrors the oscillator’s shape in different patterns for a kaleidoscope-eque tiled madness).

The software is written in C++ and GLSL, with the main engine running with one plane in OpenGL, drawing the output of a GLSL shader. The CV and knob inputs are fed into shader uniforms that are used to change the visuals in the engine.

[teafella], a self-professed Arduino user, uses WiringPi for the GPIO interactions. The Shader system is inspired by analog video synthesis, with every shape having a simulated “scan” over the screen and function mapped to it that can be transformed into polar coordinates.

The setup for Hypno is fully compatible with analog CV equipment such as Eurorack synthesizers, which makes it easy for music creators to plug and play. Here’s a couple of sample outputs from some soundtracks inputted into Hypno:

Too many combinations to even imagine? Check out a demo of Hypno in action!

Continue reading “Hypnotic Visuals Synthesizer”

ESPcopter: A Fully Customizable Drone

With so many capabilities for obstacle avoidance, the only natural progression for drones would be for them to be hand-controlled. For Turkish inventor [metehanemlik], even this wasn’t enough of a challenge, as he decided to create the ESP8266-Powered Mini Drone: ESPcopter, a programmable Arduino-compatible modular drone that is open to modding through expansion shields. Not only can DIY enthusiasts modify the algorithms used for obstacle avoidance, but the drone can be sized to whatever dimensions fit their needs.

The drone is almost entirely built from expansion shields, including the multi-ranger shield with four VL53L0x laser-ranging sensors on the forward, backward, right, and left directions of the drone. The website for the ESPcopter comes with an SDK that lets users easily modify the software running on the drone’s MCU as well as pinouts to better understand its hardware functionality. Impressively, it was fully funded through a 60-day crowdfunding campaign, and will be undergoing a second launch shortly, with some new and improved features.

Power comes from a 26 0mAh LiPo battery that allows for up to six minutes of flight time; includes a 3-axis gyroscope, accelerometer, and magnetometer; runs on an ESP8266-12S 32-bit MCU; fully charges within 45 minutes through a USB connection; weighs around 35 g; and is about 90 mm from motor to motor. Continue reading “ESPcopter: A Fully Customizable Drone”

Fighting Household Air Pollution

When Kenyan engineer [Aloise] found out about the health risks of household air pollution, they knew there had to be a smart solution to combatting the problem while still providing a reasonable source of energy for families cooking without the luxury of cleaner fuels. Enter OpenHAP, a DIY household air pollution monitor that provides citizen scientists and researches the means to measure air particulates in developing countries.

The device is based on an ESP32 communicating with a ZH03B Particulate matter sensor over UART; a DS3231SN real-time clock (RTC), temperature and humidity sensor, and MLX90640 2D thermal sensor array over I2C; and wirelessly sending the data received to a Bluetooth low energy wrist-strap beacon and an Internet enabled phone. The device also uses a TCA9534 GPIO expander to control the visual and auditory notifiers (buzzers and LEDs) and to interface to a SD card.

The project uses the libesphttpd project modified for the ESP32 for the webserver, which is used to stream data to a mobile handset or computer using the WiFi capabilities of the ESP32. The data includes real-time sensor information, system status, storage media status, visualizations of the thermal array sensor data (to ensure the camera is facing the source of heat), and tag information to test the limits of the Bluetooth tag with regards to distance.

Power input is provided through a Micro-USB connector, protected with a TVS diode and a Schottky diode in series to prevent reverse power flow.

The project was tested in two real-life scenarios: one with a household in rural Kenya and another with an urban low-income family of four. In the first test, the family used a three stone open fire stove. A FLiR thermal camera captured the stove temperatures, while a standard camera was enough to capture the high levels of smoke inside the kitchen. The readings from OpenHAP were high enough to exceed the upper detection threshold for the particulate sensor, showing that the woman cooking in the house was receiving the equivalent of 8 cigarettes a day, about 8 x the WHO’s recommended particulate levels.

Within the second household, a typical energy mix of charcoal briquettes and kerosene was typically used for cooking, with kerosene used during the day and briquettes used at night. The results from measuring pollution levels using OpenHAP showed that the mother and child in the household regularly received around 1.5 x the recommended limit of pollutants, enough to lead to slow suffocation.

There’s already immense potential for this project to help researchers test out different energy sources for rural households, not to mention the advantage of having a portable low-energy pollution monitor for citizen scientists.

Continue reading “Fighting Household Air Pollution”