Coming back to R2C2 and new directions

160 views
Skip to first unread message

bobc

unread,
Jun 11, 2013, 5:57:14 PM6/11/13
to r2c2-repr...@googlegroups.com
Hi everyone!

After a while away from R2C2, I am now back doing some firmware development. In the meantime, I entered a competition for a new electronics board http://reprap.org/wiki/Race_to_the_Bottom and I came a credible third place, though mainly because few other entrants were able to get working electronics :) It all takes a lot more effort than one realises, but it was great fun trying to reach a deadline.

Sango-bc is an ARM board using an STM32 chip with a fairly small flash (64KB), which I decided to port Teacup to rather than R2C2. I did get it working, but Teacup has a lot of dependencies on AVR. I also did a port of the same build to an LPC1114, with even less flash (32KB), for Traumflugs Gen7-ARM development.

I have also been trying to design a RAMPS version for Due, and also find some suitable firmware to port to Due.

More recently I have been working in a pick and place machine, and also got interested in laser setups.

So what I have learned is that it would be really useful to have a portable, general purpose machine firmware, and that reinventing wheels quickly gets tiring, but more importantly going round in circles making small improvements does not move things forward. There are various people working on some really interesting polar and delta bots, they really need a faster control system instead of the hacked AVR setup. A Cortex-M4 with FPU would make a great setup for them, but there is no support for that, either hardware or firmware.

Coming back to R2C2, and seeing where I got to, I think that FreeRTOS has a little too much complexity, and doesn't offer much in the way of portable device drivers. It is also pretty much a loss leader for NonfreeRTOS. For the above Teacup ports I used ChibiOS, which has better device driver support and a lot of other features, but is also pretty complex. Therefore I am removing FreeRTOS and replacing it with a very lightweight cooperative set up, a model I have used successfully in several projects for my day job.

I see that not much has happened to the R2C2 firmware, but the edge branch I had been working has diverged a lot from the master branch. I don't really fancy merging the two branches back together, and obviously there is little demand to have the features from edge on master. I don't want to inflict experimental changes on the stable R2C2 firmware, so it is probably best if we leave r2c2/master as it is and leave r2c2/edge for historical interest.

For the future, I will be doing r2c2 firmware development in my own forked repo, and leave the r2c2 repo entirely under the control of Bitbox. This gives me the flexibility to hack around, and general r2c2 users get a stable officially supported firmware by Bitbox.

Well, that turned out to be a long post! But, I see some interesting developments ahead.

Nelson Neves

unread,
Jun 11, 2013, 7:14:33 PM6/11/13
to r2c2-repr...@googlegroups.com
Hi Bob,

glad to ear that you've been busy and doing such awesome projects, congrats for the prize, it's always good to accept this kind of challenges!

What kind of Cortex-M4 have you been working with, I've tested some STM32F4 Discovery boards, the price of the dev. board was so damn cheap that I couldn't resist, done some ChibiOS demos but that was it, just basic stuff!

Thanks for your R2C2 FreeRTOS work, been using that firmware (not really as active as I would like).

Regards,
Nelson.



--
You received this message because you are subscribed to the Google Groups "R2C2 - electronic board to control RepRap 3D printers and others" group.
To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

bobc

unread,
Jun 12, 2013, 2:04:29 PM6/12/13
to r2c2-repr...@googlegroups.com
Yeah, STMF4 Discovery is amazing for the price, I'd love to drop some printer firmware on it. There is also interesting hardware from Freescale, Stellaris and many others. The problem becomes how to easily slap on a printer shield, and port over a common firmware without having to start a whole new port or writing from scratch.

The way things are going is that every platform has its own hardware and firmware, which I think creates too many side branches. e.g. Beaglebone has a printer cape, but is quite incompatible with anything else. At least the UDOO has a Due embedded in it, so it should be snap to put into a printer system.

When I have RAMPS for Due going, I want to look at creating CPU boards for other chips than SAM3X. For example, an adapter board for LPCXpresso should be pretty easy.

My dream is for the user to be able to select a processor board, select an appropriate control shield (printer, laser, CNC etc), and a suitable firmware which runs on any platform, plug the lot together and off they go. Much like assembling a PC for example. It will never be completely seamless, but certainly could be a lot easier.
To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and-cnc+unsub...@googlegroups.com.

