Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 09:02 01 Aug 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Time to give up ?

Author Message
spock57
Newbie

Joined: 24/09/2017
Location: United Kingdom
Posts: 4
Posted: 08:51am 12 Jul 2019
Copy link to clipboard 
Print this post

!!!!!!!!!!!!! WARNING RANT !!!!!!!!!!!!!!!
How the hell does anybody get anything done these days? I have been trying to get my head around pic programming .asm for 15 years the chips seem relatively simple but I have never been able to get MPLAB working .I have never had the same fault on each installation, the pickit3 is crap again same problem as with the rest of Microchip offerings. I was OK with the 1802 Z80 and 6809 (my favorite), but pic no go. I hate C and find it completely incomprehensible, interpreted basic is fine, compiled basic would be nice but we are back using the bloody awful pickit2/3/4.
Arduino oh the great structured language (C ish) just bolt the libraries together and go, thats until you find Vx.1 wont compile the code Vx.2 will but not the older libraries, frequently the resources the libraries use are not stipulated so you find the program bombs because of conflicts, the ethos only comment when necessary seems to be have interpreted as don’t bother commenting.
Then there is windows, Win 3.11 hated it, Win95 (things looking up), Win 98(getting there), Vista (oh crap), Win 10 (WTF!!!!). My works PC was supposed to be used for updating medical software but by time all of the security patches were installed by IT (bless em) the PC was so unstable we had to pay a small fortune for the manufacturer of the equipment to come in and do it for us because they had a PC that apparently worked. 1981 my Tandy model 1 took 5 minutes to load a program from cassette, today I turned on Windows 8 (AARGH) it took 10 minutes for me to reinstall MS word and another 10 minutes for windows to stop telling me the updates were finished, just what have I gained?
Micromite at last some sanity, burned it into pic32 with pickit3 no bother all worked great Mmedit no bother, few weeks later used pickit for another pic 32, no-go (bloody PK3, Microchip, Win10 -AGAIN) used the microbridge no bother. So it seems there are programmers out there that can make user friendly software that actually works.
Most of my projects need more than a NE555 timer but less than a Micromite anybody fancy creating tiny MM basic for pic 12F18xx and 16F18xx.



 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2170
Posted: 09:10am 12 Jul 2019
Copy link to clipboard 
Print this post

Morning Spock.

I understand your frustration and I agree that every time I fire up my PK3 I seem to spend 30 mins piddling about with some problem.

I also come from an assembler background (12 years writing Z80 professionally) and yes the PIC architecture is a culture shock, I found mainly because of the Harvard architecture but also because some of the mnemonics aren't intuitive on the PIC. I understand both of these are addressed with later PICs to some degree but I no longer do ASM - perhaps a few KB a year of assembled stuff. I use MMBasic for a lot of my stuff and Great Cow Basic for time critical stuff (it compiles to PIC hex or asm)... I know all the "basic is cr4p" arguments etc but who cares? it is what you feel comfortable with and I never got into C

If you still fancy ASM, I made a load of macros to add Z80 like mnemonics, sensible jumps, compares etc. even today I have to single-step my brain through BTFSS - it just doesn't work right for me... I replace it with JNZ or RETC and it's lovely.

Great Cow is a nice mid-way one thing it lacks is floating point so if you need decimals you have to work with the order of magnitude incorporated and then format before use. bit of a pain but not a show stopper. On the upside, its management of other data types is really nice it even keeps track of BIT types with flag arrays in system variables.

You can find my macros here: http://www.fruitoftheshed.com/PIC%20ASM.AllPages.aspx

and some GC Basic to look at here:
http://www.fruitoftheshed.com/GCB.AllPages.aspx

you might find something that inspires the next step.

Sorry about PK3... I always seem to have a battle after I haven't used it for ages. My electronics" machines are all window 7 - the last version that was any good. I am on borrowed time regarding updates but I'll cross that bridge when I get to it. I hate the Windows 10 interface and that everything gets moved around or updated without being consulted.,.. do I not "own" anything anymore?

On the "less than a micromite" argument... I used to think like you but really, they are sub £5 and it's feelings won't be hurt if it has a menial task... if it fits as a solution you should use it. Don't break your back trying to obtain a hardware solution if a bit of clever software on a single chp has got it covered.

h
Edited by CaptainBoing 2019-07-13
 
plover

Guru

