Posts | Comments

Planet Arduino

Archive for the ‘2019 Hackaday Prize’ Category

This hacker has been wanting to design an Enigma machine simulator for a while, but didn’t take the leap until they realized there was a compact Arduino with a surplus of I/O.

The logs go through all sort of variations on the machine. Everything from a plug board variation similar to the original to a 16 segment LED tester are covered. In one of the posts you can even see it decode a real U-Boat message. 

The earlier revisions are housed in very attractive laser cut cases but the latest designs employ an even more elegant casing solution. The simulator uses 16 segment displays and momentary push buttons for the keys. At its core is a 2560 Pro mini. The write-up contains a lot of detail about the code behind the Enigma and is interesting to read.  Interestingly, the PCB was designed in Fritzing, the EDA software many love to hate.

We love the craftsmanship and attention going into this project and can see it turning into a very appealing kit as it goes through its design cycles.

[minh7a6] loves the Adafruit Feather, but sees some room for improvement.

First is the matter of 5V tolerance. While just about everything is available in a 3.3v range these days, sometimes it’s just nice not to have to care. The main controller on the Feather is plenty powerful, but its intolerant pins just wouldn’t do so it was swapped for a chip from the ever popular STM32F4 line.

Then he wanted better energy efficiency when running from battery. In order to achieve this he switched from a linear regulator to a buck-boost converter. He also felt that the need for a separate SWD adapter for debugging seemed unnecessary, so he built a Black Magic Probe right in.

He’s just now finishing up the Arduino IDE support for the board, which is pretty cool. There’s no intention to produce this souped up Feather, but all the files are available for anyone interested.

Two engineering students are hard at work on this air drum which they hope will help disabled people and people in nursing homes. Though, we think it just looks fun!

Each board is its own module consisting of the electronics and 3D printed cases. The modules each contain an arduino mini, IR sensor, and LEDs. They share power, audio, and communicate with an i2c bus. Two modules are special, one holds the power system and the other a Raspberry Pi. The units can be put together in different configurations. Finally, they are capped with speaker units.

The demo shown in the video, which you can see after the break, looks fun. The response time is pretty fast and it looks like you can measure all sorts of parameters. This can then be translated into different velocities, pitches, and instruments. It’s somewhere between a theremin and a drum kit, very cool.


This seven segment art display makes use of a 81 seven segment red common cathode LED displays. The LEDs are arranged onto 100x100mm boards that each contain an Arduino Nano and 9 seven segment displays, daisy chained through three-pin headers located on the sides of the boards. The pins (power, ground, and serial) provide the signals necessary for propagating a program across each of the connected boards.

The first board – with two Arduino Nanos – sends instructions for which digits to light and drives the display, sending the instructions over to the next board on the chain.

In a multiplexed arrangement, a single Arduino Nano is able to drive up to 12 seven segment displays, but only 9 needed to be driven for the program, keeping D13’s built in LED and the serial pins free. Since no resistors are featured on the boards, current limiting is done through software. This was inspired by the Bubble LED displays on the Sinclair Scientific Calculator, and was done in order to achieve a greater brightness by controlling the current through the duty cycle.

The time between digits lighting up is 2ms, giving them some time to cool down. The animations in the demos featured falling and incrementing digits, as well as a random number generator using a linear feedback shift register.

This servo/gear reduction was assembled with almost all 3D-printed parts. Apart from a brushed 36 V DC-motor, a stainless steel shaft, and screws for holding the servo together, the only other non-printed part is the BTS7960B motor driver.

Some interesting stats about the plastic servo – its stall torque is about 55 kg/cm, reaching a peak current draw of 18 A when using a 6s LiPo battery outputting 22-24 V. The shaft rotates using two 20 mm holes and lubrication. (Ball bearings were originally in the design, but they didn’t arrive on time for the assembly.)

The holes of the gears are 6.2 mm in diameter in order to fit around the shaft, although some care is taken to sand or fill the opening depending on the quality of the 3D print.

This isn’t [Brian Brocken]’s only attempt at 3D-printing gears. He’s also built several crawling robots, a turntable, and a wind up car made entirely from acrylic. The .stl files for the project are all available online for anyone looking to make their own 3D-printed servo gears.

While we certainly do love the Arduino Nano for its low-cost and versatility in projects, it’s unarguable that every tools has its gripes. For one maker in particular, there were enough complaints to merit a redesign of the entire board. While Arduino may or may not be interested in incorporating these changes into a redesign of the development board, there is certainly room for a new manufacturer to step in and improve some features.

[Kevin Timmerman] takes a look at lower-cost clones of the Nano made in China to highlight a few interesting key differences that make the clones – cheaper but still compatible with legacy systems – more attractive.

The PCB manufacturing for the Arduino Nano currently places components on both sides of the board, requiring two operations for solder paste, pick-and-place, and reflow. Naturally this increases costs, simply designing a two-layer PCB with components on top lowers the price of manufacturing.

Since the ATmega328PB was released, it has proven to be a better and cheaper MCU for manufacturing than the ATmega328P, the current MCU used by the Arduino Nano and clones. While the newer MCU is not backwards compatible like its predecessor, it has additional UART, GPIO, counters, and other features that allow users to take advantage of new libraries and peripherals.

