Arduino is good when you want to quickly implement an idea without bothering about trifles. But when an idea is tested, the extra functionality starts to get in the way.
Collecting a robot on a tracked chassis, I was faced with the fact that the Arduino + MotorShield + Sensor Shield sandwich plus the whole battery and other components were overgrown with wires and began to hardly fit into a not very tiny chassis. There was no wish to fence another bunch of Shilds in order to get rid of extra wires.
There was an idea to get rid of everything that is not required in the Arduino in the finished device. Along the way, I wanted to reduce the cost of the robot.
Many interested in electronics are also frightened off by the cost of the Arduino in stores. With ebay and Chinese stores, the parcel goes a long time, the inventive fervor has time to cool down, so the acquisition is postponed "for later", "when the son grows up." Therefore, I decided to assemble an Arduino-compatible board from parts that can always be bought in the city.
As a result, I received an Arduino-compatible fee, worth 210 rubles on a breadboard and ~ 270 rubles in a form ready for extension.

"
Minimalist Arduino "
From zero to full readiness it is assembled with a cheap 40W soldering iron for 1 day off without any special skills.
I don’t have a laser printer, I never split the printed circuit boards myself, so it was decided not to use LUT, but a prototype board with one-sided metallization (as cheap as possible, always on sale).
At first, I wanted to buy an Atmega328P in a DIP package to use the
Arduino on a Breadboard article and assemble the Arduino on a solderless one.

But it turned out that in DIP28 it is extremely difficult to find it in Moscow, and besides, it is significantly more expensive in this building. But in stock Atmega168 in bulk in any case. But the price of DIP28 and TQFP-32 is also quite significant. For a robot on a tracked chassis and home automation, the Atmega168’s capabilities are more than enough, so I’ve gotten the fear to save and use the 168 in the TQFP-32 package (leg pitch is 0.8mm)

I bought all the components except the epoxy model in Moscow, in one store (the models are sold in any radio store or on the market, I just had 5 pieces bought earlier on ebay).
So, first you need to solder a 9x9 mm microcontroller on a DIP adapter in order to work more comfortably with it.
mkpochtoi did not work, so I did not manage to buy a ready-made breadboard, I bought an MP-QFP breadboard, from which I sawed a piece under TQFP-32 with a hacksaw.

After reviewing the
soldering video tutorial from
DIHALT, I hoisted the mikruha on the breadboard with the help of an ordinary 40W soldering iron, spending a little more than 5 minutes on this (I didn’t have experience in soldering such small components and generally SMD components). As a flux used a few drops of glycerin (asked the girl, she is engaged in soap-making). Washed with hot water and dried with a hairdryer.

"
Atmega 168PA-AU "
40-foot line of PBS-40 with nippers nastrogal to pieces of 4 legs and soldered on the reverse side. I took the sockets, not the pins, so that the microcontroller board could be connected to the breadboard with wires without soldering.
Then everything is like in the article - I assembled a scheme on the breadboard, using a
datasheet from the Atmega 48/88/168 family (the numbers of the legs on the
DIP28 and TQFP-32 are different).
Since I took the processor clean, I had to flash it with a Arduino bootloader. Then an ambush was waiting for me:
The Arduino IDE knows only Atmega168 and knows nothing about the Atmega168P (more precisely Atmega168PA-AU) - a more recent version of the chip. She refused to flash it. And even earlier, I found out that Freeduino Nano v5.0 for some reason does not want to work as an ISP programmer. I had to disassemble the robot and get Freeduino 2009. using the ArduinoISP sketch and the example on Freeduino.ru, I managed to force avrdude to ignore the signature difference (the -F key) and flash the bootloader, fuses and lok.
I worked this option:
:: bootloader ( COM9 )
avrdude -F -C avrdude.conf -p m168p -c avrisp -P COM9 -b 19200 -e -U flash:w:optiboot_diecimila.hex
:: fuse lock
avrdude -F -C avrdude.conf -p m168p -c avrisp -P COM9 -b 19200 -Uefuse:w:0x00:m -Uhfuse:w:0xdd:m -Ulfuse:w:0xff:m -Ulock:w:0x0F:m
The official site has a
description of the connection for the firmware:

Alternatively, you can update the avrdude.conf file by writing the correct signature, but there is no need for this special one.
That's it, Arduino on the layout is ready. You can connect any USB - serial TTL (or RS-232-TTL) adapter and stitch a sketch from the Arduino IDE by selecting Board-> Arduino Diecimila, Duemilanove or Nano w / Atmega168.

"
Breadboard Arduino "
Convinced of the performance, I began to transfer to the breadboard.
The hardest of all was to optimally place the elements. For this, the most simple free tool turned out to be Fritzing. True, the clutter of pictures and wires looks scary, but allows us not to get entangled in the wires during assembly:

"
Minimalist Arduino "
I tried to reduce the number of individual wires, soldering where possible the conclusions of the stuck component to the desired contact simply by bending its legs and cutting off the excess.
Adding about 65 r for parts, I got this result:

"
Minimalist Arduino "
For convenience, I added a power bus and a ground (2 combs on the bottom right), a power button, an RX, TX, DTR socket for loading sketches and an ICSP connector for flashing a microcontroller with a programmer right on the board.

"
Minimalist Arduino Assembly "
By sticking a microcontroller board with an Atmega328P-AU, you can upgrade the device for tasks where there is not enough 16 kb under the sketch. I am going to use the place left on the breadboard under sensors, motor driver and other necessary things.
Here is a list of components and prices:
Name | Price | Qty | Cost of |
---|
MP-QFP flipchart | 64 | one | 64 |
Glass-Epoxy Board Prototyping PCB 9x15 FR4 | 43 | one | 43 |
PBS-4 | four | eight | 32 |
PBS-6 | four | 2 | eight |
Pls-40 | four | one | four |
ATMega168PA-AU | 62 | one | 62 |
LM7805 1A 5V Positive Voltage Regulator | 15 | one | 15 |
16.000MHz Crystal Clock | ten | one | ten |
22pF Capacitor | one | 2 | 2 |
10uF Capacitor | five | 2 | ten |
100nF Capacitor | one | one | one |
10kOhm Resistor | one | one | one |
150 Ohm Resistor | one | 2 | 2 |
DTS-61 button | 2 | one | 2 |
PS-22E85L | 7 | one | 7 |
WF-02 plug on board | one | one | one |
Red 3mm LED | 2 | one | 2 |
Green 3mm LED | 2 | one | 2 |
| | Total | 268r. |
20 centimeters of mounting wire, solder and flux, I did not count :)
It turned out even a little cheaper than the Arduino Pro Mini ($ 9.5), while it is more convenient to use and you do not need to wait 3 weeks until you arrive from China).
But the best part - it can assemble each and all components are commercially available and easily accessible. Wait and look for nothing. Have you seen an interesting project on arduino on a habr? Collect it!
If you are not familiar with Arduino or the programmer, then the seller can flash the bootloader for 50 rubles, and the USB-Serial TTL adapter may not be purchased if the computer has a COM port.
I assembled such an adapter from MAX232CPE, a DB9F connector and 4 capacitors for a ruble thing:

"
Loading Sketch "