{"id":2140,"date":"2018-08-28T18:58:20","date_gmt":"2018-08-28T22:58:20","guid":{"rendered":"http:\/\/ninecrows.com\/career\/?p=2140"},"modified":"2018-08-28T13:21:59","modified_gmt":"2018-08-28T17:21:59","slug":"more-progress-on-the-controller-front","status":"publish","type":"post","link":"https:\/\/ninecrows.com\/career\/2018\/08\/28\/more-progress-on-the-controller-front\/","title":{"rendered":"More progress on the controller front&#8230;"},"content":{"rendered":"<p>I&#8217;ve picked up some representative AVR based boards to supplement the ARM based RPi board I have around the house. Between the two, I expect that a pretty capable solution can be put together. The ARM running Linux and providing high level business logic and user interface while the AVR boards provide hardware level control and real-time &#8216;fast twitch&#8217; capability.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2139\" data-permalink=\"https:\/\/ninecrows.com\/career\/2018\/08\/28\/more-progress-on-the-controller-front\/img_20180825_105330\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg?fit=4048%2C3036&amp;ssl=1\" data-orig-size=\"4048,3036\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Pixel XL&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1535194411&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.67&quot;,&quot;iso&quot;:&quot;114&quot;,&quot;shutter_speed&quot;:&quot;0.016656&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"IMG_20180825_105330\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg?fit=300%2C225&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg?fit=474%2C356&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-2139\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg?resize=150%2C150\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105330.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a> The ATMega2560 is a high-end device with generous resources in pretty much all relevant areas. It is quite a bit more expensive than the lower tier parts and I&#8217;m inclined to look at a finer grained approach initially.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2127\" data-permalink=\"https:\/\/ninecrows.com\/career\/2018\/08\/28\/more-progress-on-the-controller-front\/img_20180825_105418\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg?fit=4048%2C3036&amp;ssl=1\" data-orig-size=\"4048,3036\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Pixel XL&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1535194460&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.67&quot;,&quot;iso&quot;:&quot;123&quot;,&quot;shutter_speed&quot;:&quot;0.016656&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"IMG_20180825_105418\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg?fit=300%2C225&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg?fit=474%2C356&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-2127\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg?resize=150%2C150\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_105418.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a>The ATmega328 is the &#8216;common&#8217; controller in this line. This is the part that powers most of the Arduino line of boards. It has relatively limited resources but with multiple timer\/counters and an I2C link should suffice for most of the sorts of tasks I&#8217;m looking at. This is a fully featured board, but I have a package of five free-standing boards on the way. These boards run less than $5.00 a piece but have no integrated USB capability and thus need either an ISP programmer or a separate USB to RS232 converter to load with code.<a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg\"><br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2128\" data-permalink=\"https:\/\/ninecrows.com\/career\/2018\/08\/28\/more-progress-on-the-controller-front\/img_20180824_131138\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg?fit=4048%2C3036&amp;ssl=1\" data-orig-size=\"4048,3036\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Pixel XL&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1535116299&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.67&quot;,&quot;iso&quot;:&quot;258&quot;,&quot;shutter_speed&quot;:&quot;0.008328&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"IMG_20180824_131138\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg?fit=300%2C225&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg?fit=474%2C356&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-2128\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg?resize=150%2C150\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180824_131138.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a> The last three small boards I picked up for sandbox purposes are ATmega23U4 boards. These use the AVR controller that has built-in USB capability. I&#8217;m very interested in what can be done with this support as it should allow coding of various sorts of USB devices using the native hardware on the parts.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2126\" data-permalink=\"https:\/\/ninecrows.com\/career\/2018\/08\/28\/more-progress-on-the-controller-front\/img_20180825_111712\/\" data-orig-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg?fit=4048%2C3036&amp;ssl=1\" data-orig-size=\"4048,3036\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;Pixel XL&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1535195833&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.67&quot;,&quot;iso&quot;:&quot;53&quot;,&quot;shutter_speed&quot;:&quot;0.001247&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"IMG_20180825_111712\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg?fit=300%2C225&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg?fit=474%2C356&amp;ssl=1\" class=\"alignleft size-thumbnail wp-image-2126\" src=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg?resize=150%2C150\" alt=\"\" width=\"150\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg?zoom=2&amp;resize=150%2C150 300w, https:\/\/i0.wp.com\/ninecrows.com\/career\/wp-content\/uploads\/2018\/08\/IMG_20180825_111712.jpg?zoom=3&amp;resize=150%2C150 450w\" sizes=\"(max-width: 150px) 100vw, 150px\" \/><\/a> I&#8217;ve had these <a href=\"https:\/\/www.pololu.com\/product\/1182\">pololu stepper controller<\/a> break-out boards sitting around for some time now. They&#8217;re destined for a RepRap machine (assuming I ever find the time and budget to finish buying components). They&#8217;re H bridge, step and direction style stepper controllers with an <a href=\"https:\/\/www.allegromicro.com\/en\/Products\/Motor-Driver-And-Interface-ICs\/Bipolar-Stepper-Motor-Drivers\/A4988.aspx\">Allegro A4988<\/a> device. I&#8217;m expecting to push these together with a stepper motor and at least see it responding to commands in the near future.<\/p>\n<p>Once I&#8217;ve got a stepper running at least a bit, the next step needs to involve more mechanical parts&#8230;probably makes sense to get the real <a href=\"https:\/\/reprap.org\/wiki\/RepRap\">RepRap<\/a> implementation rolling at that point.<\/p>\n<p>I am a bit curious about ARM based possibilities&#8230;something like a cortex M0 with a free\/open source RTOS running on it. This would certainly allow for more to be done with fewer independent controllers&#8230;though the relevant pieces remain to be worked out. I&#8217;m suspicious that the RPi SOC is too poorly documented to work here&#8230;would need\u00a0 a lower end, more dedicated part with a board support package for something free and capable&#8230;more to come.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve picked up some representative AVR based boards to supplement the ARM based RPi board I have around the house. Between the two, I expect that a pretty capable solution can be put together. The ARM running Linux and providing high level business logic and user interface while the AVR boards provide hardware level control &hellip; <a href=\"https:\/\/ninecrows.com\/career\/2018\/08\/28\/more-progress-on-the-controller-front\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">More progress on the controller front&#8230;<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[9,12,2,22],"tags":[],"class_list":["post-2140","post","type-post","status-publish","format-standard","hentry","category-daily-blog","category-general-technical","category-projects","category-sandbox"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7F2Qc-yw","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/posts\/2140"}],"collection":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/comments?post=2140"}],"version-history":[{"count":8,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/posts\/2140\/revisions"}],"predecessor-version":[{"id":2148,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/posts\/2140\/revisions\/2148"}],"wp:attachment":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/media?parent=2140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/categories?post=2140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/tags?post=2140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}