Beam Me Up To The PCB Space Ship

This project would fit in perfectly with #BadgeLife if someone could figure out a way to hang it from their neck. Inspired by Star Trek’s Starship Enterprise, [bobricius] decided to design and assemble a miniature space ship PCB model, complete with 40 blinking LEDs controlled by an ATtiny85.

While the design uses 0603, 0802, 3014, 4014, and 0805 LEDs, some substitutions can be made since the smallest LEDs can be difficult to solder. The light effects include a green laser, plasma coils, a deflector with scrolling blue LEDs, and the main plate and bridge for the space ship.

The LEDs are controlled by charlieplexing, a technique for driving LED arrays with relatively few I/O pins, different from traditional multiplexing. Charlieplexing allows n pins to drive n2−n LEDs, while traditional multiplexing allows n pins to drive (n/2)2 LEDs. (Here is the best explanation of Charlieplexing we’ve ever seen.)

Especially with the compiled firmware running on the MCU, the PCB model makes for an impressive display.

The only catch? Your Starship Enterprise can’t actually fly.

Continue reading “Beam Me Up To The PCB Space Ship”

Replacing The 3D Printer And Router: A Tool For Manufacturing Human-Scale Forms

The purpose of Geometer becomes apparent when you realize its simplicity: [David Troetschel]’s project is to create an easily understandable design tool that encourages goal-oriented design. The kit comes with physical components and digital counterparts that can be combined in a modular way. They each have a specific geometry, which provide versatility while keeping manufacturing simple.

For the prototyping phase, small snap-on parts 3D printed on a Formlabs printer mimic the module components on a smaller scale. Once a design is conceived and the Geometer Grasshopper program finalizes the module arrangement necessary for the model, the larger pieces can be used as a mold for a concrete or hydrocal mold casting.

The present set of modules is in its seventh iteration, initially beginning as a senior thesis for [Troetschel]. Since then, the project itself has had an extensive prototyping phase in which the components have gone from being injection-molded to 3D printed.

The overall process for prototyping is faster than 3D printing and more cost-effective than sending to a third-party shop to build, which adds to the project’s goal of making manufacturing design more accessible. This is an interesting initiative to introduce a new way of making to the DIY community, and we’re curious to see this idea take off in makerspaces.

“The Thing”: A Homemade FPGA Board

The Thing is an unassuming name for an ambitious project to build an FPGA board from easy to find components.

The project stems from an earlier build submitted to the 2018 Hackaday Prize by [Just4Fun] where two dev boards – an STM32-based Arduino and an Altera MAX II CPLD board – were combined with the Arduino used as a stimulus generator for the CPLD. This way, the Arduino IDE, interfaced through USB, can be used for programming the CPLD.

The Thing similarly uses the STM32 Arduino as a companion processor for the FPGA, with a 512KB SRAM and common I/O for GPIOs and a PS/2 keyboard for running HDL SOCs. It can also run Multicomp VHDL SOCs, a modular design that was made to run some older 8-bit CPUs made by [Grant Searle].

The FPGA (EP2C5T144C8N) uses the Quartus II IDE for configuration with a USB Blaster dongle through the JTAG or AS connector. The FPGA side controls a 4 digit seven segment LED display, four push buttons, 3 LEDs, a push button to clear all internal FFs (sampling rates), a push button to force a reboot (configuration reload), and a switch to force all pins to Hi-Z mode. Both an onboard 50MHz oscillator and connector for an external oscillator are also present on the FPGA side.

In one demo of the MP/M system capability of the board, The Thing was made to handle four concurrent users with one serial port connector to a PC and terminal emulator and the other serial ports connected to terminal emulators on VT100 boards routed through a dual-channel RS232 adapter board.

Both the Arduino and FPGA sides can also be used as standalone boards, but why use one when you can harness both boards together?

Continue reading ““The Thing”: A Homemade FPGA Board”

The Smallest Homebrewed TTL CPU In The World

This may very well be the smallest homemade TTL CPU we’ve ever seen. Measuring at one square inch, this tiny chip boasts 40 connections, an 8-bit databus, a 16-bit address bus, a 64 kB memory space, reset and clock inputs, and 5 V power lines.

TTL (transistor transistor logic) logic chips are pretty outdated today, but they do have all of the basics necessary for building a computer – logic gates, counters, buffers, and registers. The transistors perform both the logic and amplifying, as compared to resistor-transistor logic (RTL) and diode-transistor logic (DTL). In the 60s, when the technology was still fairly new, TTL ICs were commonly used in computers and industrial controls. Even after the advent of VLSI, TTL ICs were still being used for interfacing more densely integrated chips. Even so, most TTL chips tend to be on the bulkier side, which is what makes [roelh]’s project so unique. The entire PCB is hardly any larger than a coin.

On top of the hardware specs, [roelh] also implemented several useful software features: zero page addressing, load/store/compare instructions, stacks, conditioning branching, subroutine calls, and memory-mapped I/O. The registers are also in RAM, which has been implemented in microprocessors in the past (see TMS9900) for speed considerations, but in this case was implemented for size constraints.

An ALU was also left out of the design in order to constrain its size, leaving only 8 ICs on either side of the 2-layer PCB.

Microprograms are stored in Flash memory and can be programmed with a Raspberry Pi. by saving the Assembly code to a memory card and downloading the assembled binary code. Once the Raspberry Pi is connected to the development board, you can burn the binary code onto the Flash memory of the board using a Python script. An online Javascript editor also exists for assembling the Assembly code for the chip and simulating the CPU.

There is currently a development board made for the CPU, which includes six seven-segment displays and an I/O connector for running a digital clock and other applications. [roelh] has since built a retro TTL computer around the chip, which reintroduces the ALU and includes address registers, 256 KB of RAM, VGA video, PS/2 keyboard port, a sound system, and I/O pins. It’s a really exciting project that’s seriously pushing the constraints of retro computing.

A (Mostly) 3D Printed Servo/Gear Reduction

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.

Continue reading “A (Mostly) 3D Printed Servo/Gear Reduction”

The World’s Smallest Vacuum In An Altoids Tin

There’s been a lot of Altoids tin hacks over the years, but a vacuum cleaner in a tin is something new. In [Toby Bateson]’s first project on Hackaday, he used simple household items to create a functioning vacuum cleaner to use for sucking crumbs out of your keyboard or paper punch holes off your desk.

The vacuum features a retractable suction tube, a low-profile switch, and a bagless waste collection system (the waste is stored and discarded out from the tin itself). A brushed motor and impeller provide the airflow. A scrap of a beer can mounted on the shaft is used for an impeller blade, and two bolts with a thin metal sheet between them are made into a switch (the instructions recommend you finish your drink before using the scrap metal). A sponge is used for filtering the dirt from the motor while a hole is cut out of the top of the tin to provide airflow.

[Bateson] is looking to put his name in the world record book for the world’s smallest vacuum tube, as he recently created an even smaller vacuum in a 1cc tube.

“Oh dear, I’ve spilled something on my desk, whatever am I going to do? Luckily, I have my vacuum cleaner in an Altoids tin…”

Continue reading “The World’s Smallest Vacuum In An Altoids Tin”

The Next Generation Arduino Nano

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!