uCee (MicroCrawler) Robot with a custom MicroPython Board

Showroom for MicroPython related hardware projects.
Target audience: Users wanting to show off their project!
User avatar
JonHylands
Posts: 69
Joined: Sun Dec 29, 2013 1:33 am

uCee (MicroCrawler) Robot with a custom MicroPython Board

Post by JonHylands » Fri Feb 28, 2014 12:39 pm

I've been working on a new robot design over the past couple months, and it is mostly done from a hardware standpoint.

Image

The board looks like this:

Image

Here's what it looks like populated:

Image

This board uses the same processor that the official MicroPython board uses (STM32F405).

Here's a video of the robot moving around, powered with MicroPython:

https://www.youtube.com/watch?v=Gln-jAQxop4

The code can be found on my Github account: https://github.com/JonHylands/uCee-py/b ... rc/uCee.py.

- Jon

torwag
Posts: 220
Joined: Fri Dec 13, 2013 9:25 am

Re: uCee (MicroCrawler) Robot with a custom MicroPython Boar

Post by torwag » Fri Feb 28, 2014 1:57 pm

Hi Jon,

this looks great. Did you print the tracks too?
What was the reason for the forked pyboard? Just to get fixed connectors instead of the pin-headers?
I removed the second (double post) sorry for the inconvenience. The first two post of a new user needs approval by the moderators to avoid spambots-attacks.
You should be fine now, to post without approval.

User avatar
JonHylands
Posts: 69
Joined: Sun Dec 29, 2013 1:33 am

Re: uCee (MicroCrawler) Robot with a custom MicroPython Boar

Post by JonHylands » Fri Feb 28, 2014 2:17 pm

The tracks are from a Lego kit (Kit #9391):

Image

I did my own board for a couple reasons. First off, the space inside the robot is very tight (its a very small robot), and fitting the official PyBoard on a carrier board with all the connectors was very tight. Second, I've done a lot of my own boards with AVRs, so this was an interesting exercise and a chance to play with a more advanced 32 bit microcontroller. Damien posted the schematic for PYBv4, and has helped me a lot with the design and build of this board. My brother Dave has also helped enormously with this board.

There are a lot more details on my blog (http://blog.huv.com) for this project.

I'll be showing off the robot and my MicroPython board at PyCon in Montreal in April, if anyone is going to be there and wants to see it up close.

- Jon

User avatar
JonHylands
Posts: 69
Joined: Sun Dec 29, 2013 1:33 am

Re: uCee (MicroCrawler) Robot with a custom MicroPython Boar

Post by JonHylands » Tue Mar 25, 2014 11:58 am

I got some of my new MicroPython boards (revision 2) from SeeedStudio on Friday, and got one populated last night. Everything appears to work (REPL, leds are switchable). I have five of these boards, which is nice.

Here's what the bare boards look like:

Image

If anyone is interested, this is my setup for populating a board. Basically, I take a snapshot of the PCB design, clean it up a little, label it, and put all the parts beside it on top of labeled boxes. I use a stencil to put solder paste on the pads, and then place each component with a pair of tweezers. Once the surface-mount parts are all placed, I put the board in my home-made reflow oven (a toaster oven with an AVR controller I built).

Image

And here's the finished board, with a couple extra parts soldered on so I can power it up and reset:

Image

- Jon

pfalcon
Posts: 1155
Joined: Fri Feb 28, 2014 2:05 pm

Re: uCee (MicroCrawler) Robot with a custom MicroPython Boar

Post by pfalcon » Tue Mar 25, 2014 1:18 pm

Thanks for reposting it here, Jon. I felt that http://forum.micropython.org/viewtopic.php?f=2&t=49 is not the best place for those photos, mostly because if we post project updates elsewhere instead of this ("Projects") forum, newcomers will get an impression that nobody uses uPy, which is of course not true.
Awesome MicroPython list
Pycopy - A better MicroPython https://github.com/pfalcon/micropython
MicroPython standard library for all ports and forks - https://github.com/pfalcon/micropython-lib
More up to date docs - http://pycopy.readthedocs.io/

HarryOz
Posts: 18
Joined: Thu May 19, 2016 6:02 am

Re: uCee (MicroCrawler) Robot with a custom MicroPython Board

Post by HarryOz » Thu May 19, 2016 6:30 am

Can you post a list of points you followed to do the fork/custom pyboard? Including firmware programming. I would like to do the same. Would appreciate an insight into the process.

User avatar
dhylands
Posts: 3821
Joined: Mon Jan 06, 2014 6:08 pm
Location: Peachland, BC, Canada
Contact:

Re: uCee (MicroCrawler) Robot with a custom MicroPython Board

Post by dhylands » Thu May 19, 2016 6:41 am

The uCee board (done by my brother) is basically just a stripped down pyboard (no accelerometer or sdcard), with some custom connectors added.

The firmware is the stmhal firmware with a customized board definition to only enable the peripjerals which were actually used.

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: uCee (MicroCrawler) Robot with a custom MicroPython Board

Post by pythoncoder » Thu May 19, 2016 9:05 am

Very impressive!
Peter Hinch
Index to my micropython libraries.

User avatar
deshipu
Posts: 1388
Joined: Thu May 28, 2015 5:54 pm

Re: uCee (MicroCrawler) Robot with a custom MicroPython Board

Post by deshipu » Thu May 19, 2016 9:35 am

This is a very nice and cute robot. But somehow I can't help imagining a Johnny #5 torso built out of LEGO Technic on top of it :)

User avatar
JonHylands
Posts: 69
Joined: Sun Dec 29, 2013 1:33 am

Re: uCee (MicroCrawler) Robot with a custom MicroPython Board

Post by JonHylands » Thu May 19, 2016 11:30 am

dhylands wrote:The uCee board (done by my brother) is basically just a stripped down pyboard (no accelerometer or sdcard), with some custom connectors added.

The firmware is the stmhal firmware with a customized board definition to only enable the peripjerals which were actually used.
Actually, the uCee board does have an uSD card, but not an accelerometer. The reason I designed it was because of the connectors more than anything. The pyboard is nice, but it really only works well when you have a lot of space for the board plus connectors. uCee is a very small robot, and I needed to fit the processor plus a bunch of connections to sensors and actuators in a space not much bigger than the original pyboard.

The connectors are:

2-pin power in
2-pin power out (to hbridge board)
4 pin motor A
4 pin motor B
4 pin encoder A
4 pin encoder B
4 pin reset/boot (included because its hard to reach the board to push actual buttons)
4 pin IMU (I2C)
4 pin bluetooth (TTL)
3 x 3 pin analog in (range sensors)
3 x 3 pin digital in (proxdot sensors)

All those plus USB and uSD, four LEDs, and two voltage regulators.

Here's a picture of the two boards side by side for size a comparison:

Image

Post Reply