Nelson Neves

unread,
Jun 12, 2013, 5:59:02 PM6/12/13
to r2c2-repr...@googlegroups.com
Very interesting projects, let me know how that RAMPS for Due is going, not been very active with the Arduino (mostly because my confort zone goes to the LPC 1768 MBED), but Due seems to be very appealing (in terms of hardware pretty similar to the MBED).

Will you keep this mailing list updated or do you have any other way for me to follow your work (Twitter, G+, or other ML).

I'm OK about your updates here, don't know about others.

About you generic processor board/control shield/adaptable firmware, that looks like a very ambitious project! I like it a lot, I'm all in favor of such solutions, go for it! ;)


To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and...@googlegroups.com.

bobc

unread,
Jun 12, 2013, 7:10:58 PM6/12/13
to r2c2-repr...@googlegroups.com
Heh, I should really get a blog or something :) Generally I post on the Reprap forums.

Mbed and LPCxpresso are somewhat similar, I think I can create a dual footprint board. LPC1768/9 is a definite target, I have a Smoothieboard on the way. It would be nice to have ethernet on board, but at $130 or so Smoothieboard is comparable in price to Arduino Mega + RAMPS.

There are kind of two standards developing, Arduino/SAM3X and Mbed/NXP and others. I was always put off my the Mbed cloud environment, but having tried it is not bad, and there is now a feature to export a makefile version to compile offline. I really can not use the Arduino IDE for anything though.

There are a few people working on Due related projects, and also Smoothieboard projects, but of course in typical cat herding style they have all gone off in different directions developing new firmware :) I figure I already have ARM firmware, I just need to run it on a different CPU/board. Fortunately, porting to different processors is part of my day job, we are currently moving code from one Freescale DSP to a new one.
To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and-cnc+unsubscribe...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Arthur Wolf

unread,
Jun 12, 2013, 7:16:20 PM6/12/13
to r2c2-repr...@googlegroups.com



2013/6/13 bobc <bobcou...@googlemail.com>

Heh, I should really get a blog or something :) Generally I post on the Reprap forums.

Mbed and LPCxpresso are somewhat similar, I think I can create a dual footprint board. LPC1768/9 is a definite target, I have a Smoothieboard on the way. It would be nice to have ethernet on board, but at $130 or so Smoothieboard is comparable in price to Arduino Mega + RAMPS.

There are kind of two standards developing, Arduino/SAM3X and Mbed/NXP and others. I was always put off my the Mbed cloud environment, but having tried it is not bad, and there is now a feature to export a makefile version to compile offline. I really can not use the Arduino IDE for anything though.

At this point, smoothie is completely independent from the mbed cloud. The mbed libraries are the only things we use, and they have been opensourced.
So basically we use this stuff, but no realy dependence on the mbed ecosystem.
Smoothie has scripts to fetch/install your own toolchain, and compile your smoothie locally.

Also, the mbed libs are designed in a way that makes porting easy(-er). They are basically a HAL. Several ppl want to port Smoothie to SAM3(X/U), I think Kliment and Triffid_Hunter are amongst them. Same thing goes for STM32F4 ( there was a partially working port a while back already ).
Porting to LPC43xx is also planned this year for smoothieboard v2.
Don't do yet another firmware, port smoothie :)
 
To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Courage et bonne humeur.

bobc

unread,
Jun 16, 2013, 5:38:45 AM6/16/13
to r2c2-repr...@googlegroups.com
But smoothieware still uses mbed libraries, which would have to be ported, plus parts of Smoothieware. Of course, that assumes I want to run Smootheware, which I still can't see any reason to do so.

I've now got a Smoothieboard beta board, and I have to say in some ways it is not as good as the R2C2. Smoothieboard is cheaper and has an ethernet onboard, which were the main selling points for me, but the heatbed connectors are unusable. If these and some other issues were fixed, it would be a good board.

I'm in the process of porting r2c2 to it, I had to add my own JTAG/SWD header (another -1), seems like every spare connection is brought out except the SWD pins.

I have done a lot of refactoring of r2c2 to isolate hardware dependencies, it is amazing how they propagate if unchecked. I have the firmware starting up and accessing the SD card, it crashes shortly after. I guess it will take a few more days to get it running fully.

