I'm looking to build an incredibly simple robot that I control via bluetooth. I've identified the CC2540 from TI which will theoretically allow me to do this. It sounds perfect, it's like 5 bucks. Alas, I have no clue how to integrate this chip (or any SoC generally) into a larger system. It's pins are much too small for a breadboard (duh)! I can't seem to find any hints online as to how an average Joe or Jane can utilize arbitrary SoCs to build cool things. Printed circuit boards, sure, but I'm not Bell Labs over here. Any resources would be welcome!
1 Answer
PCBs are cheap these days, and PCB design software is available as free software (KiCAD, gEDA) or as demo versions (Eagle), so lots of hobbyists are making their own PCBs, which is also how I'd go about this. Read the datasheets of every IC you use, most of them come with lots of recommendations on how to use them.
For Bluetooth, there is an additional complication that you need to build an antenna on the PCB, which is basically just a specially shaped copper area -- but it requires a separate tool to calculate the shape and some software wrangling to import it into the regular PCB design tool.
The next big step is soldering. QFN chips can be soldered with a normal soldering iron, but it's not exactly fun, usually it's better to use hot air (an 858D soldering station is so cheap, most people get two so they don't have to change nozzles when they need the other one).
Final step, programming: There are free toolchains for the MSP430 architecture, so this should also be accessible to you. Writing the code to the SoC memory requires a hardware interface, but these are fairly similar, I'd look at the OpenOCD project here and see what they recommend for programming MSP430 MCUs.
It's still an ambitious project, but it can be done on a small budget.
-
\$\begingroup\$ QFP is often an option. Bit tricky to solder by hand too, but easier than QFN. \$\endgroup\$– LundinCommented Apr 8, 2020 at 6:55
-
\$\begingroup\$ Wow. Thank you this is immensely helpful. Another bit just crossed my mind - amplification for servo motors? I doubt the MCU outputs more than 100mA. What would you recommend for the power supply? \$\endgroup\$ Commented Apr 8, 2020 at 7:04
-
1\$\begingroup\$ I doubt the MCU outputs more than 10mA. Look up driver ICs. \$\endgroup\$– Neil_UKCommented Apr 8, 2020 at 8:24
-
\$\begingroup\$ There should be readymade driver ICs for small BLDC motors that take step/direction inputs, so the MCU would only select the direction to go to with one pin, and output one pulse for each step on another. You probably also want a bunch of switches to detect collisions. \$\endgroup\$ Commented Apr 8, 2020 at 8:55