Joined: 18/04/2013
Location: Australia
Posts: 306
Posted: 12:06pm 12 Jul 2019
Copy link to clipboard 
Print this post

  Quote  Most of my projects need more than a NE555 timer but less than a Micromite anybody fancy creating tiny MM basic for pic 12F18xx and 16F18xx


well, it seems to me that perhaps a "nanomite" might be help full for you. Check out bigmik's offerings? I thought he has now a bypass of the pickit on some of his products. These may be too big for you too though.

 
spock57
Newbie

Joined: 24/09/2017
Location: United Kingdom
Posts: 4
Posted: 12:09pm 12 Jul 2019
Copy link to clipboard 
Print this post

Hi CaptainBoing
Thanks for the reply I'm not sure why I even started trying to program pics in assembler apart from the challenge and I'm too pig headed to give up but just about smart enough to know I'm not really cut out for assembler.
I really do not understand why an editor assembler for say a Z80 with hundreds instructions could be made to run in a few kilobytes in the 80's yet an editor assembler for a pic with about 40 instructions requires several megabytes yes I know there are C compilers and other addons (or bloatware) but 600M+ for the installer!

I agree the a less painful option is to use something like great cow basic . I have an old laptop I think I will disable the internet and put all of my software there no updates no popups no interference
I'm not sure why a pressure group most probably in America has not sued Microsoft over Win10, goods bought are the property of the purchaser for use as they see fit, they should not have it reconfigured against their will by Microsoft. It's a bit like buying a new car and having company rep drop by to use it for their shopping.

Ok I'm a cheapskate the micromite does not cost a fortune and there is also the option of the Nanomite if size matters,I cant resist the temptation to use the least parts which is why I like the 08M2 picaxe.

Incidentally when uninstalling MPLABX I inadvertently wiped six months of picaxe project work hence the rant it will take a day to sort the backups, time to do something with a micromite
 
spock57
Newbie

Joined: 24/09/2017
Location: United Kingdom
Posts: 4
Posted: 01:12pm 12 Jul 2019
Copy link to clipboard 
Print this post

Hi plover
I already have a couple of bigmick's boards physical size is not an issue it just an 8 pin ic is often enough for my needs it seemed a shame to get a pic32 to do a 10/12/16/18F's job.

Pause for thought..............

current price for 12f1840 approx 1 GB pound (Assembly lang)
current price for 32MX170 approx 3.15 GB pound (Basic)
current price for picaxe 08M approx 2.25 GB pound (Basic)

using the 12f saves over 32MX 2.15 GB pounds. Days of development IDE a pain
using the picaxe 08M saves over 32MX 90 pence. Easy development bit slow
using the 32MX MM program-run-bomb-debug-run.... no fuss

MM faster than picaxe with more features but slightly steeper learning curve, easier than assembler, price difference insignificant. Why did I ever think if using assembler
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 01:38pm 12 Jul 2019
Copy link to clipboard 
Print this post

  spock57 said   Hi plover
I already have a couple of bigmick's boards physical size is not an issue it just an 8 pin ic is often enough for my needs it seemed a shame to get a pic32 to do a 10/12/16/18F's job.

Pause for thought..............

current price for 12f1840 approx 1 GB pound (Assembly lang)
current price for 32MX170 approx 3.15 GB pound (Basic)
current price for picaxe 08M approx 2.25 GB pound (Basic)

using the 12f saves over 32MX 2.15 GB pounds. Days of development IDE a pain
using the picaxe 08M saves over 32MX 90 pence. Easy development bit slow
using the 32MX MM program-run-bomb-debug-run.... no fuss

MM faster than picaxe with more features but slightly steeper learning curve, easier than assembler, price difference insignificant. Why did I ever think if using assembler


A pint in a non-chavvy pub: 3.5 GB pounds.
 
gadgetjack
Senior Member

Joined: 15/07/2016
Location: United States
Posts: 169
Posted: 04:21pm 12 Jul 2019
Copy link to clipboard 
Print this post

If you want to try PICBASICPRO , a compiled basic for pics, Pm me and I will send it to you.
 
Quazee137

Guru

Joined: 07/08/2016
Location: United States
Posts: 593
Posted: 06:15pm 12 Jul 2019
Copy link to clipboard 
Print this post