Rather than featuring the typical voltage regulator used by Arduino boards (used to allow the board to be powered by a voltage source greater than 5V), a switching regulator allows for less energy loss but a higher component cost. A better solution than both of these would be to simply not have a voltage regulator. While this may be controversial, there are sufficient battery power sources for this design to work (4 cells of AA or AAA NiMh batteries or a mobile phone charger).

The Arduino Nano uses a bootloader for handling programming the MCU, which requires the USB to serial bridge to be disconnected from anything that could interfere with the programming. Thus, programs using the COM port on the computer must release the port, including the serial monitor. Rather than using the bootloader, ICSP (in-circuit serial programming) and DebugWire are possible alternatives that connect the ICSP pins to the CH551 development board or programming via the reset pin.

There are a number of other spec and firmware improvements suggested in the writeup, as well as comparison between the Arduino Nano, Arduino Every, and Chinese clones. It’s definitely worth a look!

Fans of D&D are surely aware of the significance of a good pair of dice. What if your dice were not only stylish, but smart? For anyone who’s ever had to deal with playing board games with less than reputable siblings or friends, the electric die just might be your savior.

The dice are configured via Bluetooth, tracking rolls and stats over the course of gameplay captured by an accelerometer.

The PCB had to have a flexible surface – specifically in the shape of an unfolded icosahedron – in order to form the shape of the die which constrains the design to two layers. Each face contains an LED facing outwards to light up the number on that side. The LEDs are directly powered by a rechargeable battery, which uses a small coil for wireless inductive charging. Rather than opting for a Qi charger chipset, which regulates the maximum amount of power transmitted if the efficiency falls below a threshold, [Jean Simonet] uses a simpler charger setup using a full bridge rectifier, capacitors, and a linear regulator to create a stable 5V supply for the receiving end.

While the initial design for the die required an injection molded plastic shell, an easier solution was to simply cast the designs in resin. The electronics are placed into a dice mold and cast just as a regular die would be.

This luckily also solved the issue of needing to fit the components inside a screw-on container with a removable lid, which presented a hassle in terms of finding a battery that would fit the dimensions. The LEDs – purchased for cheap on Alibaba – are daisy chained to reduce the complexity of the routing.

One issue with the LEDs, however, is that the internal PWMs modulating the intensity remain on even at an intensity of 0, constantly drawing 21 mA (for the 21 LEDs on the die). This causes the battery to die after 2-3 hours. The solution [Simonet] used was to add a transistor to cut off power to the LEDs and to have the MCU toggle the transistor when the LEDs are turned off. Even this solution didn’t solve the entire problem since the LEDs still drain current from the data and clock lines, so those lines had to be low before going to sleep.

There were some stability issues with using a small buck converter to bring the LiPo voltage down to 3.3V, so the power regulation was done directly by the MCU instead. Switching the die off is controlled by a magnetic switch connected to a power buck converter that turns off logic when a magnet is present. This initially caused the LED control lines to become floating when power was turned off, turning the LEDs to arbitrary colors. The solution was to wire the output of the magnetic sensor to the MCU and to allow the software to handle the LEDs as well.

Maybe it’s because creator [Simonet] happens to be a game developer as well, but the early development stages of the electronic die (CAD, circuit schematics, prototyping, hand soldering components) were streamed on Twitch, adding some interactivity to even the build phase. The end result may be small, but these dice certainly have large brains!

Fans of MaKey MaKey may find this project similar, but there’s a lot more to the Mini Automat than making music from fruit.

The idea for the Mini Automat (which is an off-shoot of the original Automat project by [Dada Machines]) is to make music accessible to anyone. The device functions as a plug and play MIDI-controller that connects to a computer, MIDI workstation (keyboards and sequencers), or DAW for input and triggers actuators on the output to create music.

The modifications make the originally Automat more hackable by making the board compatible with Arduino and Circuit Python, as well as adding in digital and analog pins for connecting to sensors, buttons, or light systems.

The team has released all schematics, firmware, and software, with only the board layouts unreleased to the public. From solenoids that push, pull, jiggle, smash, and bash at drums to surfaces that vibrate screws and beads, there’s a huge variety of household objects that can be used to make complex layered musical compositions, even for a one-person musician.

 

The Berlin-based team works on open source music tech hardware with the hopes of bringing environmentally and financially sustainable ideas to market.

For anyone who’s ever had to make their own tea, steeping it for the right amount of time can be a pain. That’s precisely the problem that the automatic tea brewing robot solves with its painless approach to brewing tea, built by Slovenian electrical engineering student [Kristjan Berce].

You can use the robot by setting a timer on the knob, at which point the robot raises it arm for the tea bag then dips in the water every 30 seconds until the time has passed. At the end of the timer, the bag is raised clear of the cup to end the brewing. It’s a remarkably simple design that almost evokes chindogu (the Japanese art of useless inventions) if not for the fact that the robot actually serves a useful purpose.

The components for 3D printing the robot are available online, consisting of a case, a container for the Arduino-powered electronics, the lever for holding the tea, and the gear that raises the lever up and down. The device also uses an integrated Li-Ion battery with an accessible charging port and integrated BMS. A 35BYJ46 stepper motor and ULN2003 driver are used to move the 3D printed mechanism. The device uses a potentiometer for setting the steeping time between 1 and 9 minutes, and there’s even a buzzer for indicating once the tea is done brewing.

The Gerber and Arduino code files are open-source for any hackers looking to make their own tea brewers; just take care they operate with “deadly punctuality”.

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.



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook