MPLAB PICkit 5

I am saving my pennies so I can buy the MPLAB PICkit 5 In-Circuit Debugger and Debugger Adapter Board.

Other things I am interested in but that are a bit beyond what I’m willing to pay for at this point in time include:

I am planning to install the MPLAB X IDE, I just haven’t got around to it yet. I will do that after I have purchased the PICkit 5 programmer.

MilliForth-6502, A Forth For The 6502 CPU

I have a new post on Hackaday: MilliForth-6502, A Forth For The 6502 CPU.

Some material was deleted by the editors so I have included it below for the archive.

The main code is the assembly code in sector-6502.s.

These are the commands I ran to take it all for a spin:

mkdir /tmp/milliForth-6502
cd /tmp/milliForth-6502
 
git clone https://github.com/cc65/cc65
cd cc65
make
sudo make install
cd ..

git clone https://github.com/ShonFrazier/lib6502
cd lib6502
make
sudo make install
cd ..

git clone https://github.com/agsb/milliForth-6502
cd milliForth-6502
touch out
source do1 sector-6502
wc -c sector-6502.out
hd sector-6502.out

Building A Custom Zynq-7000 SoC Development Board From The Ground Up

I have a new post on Hackaday: Building A Custom Zynq-7000 SoC Development Board From The Ground Up.

The presenter starts by designing the power system, then makes progress on power, improves the schematic, integrates DDR RAM, adds USB PHY, Ethernet PHY, and SD card, starts on HDMI, makes progress on layout, makes progress on routing, continues with routing, configures with Vivado and estimates costs, receives PCBs and components, starts the PCB assembly, adds power rail components, adds core components, connects power and does initial programming, makes an LED blink, gets the ARM APU working, troubleshoots FT2232H to JTAG, resolves FT2232H to JTAG issue, adds UART and DDR, gets HDMI working, installs PetaLinux, and at long last configures USB and Ethernet in PetaLinux.

See AMD Zynq 7000 SoCs for specs from AMD. The executive summary is that this SoC includes an ARM Cortex-A9 Based APU and an Artix-7 FPGA (or a Kintex-7 FPGA on higher models). We suppose this is an opportune time to mention that in case you missed it Xilinx was recently acquired by AMD which is why you see the AMD branding now.

Summarizing references from these videos, other videos include What your Differential Pairs Wish You Knew and How to Achieve Proper Grounding by [Rick Hartley]; books referenced include Printed Circuits Handbook 7ed and Signal and Power Integrity Simplified 3ed; courses referenced include Mixed-Signal Hardware Design with KiCad and Advanced Digital Hardware Design from [Philip Salmony]; and software used includes EasyEDA, Vivado, Vitis IDE, and Tera Term.

ATtiny85 in HW-260 board

I have my ATtiny85 microcontroller installed in a HW-260 development board (purchased from AliExpress). I program the ATtiny85 with the SparkFun Tiny AVR Programmer, the setup guide is here: Tiny AVR Programmer Hookup Guide.

On the SparkFun programmer the onboard LED is PB0. On the HW-260 the onboard LED is PB1. This is the code I used to flash the HW-260 LED:

#define LED_BUILTIN PB1

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

You can see the programmer settings I used in Arduino IDE in this screenshot:
Screenshot of Arduino settings

New Zealand’s $16 Billion Public Health System Runs on a Single Excel Sheet

This is a note for Future John: New Zealand’s $16 Billion Public Health System Runs on a Single Excel Sheet.

From the report:

Notably, one major issue was through a significant reliance on the use of an Excel file to manage the consolidated financials of the organisation. This spreadsheet was the primary data file used by HNZ to manage its financial performance. It consolidated files from each district into a single spreadsheet, and key reports, such as the monthly finance report, were produced from it. The use of an Excel spreadsheet file to track and report financial performance for a $28bn expenditure organisation raises significant concerns, particularly when other more appropriate systems are present on the IT landscape.

This Excel file is flawed in that:

  • Financial information was often ‘hard-coded,’ making it difficult to trace to the source or have updated data flow through.
  • Errors such as incorrectly releasing accruals or double-up releases were not picked up until following periods.
  • Changes to prior periods and FTE errors in district financial reporting Excel submissions, would not flow through to consolidated file.
  • The spreadsheet can be easy to manipulate information as there is limited tracking to source information where information is not flowing directly from accounting systems.
  • It is highly prone to human error, such as accidental typing of a number or omission of a zero.

The cumbersome process of collecting data also meant monthly financial reporting usually took 12-15 days to consolidate and 5 days to analyse. Adding to that the time associated with the creation of the monthly finance reports and circulation of these to the Board, there was an inevitable challenge of obtaining real-time financial information from one source of truth.