
Relatively Universal ROM Programmer
AndersBNielsen/Relatively-Universal-ROM-Programmer
Hardware to program W27C512 EEPROM or any 24/28/32 pin ROM requiring from 5V to 27V programming voltage.

A small cnc machine for milling FR4 pcbs
PCB mill is an open-source printed circuit board by Icyconfusion, from the Icyconfusion/PCB-mill repository on GitHub. It is a 2-layer board of 127.1 × 118 mm with 16 parts on 49 nets, routed with 255 tracks and 0 vias.
It is built around the ARDUINO UNO R3. It belongs with the AVR (ATmega, ATtiny) boards of this library.
A small cnc machine for milling FR4 pcbs using an arduino UNO. It is also capable of CNC engraving at low Z travels. You could potentially do laser engraving if you added a laser to it.
Note to reveiwer: I have exported the assembly as .STEP, but I had trouble so there is a zipped .stl of the assembly just in case the .step doesn't work. Also I am updating my BOM with the current prices (since submission) so it might be slightly different (most are cheaper) from my cart pictures. Thank you :) Also, yes the spindle is the cheapest option (prices are in AUD so 50-60 USD is 75-90 AUD). The spindle I am purchasing also includes PSU.
I created this project as a means to create PCBs quickly at home, removing the time and cost of ordering PCBs online. Now I can make 2 layer PCBs at home on my desk for quick prototyping. It also taught me a few things about routing with power draws. To use the project, you simply stream Gcode to the machine over usb form a computer, and the machine will replicate it.
The assembly of the project is made up of a few key components. The idea is a stationary, square base with linear rails making the Y axis. The H frame moves along thiscarrying the X and Z axis. Motion is achieved through leadscrews.
To start assembly, there is the base frame that the whole machine is supported by. 4 2020 300m T slot Aluminium profiles are arranged in a square, with M5 T nuts and 90 degree connectors holding them in place. Two 300mm MGN12 linear rails are attached to the top edge of the profiles using M3 T nuts.
Now onto the H. The H moves back and forth along the linear rails attached before, this is the Y axis. The H moves along the rails by a 3d printed bracket, to attach it to the MGN12H carriage. Use 4 M2 screws to attach each bracket to the carriages, then 4 M5 T nuts to attach profiles to each bracket.
We now have the two pillars of the H. Attach to 2060 profile to the pillars using M5 T nuts and 90 degree connectors. The bottom edge of the 2060 should be roughly 4 cm from the top of the bracket we assembled (Exactness is not needed as Z leveling and the spindle height on the mount will compensate for this). Attach the linear rails as before.
To assemble the gantry, screw on both rear MGN12H carriages, and linear rails. Attach the limit switch and press the bearing into place. Then assemble the spindle plate and slide onto the gantry.
Finally, attach the motor, coupler, nutblock and rod, and then slide onto the H frame. The H frame can now slide onto the base frame rails.
Last steps, attach a bed/spoilboard of wood with M5 T nuts. Screw nutblocks to each Y carriage, then mount all 4 Y axis brackets, and their fixing blocks (plus limit switch on one). Now you can feed the rods through and attach the GT2 gears.
Mount the belt plate, motor and drive gear using M5 T nuts, then attach the pulleys.
Finally, attach the X motor bracket, motor and limit switch. The fixing block attaches to the profile on the other side using the T nuts already installed on it. Now you can feed through the leadscrew and assembly is done.
The components required for this project are a PSU, an MCU, a spindle or spindle kit, stepper motors, stepper drivers, and limit switches. For the MCU I decided on an arduino UNO because of its pin availability and GRBL compatibility. To power the UNO, I will use an LM2596 buck converter connected to the VIN pin. The PSU is 24v logic, 200w. Power is introduced to the PCB by screw terminals, and powers the VMOT pin of drivers, and 5v logic through the arduino. The steppers are Nema 17 because of their cheap cost and reliability. Drivers used to control these are A4988, which support 1/16 microstepping (why all MS pins are connected to 5v). The 500w spindle comes as a kit including a mount and dedicated PSU. This kit also has speed control to stop the spindle. I am using standard 3 pin limit switches.
The PCB for this project interfaces the power supply, steppers, arduino and endstops. It uses wide traces to deliver power from the PSU screw terminals, and has connectors from leftover pins for future connections.
The project uses the GRBL library to command the machine. GRBL is a program that instructs the arduino to respond to G-code, sent by a computer. No modifications to GBRL are required other than tweaking default steps/mm, speed, acceleration etc to the machine. To install, copy the edited firmware folder into Arduino IDE libraries, include it in a sketch, and then flash. It is installed as a zip.
| Quantity | Name | Picture |
|---|---|---|
| 1 | Spindle plate | |
| 1 | Gantry plate | |
| 1 | X motor bracket | |
| 2 | Y carriage | |
| 1 | Y bearing bracket with switch | |
| 3 | Y bearing bracket | |
| 1 | Belt plate |
2 layer PCB that is 127x118mm.
3x Nema 17 stepper motor
1x Arduino uno
3x A4988 stepper driver
1x 24v 200w PSU
1x 500w Spindle kit
1x LM2596 Buck converter
3x Limit switch
1x V bit
1x Drill bit
1x End mill
1x Collet
6x 300mm 2020 T slot aluminium profile (can do 4x300mm and 2x 200mm, but 6x300mm ended up being cheaper)
1x 300mm 2060 T slot profile
8x 90 degree connector
42x M5 T nut
42x M5 screw
32x M3 screw
32x M3 T nut
1x 100mm T8x8 Leadscrew
3x 300mm T8x8 leadscrew
2x 100mm MGN12 linear rail (with MGN12H carriage)
4x 300mm MGN12 linear rail (with MGN12H carriage)
4x T8x8 nutblock 2mm pitch
2x 5x8mm shaft coupler
1x 5mm bore GT2 timing gear
2x 8mm bore GT2 timing gear
1x GT2 belt (at least 600mm)
2x Toothed GT2 idle pulley
2x Smooth GT2 idle pulley
4x Leadscrew fixing block
1x 16x8x5 bearing
1x spoilboard (any wooden sheet)
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | X_endstop1, Y_endstop1, Z_endstop1, Z_probe1 |
| 4 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | Buck_converter1, X_motor1, Y_motor1, Z_motor1 |
| 3 | Pololu_Breakout_A4988 | Module:Pololu_Breakout-16_15.2x20.3mm | X_driver1, Y_driver1, Z_driver1 |
| 1 | Arduino_UNO_R3 | Module:Arduino_UNO_R3 | A1 |
| 1 | Conn_01x02 | TerminalBlock_Wuerth:Wuerth_691311400102_P7.62mm | PSU1 |
| 1 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | Conn_01x06 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J3 |
| 1 | Conn_01x08 | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J1 |

AndersBNielsen/Relatively-Universal-ROM-Programmer
Hardware to program W27C512 EEPROM or any 24/28/32 pin ROM requiring from 5V to 27V programming voltage.

AlanFord/self-balancing-stick
Dual Axis Reaction Wheel Inverted Pendulum

Edging-Machines/Edging-Machines
This repository is intended to contain as much information as possible about building, designing, prototyping, and using automated edging machines.

PedroCNeves/AC_ChargingStation
A learning project to create an EV AC Charging station based on an Arduino Uno

jonsag/arduTester
An arduino component tester based on https://create.arduino.cc/projecthub/plouc68000/ardutester-v1-13-the-arduino-uno-transistor-tester-dbafb4


ICRS/101
The all-new open source Robotics 101 course from ICRS. It's specifically designed to be run in hackspaces, after school clubs and university societies.

It measures 127.1 × 118 mm and has 2 copper layers, 1.6 mm thick.
16 parts, built around the ARDUINO UNO R3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Icyconfusion/PCB-mill repository on GitHub, at the commit this page was made from: the board is PCB/PCB mill.kicad_pcb and its schematic PCB/PCB mill.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Icyconfusion before reusing the design.