Unfortunately all these code changes are steadily eating up memory, without USB and SD card it will fit into a 64KB chip though. There is a Freescale M0 chip with 128KB flash and USB, that is on my long term list of targets. I am working on an efficient heap manager which will help reduce fixed footprint, there is no point allocating buffers for unused UARTs for example.
Courage et bonne humeur.

Arthur Wolf

unread,
Jun 16, 2013, 5:45:57 AM6/16/13
to r2c2-repr...@googlegroups.com

2013/6/16 bobc <bobcou...@googlemail.com>

But smoothieware still uses mbed libraries, which would have to be ported,

I meant just taking the install scripts for the toolchain, not all of Smoothie. They work great and can be used independently from Smoothie.
 
plus parts of Smoothieware. Of course, that assumes I want to run Smootheware, which I still can't see any reason to do so.

You haven't used it enough then :)

I've now got a Smoothieboard beta board,

Actually, it's not a beta board. The guy that produced them forgot to take the beta mention off :) It's the latest version from github you have.
 
and I have to say in some ways it is not as good as the R2C2. Smoothieboard is cheaper and has an ethernet onboard, which were the main selling points for me, but the heatbed connectors are unusable.

I would be very curious to know what bed you are using. The connectors were found to be adequate for everybody so far ( sold nearly 200 boards now ), appart from that one guy in France that wanted to control that immense 600x600 / 30A bed ...
We chose the connectors to fit the biggest thing we could reasonably think of at the time ( 24v/300x300/400W bed ). What do you have ?
 
If these and some other issues were fixed, it would be a good board.

I'd be very interested to know the other issues.

I'm in the process of porting r2c2 to it, I had to add my own JTAG/SWD header (another -1), seems like every spare connection is brought out except the SWD pins.

In smoothie we have MRI, it's very convenient so nobody in the community really uses JTAG : http://smoothieware.org/mri-debugging
But I can see how that can be a problem if you are porting another firmware. It should be easy to add MRI to anything though really.
 
To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

bobc

unread,
Jun 16, 2013, 6:07:14 AM6/16/13
to r2c2-repr...@googlegroups.com
I think that Smoothie specific questions are off-topic for this forum, which is for R2C2 development. Smoothie seems to have plenty of channels of its own, I don't want it to take over this group as well. I kind of turn a blind eye to your constant promotion of Smoothie, but I have to draw the line somewhere.

So please stick to R2C2 related discussion.

Thanks



--
Courage et bonne humeur.

--
You received this message because you are subscribed to the Google Groups "R2C2 - electronic board to control RepRap 3D printers and others" group.
To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and-cnc+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Arthur Wolf

unread,
Jun 16, 2013, 6:12:45 AM6/16/13
to r2c2-repr...@googlegroups.com
Yeah sorry, I usually silently follow this list, but I felt the need to correct when you talked about the closed source online compiler.
I should probably have done so in private, my bad.


2013/6/16 bobc <bobcou...@googlemail.com>
To unsubscribe from this group and stop receiving emails from it, send an email to r2c2-reprap-and...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

bobc

unread,
Jun 16, 2013, 7:14:44 AM6/16/13
to r2c2-repr...@googlegroups.com
Well, I find I need to correct your correction. I did not say anything about closed source, nor did I say that the mbed library is online only, I explicitly said there is an offline version. So please don't accuse me of saying things I did not. What I in fact did say, that Smoothie relies on mbed libraries, is entirely correct and still stands.

It is rather obvious you only come here to promote your project, and it seems like 95% of the misinformation comes from you, which mostly I ignore. I find it quite exasperating trying to discuss anything with you, you always wriggle away from the issue. You would make a good politician :)

So yes, please address any further non-R2C2 issues you may have via a different medium and stop posting spam/misinformation. That's a _polite request_ from a moderator. ;)
Message has been deleted

bobc

unread,
Jun 16, 2013, 8:03:35 AM6/16/13
to r2c2-repr...@googlegroups.com
Ok, there is a "3 strikes and you are out" rule. Despite repeated hints, you have struck out.

On Sunday, June 16, 2013 12:23:21 PM UTC+1, Arthur Wolf wrote:

[...]
Reply all
Reply to author
Forward
0 new messages