I toooo would like to find a compiler basic as sweet/GREAT as MMBasic
for the PIC's. I was ok with asm on every thing from the 4004 to the
486's and 8748, 8749. All Zilog chips. Most 6800 and 6500 too.

Even had the asm/dasm tapes for the MicroAce 2K kit. Was fun building
add on hardware cage and a macro library to support Golfball printer,
300 baud modem bank switched ram/eproms.

I would buy the PICBASICPRO GOLD but I have not found any one using it
under WINE or CROSSOVER successfully.

I use the 170's for all my smaller needs projects. Still looking for time
to play with a reflow oven and try the small 28 pin QFN package.

Current project is stuffing the 170 28pinner, 12V relay, 3 optocouplers,
3 leds, a push button B1203 isolated power, 5 smd caps, 8 smd resistors
and 2 6pin Screw Terminal Blocks in a DIN RAIL BOX.

I would have done this with the picaxe 08M. But MMBasic has the pin
functions I needed so easily available.


Edited by Quazee137 2019-07-14
 
retepsnikrep

Senior Member

Joined: 31/12/2007
Location: United Kingdom
Posts: 134
Posted: 04:45am 13 Jul 2019
Copy link to clipboard 
Print this post

I use PicBasic Pro Gold daily on non internet WinXP or internet Win7 Machines and have done for years.

I use good old cheap pickit2 clones with the associated pickit2 software and updated device files which covers all the devices PB-Pro supports.

https://www.piccircuit.com/shop/pic-programmer/55-118-icp02-usb-pic-programmer.html#/51-version-v20

I don't have the issues you describe, although every system has it's quirks.
But it works well for me..
Gen1 Honda Insights.
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 12:21am 14 Jul 2019
Copy link to clipboard 
Print this post

We most of us feel your pain, I think....
(other members please pardon my presumptuousness)

I hate assembler - could never get my head around it. I played with C for a little while as a newbie just trying to blink an LED on and off, but it was unbelievably difficult to do it(as a newbie to C), so much so that C gurus like Geoff(MM Creator) and Peter(matherp) that can whip up very useful C routines and extra features in the MMBASIC interpreter, stun me. Each to their own I guess, and I respectfully decline to do any coding whatsoever inside the beast that is C.

I expect it is simply that the likes of Geoff and Peter have had many, many more years(decades, probably) of practise coding in C, to become the gurus that they now are. Just like everyone else, I expect they too found C difficult when THEY were learning it.

....but then again, some people can pick up languages extremely easily, and others cannot, so again - each to their own...

If you want simple-as, then use any minimalistic MM module that features the on-board 1455 USB interface chip, as it will provide the USB-Serial bridge for you, and ALSO supports programming new HEX firmwares into the PIC32 chips WITHOUT you needing to touch the massive Microchip IDE download or the often problematic PK3.

I used to have heaps of problems with the PK3 trying to program chips. The most common complaint from it, was that the voltage on the PIC32 was not EXACTLY 3v3 as detected by the PK3 and Microchip IDE/IPE, and it would refuse to program the chip. Very annoying. We're only talking 100mV or so out, and it would refuse, so if the voltage was 3.2v instead of 3.3v, the IPE would refuse to program the chip.

Once the 1455 chip came along, all my prayers were answered, and it makes the likes of the E28 or E64 modules a pleasure to use and program. No Microchip software required, only about 300k - yes, 300k - of freeware programming tool. And that even has a GUI for that 300k or so. Better then 600MB or more of the Microchip IDE you have to download, just to get access to the IPE(which is what most people want). You don't even need to INSTALL the freeware 1455 GUI - you just double-click the exe, and you're away laughing.

What all that means, is that any MM module with the 1455 chip from any supplier, can be programmed using nothing more then a 300k utility, a standard USB cable, and the HEX file - bliss...

As far as BASIC on lesser chips, I agree with others that Great Cow BASIC is the one to go for there, probably, as that one supports a whole plethora of chips you can run it on.

EDIT: What I love the best about MMBASIC is probably the fact that it has a built-in program editor, and it has an immediate mode. That means that EXACTLY like old BASIC computers of the past(Atari/BBC/C-64/Sinclair etc), if the program runs into an error, it will halt with an error at the command-prompt. Other embedded BASIC's DON'T do that. PICAXE BASIC and Great COW(I think) compile and download the program to the chip, but if there is some odd bug, the chip will just crash, and you are left scratching you head trying to work out what you did wrong, and where the bug is. There is the syntax checker on both of those, but ultimately, once the program has been downloaded to the chip, if it runs into problems, the chip just hangs. The MM does not. It stops with an error message, and you can investigate and often fix the bug RIGHT THERE ON THE COMMAND LINE in immediate mode, and then change the master code to fix the bug. I have done that gawd only knows how many times when squishing bugs in the BASIC code on the MM....

It makes program development much, much easier and quicker.

Sorry.....looks like it is my turn to rant!

Edited by Grogster 2019-07-15
Smoke makes things work. When the smoke gets out, it stops!
 
BrianP
Senior Member

Joined: 30/03/2017
Location: Australia
Posts: 292
Posted: 12:43am 14 Jul 2019
Copy link to clipboard 
Print this post

Grogs - +1!
 
plover

Guru

Joined: 18/04/2013
Location: Australia
Posts: 306
Posted: 10:40am 14 Jul 2019
Copy link to clipboard 
Print this post

Hmmm I think 10++
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1132
Posted: 10:25pm 14 Jul 2019
Copy link to clipboard 
Print this post

Close. Should be:
10++;

That semi-colon is important.

===============
I'm always intrigued when people have these battles with the Microchip tools. While I do grumble about stuff from time to time, mostly about MPLABX, things generally just work for me. I have many PicKit 3s, where each is configured for a particular PIC family ('F16s, 'F18s, MX32s, '24s & '33s) There's also an ICD, ICD2 and ICD3 and even an ancient PICStart Plus. The ICD and ICD2 are the only ones unused these days.

I use both MPLAB 8.92 and MPLABX, programming in assembler and C. Yes, the free versions of the C compilers generate terrible bloated code but when that's a problem, I start moving code to assembler. I've played with Great Cow Basic a bit - it works quite nicely and generates pretty clean code - but I haven't spent enough time with it to get it to perform the subtle dances I sometimes need.

Anyone trying to figure out programming these microcontrollers (or any for that matter) needs, in my opinion, to figure out 2 parts:
1) How to generate HEX files and
2) How to program the HEX file into the chip.

A third optional skill, with appropriate tools, is live debugging a program running on a chip. I get the occasional problem that is much easier to solve with a debugger. But this is optional.

With that said, if a MMite programmed with MMBasic gets the job done, why worry if it's overkill. The chip might cost a bit more but that is far more valuable than a chip that costs 25% but needs days of fighting tools to get anything done.
Visit Vegipete's *Mite Library for cool programs.
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9610
Posted: 11:20pm 14 Jul 2019
Copy link to clipboard 
Print this post

[Quote]With that said, if a MMite programmed with MMBasic gets the job done, why worry if it's overkill. The chip might cost a bit more but that is far more valuable than a chip that costs 25% but needs days of fighting tools to get anything done.[/Quote]

Well said. That is it exactly. I do use the 28-pin MM2 chip in lots and lots of things, and it's power is really overkill, but it is familiar to me now, and I know it will just work as soon as you built it 99.9% of the time. Sure, sometimes there are odd things, but these forums and the MMBASIC developers are so active, that any bug in the firmware is squished very proactively.

That only leaves ME to sort out MY bugs in the BASIC code!

I also have a couple of different PK3 units. I have one specifically configured as a stand-alone programmer for the 1455 chips. Everything else is PIC32, so once the 1455 is programmed, it can then program the virgin PIC32 chip.
Smoke makes things work. When the smoke gets out, it stops!
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 2170
Posted: 07:02am 15 Jul 2019
Copy link to clipboard 
Print this post

  vegipete said  ... if a MMite programmed with MMBasic gets the job done, why worry if it's overkill. The chip might cost a bit more but that is far more valuable than a chip that costs 25% but needs days of fighting tools to get anything done.


zackly... and it provides a hell of a lot of scope for improvement/mods. Like Grogs, I use tons of 28pinners on my own 1.5" square controller boards and I just drop them in all over the place - it's a five dollar fix-all, like a pair of comfy old slippers... familiar and reliable. Of course I don't produce buggy code so that's not an issue
Edited by CaptainBoing 2019-07-16
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5089
Posted: 07:31am 15 Jul 2019
Copy link to clipboard 
Print this post

*** removed ***Edited by Volhout 2019-07-16
PicomiteVGA PETSCII ROBOTS
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025